New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Vita] Pokemon LeafGreen not saving (intermittent) #340
Comments
Can you let me know if this build fixes the issue? http://endrift.com/files/mgba-savesync.vpk |
Unfortunately, It didn't. Using the provided buid I started a new game, saved, waited a few seconds and left the emulator. After restarting, the game I just saved wasn't there. I am going to test more, and provide you more feedback. For now, this problem can be bypassed using saved states at least. I really appreciate your work. Thanks! |
How did you leave the emulator? Did you exit the game and go down through the menu, or did you tear off the livearea page? |
I did tear off the livearea page. |
This may be fixed in the upcoming nightly. I've had trouble reproducing the issue properly, so let me know. |
I've figured out what's going on: Pokémon games on the GBA have two savedata blocks, and it swaps off on which one it writes to. It also keeps track of how many times you've saved, and the savegame that says "we've saved the most times" is the one that's loaded next time. So what happens if you take a savestate, save three times, load the savestate, and save once? Well the save file has two games, one with N saves and one with N+2. However, the N+2 one is older, from before reloading the savestate and saving again. So it loads the wrong one. The way to fix this would be load back in the savedata when loading a savestate, and only flush it if a savegame is written out. |
This was partially fixed with some savestate tweaks in 0.5.0, but the remainder is covered by #441. |
Symptoms:
Version: yesterday nightly build (2016-08-11).
Hint: I cannot test this now, but maybe opening configs ( /_\ button) makes difference.
The text was updated successfully, but these errors were encountered: