GCN MemCard Recover

Discussion in 'Technical Discussion' started by GerbilSoft, Jul 21, 2013.

  1. GerbilSoft

    GerbilSoft

    RickRotate'd. Administrator
    2,890
    23
    18
    USA
    rom-properties
    GCN MemCard Recover v0.1 is finally out!

    [​IMG]

    This program can be used to recover save files from corrupted GCN memory cards. The initial release has some limitations, which are detailed in the README.txt file.

    Currently, the save file database has entries for 61 save files, all NTSC-U. I need save file contributions to add more games from both NTSC-U and other regions.

    Download GCN MemCard Recover:

    EDIT: Program's up and available for download.
     
  2. Shadic

    Shadic

    Member
    1,223
    0
    16
    Olympia, WA
    Home improvement eternal
    Goddamnit I can't find my old ass broken 1019 memory card.
     
  3. FlashTHD

    FlashTHD

    Oldbie
    231
    0
    0
    I found mine after seeing this. Heartbreakingly, it's as good as a doorstop - not even GCMM would acknowledge it was plugged in. The thing quit functioning out of the blue in 2006 (5? I don't remember) and I have no idea why.
     
  4. GerbilSoft

    GerbilSoft

    RickRotate'd. Administrator
    2,890
    23
    18
    USA
    rom-properties
    Could be a bad and/or dirty connector. Try disassembling it and cleaning off the contacts with isopropyl alcohol and a Q-tip.
     
  5. LocalH

    LocalH

    roxoring your soxors Tech Member
    3,270
    2
    18
    wouldn't you like to know
    Super Guitar Hero II
    I've got a dump of my GF's MC from back in April. It has saves for the following games:

    Animal Crossing
    Final Fantasy Crystal Chronicles
    Fire Emblem: Path of Radiance
    Luigi's Mansion
    Mario Golf Toadstool Tour
    Mario Kart: Double Dash!!
    Mario Party 4
    Pikmin
    Resident Evil 4
    Sonic Adventure 2 Battle
    Sonic Mega Collection
    Super Mario Sunshine
    Super Smash Bros. Melee
    Tales of Symphonia
    Wario World
    Zelda: Collector's Edition (OoT and MM)
    Zelda: Wind Waker

    Here's the image, .raw extension. Don't worry about scanning it for lost saves, just a few old SMS and SMC files.

    Edit: Yea, browsing through your DB and I see a few games on my list that aren't in yours. If I knew where her MC currently was, I'd go through her GCN games and create more saves for games you don't have listed.
     
  6. GerbilSoft

    GerbilSoft

    RickRotate'd. Administrator
    2,890
    23
    18
    USA
    rom-properties
    I took a quick look at your memory card. I don't have access to my dev environment right now, so I'll add the other games sometime tonight.

    Incidentally, your SA2B save is PAL. Do you have a PAL copy of SA2B, or is it a not-quite-legal version run in DIOS MIOS? :v:/>/>

    Major feature plan for v0.2:
    • Windows build: Convert the text files and XML files to Windows line endings before packing. (I attempted to open the README.txt file on a Win7 computer, and Notepad choked on it. Oops.) Also, verify that QXmlStreamReader can handle Windows line endings.
    • Add support for multiple database files. (One for USA, one for PAL, one for JPN, etc.)
    • Add support for files that don't have the description in the first block of the file. (Mario Kart: Double Dash!! is the most obvious example I know of; this also has the description data in both blocks 1 and 2, which is annoying.)
     
  7. LocalH

    LocalH

    roxoring your soxors Tech Member
    3,270
    2
    18
    wouldn't you like to know
    Super Guitar Hero II
    To be honest I'm not even sure. It's not personally my save, but it may be a PAL version that I put on her HDD :v: :specialed:
     
  8. GerbilSoft

    GerbilSoft

    RickRotate'd. Administrator
    2,890
    23
    18
    USA
    rom-properties
    Some status updates:

    • Initial support for DockManager D-Bus API for indicating scan progress in the dock icon. This protocol is supported by Docky and KDE's Icon Tasks. I will also add support for Unity and Windows 7 later on.
    • I'm currently working on adding support for multiple database files. The database files will be split into region, I.e. one file for NTSC-U, one file for NTSC-J, and one file for PAL.
    • I need more memory card files! In particular, I need PAL and NTSC-J files, since I currently don't have any databases for those, but more NTSC-U files are good too. If you have any memory card files that aren't currently supported by GCN MemCard Recover, I would appreciate it if you sent me a copy. (Either the individual GCI files or the full memory card dump works.)
     
  9. GerbilSoft

    GerbilSoft

    RickRotate'd. Administrator
    2,890
    23
    18
    USA
    rom-properties
    Time for some updates:
    • Multiple databases are now supported. Currently there are three databases: USA (has the most entries), PAL, and Homebrew. I still need more files for the databases, so if you have games that aren't in the database, please send me a dump of the memory card images. The database files can be viewed here: http://www.dusers.drexel.edu/gitweb/gitweb.cgi/~korth/mcrecover.git/tree/HEAD:/data
    • Added support for selecting a "preferred region". Some games don't have any way to differentiate between different regions by just looking at the description field, so setting the preferred region will force it to select e.g. PAL instead of NTSC-U. Later I will add some other search parameters to check specific bytes in the case that a file is differentiable based on a given pattern outside of the description field.
    • Added a "Search Used Blocks" option, which treats the entire memory card as if it's empty. This might be useful in case the directory entries show files that don't actually exist and are merely masking blocks used by other files.
    • I'm going to add initial support for translation files tonight, which means GCN MemCard Recover will be usable in multiple languages.
     
  10. GerbilSoft

    GerbilSoft

    RickRotate'd. Administrator
    2,890
    23
    18
    USA
    rom-properties
    Statistics of the GCN MemCard Recover databases:
    • USA: 74 (includes Action Replay; this will probably be moved to "Unlicensed")
    • PAL: 57
    • JPN: 1
    • KOR: 0
    • Homebrew: 1

    There's at least 500 retail titles for GameCube in the US alone, and save files are usually different depending on region. Also, many games have multiple types of files (the above list shows number of files, not number of games). I need help filling out these databases!

    Check out the databases here: http://www.dusers.drexel.edu/gitweb/gitweb.cgi/~korth/mcrecover.git/tree/HEAD:/data - if you have save files for titles not listed in the database, please send me a copy and I'll add them ASAP.

    New features added yesterday and being added today:
    • An "XML" button to generate an XML database fragment for the selected file. This will make it easier to add new database entries. (The fragment still needs adjusting for e.g. multiple file slot and timestamp detection, but it's an easier starting point than a hex dump.)
    • MSVC compiler support. The official builds will still be gcc, but someone might be able to make use of this.
    • Icon/banner extraction. Banners and static icons will use PNG format; animated icons will use either APNG or GIF, user-selectable. (APNG requires libpng with APNG patches. I'll probably add built-in copies of pcre, zlib, libpng+APNG, and giflib later.) [NOTE TO SELF: Rebuild Qt/Win32 with -system-zlib / -system-libpng and see if it works with built-in copies of zlib/libpng.]
     
  11. Overlord

    Overlord

    ...did we just switch realities? Moderator
    17,570
    60
    28
    Berkshire, England
    Learning Cymraeg
    Gerbil - would it be possible to put a straight .txt list of the titles you've got into the repo? Looking through the XML is a bit of a chore, it'll help everyone see what they can add.
     
  12. GerbilSoft

    GerbilSoft

    RickRotate'd. Administrator
    2,890
    23
    18
    USA
    rom-properties
    Here's a plain-text list of what I have right now: (Games listed without any specifiers only have a single type of save file as far as I know.)

    USA: (74 files)
    • Animal Crossing (Town File, NES Save Data)
    • Beyblade VForce - Super Tournament Battle
    • Billy Hatcher and the Giant Egg
    • Chibi Robo
    • Crash Bandicoot: The Wrath of Cortex
    • Dance Dance Revolution: Mario Mix
    • Donkey Kong Jungle Beat
    • Donkey Konga
    • Eternal Darkness
    • F-Zero GX
    • Fight Night Round 2 (Settings File, User Profile)
    • Final Fantasy: Crystal Chronicles
    • Fire Emblem: Path of Radiance
    • James Bond 007: Everything or Nothing (Save File, User Profile)
    • Karaoke Revolution Party
    • Lord of the Rings: The Third Age
    • Luigi's Mansion
    • Mario Golf: Toadstool Tour
    • Mario Kart: Double Dash!!
    • Mario Party 4
    • Mario Party 5
    • Mario Party 6
    • Mario Party 7
    • Mario Power Tennis
    • Mario Superstar Baseball
    • Mega Man Anniversary Collection
    • Mega Man X Collection
    • Metroid Prime
    • Metroid Prime 2: Echoes
    • MVP Baseball 2005 (Owner File, Rosters File, User Profile)
    • Need for Speed Underground 2
    • Pac-Man World 2
    • Paper Mario: The Thousand Year Door
    • Pikmin
    • Pokémon Channel
    • Puyo Pop Fever (System File, Replay File)
    • Resident Evil 4 (System File, Save File)
    • Shadow the Hedgehog
    • Sonic Adventure DX: Director's Cut (Save File, Chao Garden File)
    • Sonic Adventure 2: Battle (Save File, Chao Garden File)
    • Sonic Gems Collection (Settings File, Sonic R: Save File, Sonic the Fighters: Save File)
    • Sonic Heroes
    • Sonic Mega Collection
    • Sonic Riders
    • Spongebob Squarepants: Battle for Bikini Bottom
    • Spyro: Enter the Dragonfly
    • Star Fox: Assault
    • Star Wars: Rogue Leader - Rogue Squadron II
    • Super Mario Sunshine
    • Super Monkey Ball 2 (Save File; replays are variable-length and hence aren't supported right now)
    • Super Smash Bros. Melee (Save File; snapshots are variable-length and hence aren't supported right now)
    • Tales of Symphonia
    • The Legend of Zelda: Collector's Edition (Zelda 1, Zelda 2, Ocarina of Time, Majora's Mask)
    • The Legend of Zelda: Four Swords Adventures
    • The Legend of Zelda: Ocarina of Time / Master Quest
    • The Legend of Zelda: The Wind Waker
    • The Legend of Zelda: Twilight Princess
    • Viewtiful Joe
    • Wario World
    PAL: (57 files)
    • 1080: Avalanche
    • Animal Crossing (Town File, NES Save Data)
    • Battalion Wars
    • Bloody Roar: Primal Fury
    • Chibi Robo
    • Donkey Kong Jungle Beat
    • Donkey Konga
    • Eternal Darkness
    • F-Zero GX
    • Luigi's Mansion
    • Mario Party 4 (estimated; need an actual save to confirm)
    • Mario Party 5 (estimated; need an actual save to confirm)
    • Mario Party 6 (estimated; need an actual save to confirm)
    • Mario Party 7 (estimated; need an actual save to confirm)
    • Metal Gear Solid: The Twin Snakes
    • Metroid Prime
    • Metroid Prime 2
    • Need for Speed Underground 2
    • Paper Mario: The Thousand Year Door
    • Phantasy Star Online: Episodes I & II (System File, Character File, Guild Card File)
    • Phantasy Star Online: Episode III (System File, Character File, Guild Card File)
    • Pikmin 2
    • Pokémon Colosseum
    • Resident Evil
    • SEGA Network Information (part of the PSO games, but has a different game ID)
    • Shadow the Hedgehog
    • Skies of Arcadia Legends
    • Sonic Adventure DX: Director's Cut (Save File, Chao Garden File)
    • Sonic Adventure 2: Battle (Save File, Chao Garden File)
    • Sonic Gems Collection (Settings File, Sonic R: Save File, Sonic the Fighters: Save File)
    • Sonic Heroes
    • Sonic Mega Collection
    • SoulCalibur 2
    • Star Wars: Rebel Strike - Rogue Squadron III
    • Star Wars: Rogue Leader - Rogue Squadron II
    • Super Monkey Ball
    • Super Monkey Ball 2 (Save File; replays are variable-length and hence aren't supported right now)
    • Super Smash Bros. Melee (Save File; snapshots are variable-length and hence aren't supported right now)
    • The Legend of Zelda: Collector's Edition (Zelda 1, Zelda 2, Majora's Mask; MISSING Ocarina of Time)
    • The Legend of Zelda: Four Swords Adventures
    • The Legend of Zelda: Ocarina of Time / Master Quest
    • The Legend of Zelda: The Wind Waker
    • TimeSplitters 2
    • Viewtiful Joe
    • Viewtiful Joe 2
    • Wario World
    JPN: (1 file)
    • Doubutsu no Mori e+ (Town File; MISSING Famicom Save Data)
    Unlicensed: (1 file)
    • Action Replay v1.14 (other versions should be identical) [VARIABLE-LENGTH FILE; this may be problematic.]
    Homebrew: (1 file)
    • NeoPop
    I don't have any KOR save files yet, though Korean GCN games are quite rare outside of South Korea.
     
  13. JaxTH

    JaxTH

    Pudding Deity Oldbie
    8,709
    30
    28
    Los Angeles
    Jack shit.
    So all these saves files come from corrupted GCN cards?
     
  14. GerbilSoft

    GerbilSoft

    RickRotate'd. Administrator
    2,890
    23
    18
    USA
    rom-properties
    The save file information in the database are from known good files on not-corrupted memory cards. The database entries are then used to search for and reconstruct files on corrupted memory cards.