Corrupted Cartridge Fixer Release

skawo

Well-Known Member
OP
Member
Joined
Aug 18, 2015
Messages
340
Trophies
0
Age
33
XP
2,140
Country

3DS Cartridge Fixer Tool


Lately, there have been news about NAND Flash media deteriorating just because of sitting unused in storage for too long. 3DS Cartridges use a fancy NAND Flash chip, so, naturally, there is some cause for concern that they, too, will start failing.

When cleaning my collection, I decided to check all my 3DS games for this very reason - and to my surprise, my Paper Jam Bros. cartridge has completely failed. On an unhacked 3DS, it would load infinitely, and on 3DSes with Luma CFW it would immediately throw an ARM 11 Exception when launched.

After dumping the game, I discovered that the ExeFS and about half of the game files were corrupted. I nearly wrote the cartridge off, until I noticed that the "infinite load" thing stopped happening. Indeed, the game was now crashing when trying to display the titlescreen. Checking with GodMode9, the ExeFS has seemingly fixed itself! Some more faffing later, I even managed to get the titlescreen to work again intermittently.



Reading around, I found this post, and with it mentions of the 3DS carts' refresh functionality. And so, I modified GodMode9 to run this refresh more frequently and after some manual checking and comparing hashes, I now have a fully working Paper Jam. Bros. cartridge again. Hooray?



I decided to make the process more automatic and release a tool able to potentially fix cartridges corrupted in this same manner.

Here it is: https://github.com/skawo/GodMode9-with-Cartridge-Fixer

Now, it bears repeating, even though it's bolded in the readme, there; only run this if your cartridge is already bad.

If you're looking for a way to confirm your cartridges are working fine, GodMode9 (and as an extension, this tool as well) has a verify function which checks all the files - a more thorough check than just trying the cartridge out regularly. A cartridge might start but still have some random files corrupted.
Stats so far:
10 fixed fully - - - - - - - - 6 fixed partially - - - - - - - - 6 unrecoverable

If you do try this out, please share, as I'd love to hear what the actual success rate here will be.

Note: this will not do anything for cartridges that have physical defects, such as cracked solder joints. But if your cartridge appears to load infinitely, or frequently crashes from non-gameplay-related reasons, this tool has a chance to fix it.
 
Last edited by skawo,

TriangularFish

Member
Newcomer
Joined
Jul 2, 2018
Messages
9
Trophies
0
Age
18
XP
85
Country
United States
Woah, crazy that this is a thing that’s even possible. Happy to see you ended up getting something like this working, especially after the recent wii u bricking news. Will definitely check my carts and run this by some of my friends to see if any of us could benefit from this :)
 

Clector

Well-Known Member
Member
Joined
Mar 15, 2016
Messages
1,076
Trophies
0
Location
Not here
XP
446
Country
Bangladesh
From my tested games, only Smash Bros. had these problems, the game card alone would boot to black and with the updates installed it would boot but crash on the tutorial video and load infinitely on various of the game modes.

Using the tool fixed it and seems to be working fine again as is or with the updates installed, had quite a few of mismatched blocks, but also a lot of good ones.

The game card is the first version from the launch of the game (1.0 without updates on the game card) with the 8.1.0 update.
 

skawo

Well-Known Member
OP
Member
Joined
Aug 18, 2015
Messages
340
Trophies
0
Age
33
XP
2,140
Country
I have released version 1.1 with more features:
  • Will detect if block hash gets stuck on a wrong value, and skip that block automatically if it's still stuck for 20 refresh attempts.
  • Allows user to skip past a block after 500 refresh attempts by pressing Y.
 
  • Like
Reactions: TriangularFish

Eigendysfunction

New Member
Newbie
Joined
Mar 20, 2023
Messages
1
Trophies
0
Age
25
XP
6
Country
Canada
Hey I literally made this account to post here and say thanks. I had a corrupted Fire Emblem Fates: Birthright cartridge and literally homebrewed an old 3DS just to try this, and it fixed it. Thank you!
 

Erebos

Member
Newcomer
Joined
Oct 10, 2013
Messages
8
Trophies
0
Age
35
XP
179
Country
Italy
A friend of mine tried your tool on his corrupted cartridge of Pokémon Omega Ruby, but it didn't work. He used both the releases of the tool. The first one got stuck almost immediately, even with Select mode. The latest one gave him a lot of mismatches and after many skips he decided to give up.

Just for reference, it's an Italian cartridge of Pokémon Omega Ruby bought on release day, the code on the back is ECRPX42413
 
  • Like
Reactions: skawo

epicmartin7

Well-Known Member
Member
Joined
Aug 5, 2015
Messages
423
Trophies
0
Age
23
XP
801
Country
United States
3DS Cartridge Fixer Tool

Lately, there have been news about NAND Flash media deteriorating just for sitting unused in storage for too long. 3DS Cartridges use a fancy NAND Flash chip, so, naturally, there is some cause for concern that they, too, will start failing.

When cleaning my collection, I decided to check all my 3DS games for this very reason - and to my surprise, my Paper Jam Bros. cartridge has completely failed. On an unhacked 3DS, it would load infinitely, and on 3DSes with Luma CFW it would immediately throw an ARM 11 Exception when launched.

After dumping the game, I discovered that the ExeFS and about half of the game files were corrupted. I nearly wrote the cartridge off, until I noticed that the "infinite load" thing stopped happening. Indeed, the game was now crashing when trying to display the titlescreen. Checking with GodMode9, the ExeFS has seemingly fixed itself! Some more faffing later, I even managed to get the titlescreen to work again intermittently.



Reading around, I found this post, and with it mentions of the 3DS carts' refresh functionality. And so, I modified GodMode9 to run this refresh more frequently and after some manual checking and comparing hashes, I now have a fully working Paper Jam. Bros. cartridge again. Hooray?



I decided to make the process more automatic and release a tool able to potentially fix cartridges corrupted in this same manner.

Here it is: https://github.com/skawo/GodMode9-with-Cartridge-Fixer

Now, it bears repeating, even though it's bolded in the readme, there; only run this if your cartridge is already bad.

So far, 6 cartridges have been improved with this; 5 fixed completely and one where a single music file was completely unrecoverable. If you DO manage to fix your game, great! Please share, as I'd love to hear what the actual success rate here will be.

Note: this will not do anything for cartridges that have physical defects, such as cracked solder joints. But if your cartridge appears to load infinitely, or frequently crashes from non-gameplay-related reasons, this tool has a chance to fix it.

Oh nice, this will be extremely useful.

As a weird sidenote, theoretically, could this allow for the overwriting of contents onto an existing 3DS Cartridge with custom contents? Or is there a limitation with the algorithm the refresher uses?
 

skawo

Well-Known Member
OP
Member
Joined
Aug 18, 2015
Messages
340
Trophies
0
Age
33
XP
2,140
Country
Last edited by skawo,

ack

Well-Known Member
Member
Joined
Jan 30, 2020
Messages
157
Trophies
0
XP
385
Country
United States
how permanent is this? The chunks are already having issues, so this would just fix them for a while, right?
 

skawo

Well-Known Member
OP
Member
Joined
Aug 18, 2015
Messages
340
Trophies
0
Age
33
XP
2,140
Country
I don't know how permanent this is, but in theory this isn't a persistent hardware problem per se - it's a problem with data retention, caused by the chip not getting power for while. Therefore it should last as long as the cartridge gets some use. The cartridge I fixed a few weeks ago still works perfectly.
 

ack

Well-Known Member
Member
Joined
Jan 30, 2020
Messages
157
Trophies
0
XP
385
Country
United States
ok so ive tried it and i had a partial fix, i guess? My alpha sapphire copy always crashes when you go into super training, and nowhere else, for some reason, but once i ran this, i was able to get 2 of the super training games in before it crashed, whereas i never completed one of them without it crashing before. It also wasn't able to fix 2 or 3 of the memory blocks, so that's probably where the problem's coming from.

Also, in pokemon games, are things that aren't changed between the game versions usually at the same memory address for both games? if so, then i could probably make a patch that replaces the broken chunks with data from my omega ruby cartridge lol.
 

TheStonedModder

Well-Known Member
Member
Joined
Dec 25, 2022
Messages
231
Trophies
0
Age
26
XP
372
Country
United States
ok so ive tried it and i had a partial fix, i guess? My alpha sapphire copy always crashes when you go into super training, and nowhere else, for some reason, but once i ran this, i was able to get 2 of the super training games in before it crashed, whereas i never completed one of them without it crashing before. It also wasn't able to fix 2 or 3 of the memory blocks, so that's probably where the problem's coming from.

Also, in pokemon games, are things that aren't changed between the game versions usually at the same memory address for both games? if so, then i could probably make a patch that replaces the broken chunks with data from my omega ruby cartridge lol.
I wonder if you could actually just dump a new copy of alpha sapphire and use the file redirection patches to just load/use "fresh" super training" files.

Just treat the vanilla files like modded ones
 

ack

Well-Known Member
Member
Joined
Jan 30, 2020
Messages
157
Trophies
0
XP
385
Country
United States
I wonder if you could actually just dump a new copy of alpha sapphire and use the file redirection patches to just load/use "fresh" super training" files.

Just treat the vanilla files like modded ones
then i would have to buy the game again :P
 

skawo

Well-Known Member
OP
Member
Joined
Aug 18, 2015
Messages
340
Trophies
0
Age
33
XP
2,140
Country
ok so ive tried it and i had a partial fix, i guess?
Try running version 1.2 instead of latest and see if that does better. Also, not sure if you have, but don't skip any blocks manually - it can take much more than the 500 retries to fix a block.

Just treat the vanilla files like modded ones
You absolutely can! But, I mean, at that point, might as well just install a full copy, I think.

I'm pretty sure you could make a patch out of the Ruby cart, though.
 
Last edited by skawo,

elk1007

Well-Known Member
Member
Joined
Jun 23, 2017
Messages
335
Trophies
0
XP
763
Country
United States
Is there a way to write different roms to an official cart?
For example, make Paper Jam into Smash Bros etc.
 

skawo

Well-Known Member
OP
Member
Joined
Aug 18, 2015
Messages
340
Trophies
0
Age
33
XP
2,140
Country
  • Like
Reactions: elk1007
General chit-chat
Help Users
  • No one is chatting at the moment.
    Skelletonike @ Skelletonike: link doesn't work +1