PocketSprite / 8bkc-gnuboy

Gnuboy port to the PocketSprite
69 stars 17 forks source link

save state fails in certain games, resulting in a corrupt file. #2

Closed thedicemaster closed 6 years ago

thedicemaster commented 6 years ago

so far I've found this issue in the English versions of pokemon yellow and crystal as well as super mario land 2 DX(super mario land 2 romhack adding Luigi and full GBC color palette). it is not present in the original super mario land 2.

initially these games load fine, but during the recording of a save state it crashes to the Wi-Fi screen. after this gnuboy crashes when trying to load these games, as their save state is corrupted. the only way to regain access to these games is to delete/skip(start+A) the save state.

this means these games cannot be suspended, and upon closing them all their saved data is lost.

unfortunately I lack the knowledge and equipment to provide more details about this crash.

thedicemaster commented 6 years ago

the problem also occurs with legend of Zelda link's awakening DX, but not in the original version.

so far all games that encounter this problem are based off classic gameboy games, that where rereleased or modified with added dedicated GBC color palette.

while pokemon crystal is a proper gbc game with no gb version, as far as I know it was built off the same "engine" as the previous versions.

Spritetm commented 6 years ago

Gotcha - seems to be a problem with 32K SRAM states. I've improved a bunch of things there in the last commit. Can you try to see if it works for you now? Grab the new app here: http://meuk.spritesserver.nl/tmp/gnuboy-bb17eb115.zip - unzip and upload the new gnuboy.app to your PocketSprite in the same way as a ROM.

thedicemaster commented 6 years ago

a quick test with super mario land 2 DX was successful, a state was created without crashing and subsequently loaded without issues. I'll test the other games later today, but they'll probably work properly too now.

thedicemaster commented 6 years ago

Crystal and Zelda are saving properly too now.