GCN MemCard Recover

From WiiBrew
Jump to navigation Jump to search
GCN MemCard Recover
General
Author(s)GerbilSoft
TypePC utility
Version0.2.1
LicenseGPLv2
Links
Source
Peripherals
GameCube Memory Card

GCN MemCard Recover is a utility that can recover files from corrupted or reformatted GameCube memory cards.

Usually, when a GCN memory card is corrupted, only the file system or header is unusable. Similarly, when a memory card is formatted, only the file system blocks are erased. The data area is left intact. By searching for specific patterns within the data area, files can usually be recovered.

How to use

In order to recover files from a GCN memory card, you will first need to dump the memory card image to a computer-readable format using a Nintendo Wii. Two programs are available for this purpose:

GCMM is more up-to-date and has more functionality, so GCMM is recommended.

You will need an SD card or USB mass storage device in order to dump the memory card.

See the GCMM page for information on how to dump a raw image of a GCN memory card.

Once the memory card image is dumped, you can open the image file in GCN MemCard Recover:

  1. Start GCN MemCard Recover.
  2. Drag the memory card image file (e.g. 1019b_2013_07Jul_17_23-57-22.raw) onto the GCN MemCard Recover window.

GCN MemCard Recover will open the image file. If there were any save files that were normally visible on the GameCube (e.g. the card was reformatted and reused), they will appear in the list.

To search for files deleted and/or lost due to reformatting or file system corruption, click the "Scan" button in the Memory Card Details toolbar. GCN MemCard Recover will scan each block of the memory card image to see if it can find matches for known files. Once it's finished scanning, any files it found will appear in the list highlighted in yellow.

Highlight the file(s) you want to extract, then click the "Save" button. The file(s) will be saved in GCI format, which you can then restore onto the memory card using GCMM.

Limitations

GCN MemCard Recover works by searching through the file data instead of using the file system's directory tables. Unfortunately, this means that file recovery has a few limitations:

1. If files are heavily fragmented, GCN MemCard Recover may not be able to successfully recover them. If this happens, the file will appear to be extracted successfully, but attempting to load the save file in the game will result in either a "file corrupted" error or a crash.

GCN MemCard Recover does support verifying the checksums of some files, which is indicated by the icon in the rightmost column:

  • Checkmark: Checksum is known and is valid. File can be recovered.
  • X: Checksum is known and is invalid. File cannot be recovered using the current version of GCN MemCard Recover.
  • ?: Checksum is unknown. If you know the correct checksum algorithm for this file, please contact the author (GerbilSoft) so he can add support for the algorithm in the next version.

Note that checksums are only currently checked for "lost" files (that is, files found using the scanning algorithm). Files that are visible on the card normally are not checked, and hence won't show any icon in the rightmost column.

2. Some games don't store the game description in the first block of the file. This includes "Mario Kart: Double Dash!!" and "The Legend of Zelda: Twilight Princess". Due to limitations in the current scanning engine code, these files cannot be recovered yet. Support for these files will be added in a future version.

3. Games that have multiple slots but don't have a slot identifier in the comment section will all be restored with the same filename. This includes "Animal Crossing", so if e.g. multiple "Animal Crossing" save files are restored from the memory card, they will all have the same name, so you can't restore them to the same card. This will be fixed in a future version.

4. The included databases are far from complete. If you have save files for any games not currently supported by GCN MemCard Recover, please send me copies of the GCI files so I can add support for these games to the databases.

Screenshots

Mcrecover.mcrecover-v0.2.png

Downloads

v0.2.1

v0.2

v0.1

Changelog

v0.2.1

[released 2015/01/04]

v0.2

[released 2014/02/08]

Database statistics in this release:

  • USA: 83 files
  • PAL: 59 files
  • JPN: 4 files
  • KOR: 0 files :(
  • Unlicensed: 1 file
  • Homebrew: 1 file

Changes:

  • Stability has been improved. In particular, the custom model for the QTreeView now handles all required signals correctly.
  • Some parts of the program now utilize C++ 2011 functionality. A compatibility header has been included for older compilers.
  • The toolbar that was formerly located in the "Memory Card" view is now a window toolbar, and contains additional items, such as the "Preferred Region" selection.
  • Added preliminary support for displaying scanning progress in the taskbar. Currently, only the D-Bus DockManager protocol is supported. Support for Ubuntu's Unity and Windows 7 will be added later.
  • GcImage and Checksum functions have been split out into their own library, libgctools. This library depends on libpng but does not depend on Qt.
  • Added support for the Qt translation system. Currently, translations for en_US, en_GB, es_CL, and "1337" are included.
  • Fixed some corner cases with full memory card images and certain save files.
  • Support for Japanese save files is improved.
  • Added preliminary support for compiling with Microsoft Visual C++. The primary distributions will still be compiled with gcc/MinGW.
  • Banners and icons can now be exported as image files. Banners and non-animated icons are always exported as PNG. Icons can be exported as APNG, PNG (file per frame), PNG (vertical strip), and PNG (horizontal strip).
  • Added "Preferred Region" support. Some games don't have any way to determine the region by simply looking at the description, and in some cases, might be identical in every way other than the region code in the game ID. "Preferred Region" allows you to specify which region you want to prefer in the case that multiple save files in different regions are detected.
  • Added support for multiple database files. The included databases are now split by region, e.g. USA, JPN, etc. Homebrew and Unlicensed titles are also contained in their own databases.
  • Added a new utility "gcbanner". This utility can extract banner images and icons from GameCube BNR1 and BNR2 opening.bnr files as well as Wii save files (both raw banner.bin and encrypted save files). Animated icons can be extracted to the same formats supported by GCN MemCard Recover's icon extraction function. Banners and static icons are always extracted in PNG format.
  • The current directory and block tables can now be switched on the fly. This may allow for easier recovery of files that were deleted in the GameCube file manager, as long as no other files have been saved or updated in the meantime.
  • Added a "top-secret" easter egg. :)

v0.1

[released 2013/07/21]

Database statistics in this release:

  • USA: 59 files
  • Unlicensed: 1 file
  • Homebrew: 1 file

Changes:

  • Initial release.
  • Supports extracting regular files from GCN memory card dumps. "Regular" files in this case means files that are normally visible in the system memory card manager.
  • Supports searching for "lost" files in GCN memory card dumps. "Lost" files are files that aren't normally accessible because their file entries were removed, either due to corruption in the directory tables or accidental reformatting.
  • Includes a database with 61 different file entries. This initial database only has NTSC-U games, and some file entries are not usable at the moment due to limitations in the scanning engine.
  • Scanning engine cannot currently search for files whose descriptions are not stored in the first block of the file.
  • Variable modification system does not yet support files with multiple slots whose slot IDs are not described in the file description field.