... I never managed to get save injection to work.
Wasted the whole day away transferring a Zelda: Minish Cap save from my WiiU to my 3DS. Decrypt9 does work fine for the injection. I was able to find the methods for doing everything here in this thread thanks to so many helpful posts. However there was one crucial step that no one had mentioned, which is Step 4 below (don't forget about region!).
For clarification I am using the
European Backport Edition by Prof. 9 on my 3DS installed as a CIA. And for the WiiU version, I purchased it through the North American Nintendo eShop.
Also, this should work for any Minish Cap save not just from WiiU (just ignore Steps 1 & 2).
*Optional*
a. Create a save file within Minish Cap on the 3DS (if no save currently exists)
b. Dump decrypted 64kb save from 3DS with Decrypt9
c. Use this save for comparison purposes to help with Steps 3 & 4
d. Test your final edited save in another emulator before injecting it in Step 5
*End Optional*
Steps:
1. Dump decrypted 144KB "desired" save file from WiiU with Saviine (data_008_0000.bin)
2. Extract 64kb GBA save from within this file with a hex editor (block: 4080-607F)
3. Reverse the byte order every 8 bytes of this extracted GBA save (byte order must be "normal")
4. Adjust region (if necessary) by changing offset 1E from 35 to 33 of extracted GBA save (35=USA, 33=EUR)
5. Inject reversed/edited GBA save with Decrypt9
Note: Reversing the byte order in Step 3 can be done in Windows with
Hex Workshop as explained by redunka in
Post #4137 or in Linux using objcopy (binutils package) with the following command:
objcopy -I binary -O binary --reverse-bytes=8 filein.sav fileout.sav