Corrupted Cartridge Fixer Release

  • Thread starter Thread starter skawo
  • Start date Start date
  • Views Views 183,932
  • Replies Replies 716
  • Likes Likes 87
It seems smash bros is a common cart to fail out. I was pretty confident my cart would be repaired as it’s is great condition it just sat for years without being played. I ran the repair last night and connected it to power but unfortunately the surge protector was switched off and I didn’t notice. The system lost power and now I’m seeing a lot of hash stuck around the time the system would have shut down.

I did notice it repaired the logo appearing on the top screen, this would not load previously, but the game still did not launch. Verification fails almost immediately so I’m not confident it will he able to repair anymore, especially after reading similar behavior from other users.

I will continue to attempt the repair today and let you know my findings. It will be interesting to find if the game will load at all and if so what data is corrupt.
 
  • Like
Reactions: skawo
Unfortunately my cart could not be repaired. There are too many hashes stuck around 10% and also many that happen closer to 100%. The utility did repair the cart to where it can actually load into the main menu but I’m not able to load a stage. It’s really a shame that 3ds carts require maintenance while N64 games that are almost 30 years old are still working fine. Thanks for your work on this cfw it is a great tool to have access to, I’ll be keeping it installed and verifying my other games to try to extend their life.
 
  • Like
Reactions: skawo and splaca
Unfortunately my cart could not be repaired. There are too many hashes stuck around 10% and also many that happen closer to 100%. The utility did repair the cart to where it can actually load into the main menu but I’m not able to load a stage. It’s really a shame that 3ds carts require maintenance while N64 games that are almost 30 years old are still working fine. Thanks for your work on this cfw it is a great tool to have access to, I’ll be keeping it installed and verifying my other games to try to extend their life.

My Smash cart is unfortunately too far gone as well. (What a shame! It's my favorite 3DS game).

And in my case, as yours, the tool was able to improve the situation a bit. I can even play a few games. It always crashes when I try playing Classic mode, but there are other situations as well, though I couldn't identify other clear patterns.

My other physical games have no issues for now, but I'll be sure to keep an eye especially on Omega Ruby which is another title that keeps being mentioned here!
 
  • Like
Reactions: skawo
hi, thanks for this tool!

i am trying to verify a alpha sapphire copy (already tried the solder joints but not worked)
but after i try the refresh count just goes up (i removed the cartridge both times around 100000) and looks it never ends
first verify the name in cart has incorrect, after first attempt it shows the name correctly but the verify give a error (data abort (4)

do u know something about it?
 
Sounds like there is some kind of major hardware failure in the cartridge. Maybe caused by the reflowing?
 
Tried running it on my copy of Smash 3DS, and it immediately hit a Hash Mismatch. As you can see, the refresh count hit well over 210,000. Do I need to let it run longer, or is there another issue?
thumbnail_IMG_9597.jpg
 
The exefs is usually the biggest file on the cartridge, so it takes a very long time to read and check. Give it a while longer if the top hash keeps changing. If it doesn't move on after a while try the 100 Refreshes version. If that doesn't ever move from this stage then the cartridge is probably too far gone.
 
Hi, first of all thank you for this awesome tool.

I’d like to share my experience. Out of all my cartridges, only Pokémon Y showed issues when using the "Verify file" option in GodMode9 including a Crash when the game started. After running "Fix cartridge corruption", the first run reached around 73,000 Reset counts. Then I ran around 9 more Fixes including one with SELECT mode, and the cartridge finally stabilized. The cartridge now verifies successfully.

Now, the question I have is about file consistency: when I copy the .3ds file from the cart multiple times, each copy generates a different SHA. However, if I copy the .trim.3ds version, the SHA stays consistent every time.

I suspect the differences are in the padding area (sectors filled with 0xFF or 0x00). So my questions are:
  • Is it possible (or worth trying) to recover or stabilize those padding sectors?
  • If they are considered unrecoverable, what would be the preferred padding value for preservation purposes — 0xFF or 0x00?
Thanks again for the tool and any insight you can provide!
 
  • Like
Reactions: skawo
You're correct, the tool only goes over actual files so the padding area is not touched.

You can attempt to stabilise the padding area by holding SELECT while going to calculate SHA-1 of the entire cartridge (without dumping it).

I personally wouldn't, though; straining the cart further really doesn't seem like a good idea.

As for what the padding should be, it appears it's usually 0xFFs.
 
  • Wow
Reactions: Valthisse
The exefs is usually the biggest
On the contrary, it's usually the smallest. It's literally just icon/banner/logo + binary file with executable code (hence the name "exeFS"). Game assets are stored in the romFS partition, so that one would typically be the largest one.

Now, the question I have is about file consistency: when I copy the .3ds file from the cart multiple times, each copy generates a different SHA. However, if I copy the .trim.3ds version, the SHA stays consistent every time.
Pokémon Y is a card2 game, which means that it stores its save data on the same chip as the game itself.
Trimming dumps from such carts should generally be avoided, because there's a risk of cutting out the area that stores said save data.
Varying hashes are usually normal for these carts as save data will change, but I guess it's also possible that this area of your cart is also failing, so you can try calculating SHA-1 for the .sav file and see whether it stays the same or gives you different hash every time.
 
On the contrary, it's usually the smallest. It's literally just icon/banner/logo + binary file with executable code (hence the name "exeFS"). Game assets are stored in the romFS partition, so that one would typically be the largest one.
Sorry, I wasn't precise: The ROMFS is split into chunks and has a separate hash for each chunk. The exeFS hashes apply to each individual file in the exeFS. That's what makes the exeFS the "biggest" thing to verify during this process; there's a hash that applies to the entire executable.
 
Last edited by skawo,
  • Like
Reactions: redunka
After further testing, my smash 3DS cart still wouldn’t move on from the first hash. Is there any way to pull the save data from the cart itself, and implant it on another? Sorry if this is a simple question. I’m pretty new to this.
 
Pokémon Y is a card2 game, which means that it stores its save data on the same chip as the game itself.
Trimming dumps from such carts should generally be avoided, because there's a risk of cutting out the area that stores said save data.
Varying hashes are usually normal for these carts as save data will change, but I guess it's also possible that this area of your cart is also failing, so you can try calculating SHA-1 for the .sav file and see whether it stays the same or gives you different hash every time.
I ran a couple of tests alternating between SHA1 with the "select" option and regular SHA1, until I managed to get matching hashes between the export and the cartridge.

You're correct, the tool only goes over actual files so the padding area is not touched.

You can attempt to stabilise the padding area by holding SELECT while going to calculate SHA-1 of the entire cartridge (without dumping it).

I personally wouldn't, though; straining the cart further really doesn't seem like a good idea.

As for what the padding should be, it appears it's usually 0xFFs.
I had a feeling it might go that way, but I still wanted to try since the corruption seemed minor based on the reset count. I'm glad to say all the data is now working perfectly. Thank you again!

After further testing, my smash 3DS cart still wouldn’t move on from the first hash. Is there any way to pull the save data from the cart itself, and implant it on another? Sorry if this is a simple question. I’m pretty new to this.
You can try using apps like Checkpoint, you might get lucky exporting your save.
 
Hello!

First, THANK YOU!!!!

My (day one) Smash Bros cartridge didn't boot, after several years staying unused.
Stuck on a black screen on my modded o3DS, stuck on the 3ds splashcreen on my not-modded n3DS.
Sometimes it even showed a message on my o3DS, that i can translate like "this cartridge can't be read" when I pressed A to launch it.

I ran your cartridge fixer (on my o3DS), and after ~2H, no bloc skip just letting it run, the "verify" was still "fail".
But the game is now playable again! Without any loss (data...) or side effect.

Note: 1st successfull launch, I was able to play Adventure Smash, Streetpass mini game, buy trophies in the shop... Then I tried to launch a Smash game 1V1 vs AI, I was stuck with a black screen after character select, when I was supposed to chose the map. I pressed Home, tried to exit the game, the message saying the game is quitting took forever so I decided to shutdown my o3DS by pressing the power button for 10sec.
Restarted the o3DS, re-launched the game, then was able to play a Smash game 1V1 vs AI with no problem. Then I was able to exit the game as normal, with that soft reboot of the console (old model...)

So, even if the 1st launch wasn't flawless, in the end everything looks good :)

Again, thank you!
Now I start to think about going full eShop for Switch 2 lol, cartridges are not 100% reliable i guess
 
  • Like
Reactions: splaca and skawo
thank you for this tool! I have run it on two different cartridges now. It took a long time and several repeat processes, but I was able to restore a launch copy of Super Smash Bros to full functionality (verification now succeeds where it would fail almost instantly before!)

the other cart I've run was Alpha Sapphire, which is proving to be more problematic. Even leaving the tool to run overnight, it seems this copy of Alpha Sapphire is just too far gone. That or it has dry solder joints :p

again, thank you!! This tool is a GODSEND
 
  • Like
Reactions: skawo
Wait, y'all ...upon first running the gm_CartRefresh1.3.firm

And attempting to do the "Fix cartridge corruption" option,
there's a screen that asks the RTS isn't calibrated correctly (it was asking for a time and date input). What is it? Is it just set to the current date and time?

(I tried the site's search function, with skawo as 'user', but it came up with nothing - sorry if it's been answered previously. Will scan throught the replies again)
 
Wait, y'all ...upon first running the gm_CartRefresh1.3.firm

And attempting to do the "Fix cartridge corruption" option,
there's a screen that asks the RTS isn't calibrated correctly (it was asking for a time and date input). What is it? Is it just set to the current date and time?

(I tried the site's search function, with skawo as 'user', but it came up with nothing - sorry if it's been answered previously. Will scan throught the replies again)

I take it you've never used GodMode9 (gm9) before. So to clarify:

* Skawo is not the author of gm9, he has modified it to include the cart recovery functionality;
* This RTC (real-time clock) configuration is a thing gm9 wants you to do, not related to the cartridge fixer;
* The RTC configuration just sets the internal clock of the 3DS accurately;
* After doing that for the first time, you will need to then reconfigure the System time when you boot into the normal 3DS environment the next time.

So yeah, just do as instructed by gm9, you won't screw up anything by doing this ;)
 
  • Like
Reactions: balemoc

Site & Scene News

Popular threads in this forum