SNES9x : Loading Save state overwrites SRAM ?
-
Hi everyone,
I encountered a very annoying issue yesterday : I've been playing Super Metroid on my retropie for more than a month (I'm using a PI 3 model B, with the latest software), regularly saving "normally" through the game. I was near the end of the game and I accidently loaded a save state that I made in the beginning, to test that feature. I thought it was no big deal, I immediately reset the game and as I arrived on the data screen, my progress had been lost : the save file was a very old one, one that was made the same day that I created the save state file. AFAIK, this behavior is not normal : SRAM and save states are two different things, and loading a save state file should not affect the SRAM in any way.
Does anybody have any info on that issue ?
reply
-
@BopCat If you loaded a save state, and then did an in-game save - it will have overwritten your previous in-game progress - do you have another save state you can load from ?
-
I did not save in game when the save state was loaded, that is why this is so weird. I reset the game just after loading the state, didn't do anything else. Unfortunately, I don't have another save state, I was using the "real" save feature when playing the game.
-
I just had a similar issue with save states and SRAMs. I guess it depends on the game/emulator holds the sram in the save state. My game (castlevania circle of the moon on GBA) did not hold the sram in the save state, so when I accedently rewrote over, the last write to the sram was an old file. Retroarch by default only writes the sram to disk when you exit. Sounds like yours held the sram in the save state and when you loaded up an old save state, it wrote the turn current sram.
My issue was posted here
https://retropie.org.uk/forum/topic/7984/do-game-saves-not-write-to-file-during-the-actual-save/3 -
Loading an emulator save state will always load the srm battery data that was active at the time the emulator save state was created.
This has been causing headaches since the zSNES / Nesticle days of the early 2000's... There is no way to prevent it, given the way old games were programmed, this is just the way it is. There is no fix that any developer can do to prevent it. Trying to maintain a battery backup and start at an earlier time via save state would confuse the hell out of the games programming since it was never intended to function that way.
The only workaround is just to be careful. I find it's best not to use save state functionality in any game that uses srm battery backup, it always causes problems.
-
What actually would be nice would be if the developers would integrate an "Erase all save states" into the optional function keys so you could clear out all states so an accidental loading of an older state wouldn't ruin a current saved game.
Actually, this would make a nice feature request.
-
there is an undo save state/undo load state in retroarch. https://github.com/libretro/RetroArch/pull/3069
so if you accidentally load an earlier save state, you should 'undo loads state' rather than quit. it's in the retroarch quick menu i believe.
-
Capeman : thanks for clearing that up, I didn't know that this was how it has always worked.
dankcushions : I found the undo load state option but only after resetting and noticing the problem. It was obviously too late... well, now I know.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.