Corrupted Cartridge Fixer Release

  • Thread starter Thread starter skawo
  • Start date Start date
  • Views Views 184,698
  • Replies Replies 718
  • Likes Likes 87
That's not the whole story. The crashes are because the hash checks in fs module are failing and the game simply throws a fatal error. The fs module verifies every single file accessed by games at runtime.
 
you could maybe patch fs to ignore hash mismatch, then if the corruption isnt too bad it might still be able to play with some glitches, maybe. but if the corruption is too great then it would crash regardless
 
Fire Emblem Fates Birthright Cart
Crash before boot with a generic luma error. Has not worked in well over a year.

1st Cartridge Corruption Fix:
RomFS Refresh count at 50%: 19
RomFS Refresh count at 75%: 29
RomFS Refresh count at 90%: 35
Refreshes in Total: 41

Verification: Success
Status on Boot: Different Crash. This one seemed to be from Fates being unable to read the save data. A Massive difference from before where it was a generic error before booting ingame.

2nd attempt, tried the 100 Refresh version:
8000 refreshes done in total: Same crash.

Save File imported from Fire Emblem Fates - Revelations: No Crash
Result: Attempting this save file port in the past resulted in the same crash. This means that the cartridge and save data were previously corrupted, but the cartridge is now working. More testing will be needed before I can confirm it's fully functional however... A good tool however! I've got a functional copy of Birthright again!
 
  • Like
Reactions: skawo
Weird that the game has no way to detect corrupt saves and crashes instead... Nice, though!
iirc Fates has very aggressive routines in place to try and fix save files (you could probably randomize a good chunk of the bytes and it'd still load), but in this instance, it needed this tool as well.
 
Should be noted that the fixer routine would not touch the save file at all as it is right now.
The way to get the refresh command to run on the save file is to choose it from the list and copy to gm9/out while holding select.
 
Thank you so much for this tool! I got a copy of Layton vs Ace Attorney for suuuper cheap because it was corrupted. It was getting past the 3ds screen and then getting stuck on a black screen.

I ran it through 3 times - it never actually came out as "verified" with the checker, but the game is RUNNING! So happy to have a working physical copy of this game, since it's unfortunately very rare (and very expensive!) these days.

So glad this is possible, and that you put this out there. I'm overjoyed.
 
  • Like
Reactions: skawo
Thank you so much, I ran it 3 times and the game is running! Even if verification doesn't succeed. And then I tried another 3 times and it verified successfully.
 
  • Like
Reactions: skawo
this just saved my copy of Pokemon Mystery Dungeon: Gates to infinity (and saved me $$ from having to source out a new cart.) Immedatly dumped it and the save as it took 65 refreshes when it completed.
 
  • Like
Reactions: skawo
What Content0 (64011000@00001B41000) verification failed could mean?
It's happens on start when I run verify.
Corruption fix complete in success and game works fine as before.
Try fix it few times and still same thing
I know that few month back I fixed this FEE cartridge and it's show that there was problems (game still worked), but verification was successful.
Have DKong too, it's give error on verification sometimes too - but verification after reboot works with it

Does holding select when run fix refresh and not skip hash mismatch? I run normal fix, should I try it?
 
Last edited by k7ra,
Hello!
Im trying to use your tool right now but for some unkown reason it doesnt give me the "Fix cartridge corruption" option.

So i installed both of the refresh files and put them in the luma/payloads file along side the sourcecode.zip file. I used filezilla for this.

(btw im new to this stuff, and also very bad ;-; ) sorry for bothering you :I
 
Hi! I tried the tool on my Pokemon X and after trying all versions several times, it seams there are 46 blocks that are permanently corrupt (the number changes between 48 and 45 during the different runs but it is not getting better) I'm giving up at this point.... the hash gets stuck and the tool cannot refresh it (It skips after 20 tries), so I'm affraid the is nothing I can do.... It is any way I can patch those blocks with LayeredFS in order to avoid future crashes?? How do I do it? I paste here the corrupted blocks of my cartridge:

CORRUPTION FIX LOG ON C:/0004000000055D00_v00.3ds
Unfixable: 3224d000
Unfixable: 3224e000
Unfixable: 3224f000
Unfixable: 32250000
Unfixable: 32251000
Unfixable: 32252000
Unfixable: 32253000
Unfixable: 32255000
Unfixable: 32256000
Unfixable: 32257000
Unfixable: 32258000
Unfixable: 32259000
Unfixable: 3225a000
Unfixable: 3225b000
Unfixable: 3225d000
Unfixable: 3225f000
Unfixable: 32260000
Unfixable: 32261000
Unfixable: 32262000
Unfixable: 32263000
Unfixable: 32265000
Unfixable: 3226a000
Unfixable: 3226b000
Unfixable: 3226c000
Unfixable: 3240d000
Unfixable: 3240f000
Unfixable: 32410000
Unfixable: 32411000
Unfixable: 32412000
Unfixable: 32413000
Unfixable: 32414000
Unfixable: 32416000
Unfixable: 32417000
Unfixable: 32418000
Unfixable: 32419000
Unfixable: 3241a000
Unfixable: 3241b000
Unfixable: 3241c000
Unfixable: 3241d000
Unfixable: 3241e000
Unfixable: 3241f000

Thank you in advance!!

P.S: Thank you so much for the tool! The cartridge had hundreds of corrupted blocks and after a lot of runs I managed to reduce them to 46, so I guess it is a partial fix :)
 
You would dump the filesystem off your cartridge, then dump one from a good copy of the game and compare the two with WinMerge or similar.

Then, place the offending files into a LayeredFS structure.
 
If you're lucky, these blocks were in unused data anyway (the block of FF bytes near the end)

Does this check the save data area of card2 games, also? Would save data area be affected by this?
 

Site & Scene News

Popular threads in this forum