I have worked a little bit on NES related stuff again.
First of all yesterday I worked a little bit on the PowerPak save state mappers. I added a “Famicom mode” option in the menu which basically just disables all palette writes, as palette readback seems to be unreliable on Famicoms. However this will not solve all problems, as many (most?) games don’t rewrite the whole palette each frame. I guess I’ll have to spy on $2006/$2007 reads to get a shadow copy of the palette. I also fixed a bug where Famicom external controllers didn’t work in the menu.
I also added a new feature: pressing START+A+B will now reset to the PowerPak menu, so no need to reach for the RESET button if you want to change the game. I may still change the keycombo (or have an option to disable it) if it proves to be problematic, or add a counter so it has to be held down for couple of seconds to prevent accidental resets.
Today I worked on my debug extension build of Nintendulator. I added support for some basic profiling functions. Basically it keeps track of JSR/RTS/RTI instructions and IRQs, trying to maintain a call stack and keeping track of how many cycles each routine takes. When the ROM is closed it outputs a text file of the results. This will mostly be useful for “well behaved” homebrewn games, i.e. ones that don’t manually play with the stack and stuff like that. I still need to do some more testing regarding this before a release.
That should be all for now.