Jump to content



0

that byte at $fff9


3 replies to this topic

#1 doppel OFFLINE  

doppel

    Star Raider

  • 65 posts

Posted Fri Nov 27, 2009 6:48 PM

According to all the literature I keep reading, if the low nybble of $fff9 in the cartridge ROM is set to any other value besides $x3 and $x7, the BIOS will reject it as an invalid cart. That's true enough.

What doesn't seem true is how $x3 and $x7 act. According to some sources (including the badly-aged BIOS code source from GCC) if the value at $fff9 in the cart ROM is set to $x7, it will display the Atari logo and fuji symbol, but if it's set to $x3 it will skip that. However, I've been studying the NTSC BIOS ROM closely, and I've noticed that before the routine at $fb84 which actually checks $fff9 is called, the BIOS ROM is switched back in. And I haven't found any occurrence of the routine at $fb84 being called elsewhere in the BIOS. (Edit: Also, there's the fact that the BIOS ROM would have to be switched in for the routine at $fb84 to be called, since it isn't copied to RAM.)

So it checks $fff9 in the BIOS ROM, NOT the cart's ROM!

I tested this by changing the byte at $fff9 from $c7 to $c3 in the Asteroids ROM and re-signing it, then running it in an emulator. Sure enough my suspicions were confirmed - the Atari logo and fuji symbol were still displayed.

So either I'm wrong or everybody else is.

Edited by doppel, Fri Nov 27, 2009 9:59 PM.


#2 gdement OFFLINE  

gdement

    Stargunner

  • 1,752 posts
  • Location:Northern CA

Posted Sun Nov 29, 2009 8:22 AM

Interesting observation. From what you describe, it sounds like a BIOS bug. They surely didn't mean for it to work that way.

I'm surprised if nobody has ever tried disabling the Atari logo before now. I never have.

#3 Bruce Tomlin OFFLINE  

Bruce Tomlin

    River Patroller

  • 3,531 posts
  • CD C9 01
  • Location:Austin, TX

Posted Wed Dec 2, 2009 11:29 PM

The main reason not to disable the atari logo is that the signature check still runs, so you would have a blank screen for that time. It's not like the Colecovision's startup screen that is just running a LONG delay loop. It's not so bad when only 4K of the game is signed, but a whole 16K would keep the screen blank for like a whole second. And it's a kind of cool startup logo anyhow.

#4 doppel OFFLINE  

doppel

    Star Raider

  • 65 posts

Posted Tue Feb 21, 2012 10:56 PM

The thing is, when you change that byte's lower nybble to a 3, it gets stuck in an infinite loop.

Edited by doppel, Tue Feb 21, 2012 10:56 PM.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users