Corrupted Cartridge Fixer Release

  • Thread starter Thread starter skawo
  • Start date Start date
  • Views Views 204,508
  • Replies Replies 773
  • Likes Likes 92
Some hashes can take a very long time. 1000+ retries isn't actually uncommon.
If it is really every hash though then, yeah, probably too far gone, though...
 
Hello, I'm currently going through my 3DS collection to verify them and I got to Omega Ruby and, of course, it didn't pass verification.

I've run the fixer 4 times total, and it found 0 unfixable chunks every time it finished, yet it still didn't pass verification.

So earlier in the thread I ran across the following post:

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.

After doing this, it passed verification multiple times.

I just have a few questions regarding this feature.

Is this feature specific to your version of GodMode9 or is it also in the base version?

And how exactly do I ensure it calculates hashes for the entire cartridge?

I just clicked on the .3ds file, held SELECT and clicked on Calculate SHA-1.

Is that correct or do I need to somehow select all the files from the cartridge?
 
This feature is only in the fork.

What you did is correct, but shouldn't be necessary.

The padding area isn't getting verified. I imagine another pass over the cartridge just caused it to finally fully stabilise.
 
Okay thank you for the response.

Well, whatever it was, my copy of Omega Ruby is fixed now and verifies consistently, so thank you very much for this program.

So far, this has been the only game in my collection that didn't verify on the first try and I hope it stays that way.

How often do you think I should verify my games to keep them in good shape?

I was thinking of something like every 5 years or so.
 
No clue. I personally would do it every couple of years, but it could be longer as you suggest. Don't have any data on how long the degradation takes to happen again now that the cart's been refreshed.
 
Hello Guys,

im trying to fix my Omega Ruby. Even the icon of the game is corrupted in GM9 idk if that means anything or if the cardridge is dirty. Ive tried to dump the save to my PC but it cant be loaded into PKHeX and on Emulator it says that the savefile is corrupted. In GM9 verification didnt work and im now letting it run in the fixer.
WhatsApp Image 2026-08-28 at 10.49.06.jpeg
 
Hi, I'm trying to recover my Pokemon Omega Ruby, but when I choose "fix cartridge corruption," the percentage always stays at 0%. I also have 41,000 refreshes.
Post automatically merged:

Hi, I'm trying to recover my Pokemon Omega Ruby, but when I choose "fix cartridge corruption," the percentage always stays at 0%. I also have 41,000 refreshes.
Help me Please and thank you
 
Last edited by Maikel510,
Well, unfortunately that might mean the cartridge is too far gone at this point to be repaired. The amount of time it takes to repair the cartridge depends on how corrupted it starts out.
 
Sorry if the following things were already asked before, but I couldn't find them via searches:
  • How much data is a chunk? Is it just a few Kilobytes?
  • How much do unfixable chunks actually affect playing in most cases? If there were 100 unfixable chunks, could I possibly play the game normally, especially if it only affects textures?
  • There are some chunks that aren't automatically skipped and it just hangs around them forever. Would an option to skip chunks after some time be possible to implement?
  • Why isn't this functionality part of the normal GodMode9? This seems like it will become essential for most users that continue to use the 3DS, as more and more other games are likely to start failing.
Really appreciate this tool being available, thank you so much!
 
Last edited by Tennin,
Chunk size is not consistent (e.g the entire ExeFS is technically also counted as a chunk)

Even 1 unfixable chunk can potentially make the game unplayable unfortunately.

An option to skip a chunk appears after 500 retries of that chunk. You can also hold X while starting the fixer and it will autoskip chunks once 500 retries are reached.
 
Thanks for the reply. The holding X combo is almost what I wanted. Is it possible to hold X+Y together when starting a new run so that it logs at the same time as well?

What I thought would be great is to initiate an endless retry process where the fixer initiates new runs on its own and maybe lengthens the time for retries for affected chunks when there are starting to get less and less of them.

In regards to chunks: I'd like to understand how it works a bit more. What's the minimum and maximum file size a chunk can be? And can one chunk make the game unplayable if it affects some lines of game logic? I'm just trying to understand if it's possible to play a game normally even if it eventually tries to load an affected chunk.
 

Site & Scene News

Popular threads in this forum