[Pre-release] SaveAIO: A tool for injecting, extracting and converting retro save files

Gamemaster1379

Well-Known Member
OP
Member
Joined
May 5, 2008
Messages
839
Trophies
1
Age
29
Location
United States
Website
1379tech.110mb.com
XP
2,281
Country
United States
https://github.com/mstan/SaveAIO


So here it is: This is the first release (meaning beta and bugs!) of a project that uses JavaScript to parse save files. The package is fairly basic for now. If there's interest, I may go out of my way publish it as NPM package for people to use in their own projects.

Support is limited at the moment, but it's able to do GBA, SNES, and N64 and a bit of NES. There's a combination of extracting "proprietary saves" (Gameshark,DexDrive,etc) and then injecting extracted/stock saves into certain Virtual Consoles (GBA on Wii U is a popular one). A few other nice things like whitespace trimming/expanding.
N64 has some nice endian/word swapping too for emulator/hardware compatibility.

I wrote this in response to a number of frustrations I had with trying to create or convert certain save file types around my old flash carts, hardware, and virtual console saves.

For virtual console, some injection/extract4ion is fairly straight forward. For example, for some systems (like NES), using Saviine/Checkpoint might give you a raw file you can just rename.

In other situations, like GBA on Wii U, there are headers and whitespace to deal with. Similarly, I found some other painful cases like Nintendo 64 which is ambiguous whether it requires word or endian swapping. That's where this tool comes into play.

A lot of documentation on these was scattered, usually one off scripts people wrote or manual steps to be taken in a hex editor. I decided to cobble a fair amount of these together into a series of small class based JavaScript scripts. It tries to make interactions fairly universal, so you can do things like take a GameShark SP GBA save and inject it into a Wii U Virtual Console save in the same way you may inject an Everdrive GBA save.
 
Last edited by Gamemaster1379,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • K3Nv2 @ K3Nv2:
    why
  • Xdqwerty @ Xdqwerty:
    @K3Nv2, it's not funny
  • K3Nv2 @ K3Nv2:
    ok
  • BigOnYa @ BigOnYa:
    Wut?
  • K3Nv2 @ K3Nv2:
    That's not funny
    +2
  • Psionic Roshambo @ Psionic Roshambo:
    So two cannibals where eating a clown and one says to the other. Hey does this taste funny to you?
    +2
  • K3Nv2 @ K3Nv2:
    What do you call a slow car? Retired
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Did you hear about the police car that someone stole the wheels off of? The police are working tirelessly to find the thieves.
    +2
  • K3Nv2 @ K3Nv2:
    A firefighter got arrested for assault his main claim was what I was told he was on fire
    +2
  • BigOnYa @ BigOnYa:
    What do you call a hooker with a runny nose? Full
    +2
  • Psionic Roshambo @ Psionic Roshambo:
    What do you tell a woman with two black eyes? Nothing you already told her twice!
  • K3Nv2 @ K3Nv2:
    Diddy also works
  • K3Nv2 @ K3Nv2:
    A scientist heard the word batman so he put a naked lady in a cage with a bat
  • Psionic Roshambo @ Psionic Roshambo:
    Chuck Norris won a staring contest, with the sun.
  • K3Nv2 @ K3Nv2:
    A vampires favorite thing to do is moon you
  • BigOnYa @ BigOnYa:
    What's the difference between an airplane, and Ken's mom? Not everyone has been in an airplane.
  • K3Nv2 @ K3Nv2:
    What's the difference between @BigOnYa and his wife? Nothing both want to bone me
    +3
  • RedColoredStars @ RedColoredStars:
    How much wood could a wood chuck chuck if a wood chuck could chuck norris
    +1
  • BakerMan @ BakerMan:
    how do i know? you're a guy, and he wants to bone every guy on this site (maybe, idk)
    +1
  • K3Nv2 @ K3Nv2:
    He wants to bone anything with a dick
    +1
  • Xdqwerty @ Xdqwerty:
    Good night
    +1
  • BigOnYa @ BigOnYa:
    Nighty night, big day tomorrow. Congrats.
    K3Nv2 @ K3Nv2: https://www.instagram.com/reel/C7iLZ35NrQt/?igsh=MWd2Z3U0dmNlMmNxcw==