Welcome! Log In Create A New Profile

Advanced

Guide to convert Virtual Console game saves to use with homebrew emulators

Posted by TheManuel 
Guide to convert Virtual Console game saves to use with homebrew emulators
October 03, 2009 05:23AM
This is my little contribution to the WiiBrew community.
I asked about this on a recent post but did not get any replies so I did some research and figure it out (oh, the horror of actually working for something...).
I did not invent any of this so credit goes to smart folks that created the tools.

So far I have only tried this with SNES and N64 Virtual Console game files and it worked for the two I tried so it's not far-fetched to think that it will for most games.

The procedure below describes how to extract virtual console game save files to be used on any emulator. This way, you can continue your Virtual Console purchase games on an emulator launched from the HBC.
This post at GBATemp is what led me to the answer.

Warning:
Be sure to work on a copy of the save data and back up the original in case the file becomes corrupted and unusable.

1. Using the Wii Save Data Management Menu, copy your save file to an SD card.
I was not able to copy the "Punch-Out Featuring Mr. Dream" (NES) save file as the "copy" button showed up as disabled. Perhaps this and other specific game are copy-protected for whatever reason. I did my experiment with F-Zero (SNES) and Super Mario 64 (N64) and both worked perfectly.

2. The save data will be stored under \private\wii\title\XXXX\data.bin where XXXX is the title ID of the game you are saving from. Those title ID's are not very descriptive. For instance, Super Mario 64's is NAAE. Either do one save file at a time so you don't get confused or refer to this page in the Wiki to identify your game (not all games are available).

3. Download and extract FE100 from the Wiki page. That pages states: "Install Microsoft Visual C++ 2008 SP1 Redistributable Package x86" so you should probably do that. The first time I ran it I got an error stating I was missing some .dll file so I did a search on my own computer, found a copy and pasted it on the FE100 folder.

4. Run FE100KeyGrabber.exe and fill the following manually:
sd-key: AB 01 B9 D8 E1 62 2B 08 AF BA D8 4D BF C2 A5 5D
sd-iv: 21 67 12 E6 AA 1F 68 9F 95 C5 A2 23 24 DC 6A 98
md5-blanker: 0E 65 37 81 99 BE 45 17 AB 06 EC 22 45 1A 57 93
Those came from this post at the HackMii blog and are the same on every Wii

5. Press the button: "Get stuff from a save file" and find the data.bin of any save file you copied to your SD card. This step will add data to all but the last remaining fields in FE100KeyGrabber's GUI. Those keys are specific to your Wii and present on every save file.

6. Press the button: "Make me Happy!". This will create files with key values under the folders "private" and "shared" within the FE100 base folder.

NOTEs:
a. Steps 3-6 only need to be run once for each Wii
b. I am ignoring the last key, "NG-priv". This is probably required for copy-protected saves but, to extract it, you need a NAND backup of your Wii using BootMii or you can use Xyzzy to extract it. This is beyond my comfort level with mods to my Wii but feel to try it if you are more adventurous.

7. Close FE100KeyGrabber and run FE100.exe. Click the "..." button in the "Savefile" line and find the directory with the save file you want to convert. Click "Unpack savefile" and a directory will be created next to the original file containing some files. Most of those files are Wii Menu related but the one named "savedata.bin" is the one we're looking for.

8. Copy "savedata.bin" to your emulator's "saves" folder and rename it to exactly match the name of the ROM you will be running from your SD card except for the extension. You need to look at the extension of other save files to figure out which is the correct one for each emulator and game. It's a good idea to simply run the game once in the emulator to get a save file and then copy the whole name and extension of that save file in order to properly rename your Virtual Console extracted save file.
For example, SNES9x savefiles use the .srm extension and Wii64 uses .eep or .mpk depending on whether the original game saved to a battery powered memory chip in the cartridge or to the memory pack you plugged to the controller.

9. At this point, simply run the emulator in your Wii and enjoy continuation of your Virtual Console game. The process is a little tedious but it was well-worth it for me.

My next goal is to extract "Ocarina of Time" save data from the a Gamecube save file of the game "Ocarina of Time: Master Quest" which includes both, the original game and the eponymous version, Master Quest.

Post here with any questions you may have and I'll keep an eye on it...
Re: Guide to convert Virtual Console game saves to use with homebrew emulators
October 03, 2009 05:45AM
Although I'm not a pirate, this is still pretty cool! :D

BTW, you can copy copy-protected saves by rebooting with the Gecko OS hook "Turn off copy-protection" (Or something like that.).
Re: Guide to convert Virtual Console game saves to use with homebrew emulators
October 03, 2009 05:59AM
You don't have to be a pirate for this to be useful. Notice that this shows how to convert a save file form a Virtual Console game so that you can play it on a emulator instead if you prefer so that you can take advantage of configurable inputs, graphics filters, freeze files and all the goodness emulators offer.
I'm assuming that if you have a Virtual Console game, you paid for it.
Re: Guide to convert Virtual Console game saves to use with homebrew emulators
October 03, 2009 10:39AM
Nice guide, but tbh I'd guess most people who have bought VC games dont own the original game, so cant get a legal ROM of it, and also, in most cases, Nintendo's official emulation is probably better. Still, good work.
Re: Guide to convert Virtual Console game saves to use with homebrew emulators
October 03, 2009 05:20PM
when you "buy" a game from wii shop channel you dont buy it, on the page it says that you purchase a license to play you dont get the game
Re: Guide to convert Virtual Console game saves to use with homebrew emulators
October 03, 2009 06:08PM
I never mentioned the word buy.
Besides, even if you own the cartridge, I understand it's not legal for you to use a ROM of it unless you dump it.
But this is all beside the point of this post.
Re: Guide to convert Virtual Console game saves to use with homebrew emulators
October 03, 2009 06:25PM
Quote
TheManuel
I never mentioned the word buy.
Besides, even if you own the cartridge, I understand it's not legal for you to use a ROM of it unless you dump it.
But this is all beside the point of this post.

Well if you dont buy it, then you must have pirated the VC game. which is very much illegal, and very much unsupported here.
If you DO own the cartridge, you can legally dump a ROM of it, but not download it (i think). And if you DO own the cartridge, I doubt you'd buy it again on VC. Therefore, this is really only useful to someone who has pirated a VC game, then decides he/she wants to pirate it in an emulator instead.
Re: Guide to convert Virtual Console game saves to use with homebrew emulators
October 03, 2009 08:13PM
Quote
SifJar
If you DO own the cartridge, you can legally dump a ROM of it, but not download it
This is true (That is, in the US...I don't know about Europe.)
Re: Guide to convert Virtual Console game saves to use with homebrew emulators
October 03, 2009 08:45PM
Quote
SifJar
If you DO own the cartridge, you can legally dump a ROM of it, but not download it (i think).

Unless you're talking to Nintendo, in which case you can legally dump a ROM of it, but you are not legally allowed to use the hardware that allows this because then you'd have an illegal copy of the game.
Re: Guide to convert Virtual Console game saves to use with homebrew emulators
October 03, 2009 09:36PM
You only need sd-key, sd-iv, md5-blanker files to unpack a savefile... the other files (keys/values) are specific to each wii and used only when packing a save...

The same way you can transfer your saves to the wii vc emulators... for c64 you can even transfer game snapshots which eventually replace the original game emulated only by modifying the savefile...

I have to tell a bit about this piracy debate too... In my time c64 was a huge craze in Turkey, you know what, C64 systems sold legally but original games were never sold... A c64 user in Turkey never had the chance to buy c64 games legally...

In that time hacking groups were notable even their creations (intros/demos) are published as code examples in official c64 magazines.

Why I did mention this... Just don't look into the matter blindfoldedly with your own facts... think a bit broad...
Re: Guide to convert Virtual Console game saves to use with homebrew emulators
October 04, 2009 01:08AM
Quote
You only need sd-key, sd-iv, md5-blanker files to unpack a savefile... the other files (keys/values) are specific to each wii and used only when packing a save...
Thanks for the clarification, I.R.on.
That makes the process even simpler.

Quote
SifJar
Quote
TheManuel
I never mentioned the word buy.
Besides, even if you own the cartridge, I understand it's not legal for you to use a ROM of it unless you dump it.
But this is all beside the point of this post.

Well if you dont buy it, then you must have pirated the VC game. which is very much illegal, and very much unsupported here.
If you DO own the cartridge, you can legally dump a ROM of it, but not download it (i think). And if you DO own the cartridge, I doubt you'd buy it again on VC. Therefore, this is really only useful to someone who has pirated a VC game, then decides he/she wants to pirate it in an emulator instead.
You mis-interpret me.
I made the comment above in response to darklink who said:
Quote
when you "buy" a game from wii shop channel you dont buy it, on the page it says that you purchase a license to play you dont get the game
I said I did not mention the word buy because my actual words were:
Quote
I'm assuming that if you have a Virtual Console game, you paid for it.
The subtlety there is that I agree with his assessment that you don't really "buy" a copy of the game but rather you pay for the right to play it on this specific medium and console.

Now, please keep the post on topic so that either it dies a peaceful binary death or it benefits people who are interested in converting their savefiles.



Edited 1 time(s). Last edit at 10/04/2009 01:14AM by TheManuel.
Re: Guide to convert Virtual Console game saves to use with homebrew emulators
October 04, 2009 01:13AM
Oh, by the way, I did pay for the paltry five VC games I have. The only modification I've done to my Wii is installing the Homebrew Channel.
Re: Guide to convert Virtual Console game saves to use with homebrew emulators
October 04, 2009 07:37AM
Quote
I.R.on
In that time hacking groups were notable even their creations (intros/demos) are published as code examples in official c64 magazines.

One last offtopic note here. These demos/intros were actually so popular/regarded, that there's still a "Demo Scene" based around making those types of Demos for DOS and whatnot. My personal favorite of these is called "Heaven 7"
Re: Guide to convert Virtual Console game saves to use with homebrew emulators
October 04, 2009 09:21AM
Quote
cactusjack901
Quote
I.R.on
In that time hacking groups were notable even their creations (intros/demos) are published as code examples in official c64 magazines.

One last offtopic note here. These demos/intros were actually so popular/regarded, that there's still a "Demo Scene" based around making those types of Demos for DOS and whatnot. My personal favorite of these is called "Heaven 7"

Well in that time, they were not very distinct... The same group (for example) Triad released demos, intros, cracked games, released games (through swapping of course there was no internet even no bbs's)... What I want to tell, there was no so called "Demo Scene" back then... it was called "Scene" alone...
Re: Guide to convert Virtual Console game saves to use with homebrew emulators
October 04, 2009 11:25AM
Yeah, I'm aware of the lack of a "demo scene" back then, I may have been 3, but I was a part of it, my brother actually had an account for me on his BBS. ANYWHO, we should get back on topic, I think this guide is actually quite useful
Rowing Upstream
October 05, 2012 06:59PM
Reading this page made me wonder if you can do the process that it describes in reverse so that I could transfer save files from old games that I own into Virtual Console. How would one do this, and how much extra hardware besides a Wii would it take? I'm thinking of transferring appropriate save files into the Wii, 3DS, and upcoming Wii U versions of the Virtual Console shell from games originally created for the NES, the Gameboy Advance, and the Gamecube. I have all of these consoles except for the Wii U (it hasn't come out yet in North America but will on November 18th.) Would I have to use a computer as an intermediary? In that case, my family uses an iMac running Mac OS X 10.5.8 Leopard, not a PC. Thankfully, it contains an Intel Core 2 Duo processor and is therefore compatible with both OS X 10.8.x Mountain Lion and Windows 7 (via Boot Camp; my dad used to have Windows XP SP3 set up on it, but then our computer crashed – we haven't yet restored Boot Camp and need to install more RAM and replace the internal hard drive because our recovered Leopard boot drive currently runs from an external RAID array.) I don't think installing Windows 8 would be a good idea just yet, though…if anybody has any ideas on how to transfer save files in this manner using my current resources, I would really appreciate it a lot.
Re: Rowing Upstream
October 05, 2012 07:55PM
In theory, it should be possible with twintig from segher's wii.git (on Windows, it should theoretically be possible with FE100, but FE100 is Windows only, on Mac, it should be possible to compile twintig from the git and use it).

I'd say the "easiest" way to do it would be to use tachtig first to decrypt and unpack an original save file from the Wii, then replace "savedata.bin" from within it with your own save file (renamed appropriately), then use twintig to repack and encrypt it, then copy it back to the Wii.

You'll need to get all the keys mentioned in the OP (sd-key, sd-iv, md5-blanker, NG-priv) plus a few others (NG-mac, NG-sig, NG-key, NG-key-id). The second set I mentioned are the ones FE100 will extract from the save file. I don't know if twintig/tachtig will do likewise. I am also not sure exactly where you put these keys.

You'll also need to compile tachtig and twintig from scratch. If you've never compiled stuff before, that could be a bit of a pain. You'll need to have the following stuff installed on your Mac (at least): gcc, make, git. Use git to clone Segher's repository, then navigate into it in a terminal and type "make". With a bit of luck, that could work. EDIT: You can actually grab a .zip with precompiled binaries from here: [www.wiibrew.org] - click the "Download" link. Note that these binaries need to be run from the command line with certain parameters. Try running the binaries to get shown the usage.

Obviously FE100 is a lot simpler that all of this: It is precompiled, it'll grab all the keys for you automatically if you give it a save file and a BootMii NAND dump; but it's Windows only. If you're willing to install Windows, I'd say FE100 is probably the way to go about it, rather than tachtig & twintig.

On top of all this, you need to get the actual save files. From your post I am assuming that they are currently on original game carts. You'll need specialist hardware to get the saves off them. I am not aware of the best options for each console.

Also note that this is only applicable to the Wii. You won't be able to copy the saves to the 3DS, or possibly the WiiU (WiiU is more likely to accept them, thanks to backwards compatibility with Wii, but there's a chance it won't). It almost certainly won't work for WiiU only VC games e.g. GC games, as they'll be using WiiU cryptography rather than Wii cryptography. There's a chance the NES ones will still use the Wii cryptography to allow transfer of saves between the two consoles. It won't work for the GBA VC games, as they're 3DS only, which uses different cryptography to the Wii.

I hope this information is helpful, if a little off putting. Hopefully if you decide to go ahead and attempt this, you'll be able to make use of this post.

A small final piece of advice: I advise trying this by buying one VC game, downloading a save from the internet and trying to convert it first, and if that works, then you can try and locate the hardware to dump saves from your carts.

EDIT: Also note that I have not tried this, nor have I heard of anyone else doing so. So there is a chance it won't actually work. (Which is why I strongly advise the test first).



Edited 2 time(s). Last edit at 10/05/2012 09:50PM by SifJar.
Re: Guide to convert Virtual Console game saves to use with homebrew emulators
October 08, 2012 02:49AM
On some games, using a save file from an emulator is as simple as copying the save file from the Wii to SD, replacing the native save file with the one you want, and renaming it. I did this with at least one N64 game.
hey guys hours of google got me here and i hope you can help

i have my save file from my wii VC majors mask (PAL) its a data.bin

and i need to convert it to a .fla file

Can this be done?

I'm using a mac trying to get the save file to work in openemu

heres the link to the file if any one is kind enough to do it

[www.megafileupload.com]

thanks heaps



Edited 1 time(s). Last edit at 07/02/2014 12:57PM by Betik.
Re: Guide to convert Virtual Console game saves to use with homebrew emulators
February 05, 2015 07:03AM
Thanks for this guide housse nexus 5 coque nexus 6



Edited 1 time(s). Last edit at 02/12/2015 10:20AM by oliver024.
Sorry, only registered users may post in this forum.

Click here to login