GCN MemCard Recover Wii

From GameBrew
(Redirected from Gcn Memcard Recover Wii)
GCN MemCard Recover
Gcnmemcardrecoverwii2.png
General
AuthorGerbilSoft
TypePC Utilities
Version0.2.1
LicenseGPL-2.0
Last Updated2015/01/04
Links
Download
Website
Source

GCN MemCard Recover is a program that can recover save files from corrupted Nintendo GameCube memory cards. Usually, when GameCube software indicates that a memory card is corrupted, only a few system areas are affected; the data area, where the actual save files are stored, is left intact. GCN MemCard Recover works by searching for game descriptions in the data area of memory card dumps.

This program can also recover save files if a memory card is accidentally reformatted, since formatting only erases the directory and block tables, as long as no new save files are written, the deleted files can be recovered successfully.

User guide

How to dump a GCN MemCard

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:

Installing and using these programs requires installing homebrew software on the Wii console. A tutorial for setting up homebrew is available here.

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.

To dump a GameCube memory card to an SD card in GCMM:

  • Start GCMM from The Homebrew Channel.
  • Press A if you're using an SD card or B if you're using a USB mass storage device.
  • Select "Raw Backup". (L+Y on GCN controller, B+'-' on Wii Remote.)
  • Press A to dump the memory card in Slot A or B for Slot B. The memory card image will be dumped to the MCBACKUP directory on the SD card or USB mass storage device.
  • Press Start (GCN) or Home (Wii Remote) to exit.

Using the GCN MemCard Recover

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

  • Start GCN MemCard Recover.
  • 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 on the 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.

In some cases, a recently-deleted file may be accessible by viewing an alternate directory table. The GameCube Memory Card has two copies of the Directory Table and Block Table. When saving a file, only one of each of these tables is actually updated. This also counts for deleting files. To change the active Directory Table and Block Table, click the A or B buttons for Directory and Block Tables in the Memory Card pane.

In addition to extracting the save files, you can also extract the banners and icons. To do this, click the Options menu, then check off "Extract Banners" and/or "Extract Icons". The banners and icons will be saved with the same name as the files, but with a different extension.

Banners and non-animated icons will always be saved in PNG format.

Animated icons can be extracted in one of five formats:

  • APNG
  • GIF
  • PNG (file per frame): Each frame is saved in its own file.
  • PNG (vertical strip): Each frame is stored one above another.
  • PNG (horizontal strip): Each frame is stored next to each other.

Note that GIF support on Linux requires a copy of giflib v4.0 or later to be installed. giflib v5.1.4 is included with the Windows version.

File search 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:

  • 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 email me so I can add support for the algorithm in the next version.
    • Note that checksums are currently only 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.
  • 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.
  • 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.
  • 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.

UI language translations

GCN MemCard Recover has a fully-localizable user interface. The following translations are included with v0.2.1:

  • English (US): Base translation.
  • English (GB): British English translation. Provided by Overlord.
  • Español (CL): Spanish translation. Provided by Kevin López.
  • Русский (RU): Russian translation. Provided by Egor.
  • "1337 5p34k": Basic en_US to 1337 conversion.

If you are a fluent speaker of English and another language and would like to contribute a translation, please let me know.

Additional tools

GCN MemCard Recover includes a command-line utility called "gcbanner". This utility lets you extract GameCube disc banner images from opening.bnr files (both BNR1 and BNR2 format), as well as Wii save banner and icon images from Wii save files (both Dolphin banner.bin and encrypted Wii save formats).

For more information, see gcbanner's built-in help: $ gcbanner --help

External resources

A basic tutorial for setting up MinGW-w64 on Windows is available here.

Yet Another GameCube Documentation has useful documentation on the structure of GameCube memory card images.

Finally, support for GCN MemCard Recover is available at Sonic Retro and GBAtemp.

Screenshots

gcnmemcardrecoverwii2.png

Changelog

v0.2.1 2015/01/04

  • Database statistics in this release:
    • USA: 105 files.
    • PAL: 59 files.
    • JPN: 7 files.
    • KOR: 0 files.
    • Unlicensed: 1 file.
    • Homebrew: 1 file.
  • Disabled High DPI mode on Windows. Region icons and GameCube icons and banners were not drawn with the correct scaling. Properly implementing High DPI support will probably require switching to Qt 5.
  • Fixed an issue with the Windows build that caused variable expansions to be removed from the XML database files, resulting in unusable databases. This was caused by using cmake's CONFIGURE_FILE() to convert the files from UNIX line endings to DOS line endings.
  • Use `unix2dos' to convert text and XML files from UNIX line endings to DOS line endings when building for Win32. If `unix2dos' isn't available, use the included program `miniu2d' to do the conversion instead.
  • Fixed an issue where the preferred region was not correctly loaded on startup if it was set to USA. This could be worked around by selecting a different region and then switching back to USA.
  • Eliminated the lag that happened after scanning for lost files on cards with lots of lost files (or with "Scan Used Blocks" enabled).
  • Icon animations are now disabled when the window is minimized. This should reduce CPU usage and battery usage (on laptops).

v0.2 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.
  • 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 2013/07/21

  • Database statistics in this release:
    • USA: 59 files
    • Unlicensed: 1 file
    • Homebrew: 1 file
  • 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.

External links

Advertising: