Tutorial  Updated

Using your GBA savegames (.sav) on Wii U VC (.bin)

I was looking for a way to use emulator/cartridge-dumped GBA savegames on Wii U VC and ran into a whole lot of 3DS related and almost-what-I'm-looking-for guides with loose ends but to my surprise nothing that was specifically addressed to this scenario. After spending some time puzzling I eventually found a way that worked with most of my GB/GBA games (Golden Sun 1&2, Metroid, Pokemon Ruby/Emerald and also Zelda Oracle of Ages/Seasons, to name a few) and thought sharing it wouldn't hurt.

This Thread (/threads/tutorial-bring-your-wiiu-gba-saves-to-3ds-gba-vc.464919/) was very helpful, esp. step 1) & 3) of it and reading it before or alongside this won't hurt.

What's nice is that – aside from a Wii U running CFW, obviously – you don't need many tools/programs for the way I'm gonna describe (especially a relief when you're on Mac like me). All you need is FTPiiU everywhere on Wii U, a Hex editor on PC and a bit of knowledge on how to use these things; I hope you're familiar with FTPiiU and manually fiddling around in your Wii U & its savegame folders (/storage_mlc/usr/sav/00050000/10XXXXXX/user/8000000X/data_0XX_000X.bin) and that you're aware of the risks that come with doing so. As long as you don't touch any system folders or delete files like very_important_file_dont_delete_or_brick.dll you should be fine but most important is that you feel somewhat confident with what you do.

Simply put, you'll want to grab the internal GBA VC savegame file, (data_008_0000.bin) from your Wii U, feed it with data taken from your GBA .sav file and then copy it back.

Alright.
I'm assuming you've just installed your favourite GBA VC game/inject on Wii U and now want to use one of those 10+ years old .sav's you dumped from your original cartridges using an AR GBX back in the days when you were still young and life wasn't a friggin mess (or maybe you just want to continue that savegame you started on emulator earlier this week who knows):

1) Start the GBA VC game if you haven't yet (I'll be using Golden Sun as an example) to make the Wii U create the data_xxx_xxxx.bin files in its internal save folder. It's probably not necessary but depending on the game it might be helpful to play for a couple minutes until you're given the chance to save the game properly which will fill the savegame file with more and thus easier to find data.

2) Use FTPiiU everywhere and browse to Wii U's games save folder (In my case Golden Sun installed on USB: /storage_usb/usr/sav/00050000/[GAMEID]/user/8000000x/...) and grab the data_008_0000.bin to your Desktop; as mentioned above, a small part of this file contains the savegame. Ignore any other files such as data_012_0001.bin for now.

3) Now on your PC get a Hex editor and open the .sav file you plan to use (and make a copy of it before, just in case). The Golden Sun savegame looks like this (see Pic 1, all pictures at the bottom) – I don't know how other editors handle this but in my case, the info 10000 Bytes at the bottom is very important but any other form of information about the length of the file or the number of rows will also do I think.

4) Next open data_008_0000.bin on your PC also in a Hex editor. In the editor you now have to look for the section that "contains" the savegame. In most cases – apparently all GBA games – this section starts at offset 00004080. The best option is to have both the .sav and .bin file opened side by side and compare them if needed. It's helpful to know that offset 00004000 a few rows above will always say STATRAM0 (Pic 2) and that in some savegame files you can actually find readable stuff which makes finding it easier – in the case of Golden Sun I was able to see the names of my characters (I named them TEST#, ABCDE, BLAH~,... here) (Pic 3). This doesn't fully apply to GB/C games however, at least not to Oracle of Ages/Seasons where the section started at offset 00012090 for example.

5)
Now in the .sav file, select all, copy it, and then select the exact (!) same amount of data in the data_008_0000.bin file from offset 00004080 downwards (in the case of Golden Sun said 10000 Bytes from offset 00004080 to 00014070 (Pic 4)) and overwrite the whole section by pasting. Save and close the .bin file. Also duplicate it in case it gets messed up in one of the following steps so you don't have to do it all again. To double check, you could compare the file sizes of your new .bin file and the original one. It has to be exactly the same size, otherwise you did something wrong and it's most likely not gonna work.

6) Now comes what drove me crazy for hours; you can't simply put data_008_0000.bin back into it's folder because as soon as you launch the VC game, it'll restore an auto savestate (which has something to do with data_012_0001.bin I think) and overwrite your edited data_008_0000.bin. Deleting data_012_0001.bin right away isn't the solution either and will just lead to a black screen crash upon launching the game.. So here's what worked for me – don't ask why:
Leave the edited data_008_0000.bin on your PC for the time being, instead go to Wii U System Settings > Data Management and delete the save data for the game.

7) Go back to Wii U Home Menu, launch the game and as soon as the GameBoy Advance Logo comes in, press the Home Button and close the game again.

8) Time to return to the internal save folder (/storage_usb/usr/sav/00050000/[GAMEID]/user/8000000x/...) with FTPiiU everywhere. Now you may delete that cheeky data_012_0001.bin and overwrite data_008_0000.bin with your edited one. Close everything and reboot your Wii U.

9) Launch the game. It should now boot normally with the GameBoy Advance Logo and let you use your successfully imported savegame. Hooray!

Steps 6) 8) are more of a workaround since I'm not really sure what these steps do what deleting data_012_0001.bin right away wouldn't do. There might be a better solution.

I don't know if this will always work for all games. As I said this worked for all of the games I tried, except Links Awakening DX. For some reason the savegame section in its .bin file is always empty and filling it with a proper .sav file does nothing so my guess is that this game (or at least the version that was injected) uses an other way to store saves. If anyone has an idea..

Anyways. That should do. Wall of text over.

uO7PyQD.png
VaDkEn2.png
wfOSCA2.png
6qbCfIO.png
 
Last edited by cxnxbdny,

RPG_FAN128

Well-Known Member
Newcomer
Joined
Feb 13, 2018
Messages
50
Trophies
0
Website
github.com
XP
242
Country
United States
Very nice write up. Incidentally I am working on a program that can convert saves from GBA battery files (i.e. the SAV files) and Wii U VC saves (the BIN files). The game that got me involved was Golden Sun as well! I was a few hours into it and then thought "I would love to finish this on my Wii U." And yes it's quite the ordeal to inject saves into the Wii U VC...

Anyone interested may like to bookmark this thread and when I release the aforementioned save file converter I'll try to remember to link a comment on this thread also. ^_^
 

cxnxbdny

Member
OP
Newcomer
Joined
Nov 8, 2018
Messages
9
Trophies
0
XP
118
Country
Germany
is there a way to do this with DS games too?

Can confirm. Was curious too after reading your question so I've had a quick look into it.
I've only tested this on Golden Sun 3 with a DeSmuME savegame (.dsv) right now but should work for other games as well. Wii U VC saves DS files not as .bin but rather as .save files. So in /storage_usb/usr/save/00050000/[GAMEID]/user/8000000x/ you'll see 4 files:
"GOLDENSUN_ ... _0123456789012345678901234567890123456789_0.state"
"GOLDENSUN_ ... _0123456789012345678901234567890123456789_0.save"
"GOLDENSUN_ ... _0123456789012345678901234567890123456789_0.conf"

and the empty file "once".
Bot the .dsv file and the .save file have 262 KB (The DeSmuME file had a couple more bytes at the end of the file saying "|<--Snip above here to create a raw sav by excluding this DeSmuME savedata footer:|-DESMUME SAVE-|" when viewed in a Hex editor, which you need to remove), so you'll just have to rename your .dsv file into "GOLDENSUN_ ... _0123456789012345678901234567890123456789_0.save", then delete the .state file and replace the .save file.


Will add this into the original post.
 
Last edited by cxnxbdny,

Visual Studio

Developer
Developer
Joined
Aug 25, 2016
Messages
123
Trophies
0
Age
30
XP
1,707
Country
United States
Hopefully this works for everybody, it's very much a WIP:
https://github.com/GoobyCorp/SAVE2VC

EDIT #1: If anyone is willing to donate some GBA saves and VC saves I would really appreciate it.
EDIT #2: It appears that this might work with other platforms other than GBA too if anyone is willing to try it.
 
Last edited by Visual Studio,

HomeStarRunnerTron

Well-Known Member
Newcomer
Joined
Jul 24, 2019
Messages
54
Trophies
0
Age
30
XP
1,020
Country
United States
@cxnxbdny -- WOW, thank you for figuring this out!! I was in the middle of playing Wario Land 4 on VBA GX, and wanted to see if the official Virtual Console version had less slow-down on the HURRY UP!!! sections, but this is like, weeks into playing, hahahah, so it'd be such a bummer to lose all my info. I don't know if it was really necessary, but I noticed that VBA GX's .savs were twice as small as normal saves on my computer, so I put the save into my normal emulator's save folder on my computer (Boycott Advance), and it recognized the .sav and added in the extra padding that a normal .sav seems to have. Then I copied it all in using Hex Fiend, like you! (Nice to see a fellow Mac user, hahaha.)

For me, I was using Loadiine GX2, so I didn't need to keep flashing save info around with FTPiiU-- all I did was open up my SD card on my computer, delete the save information out the saves folder for Wario Land 4 VC, then boot the game up again on the Wii U until it created an autosave, then exit out without creating a Restore Point... then go about the process of pasting in the .sav information after "STATRAM0" in Hex Fiend, then replacing the file. SUPER SIMPLE.

@Visual Studio -- bro, that works perfectly, even on my Mac Terminal! (I assume you're a PC dev, so that's a rarity that it still works perfectly, haha.) Was able to extract and inject GBA stuff (on Wario Land 4 & Rhythm Heaven Silver) without any trouble. Can't believe you didn't bother to make a separate thread for your awesome app-- I was looking for something like this, and here it is, at the bottom of a thread that doesn't mention it! Thank you so much for your beautifully simple and customizable tool. : D

EDIT: I've found that the current dev build of mGBA on the vWii is equally powerful for GBA games that lag or have timing issues on VBA GX. VC is still a wonderful interface for the most precious of games, though! Plus, having them in Loadiine is undisputably convenient.
 
Last edited by HomeStarRunnerTron,
  • Like
Reactions: cxnxbdny

NefariousBlue

Member
Newcomer
Joined
May 10, 2021
Messages
12
Trophies
0
Age
27
XP
41
Country
United States
Have you checked both in your NAND and your SD Card? And there MIGHT be a chance it's under a different ID-- so maybe check all titles!
I checked my System Settings and the save file is on the USB. I checked both the USB and the SD card with FTPiiU everywhere and I checked all the folders. None of them have the ID of Minish Cap but how would I know if one of them actually is? The only folders that tell me what game it is are the DS games :/
 

HomeStarRunnerTron

Well-Known Member
Newcomer
Joined
Jul 24, 2019
Messages
54
Trophies
0
Age
30
XP
1,020
Country
United States
I checked my System Settings and the save file is on the USB. I checked both the USB and the SD card with FTPiiU everywhere and I checked all the folders. None of them have the ID of Minish Cap but how would I know if one of them actually is? The only folders that tell me what game it is are the DS games :/

Why not try DDD instead to dump your save info? That's always worked like a charm for me. You install DDD to your Homebrew, launch DDD both on your computer and on your Wii U, then after launching DDD, you'd open up Minish Cap, and it should beam your save file to your computer.
 

NefariousBlue

Member
Newcomer
Joined
May 10, 2021
Messages
12
Trophies
0
Age
27
XP
41
Country
United States
Why not try DDD instead to dump your save info? That's always worked like a charm for me. You install DDD to your Homebrew, launch DDD both on your computer and on your Wii U, then after launching DDD, you'd open up Minish Cap, and it should beam your save file to your computer.
Well I don't need my save file on my PC. I need it on my Wii U so I can play that save file
 

xs4all

Well-Known Member
Member
Joined
Jun 9, 2008
Messages
721
Trophies
1
Location
37°16'55.2"N 115°47'58.6"W
XP
2,806
Country
Australia
I checked my System Settings and the save file is on the USB. I checked both the USB and the SD card with FTPiiU everywhere and I checked all the folders. None of them have the ID of Minish Cap but how would I know if one of them actually is? The only folders that tell me what game it is are the DS games :/

Are you sure you have the correct Title ID for Minish Cap?
If so, where did you find the Title ID?
Below are the official Title ID, depending what version you installed.

USA = 00050000 1015E4000
If game stored on NAND: /storage_mlc/usr/sav/00050000/1015e4000
If game stored on USB: /storage_usb/usr/sav/00050000/1015e4000

EUR = 00050000 1015E5000
If game stored on NAND: /storage_mlc/usr/sav/00050000/1015e5000
If game stored on USB: /storage_usb/usr/sav/00050000/1015e5000

If you downloaded the game from legit sources then the Title ID should not be altered and it should reflect above.
If you downloaded the game from non legit sources then the Title ID might have been altered.
 
  • Like
Reactions: HomeStarRunnerTron

NefariousBlue

Member
Newcomer
Joined
May 10, 2021
Messages
12
Trophies
0
Age
27
XP
41
Country
United States
Are you sure you have the correct Title ID for Minish Cap?
If so, where did you find the Title ID?
Below are the official Title ID, depending what version you installed.

USA = 00050000 1015E4000
If game stored on NAND: /storage_mlc/usr/sav/00050000/1015e4000
If game stored on USB: /storage_usb/usr/sav/00050000/1015e4000

EUR = 00050000 1015E5000
If game stored on NAND: /storage_mlc/usr/sav/00050000/1015e5000
If game stored on USB: /storage_usb/usr/sav/00050000/1015e5000

If you downloaded the game from legit sources then the Title ID should not be altered and it should reflect above.
If you downloaded the game from non legit sources then the Title ID might have been altered.
I got the game from Wii U USB Helper and it said the title ID right there. Idk why both FTPiiU everywhere and SaveMii Mod both won't show me the game. I downloaded it to the USB and I went exactly where you said but it isn't there
 

HomeStarRunnerTron

Well-Known Member
Newcomer
Joined
Jul 24, 2019
Messages
54
Trophies
0
Age
30
XP
1,020
Country
United States
I got the game from Wii U USB Helper and it said the title ID right there. Idk why both FTPiiU everywhere and SaveMii Mod both won't show me the game. I downloaded it to the USB and I went exactly where you said but it isn't there

Okay, so-- you're trying to put your save file from your PC to your Wii U. So that must mean you have the save file on your PC. And if you got the game through Wii U USB Helper, I assume it doesn't SUPER matter how you get the game. So... why don't you...

1) Download the game through JNUSTool.
2) Put that game into Loadiine GX2 on an SD card.
3) Boot the game once to create a new save, without creating a restore point.
4) Put the correct save file in the generated save folder it'll create.
 

NefariousBlue

Member
Newcomer
Joined
May 10, 2021
Messages
12
Trophies
0
Age
27
XP
41
Country
United States
Very nice write up. Incidentally I am working on a program that can convert saves from GBA battery files (i.e. the SAV files) and Wii U VC saves (the BIN files). The game that got me involved was Golden Sun as well! I was a few hours into it and then thought "I would love to finish this on my Wii U." And yes it's quite the ordeal to inject saves into the Wii U VC...

Anyone interested may like to bookmark this thread and when I release the aforementioned save file converter I'll try to remember to link a comment on this thread also. ^_^
Has it released?
 

Gamemaster1379

Well-Known Member
Member
Joined
May 5, 2008
Messages
834
Trophies
1
Age
29
Location
United States
Website
1379tech.110mb.com
XP
2,247
Country
United States
I stumbled across this today when getting Megaman Battle Network 3 from my Omega EZ Flash from my GBA to my WIi U VC title. It took a little reading between the lines, but I'd like to share here.


This script is great. I was able to inject my .sav file into the .bin with no issues.
Hopefully this works for everybody, it's very much a WIP:
https://github.com/GoobyCorp/SAVE2VC

EDIT #1: If anyone is willing to donate some GBA saves and VC saves I would really appreciate it.
EDIT #2: It appears that this might work with other platforms other than GBA too if anyone is willing to try it.


I did not use FTP to modify saves in place. I actually used checkpoint to make a backup after opening the game and saving. It generated two files, the data_008_0000.bin and data_012_0001.bin.
The _008 is what you inject into. The _012 is your save state that it auto loads.

Loading ANY save state back in, including if it's the GBA title screen, won't recognize an existing save in SRAM. So you have to make sure you cold boot the game.

So the steps I took were
1. Launch title, save game immediately
2. Create save backup in SaveMii
3. Go to system settings, delete save data for title
4. Load save file on PC, use the python script above to inject .sav into data_008_0000.bin
5. DELETE (straight up delete) data_012_0001.bin
6. Move modified data_008_0000.bin back to the SD card using the same name it had when you took it off
7. Load up SaveMii, inject the save back in. It'll warn you that the _012 is missing (THIS IS FINE), inject anyway
8. Load your game. If it's MMB3 or similar with a continue screen, it'll cold boot up and detect data and let you continue.
 
  • Like
Reactions: godreborn

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Xdqwerty @ Xdqwerty:
    @Psionic Roshambo, atleast I think the latest version's apk is archived somewhere
    +1
  • K3Nv2 @ K3Nv2:
    Yeah it works great but it's the obvious Ds factor you loose from it it's not like playing atari games on atari because Nintendo actually use to give a reason to buy their hardware
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Honestly Ken I actually have the hardware and it's hacked and works fine, prefer my phone lol
  • Psionic Roshambo @ Psionic Roshambo:
    Microphone is more sensitive, DraStic has a high res mode, screen is way better just overall a better experience
  • K3Nv2 @ K3Nv2:
    I just like game consoles how they were intended to play if they have a unique enough reason to buy them anything else yeah just download emulation for it
  • Psionic Roshambo @ Psionic Roshambo:
    Oh and touch screen infinity better lol
  • HiradeGirl @ HiradeGirl:
    @Xdqwerty It's still on Play Store.
  • HiradeGirl @ HiradeGirl:
    for free
  • HiradeGirl @ HiradeGirl:
    Install before they remove it.
  • K3Nv2 @ K3Nv2:
    I'd like to see a DS emulator that allows casting top screen to TV then use bottom for the touch screen stuff
    +1
  • HiradeGirl @ HiradeGirl:
    I used a vertical touch 22" monitor for playing some 3DS games through Citra.
  • K3Nv2 @ K3Nv2:
    Can't be that far off from it not like ds requires super hardware
  • HiradeGirl @ HiradeGirl:
    @K3Nv2 I did that using Citra for 3DS games. Bottom screen was my smartphone. Until I got the touch screen.
  • SwordShielder @ SwordShielder:
    Use a TV
  • K3Nv2 @ K3Nv2:
    Citra allows it already?
  • HiradeGirl @ HiradeGirl:
    Yes.
  • Psionic Roshambo @ Psionic Roshambo:
    Ken I have that sort of set up on Drastic on Pi for games that don't require touch
  • Psionic Roshambo @ Psionic Roshambo:
    Looks nice too
  • HiradeGirl @ HiradeGirl:
    Any TV with your PC connected with Citra and any smartphone to use as a screen using a free play store app.
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Gonna look into that when I get home
  • K3Nv2 @ K3Nv2:
    Any good 3ds smut titles psi? :creep:
  • Psionic Roshambo @ Psionic Roshambo:
    Lol I think there was some home brew
  • K3Nv2 @ K3Nv2:
    Tap to get bigger!
    K3Nv2 @ K3Nv2: https://youtu.be/j7nOeihhqX0?si=0Krm92hxEDoEw9Je