Last week, my GameCube memory card corrupted for some reason. I ended up reformatting it, but later I figured that the "format" procedure probably works like formatting a regular hard disk. That is, it only wipes the file system information, not the actual data. I found a utility to dump a full image of the memory card: http://wiibrew.org/w...acoTaco-Edition and proceeded to examine the hex dump. Sure enough, the old game saves were still there! I was able to restore almost all of the files. (My Mario Kart: Double Dash save wouldn't restore properly on the Wii, but it loaded fine in Dolphin, so this might just be a bug in ctr-gcs's restore function.)
Here's a screenshot of the program so far: (actually, it's a few days old, though not much has changed visually other than a bugfix for the blank icon for "Luigi's Mansion".)

(Save file contributed by MainMemory.)
Parsing the directory structure, block table, and banners was the first step. The next step is adding the capability to scan "empty" blocks for save files. In order to do this, I'll need to compile a database with known strings for different games. I expect to encounter a few issues:
Anyways, regarding the subject at hand: I need corrupted (or previously corrupted) memory card dumps in order to add functionality to this program. You can use the previously-mentioned ctr-gcs utility on softmodded Wiis to dump the full image to an SD card. (Note that if you're using an official Nintendo memory card, you'll need to "unlock" it first by going to the GameCube data management screen and selecting the memory card.)
If anyone wants to help out, I'll be around on irc.badnik.net in the new #retrotech channel.
Here's a screenshot of the program so far: (actually, it's a few days old, though not much has changed visually other than a bugfix for the blank icon for "Luigi's Mansion".)

(Save file contributed by MainMemory.)
Parsing the directory structure, block table, and banners was the first step. The next step is adding the capability to scan "empty" blocks for save files. In order to do this, I'll need to compile a database with known strings for different games. I expect to encounter a few issues:
- Fragmented files won't be recoverable easily, since the block linkage is gone. Files usually don't have magic strings in every block, so it will be difficult (or perhaps impossible) to find fragmented files. I won't implement support for this in the first version.
- Japanese games are distinguishable by the text encoding, but US and European games might not be. The file system table has the full game ID, including region code, so the US version of e.g. SADX won't be able to read saves created by the European version of SADX, since their game code is different. I will probably need to prompt the user to specify the region code in this case.
- Some games with multiple save slots use a single file for all slots. Examples include Mario Party 7
and Sonic Adventure DX. (EDIT: SADX/GC apparently uses multiple files, unlike the DC version which uses one file. :V) Other games, such as Sonic Adventure 2 Battle, use a different file for each slot. The "comment" section of the file indicates the file number, so I'll have to include some way to specify that a file number is used in the database. - Most games don't use any form of wear-levelling on the memory card, so they simply overwrite their existing save with the new data. The only game I've seen that actually creates new files instead of overwriting existing files is Metroid Prime 1. The result is that lots of Metroid Prime files will show up in the "empty" space. I can either show these, or add a way to only show the newest file. (Metroid Prime includes a timestamp in the comment section, so that can probably be used.)
Anyways, regarding the subject at hand: I need corrupted (or previously corrupted) memory card dumps in order to add functionality to this program. You can use the previously-mentioned ctr-gcs utility on softmodded Wiis to dump the full image to an SD card. (Note that if you're using an official Nintendo memory card, you'll need to "unlock" it first by going to the GameCube data management screen and selecting the memory card.)
If anyone wants to help out, I'll be around on irc.badnik.net in the new #retrotech channel.
This post has been edited by GerbilSoft: 20 January 2012 - 11:38 PM


9001

