GBA backup cart saves

Discussion in 'GBA - Game Development, ROM Hacks and Translations' started by SFXlakito, Aug 2, 2006.

  1. SFXlakito
    OP

    SFXlakito Member

    Newcomer
    47
    0
    May 31, 2006
    United States
    Okay, I don't exactly know where to ask this but here goes: I have a ton of GBA games (over 20) and I want to back up the saves on them to use with the roms on my EZ4. So what all do I need? First of all, do I need a flash linker (to connect my GBA games to the computer)? I can get one from Jandaman for about $15 shipped, so it's not that expensive. Would I need to dump the whole rom onto the computer? Also, I heard from someone that you CANNNOT back-up GBA saves that use EEPROM, is that true? Because I'm guessing a lot of them do.

    I just want to know these things before I place an order with Jandaman. Thanks ahead of time.
     
  2. FAST6191

    FAST6191 Techromancer

    pip Reporter
    22,904
    8,561
    Nov 21, 2005
    No you can read the save directly off of the cart (dumping does not take long anyhow).
    The person that said about the EEPROM is correct, there is no way to transfer them on to your PC either as far as I am aware.
     
  3. SFXlakito
    OP

    SFXlakito Member

    Newcomer
    47
    0
    May 31, 2006
    United States
    Hmm.. so do you think it would be worth it to try and back up some of my saves? Or do most of the games use EEPROM, to the point where it would be almost useless to dump them (since I can just get the rom off the internet)? Here are most of the games I own: http://img432.imageshack.us/img432/3465/cimg0191tv2.jpg
     
  4. Bridgy84

    Bridgy84 Yub Nub

    Member
    546
    0
    Sep 8, 2003
    United States
    Virginia
    One way to check is use GOnline under the releases tab right here on good ol GBAtemp!!! If you look at the info on all the games, it list it's saver type near the bottom. Thats the fastest way i can think of. Hope it helps.
     
  5. FAST6191

    FAST6191 Techromancer

    pip Reporter
    22,904
    8,561
    Nov 21, 2005
    As a rule of thumb EEPROM (small, cheap and used for high scores), SRAM (More expensive, battery backed and used for simple RPG's), Flash (Expensive, large space and no need for a battery, used in complex RPGs and where a lot of data may need to be saved)
    I used offline list: http://offlinelist.free.fr/ for these, apologies for the crappy format but it was done quickly:
    WarioLand4 SRAM
    LOTR: The Return of the king EEPROM
    MArio Golf SRAM
    Astroy Boy EEPROM
    AW2 Flash
    AW1 Flash
    M&L superstar EEPROM
    Kingdom hearts SRAM
    SMW EEPROM
    Ecks vs sever None
    S.M.W3 Flash
    Harvest moon Sram
    Sonic Advance 3 Flash
    Metroid Fusion SRAM
    MK super circuit Flash
    Car Battler Joe EEPROM
    Golden sun Flash
    Metroid ZM SRAM
    Mech Platoon EEPROM
     
  6. patters

    patters Newbie

    Newcomer
    2
    0
    Jan 28, 2006
    If you have a flash linker you can use a shareware tool called Flashmanager to read and write all types of save, including EEPROM:
    http://tinyurl.com/qzv5n
    It supports many flashcart linkers.

    Download the most recent English version here:
    http://mootan.hg.to/download/FM300EB15.exe

    One quirk though is that it reverses every 8 bytes of the files it exports meaning that you can't use them with emulators until you've converted them and vice versa. I wrote a Perl script to do this though. Install Perl on your system from http://www.activestate.com/Products/ActivePerl/

    Then save this in notepad as 8bflip.pl. Run it from the command prompt.

    CODE#!/usr/bin/perl

    if (!$ARGV[0]) {
    Âprint "Usage: 8bflip.pl gamesave.sav\n";
    Âprint "produces the output file gamesave-flipped.sav\n";
    Âexit;
    }
    $infile = $ARGV[0];
    $outfile = $ARGV[0];
    $outfile =~ s/\..*$/-flipped\.sav/;

    $buffer = "";

    open(INFILE, "$outfile") or die "cannot open output file";
    binmode(OUTFILE);

    while (read INFILE, $buffer, 8) {
    Â$buffer = reverse $buffer;
    Âprint OUTFILE "$buffer";
    }
    Â
    close(INFILE);
    close OUTFILE;