Jump to content
IGNORED

Another OS for an Atari 800. OS-C


Recommended Posts

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 by reifsnyderb
  • Like 7
Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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. 

Link to comment
Share on other sites

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 by _The Doctor__
Link to comment
Share on other sites

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 by reifsnyderb
Link to comment
Share on other sites

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.

 

  • Thanks 1
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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 by reifsnyderb
Link to comment
Share on other sites

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.

  • Like 5
Link to comment
Share on other sites

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.

  • Like 1
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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:

 

pic.thumb.jpg.e2b0031f8770ef1416e3a7ba0708438b.jpg

 

Edited by reifsnyderb
  • Like 2
Link to comment
Share on other sites

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 by reifsnyderb
  • Like 3
Link to comment
Share on other sites

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.

  • Thanks 1
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...