Goomba Save Manager (export & replace Goomba SRAM)

Discussion in 'GBA - Emulation' started by libertyernie, Apr 14, 2014.

  1. libertyernie
    OP

    libertyernie Advanced Member

    Newcomer
    90
    74
    Apr 6, 2011
    United States
    Over the past week or two I've been writing a program to export and replace the GB/GBC save files that are compressed within Goomba/Goomba Color save files. With this program, you can export your Pokemon (RBYGSC) save files, and trade between them. I have a command-line version that's written in C (so it'll work on any OS), and a GUI version for Windows (XP and newer) that uses .NET.

    Here's the GUI program, running in a Windows XP VM:
    [​IMG]

    NEW: for version 2014-05-13, I implemented the GUI in two parts - a library and a C# GUI - so you can use the library from a custom C# or VB.NET program.

    Source code
    Download (just grab goombasav_net.dll and goombasav_cs.exe)

    As of now, you can only extract SRAM (not savestates, although Goomba Color doesn't support those anyway.)
     
    zfreeman, MrHuu, thaddius and 3 others like this.
  2. reprep

    reprep GBAtemp Advanced Fan

    Member
    936
    305
    Jul 5, 2012
    thanks for this. is this only for pokemon, or will it take my super mario land 2 save too?
     
  3. Psionic Roshambo

    Psionic Roshambo GBAtemp Advanced Maniac

    Member
    1,867
    711
    Aug 12, 2011
    United States
    This is pretty cool, I love tools like these for random tasks that if not for people like you.... They simply would not exist and we would all be poorer for it.

    Thank you!
     
  4. locolol

    locolol Member

    Newcomer
    42
    7
    Sep 13, 2009
    Mexico
    Mexicali,BC
    Awesome! I've been waiting for a tool like this to be made,thank you very much,i'll give it a try :) !
     
  5. libertyernie
    OP

    libertyernie Advanced Member

    Newcomer
    90
    74
    Apr 6, 2011
    United States
    Yep, that should work. I actually tested it with Tetris DX, and it works on both Goomba Color and regular Goomba.
     
  6. DanTheManMS

    DanTheManMS aka Ricochet Otter

    Member
    4,330
    108
    Jun 2, 2007
    United States
    Georgia
    Awesome man! In the past I had to do this manually with the VBA memory editor, so it's great to see an easier method. Thanks!
     
  7. libertyernie
    OP

    libertyernie Advanced Member

    Newcomer
    90
    74
    Apr 6, 2011
    United States
    I updated the program so the Save As function works correctly (before, it saved to the original file and not the new one). There's also a GTK version now - mainly, I just wanted to figure out how to make a GTK app.
    You can get the new versions from the download link already posted. The date in the about screen should be 20140430.
     
  8. reprep

    reprep GBAtemp Advanced Fan

    Member
    936
    305
    Jul 5, 2012
    just used this one to transport my warioland 2 save from goomba color to gb everdrive micro sd. worked perfect, thanks.
     
  9. j2k15

    j2k15 Member

    Newcomer
    24
    0
    Jun 24, 2016
    United States
    Hi,

    I'm playing some Game Boy and Game Boy Color games on the integrated emulator which is integrated in the SuperCard SD (goomba). I play those games using a GBA SP.

    I tried without success to copy a .sav file of a game I started to play on SMYGB to the SD card so that I can continue the game I started on PC on the GBA SP.

    After some interesting reading here, I discovered that goomba uses a different format for sav files.

    I thus came accross this topic and to the Git repo of program Goomba Save Manager.

    I'm running 7 (64 bits) and when I try to start the program, I'm said that it cannot run on 64 bits Windows version.

    Has anyone succeeded in running it on a 64-bit system ?
     
  10. j2k15

    j2k15 Member

    Newcomer
    24
    0
    Jun 24, 2016
    United States
    I've in the meantime managed to find a workaround.
    For this, I use last version of TGB Dual (1.2).

    Here are the steps :
    1) Copy the .sav from the SD card I use in my SuperCard SD to the directory "save" of TGB Dual.
    2) Load the rom (shall be named as the .sav).
    3) Delete the .sav file from "save" directory.
    4) In game, save.
    5) Quit TGB Dual.

    A new .sav file is created in "save" directory which is in "normal" format.

    To do the opposite (save a normal format .sav into Goomba's format) :
    1) Copy the normal .sav in "save" directory.
    2) Load the rom.
    3) Replace the normal .sav with a Goomba .sav format (e.g. an older save of the same game).
    4) In game, save.
    5) Quite TGB Dual.

    The .sav in the "save" directory is in Goomba's format and can be copied to SD card so that it can be used in GBA SP with SuperCard SD.

    This trick is possible thanks to the fact that now TGB Dual supports out of the box Goomba save files. See more explanation here : http://www.lakora.us/gba/tgbdual/

    Anyway, I hope that I'll find a way to use the Goomba Save Manager instead of this manual procedure.
     
  11. j2k15

    j2k15 Member

    Newcomer
    24
    0
    Jun 24, 2016
    United States
    For information,
    The developer created a version 64-bit compatible !
    Big thank to him !
     
  12. nibbles27

    nibbles27 Member

    Newcomer
    24
    9
    May 24, 2008
    Canada
    Exactly how hard do you think it would be to update this tool to work with pocketnes saves.
     
  13. libertyernie
    OP

    libertyernie Advanced Member

    Newcomer
    90
    74
    Apr 6, 2011
    United States
    I just checked PocketNES and SMSAdvance, and they both use the same SRAM compression format as Goomba. (I'm guessing it started in PocketNES and then was used for the others?)

    So I'd like to add support for extracting/replacing SRAM for PocketNES and SMSAdvance. (SMSAdvance doesn't support SRAM for all games, though - at least not for Golden Axe Warrior which was the only one I had handy to test.)

    I also would like to add a feature to extract the original ROMs from the .gba file. I've done this in my GitHub repo for Game Boy ROMs, since I already wrote that code for my vba-gx fork; I'd like to have that for NES ROMs too.
     
  14. libertyernie
    OP

    libertyernie Advanced Member

    Newcomer
    90
    74
    Apr 6, 2011
    United States
    Last edited by libertyernie, Oct 12, 2016
    emuashui and migles like this.
  15. nibbles27

    nibbles27 Member

    Newcomer
    24
    9
    May 24, 2008
    Canada
    Thats awsome thanks man saves me alot of trouble oh by the way to enable autosaving in SMS Advance you have to manually go through the menu save the sram then it will autosave everytime you go to the menu but you must do that first.

    If you hadn't of added that i could see myself wasting time trying to add the support even though i only understand how to read code and write a tiny bit.
     
  16. Ninentales93

    Ninentales93 Newbie

    Newcomer
    7
    0
    Aug 1, 2017
    Italy
    I wanted to ask you how I can upload gbc sav files into goomba, i tried so many time to upload the sav in saver folder and not work
     
  17. libertyernie
    OP

    libertyernie Advanced Member

    Newcomer
    90
    74
    Apr 6, 2011
    United States
    First make a new Goomba save file. I do it by running Goomba inside VBA-M but as long as you can play your game in Goomba, save it, and it works, that's good enough.
    Then use the tool I posted to open the Goomba save file (which should be 64 kilobytes), find the SRAM data inside it, and click Replace, using your GBC save (which should be 32 kilobytes or less.)
     
  18. vree

    vree GBAtemp Regular

    Member
    163
    4
    Sep 12, 2005
    Belgium
    Does this also work if I compiled multiple games into one .gba file to extract the different save files?
     
  19. migles

    migles Mei the sexiest bae

    Member
    GBAtemp Patron
    migles is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    7,073
    4,755
    Sep 19, 2013
    Saint Kitts and Nevis
    my dad works for nintendo.
    that's exactly what this does...

    just used this since the compiled original version, op shared is down
    my goomba compilation save got a weird issue, it sopped being able to write into the save and it was displaying free space as a big ass number
    with this i was able to rescue the saves i cared about, let the flashcart create a new save file, and injecting back the saves
     
  20. alnt88

    alnt88 Newbie

    Newcomer
    3
    0
    Sep 23, 2017
    United States
    I was excited to find this tool you created - but I don't think it will work for me. Hopefully someone can help me with this though.

    I've been playing Pokemon Gold on an Everdrive GBA which uses the Goomba emulator. I'm trying to extract my save file and inject it into my 3DS virtual console game. I have a .srm save file and I can open it with your tool but I can't extract anything. Apparently Goomba can't normally save the Pokemon games because they use a 32kb file, so I save by using a save state. If this program can't do it, is there any way to extract the save state in a usable format? I'm really lost and just about ready to give up on this.