Hmmm. So much for my "fix the savestates" theory. I'm beginning to wonder if the mess drivers for the 7800 properly do savestates. At least in regards to games using "character mapping". Dark Chambers was my friend for the day.
I spent a good amount of time trying to figure out why the 2nd button doesn't fire off the "bombs" like it is supposed to. Other games (like commando) that use both buttons work just fine. What is really crazy is the game will read the proper addresses ($8-$B) on the title screen. Once you enter the game proper if you pressed "start" it will continue reading these ports/addresses until you or player two press a button once. From then one it just sticks to reading $C-$D which just register whether a button was pressed, but not which.
So I'm not really sure what is going on here.
Then there are the savestates. Seems restoring a state would cause the screen to look all funky (character mapping issue). It will load properly assuming you are on a level that uses the same character sets. If not the screen will be scrambled.

. Look like about every 2 levels share character sets. Of course mess on the PC says that save/load states on the a7800 driver are not properly supported. So I suppose we could be grateful for what little we have.
I think I have at least an idea or two. I have to read up a little on direct/indirect mode and character mapping first. Oddly enough the centipede "quirk" happens when the scanline switches from 320x2 character mapping to 160x4? mode.. Plus it doesn't seem to update the pallette properly at that point (then again I could be totally wrong).
Uggh. Hopefully I wont get too caught up in this. I'd be surprised if I came up with a fix. 7800 documentation is pretty scarce and I cant help but wonder if some of it is wrong.
Edited by Shannon, Sat Jun 14, 2008 3:39 PM.