Pokémon, and Pokémon Crystal specifically holds a special place in my heart, as the game I got a GameBoy Colour for all those years ago. Most recently, it’s the game that convinced me to learn to solder, so I could replace the save battery. My current copy of Crystal isn’t that original game, but it is one I’ve had for close to a decade, and was using for a casual Nuzlocke.

Disaster Strikes

Aside from the usual Nuzlocke troubles, the playthrough was reasonably smooth sailing for the first 25 hours – taking me just past the 8th gym badge. I had been using my copy of Pokémon Stadium 2 and a transfer pak to play the game on a screen slightly nicer than my GBC stock screen. I’m not sure what exactly prompted it, but after turning off the game for the night and powering down the console, I powered it up the next day to find that my save had been corrupted. From digging into corrupt saves, I understood that dying batteries could cause it, but I had just replaced mine not two months ago; I also knew that powering down during save could cause it, which I can only assume happened through some weird lag when communicating between the N64 and the cartridge; lastly, I knew there was a very real chance I wouldn’t be able to recover my save.

Corruption can range from mild forms like changed moves, all the way to (as shown in the above linked article) garbled location data and texture sets, and possibly beyond being entirely unsalvageable. Thanks to Stef’s article, I knew if I wanted to give this a shot, I’d need to get myself some form of cart dumper+flasher, and for that I went with a Joey JR. from BennVenn electronics, whenever those came back into stock. In the meantime, I set Crystal aside and crossed my fingers.

Dumping My First Carts

Fast forward about a month and a half, and my Joey JR. had arrived. Thanks to this quick start guide, getting the Joey running and dumping Crystal (and all my other carts, while I was at it) was super easy. Now that I had legit ROMs + a backup, it was time to see how badly things had been garbled. First, I tried booting the save up in an emulator. Unsurprisingly, it didn’t work.

Not something you want to see 20+ hours into a game

After that, I grabbed the first Pokémon save editor I could find, and loaded it up. It opened up fine, and aside from a few warnings on some long-dead Pokémon everything seemed there and fine. I was ecstatic: even if my player themselves ended up being unrecoverable, all my nicknamed Pokémon were still kicking around, and I could recreate them exactly if need be. A quick scan through the events table and my inventory didn’t reveal anything worrying, so after fixing some sillily (but barely!) corrupted movesets, it was time to export the save and see if it worked!

I do think this is pretty funny, if nothing else

Thankfully, it did, and I had an easy enough time loading the save successfully in-emulator, and even was able to flash it onto the cartridge and load it just fine. Something weird happened though: seemingly randomly, the save disappeared from my physical cartridge. Trying a few different times to narrow down what was happening, I realized that it wouldn’t disappear if left alone without booting up the file, but would disappear within minutes if I loaded the save and overwrote it. I also learned that the busted movesets weren’t an actual problem for the game loading: the only problem was the failed checksums from the alterations. Taking a bit of a stab in the dark, I assumed it had something to do with the real-time-clock functionality since that was an extra file on the cart I hadn’t been updating. Making use of PKHex’s `Reset Clock` tooling, I was able to erase+set the clock on my next load, and from then on my save has been save, Mozzarella the Typhlosion and all.

Recovering a Corrupted Pokémon Crystal Nuzlocke
Tagged on:                 

Leave a Reply

Your email address will not be published. Required fields are marked *