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

Gamemaster1379

Well-Known Member
OP
Member
Joined
May 5, 2008
Messages
775
Trophies
0
Age
28
Location
United States
Website
1379tech.110mb.com
XP
1,683
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,
General chit-chat
Help Users
  • KenniesNewName @ KenniesNewName:
    Yeah might as well just invest $10 in a good set
    Gift
  • Gift
  • Veho @ Veho:
    @KenniesNewName That's the problem with gadgets, there's a new one being leaked, announced, released every week, and if you wait for something better to come along you can wait forever, there's always something new on the horizon.
    Gift
  • Gift
  • Gift
  • Veho @ Veho:
    Same thing with price too. Miyoo Mini is $50 and it's fine, but RP2 is only $100 and has way more options, but now there's the RP3 and it's just $30 more, but the Ayn Odin Lite is $190 and it's very powerful, but the Ayn Odin Pro is $250 and it's an absolute beast, but now we're already in the Windows handheld range and I really would like a Windows handheld... Ayn Loki starts at $200, but why not add a few bucks for better specs... but now we're close to the Steam Deck and that is a much better choice...
    Gift
  • Veho @ Veho:
    So we get from $50 to $500 in tiny, reasonable increments.
    Gift
  • Sonic Angel Knight @ Sonic Angel Knight:
    Veho should eat a cookie :P
    Gift
  • Veho @ Veho:
    Everyone should eat a cookie.
    Gift
  • Skelletonike @ Skelletonike:
    I have oreos
    Gift
  • Sonic Angel Knight @ Sonic Angel Knight:
    They have oreos cereal :ninja:
    Gift
  • Dark_Phoras @ Dark_Phoras:
    My attitude in those cases is to decide what I want in that particular moment, not waiting for emminent releases. And decide based on function, that is, if I will use it almost daily and if it satisfies my desire/need
    Gift
  • Dark_Phoras @ Dark_Phoras:
    This saves me money, room space and head space
    Gift
  • Veho @ Veho:
    I just give up on buying anything and wait until the desire subsides. Works just as well.
    Gift
  • Dark_Phoras @ Dark_Phoras:
    I know those moments
    Gift
  • Psionic Roshambo @ Psionic Roshambo:
    Buy all the things and fill your house with junk you will never use lol
    Gift
  • Veho @ Veho:
    Correction, with junk you'll use once.
    Gift
  • Psionic Roshambo @ Psionic Roshambo:
    Lol maybe
    Gift
  • Extryzz @ Extryzz:
    Does anybody know how to fix vwii i get a black screen when booting forwarders, some work but the animated ones do not, I converted to vwii btw.
    Gift
  • Extryzz @ Extryzz:
    do i have to download a certain homebrew or can it be through tirasmu
    Gift
  • Tom Bombadildo @ Tom Bombadildo:
    Make a thread in the relevant section, you're more likely to get an answer there
    Gift
  • Gift
  • Psionic Roshambo @ Psionic Roshambo:
    Tom just pops in to remind people to make a thread :P
    Gift
  • Dark_Phoras @ Dark_Phoras:
    Or to post a suggestive emoji
    Gift
  • Psionic Roshambo @ Psionic Roshambo:
    Hmmm how suggestive are we talking here? Lol
    Gift
    Psionic Roshambo @ Psionic Roshambo: Hmmm how suggestive are we talking here? Lol