User:Andlabs/Championship Pro-Am

R.C. Pro-Am's 16-bit brother.

TODO: A+B+Down cheat? There's definitely a button check there, as far as I can tell...

Miscellanea
At $32BAE, one instruction in from the start of the routine that loads the sound driver, is the byte sequence. This sequence decodes to ori	#$700,ccr which is invalid as ccr is a byte; it should be ori	#$700,sr (encoding ). I'm guessing real hardware just skips the upper byte when writing ccr (I hope it doesn't actually load sr, as that would be a nightmare for MC68000-based computers — ori #$2000,ccr enters supervisor mode! Genesis games run in supervisor mode, so this isn't a problem on the Genesis...). Furthermore, the instruction here is meant to stop interrupts from happening, so if real hardware indeed ignores the upper byte, then we have a potential race condition (the interrupt handlers releasing the Z80 bus before the Z80 program is fully loaded and the reset line released). Judging from emulation, this (fortunately) doesn't seem to happen.

Snake Rattle n Roll and Battletoads and Double Dragon also have this problem (Battletoads, which was outsourced, does not).