Jump to content

Atari 800 - not XL question regarding Bypass OS

Recommended Posts

Is there any way to bypass as much as possible of the OS? On XL I am switching off OS easily and have full control but on 400/800?


How do games like RoF, ball blazer etc get much control? I mean normal OS does get many ZP plus all shadow registers etc?

Link to comment
Share on other sites

You can't turn off the OS ROM to take over the CPU interrupt vectors on a 400/800, so the best you can do is to grab the VIMIRQ, VDSLST, and VVBLKI OS vectors. That gets you both IRQ and NMI and frees up all memory except a handful of bytes in page two. Unless you're pinching cycles or need the extra RAM, this can be a more compatible way to go. The most painful difference is an extra 5-9 cycles on the DLI path.


One important gotcha if you're doing time sensitive IRQs: the XL/XE OS has an extra CLD instruction prior to JMP (VIMIRQ) that OS-B doesn't.

Link to comment
Share on other sites

Interesting ones you could look are cart games that run in diagnostic mode - Star Raiders and Asteroids are 2 early examples.

I also believe both of those were written to only use the first 8K RAM.

The thing there though is that the cart then has to perform system initialization itself so it becomes a tradeoff. It also becomes easy to have problems with the XL OS, unsure if any games have that issue. Later carts (Donkey Kong?) take a better route - allow the OS to do early initialization, have the cart just take control via it's INIT vector but don't return.


Where you can have pitfalls with using that low memory is warmstart failing - best bet is sometimes to just set the COLDST ($244) flag nonzero.

Then it prettymuch becomes a case of having free reign, only exceptions:

- allow some stack area for subs/interrupts/parameters.

- Immediate IRQ, Immediate VBlank, optionally deferred VBlank vectors $216-7, $222-3, $224-5, Coldst flag $244.

Edited by Rybags
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.

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.

  • Recently Browsing   0 members

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