Jump to content

Corrupted Save After Elite Four in Emerald


Recommended Posts

So I just beat the elite four in Pokemon Emerald on my 3DS from a CIA I built/injected myself. After the credits rolled I got the error "The save file has been erased due to corruption or damage." So, I dumped the save started troubleshooting.

PKHeX gave me an error implying the save was corrupted. So I did some research and found that one of the biggest problems I had was the save was 64Kb which I guess causes problems later.
I read somewhere that I could pad the save file with 00's in HxD and that should fix it. While this does let me see my Pokemon in PKHeX, that is the full extent of what I can do with the now 128Kb save. Almost everything in the SAV tab gives me an unhandled exception error.
I also read that I can try using an emulator to convert the save. So I booted up the version of the rom that saves in 64Kb and tried importing my save (battery file), but that still gave me the corruption message and all I could see is new game. And loading a rom that saves in 128Kb with the 128Kb save gives me the same result.

At this point, I have no idea what else to do to recover. While it's nice that I still have access to the Pokemon themselves, I would like to continue playing with this save. I do have an even earlier backup that I exported from PKSM that does work (I was using a different CIA at the time) but it's so far back that I might as well restart. Maybe, though, that might help recover?

Thank you in advance for the help!

Edited by Momaster12
Link to post
Share on other sites

Sure thing. These are the saves I have at my disposal right now. The latest 2 are the 64KB I extracted and the 128KB that came from the 64KB one, just with padded 00s. The other 128KB one is the other save I got from PKSM before changing CIAs but it's nearly 35 hours behind the latest

Edit: I actually found another save that's 20 hours in, 64KB, from my latest CIA, and works fine. Still, though, it's 17 hours behind, which I really don't have the patience to make up

 

64KB_Dump.sav 128KB_4Hr.sav 128KB_Padded.sav 64KB_20Hr.sav

Edited by Momaster12
Link to post
Share on other sites

Fixed it emerald.sav

Your Hall of Fame is still corrupted though. Simply because the data was never written anywhere. I have no idea if this has any impacts on the game besides not being able to see which Pokemon participated. It could probably be fixed by getting the data from another save file.
The corruption occured because 64KB save files end at offset 0xFFFF but Hall of Fame data would be written to 0x1C000.

You really should stop using that CIA and look for a way to properly inject the GBA so that it creates full 128KB save files.

  • Like 1
Link to post
Share on other sites

Wow, I really cannot thank you enough! I really appreciate your help! And yeah, I really don't remember why I switched to a more broken CIA so I'll be fixing that next.

Just out of curiosity, how did you go about fixing the problem? And seeing as the Hall of Fame data is corrupted, is it safe to do another run of the E4?

Link to post
Share on other sites

I have no idea what will happen after another E4 run. It could fix the Hall of Fame. Maybe keep a backup and try it.

I noticed that the block ID of block A and B were wrong and block A contained data that doesn't belong there. Normally block A would store your Pokemon from box 5 but that wasn't Pokemon data. It looked like partial HoF data, but moving it to the proper offset wouldn't restore HoF though.
So I just removed the faulty data and restored the block ID and the save loaded again.

  • Like 1
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...