Hi =^-^= I make the practice ROMs for the SNES Rockman X games. They add features like giving you the appropriate items for the route when selecting stages, and importantly, adding saved states.
With X2 and X3, the practice ROM can of course only run flash carts that have a way to support Cx4 games. SD2SNES supports up to 256 kilobytes of SRAM, which is enough to store a SNES saved state.
X2 and X3 put their NMI handlers into WRAM instead of ROM. Is this because the Cx4 locks out the 65816 from ROM access sometimes?
I need to add a considerable amount of code to the NMI handler for the saved state system. If the Cx4 locks out ROM, can I put my extra NMI code into SRAM instead? Because there are no native Cx4 games with SRAM, whether SRAM gets locked out while the Cx4 is locking out ROM is entirely defined by the SD2SNES, as the only cartridge that supports Cx4 with SRAM. I don't know how to determine whether the SD2SNES locks out SRAM like this, though.
Finally, how could I save and restore the state of the Cx4 in my saved state system?
With X2 and X3, the practice ROM can of course only run flash carts that have a way to support Cx4 games. SD2SNES supports up to 256 kilobytes of SRAM, which is enough to store a SNES saved state.
X2 and X3 put their NMI handlers into WRAM instead of ROM. Is this because the Cx4 locks out the 65816 from ROM access sometimes?
I need to add a considerable amount of code to the NMI handler for the saved state system. If the Cx4 locks out ROM, can I put my extra NMI code into SRAM instead? Because there are no native Cx4 games with SRAM, whether SRAM gets locked out while the Cx4 is locking out ROM is entirely defined by the SD2SNES, as the only cartridge that supports Cx4 with SRAM. I don't know how to determine whether the SD2SNES locks out SRAM like this, though.
Finally, how could I save and restore the state of the Cx4 in my saved state system?