doppel Posted November 28, 2009 Share Posted November 28, 2009 (edited) 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 November 28, 2009 by doppel Quote Link to comment Share on other sites More sharing options...
gdement Posted November 29, 2009 Share Posted November 29, 2009 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. Quote Link to comment Share on other sites More sharing options...
Bruce Tomlin Posted December 3, 2009 Share Posted December 3, 2009 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. Quote Link to comment Share on other sites More sharing options...
doppel Posted February 22, 2012 Author Share Posted February 22, 2012 (edited) The thing is, when you change that byte's lower nybble to a 3, it gets stuck in an infinite loop. Edited February 22, 2012 by doppel 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.