What causes savestate corruptions?
- Kyousuke753
- Posts: 846
- Joined: Sun Apr 10, 2016 10:30 am
- Location: ???
What causes savestate corruptions?
People seem to be having issues with savestates but what is causing it? If anyone can list problems causing it and how to prevent it so the devs don't have to go on a wild goose chase to track down savestate issues.

Re: What causes savestate corruptions?
I guess this is a good place as any to explain this.
In game save (DraStic labels them backups, also called cartridge saves and other things):
Thes saves made via an in game means (either save anywhere/ almost anywhere via a menu option ala pokemon and others, or save points ala final fantasy series, auto save) only save vital (to the game) information like levels, amounts of experience, hp/mp levels, items and quantities, ect. Unless something happens while saving that corrupts the data (like power loss, sometimes finding data from the future, or badly written code [game or emulator sometimes]) these saves are fairly safe since the program reinitializes all the code and only really changes specific data that the in game save recorded.
SaveStates :
Savestates save everything........ well not quite everything but what it does save is RAM, kinda like when you hibernate your computer. This means not only does it store all the information an in game save would store it also stores things like values modded by cheat codes or random number seeds (this is why if you save state in a pokemon fight right before your opponents turn he will always use the same move). When you start up from a savestate or load one no values are reinitialized and this can cause some issues depending what those values expected to be true that might not be.
---------------------------------------------------------------------------------------------------------------------
Why do savestates corrupt easier? Well if an in game sace happens to have an issue you might have 1 less hp then you should or maybe that stack of rare candies value changes it into a stack of plain pokeballs or even a glitched item.... the thing is the game can more or less deal with most of this stuff (some exceptions apply). If a savestate has a bad value in the RAM it is loading all of a sudden instead of line 5436 being called line 22349 is called and the program crashes (overly simplified explanation) or more likely since everything a computer does is math at it's base maybe a remainder gets forgotten and as a result the emulator tries to access RAM it has not been allocated so it crashes.
Very simple way of saying it is that occasionally a single 1 or 0 gets flipped wrong (can happen for many many reasons), but it does far more damage when it is something happening in RAM then when it is just a simple variable.
---------------------------------------------------------------------------------------------------------------------
Emulator advice never ever rely on savestates to be your only saves.
Personally I at the very least make an in game save at the end of any play session I can and if I can not I do as soon as I am able when I return to playing, this way when something goes wrong at most I might lose a few hours of game play.
In game save (DraStic labels them backups, also called cartridge saves and other things):
Thes saves made via an in game means (either save anywhere/ almost anywhere via a menu option ala pokemon and others, or save points ala final fantasy series, auto save) only save vital (to the game) information like levels, amounts of experience, hp/mp levels, items and quantities, ect. Unless something happens while saving that corrupts the data (like power loss, sometimes finding data from the future, or badly written code [game or emulator sometimes]) these saves are fairly safe since the program reinitializes all the code and only really changes specific data that the in game save recorded.
SaveStates :
Savestates save everything........ well not quite everything but what it does save is RAM, kinda like when you hibernate your computer. This means not only does it store all the information an in game save would store it also stores things like values modded by cheat codes or random number seeds (this is why if you save state in a pokemon fight right before your opponents turn he will always use the same move). When you start up from a savestate or load one no values are reinitialized and this can cause some issues depending what those values expected to be true that might not be.
---------------------------------------------------------------------------------------------------------------------
Why do savestates corrupt easier? Well if an in game sace happens to have an issue you might have 1 less hp then you should or maybe that stack of rare candies value changes it into a stack of plain pokeballs or even a glitched item.... the thing is the game can more or less deal with most of this stuff (some exceptions apply). If a savestate has a bad value in the RAM it is loading all of a sudden instead of line 5436 being called line 22349 is called and the program crashes (overly simplified explanation) or more likely since everything a computer does is math at it's base maybe a remainder gets forgotten and as a result the emulator tries to access RAM it has not been allocated so it crashes.
Very simple way of saying it is that occasionally a single 1 or 0 gets flipped wrong (can happen for many many reasons), but it does far more damage when it is something happening in RAM then when it is just a simple variable.
---------------------------------------------------------------------------------------------------------------------
Emulator advice never ever rely on savestates to be your only saves.
Personally I at the very least make an in game save at the end of any play session I can and if I can not I do as soon as I am able when I return to playing, this way when something goes wrong at most I might lose a few hours of game play.
Re: What causes savestate corruptions?
In this case, with the game you're probably referring to (Harvest Moon: Sunshine) the savestate wasn't corrupt. The game was just in a weird state somehow, then the save state was made, and now it's in that weird state when you load it. Imagine making a savestate of your PC after Windows crashes with a BSOD.
I looked around and the game not only crashes sometimes on DeSmuME but apparently does on a DS with the original cartridge (not a flash cart) too. If this is true it means the game just has bugs. On a DS probably not a huge deal because you'll be relying on in-game saves which you can't make after the game crashed. But if you rely on savestates, and especially if you keep overwriting just one savestate, it can be disastrous. Which is why you should never rely on savestates - even if the emulator is perfect (of course, it isn't) the game might still have its own issues.
Or you could just accidentally make a savestate two tenths of a second before an enemy takes your last life. I've done stuff like this before.
Needless to say, if a game crashes don't overwrite your only active savestate with the crash. Thinking of adding an option (default on) that backs up the most recently overwritten savestate...
I looked around and the game not only crashes sometimes on DeSmuME but apparently does on a DS with the original cartridge (not a flash cart) too. If this is true it means the game just has bugs. On a DS probably not a huge deal because you'll be relying on in-game saves which you can't make after the game crashed. But if you rely on savestates, and especially if you keep overwriting just one savestate, it can be disastrous. Which is why you should never rely on savestates - even if the emulator is perfect (of course, it isn't) the game might still have its own issues.
Or you could just accidentally make a savestate two tenths of a second before an enemy takes your last life. I've done stuff like this before.
Needless to say, if a game crashes don't overwrite your only active savestate with the crash. Thinking of adding an option (default on) that backs up the most recently overwritten savestate...
Re: What causes savestate corruptions?
Am I the only one highly interested on how the heck you loaded a savestate on a legit (not flash) DS cartridge?Exophase wrote: I looked around and the game not only crashes sometimes on DeSmuME but apparently does on a DS with the original cartridge (not a flash cart) too. If this is true it means the game just has bugs. On a DS probably not a huge deal because you'll be relying on in-game saves which you can't make after the game crashed. But if you rely on savestates, and especially if you keep overwriting just one savestate, it can be disastrous. Which is why you should never rely on savestates - even if the emulator is perfect (of course, it isn't) the game might still have its own issues.
Edit: PS never ever highlight with the color FFFF00 on an amoled screen.... ouch that is a bright yellow.
Re: What causes savestate corruptions?
The state doesn't include the cartridge itself, so I just used a flashcart to load a DS program into RAM. Then I removed the flashcart and transferred the state file over wifi (too large for DS RAM you see) to the program, which wrote the DS state. Then inserted the Harvest Moon cartridge, which picked up starting from the state. Simple really.TkSilver wrote:Am I the only one highly interested on how the heck you loaded a savestate on a legit (not flash) DS cartridge?
Edit: PS never ever highlight with the color FFFF00 on an amoled screen.... ouch that is a bright yellow.
Okay, that didn't happen. No, I just meant that the game itself crashes sometimes when played normally on a regular DS. From what I can find a lot of Harvest Moon games do. They're just buggy, I guess.
Re: What causes savestate corruptions?
funny... i thot the only bug harvest moon has is that someone plays a game that is about the farmlife... apparently including me... and i definitely hate farmlife...Exophase wrote:The state doesn't include the cartridge itself, so I just used a flashcart to load a DS program into RAM. Then I removed the flashcart and transferred the state file over wifi (too large for DS RAM you see) to the program, which wrote the DS state. Then inserted the Harvest Moon cartridge, which picked up starting from the state. Simple really.TkSilver wrote:Am I the only one highly interested on how the heck you loaded a savestate on a legit (not flash) DS cartridge?
Edit: PS never ever highlight with the color FFFF00 on an amoled screen.... ouch that is a bright yellow.
Okay, that didn't happen. No, I just meant that the game itself crashes sometimes when played normally on a regular DS. From what I can find a lot of Harvest Moon games do. They're just buggy, I guess.
Behold my mighty


Re: What causes savestate corruptions?
I look at Stardew Valley and am like, there is no way I will like this game.Jay Haru wrote:funny... i thot the only bug harvest moon has is that someone plays a game that is about the farmlife... apparently including me... and i definitely hate farmlife...
I don't intend to give it the chance to prove me wrong.