GithubHelp home page GithubHelp logo

ozerowang / goombasav Goto Github PK

View Code? Open in Web Editor NEW

This project forked from libertyernie/goombasav

0.0 1.0 0.0 668 KB

Extract/replace Game Boy SRAM data stored in SRAM of Goomba emulator (C/C++/.NET)

License: GNU General Public License v3.0

C 64.14% C++ 32.49% C# 2.86% Makefile 0.51%

goombasav's Introduction

Goomba Save Manager

This library is designed to edit the SRAM data of the Goomba, Goomba Color, PocketNES, and SMSAdvance emulators, all of which run on the Game Boy Advance. The library can extract and replace the compressed SRAM or savestate data of the game being emulated. It can't add new SRAM.

Windows .exe files for the GUI and command-line apps are located in the Releases section on GitHub. Unix / Linux / Cygwin / WSL users can also build the command-line apps by using the Makefile. See below for information about these apps.

Make sure you back up your save data before using the application, just in case.

goombasav

goombasav is a command-line program that can extract and replace save data, as well as "clean" Goomba / Goomba Color save files. (Sometimes these emulators will store uncompressed save data in the range 0xE000-0xFFFF without compressing it to the normal location; in this case, the "clean" function will compress the data, update the marker in the configdata structure, and clear 0xE000.)

goombasav is written in C. In Visual Studio, use the /TP switch to compile as C++ code.

See "example_usage.txt" for an example of how to use goombasav.

gbaromextract

gbaromextract is a command-line program that can:

  • extract uncompressed Game Boy ROMs from compiled Goomba / Goomba Color ROMs, or any other uncompressed archive file (Game Boy ROMs have a standard header format that makes this possible)
  • extract uncompressed NES ROMs from compiled PocketNES ROMs
  • extract uncompressed Master System / Game Gear ROMs from compiled SMSAdvance ROMs

It cannot replace any data in the input file.

gbaromextract is written in C. In Visual Studio, use the /TP switch to compile as C++ code.

Goomba Save Manager (GoombasavCore)

Goomba Save Manager wraps the backend code in a class-oriented C++/CLI library, and makes that available through a GUI written in C#.

Use the Open and Save/Save As options from the File menu to open Goomba / Goomba Color save files, and use the Extract and Replace buttons to edit the SRAM. If the file needs to be "cleaned" (see above), the program will let you know when you open it. (If you clean the file, the changes won't be saved until you choose Save or Save As.)

You can also drag-and-drop .sav files onto the window to open a GBA save file or replace a GB/GBC save file (the program will figure out what you want to do based on the file.)

Other Applications

A GTK+ version used to exist, but is no longer supported. Revert commit c3adff7b in the Git repository if you want to bring it back.

Besides the command-line and GUI applications listed above, the following apps also make use of the Goomba Save Manager libraries, allowing you to transparently use Goomba compressed save data.

  • TGB Dual L (Game Boy emulator for Windows)
    • Link cable support and other features
  • Visual Boy Advance GX (Game Boy emulator for GameCube/Wii)
  • Unofficial NRage plugin fork (N64 emulator plugin)
    • Allows you to use Goomba save data for Transfer Pak emulation (Pokémon Stadium, etc.)
    • Also requires original GB/GBC ROM

goombasav's People

Contributors

libertyernie avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.