reifsnyderb Posted June 2 Share Posted June 2 (edited) A couple weeks ago I was trying to compile OS-B and it wasn't working out too well. So, I started thinking about modifying an XL OS to run on the 800. While the 800's OS normally has it's OS from $E000-$FFFF (or $D800-$FFFF, if you count the math pack), it's possible to use ROMs starting at $C000 if you have a Newell RAMROD board or one of my RAMROM 2022 boards. Looking through the OS source, as provided by @Kr0tki, I found there is an OS R5 that uses a lot of Atari 800 OS code for compatibility. A lot of the nice XL stuff was already stripped out, too. (i.e. The PBI code.) So, after removing a bunch of other stuff and modifying it to work on an 800, it works! I decided to concentrate on any known bug fixes, speed, and keeping options that some do use. I have patched it with Hias's high speed SIO patch, patched in Fast Math F+, kept the international character set, added the CX-85 numeric keypad handler, converted it to run on an 800, etc., etc. Also, there was space to have the Atari screen the 1200XL's had. 🙂 Here's the current release.... osc_v1.rom Here's the current changelog.... ;* Revision A (400/800) ;* D. Crane/A. Miller/L. Kaplan/R. Whitehead??? ??/??/?? ;* ;* Revision B (400/800) ;* Fix several problems. ;* M. Mahar/R. S. Scheiman??? ??/??/?? ;* ;* Revision 10 (1200XL) ;* Support 1200XL, add new features. ;* H. Stewart/L. Winner??? ;* R. S. Scheiman/Y. M. Chen/M. W. Colburn 10/26/82 ;* ;* Revision 11 (1200XL) ;* Fix several problems. ;* R. S. Scheiman 12/23/82 ;* ;* Revision 1 (600XL/800XL) ;* Support PBI and on-board BASIC. ;* R. S. Scheiman/R. K. Nordin/Y. M. Chen 03/11/83 ;* ;* Revision 2 (600XL/800XL) ;* Fix several problems. ;* R. S. Scheiman 05/10/83 ;* Bring closer to Coding Standard (object unchanged). ;* R. K. Nordin 11/01/83 ;* ;* Revision 3 (600XL/800XL/1450XLD) ;* Fix MAXDEV, problems resulting from CRASS65 version, ;* initial address for RAM sizing, "Boot Error" message, ;* initial address for cartridge equivalence checksum, ;* mishandling of SIO NAK, initializing of CHKSUM, and ;* initialization of PORTB. ;* R. K. Nordin 03/27/84 ;* ;* Revision 3, Version 2 (600XL/800XL/1450XLD) ;* ;* Dedicate PDVI ($D1FF) to external parallel device IRQ status ;* Dedicate IPDVI ($D1CF) to internal parallel device IRQ status ;* Using PDIMSK ($0249) for external parallel device IRQ selection mask ;* Using IPDIMK ($0254) for internal parallel device IRQ selection mask ;* After masking (PDVI, PDIMSK) & (IPDVI, IPDIMK), OR the result ;* together, piror to processing parallel device IRQ ;* ;* On cold start, initialize PDVI = 0, to avoid potential ;* checksum error. ;* Y. T. JANG, V. WU 02/22/84 ;* ;* Revision 3, Version 3 (600XL/800XL/1450XLD) ;* ;* Dedicate the 11 bytes at ACMVAR ($3ED-$3F7) for use as ;* a RESET routine area. On warmstart, the OS will JSR ;* to ACMVAR immediately after initializing hardware. ;* MIKE BARALL 06/08/84 ;* ;* Revision 3, Version 4 (600XL/800XL/1450XLD) ;* ;* Make CIO accept device number 0 (like Rev B did). ;* MIKE BARALL 06/21/84 ;* ;* Revision 4, Version 0 (600XL/800XL/1450XLD) ;* ;* Add support for SIO fast mode (38400 baud). ;* Add resident Help Text Viewer. ;* Remove Peripheral Handler Loading Facility. ;* MIKE BARALL 07/16/84 ;* ;* Revision 5, Version 0 (800XL/800XLF/900XLF/900XLFK) ;* ;* Revert to Rev. B device handlers (E:, C:, P:, S:, K:), ;* (with bug fixes) to eliminate need for Translator. ;* Remove parallel I/O support. ;* Fix keyboard display in self-test. ;* MIKE BARALL & VINCENT WU 09/04/84 ;* ;* Revision C (800) ;* ;* Remove ROM checksum system. ;* Remove self-test. ;* Remove Help Text Viewer. ;* Remove PORTB memory banking. ;* Initialize PORTB for input. ;* Remove cartridge interlock. ;* Reset Button now processed through NMI ;* Removed LNBUG compiler directives ;* Removed VGC compiler directives ;* Removed support for SIO fast mode (38400 baud) -- Support was for non-released Atari drive. ;* Cleaned up and reorganized KIR. ;* Added a built-in CX85 numeric keypad handler for joystick port 4. ;* Shift-Control-3 to toggle on/off. ;* Left margin set to 0. ;* Reduced KRPDEL from 48 to 20 for NTSC and from 40 to 20 for PAL. ;* Reduced KEYREP from 6 to 4 for NTSC and from 5 to 4 for PAL. ;* Moved international character set to $C8 for Hias SIO. ;* International character set is still selected at CHBAS with $CC through the use of polling during VBLANK. ;* Shift-Atari toggles international character set. ;* Control-Atari sets left screen margin to 0. ;* Shift-Control-Delete cold starts the computer. ;* After compile, patched in Fast Math F+ floating point package. ;* Added Atari screen when booting without drives or language. ;* Patched with Highspeed SIO patch V 1.33. ;* PWS no longer cold-starts on cartridge change. ;* Re-added support for both cartridges. Edited June 2 by reifsnyderb 7 Quote Link to comment Share on other sites More sharing options...
reifsnyderb Posted June 2 Author Share Posted June 2 Here's the source code... Atari OS C.zip 1 Quote Link to comment Share on other sites More sharing options...
+SoulBuster Posted June 2 Share Posted June 2 I set the ROM in Altirra to 400/800 OS-B (seems to default to XL/XE) and it boots just fine with Rev. C BASIC. Nice 1200 XL Screen I guess Altirra needs a setting for OS-C. I wonder how many OS-A/B programs will run on it? Quote Link to comment Share on other sites More sharing options...
reifsnyderb Posted June 3 Author Share Posted June 3 32 minutes ago, SoulBuster said: I wonder how many OS-A/B programs will run on it? Good question. I hope it will run many. It does run M.U.L.E. 😎 2 Quote Link to comment Share on other sites More sharing options...
+DrVenkman Posted June 3 Share Posted June 3 1 minute ago, reifsnyderb said: Good question. I hope it will run many. It does run M.U.L.E. 😎 If you have it, try the .ATX file of Murder on the Zindernuf. It's OS-b only. There's a cracked ATR that does run on XL machines but the .ATX does not. You could also try a .CAR Gorf. I think that one is also typically OS-b only. Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted June 3 Share Posted June 3 (edited) My XF551 isn't behaving normally with this, can others also exercise their XF551's and other drive with a few different DOS's and Non DOS based drive software and see if there are any differences? To clarify, this XF is using standard XF rom, not hyperXF this or that, no 'special' FIX ups. Edited June 3 by _The Doctor__ Quote Link to comment Share on other sites More sharing options...
reifsnyderb Posted June 3 Author Share Posted June 3 (edited) 13 minutes ago, _The Doctor__ said: My XF551 isn't behaving normally with this, can others also exercise their XF551's and other drive with a few different DOS's and Non DOS based drive software and see if there is are differences? Does your XF551 work with other OS's that are patched with the Hias high speed SIO patch? Edit to add: Here's OS-C without the Hias patch: testosc.rom Edited June 3 by reifsnyderb Quote Link to comment Share on other sites More sharing options...
phaeron Posted June 3 Share Posted June 3 Probably better to call it something other than just OS-C, as things like this sometimes find their way into archives without the release notes, and then people confuse it for an official version. A good example is INDUS14.ROM, which everyone thinks is a v1.4 Indus GT ROM -- and is then promptly confused by enhanced density not working, because it's actually a modified v1.1. 1 Quote Link to comment Share on other sites More sharing options...
reifsnyderb Posted June 3 Author Share Posted June 3 11 minutes ago, phaeron said: Probably better to call it something other than just OS-C, as things like this sometimes find their way into archives without the release notes, and then people confuse it for an official version. A good example is INDUS14.ROM, which everyone thinks is a v1.4 Indus GT ROM -- and is then promptly confused by enhanced density not working, because it's actually a modified v1.1. Good point. Quote Link to comment Share on other sites More sharing options...
reifsnyderb Posted June 3 Author Share Posted June 3 (edited) Ok. Fails with Print Shop. 😞 I just tested Print Shop with OS-B and it loads. Edit to add: I just tried the OS via Altirra, with Print Shop and found the following: 1. It fails with the high speed SIO. 2. It runs without the high speed SIO. Maybe there is some sort of copy protection? Edited June 3 by reifsnyderb Quote Link to comment Share on other sites More sharing options...
+Stephen Posted June 3 Share Posted June 3 4 hours ago, reifsnyderb said: ;* Revision A (400/800) ;* D. Crane/A. Miller/L. Kaplan/R. Whitehead??? ??/??/?? The future Activision - "The Fantastic Four". They get pulled from developing 2600 games, to making the best most extensible OS, in 10kB of code. Absolute masters of the 6502. 5 Quote Link to comment Share on other sites More sharing options...
+SoulBuster Posted June 3 Share Posted June 3 18 hours ago, DrVenkman said: If you have it, try the .ATX file of Murder on the Zindernuf. It's OS-b only. There's a cracked ATR that does run on XL machines but the .ATX does not. You could also try a .CAR Gorf. I think that one is also typically OS-b only. OS-C Plays both just fine. 1 Quote Link to comment Share on other sites More sharing options...
+SoulBuster Posted June 3 Share Posted June 3 17 hours ago, _The Doctor__ said: My XF551 isn't behaving normally with this, can others also exercise their XF551's and other drive with a few different DOS's and Non DOS based drive software and see if there are any differences? To clarify, this XF is using standard XF rom, not hyperXF this or that, no 'special' FIX ups. I noticed in Altirra the booting is a little weird with acceleration turned off and accurate sector timing enabled. Quote Link to comment Share on other sites More sharing options...
reifsnyderb Posted June 3 Author Share Posted June 3 1 hour ago, SoulBuster said: I noticed in Altirra the booting is a little weird with acceleration turned off and accurate sector timing enabled. What part is a little weird? I've noticed there is about 5 quick, low pitched sounds right before boot. My thought is those are the high speed SIO looking for high speed devices....but I can't be sure. The sounds don't exist without the high speed SIO. Quote Link to comment Share on other sites More sharing options...
ACML Posted June 3 Share Posted June 3 Can this run on a stock 800? Will it be able to run at 64K. Quote Link to comment Share on other sites More sharing options...
reifsnyderb Posted June 3 Author Share Posted June 3 (edited) 8 minutes ago, ACML said: Can this run on a stock 800? Will it be able to run at 64K. The 800 just needs a personality card that can put a 16k ROM at $C000-$FFFF. My 800 is unmodified. I have one of my RAMROM 2022 personality cards supplying the ROM. A Newell RAMROD should work, too. An Incognito might work as well. (I think the Incognito requires that the 800 be modified...so it wouldn't be "stock".) Running 64k of RAM for base memory is a separate issue. I still have just 48k of base memory. These are the cards in my 800: Edited June 3 by reifsnyderb 2 Quote Link to comment Share on other sites More sharing options...
reifsnyderb Posted June 4 Author Share Posted June 4 (edited) I found out I originally had the high speed SIO patch installed with bluetooth enabled. The OS has now been patched without bluetooth. I was also able to divide KIR into two sections so as to set the entry point at the correct addresses for the high speed SIO patch's keyboard IRQ routine. This version now has the high speed SIO keyboard routine added. It now boots a little better and works with Print Shop. Also, I renamed it to OS-2023-C, so as to hopefully avoid confusion. os-2023-c_r2.rom Now added to the changelog.... ;* Patched with Highspeed SIO patch V 1.33. ;* SHIFT-CONTROL-S Clears SIO speed table/enables highspeed SIO ;* SHIFT-CONTROL-N Disables highspeed SIO ;* SHIFT-CONTROL-H Enables highspeed SIO Edited June 4 by reifsnyderb 3 Quote Link to comment Share on other sites More sharing options...
+Larry Posted June 5 Share Posted June 5 Is it currently possible to test this in Altirra? Quote Link to comment Share on other sites More sharing options...
reifsnyderb Posted June 5 Author Share Posted June 5 36 minutes ago, Larry said: Is it currently possible to test this in Altirra? Yes. From Altirra, Go to System/Configure System. Select "Firmware". Click on the "Firmware manager" button. Clock the "Add" button. Select the OS. Click the "Open" button. It will appear as an XL/XE OS. Click the Drop-Down and change it to a 400/800 Kernel. (Either type.) Change the name, if you want. Click "Ok". Select the Kernel. Click "Ok". Then Click "Ok" to close the "Configure System" box. 1 Quote Link to comment Share on other sites More sharing options...
+Larry Posted June 5 Share Posted June 5 Thanks! Murder on the Zinderneuf (ATX) loads and appears to work properly with a short play. Those EA programs are picky, so this looks good to me. 1 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.