Tutorial  Updated

Create tiny GBA forwarders for EmuNAND

Background: When you try to launch a GBA Game through your EmuNAND (Whether it's downloaded from the eShop through the Ambassador Program or a custom GBA game installed through a CIA), the system reboots before it loads the title. Once it reboots it will look for the title in SysNAND, and you'll get an error message if you haven't also installed the game there.

Once you have the game installed in both SysNAND and EmuNAND, everything is hunky-dory and working, but I didn't like that I had to install the same title to my system twice and take up double the space on the SD card. That's where this method comes in. (I know GBA games aren't that big, it just bothered me) I wasn't planning on writing this up, but someone requested it so here it is.

What we're doing: We are going to create two CIA files. The actual game, which will be installed in SysNAND, and a forwarder of sorts that will be installed in EmuNAND.

Please Note: This tutorial partially assumes that you are already familiar with running GBA games through EmuNAND. If you are having trouble running GBA games through EmuNAND normally, this tutorial is not the place to start.


What you will need:

I originally tested this procedure with Mario & Luigi: Superstar Saga, so I'll be using that as my example game for the most part.

Steps:
  1. Download all the tools above, and extract each of them to their own folder.
  2. Using the 3DS Simple GBA Converter, create a CIA using your GBA ROM, Generated Footer, Icons and Banners like you normally would.
  3. Copy the resulting CIA to the PackEnglishV4.8\PackHack folder.
  4. Remove spaces and special characters from the CIA filename to avoid problems with the tool. I.e: Mario & Luigi.CIA -> MarioLuigi.CIA
  5. Launch HackingToolkit3DS.exe, and enter CIA.
  6. Type the name of your CIA into the program without the extension.
  7. Your CIA will be unpacked. At "Decompress the code.bin file" choose N for No.
  8. Once this is complete you can close the HackingToolkit. We are done with the original CIA we made for now, so move it to a safe place and rename it to something distinguishable. I.e: Mario & Luigi - Superstar Saga - SysNAND.CIA
  9. Open the ExtractedExeFS folder, and delete the existing code.bin file. (This is essentially the rom)
  10. Create a blank file (Right Click -> New -> Text Document will do) and rename it to .code.bin (Two dots intentional, don't forget to get rid of .txt)
  11. Launch HackingToolkit3DS.exe again, and this time enter 3DSB to open the 3DS Builder.
  12. Click "Open RomFS" and choose the ExtractedRomFS Directory, and do the same for Open ExeFS.
  13. When you choose the ExtractedExeFS Directory, it will ask you if you want to Compress the code.bin file. Choose yes for this, and click through any remaining prompts.
  14. Select "Open ExHeader" and choose the DecryptedExHeader.bin file.
  15. When you choose "Save Location..." choose the "roms" directory within 3DS Simple CIA Converter. Don't forget to save your file with the .3DS Extension for now.
  16. Before we click "Go", we need to get our Serial #. Open the DecryptedExHeader.bin file with any text editor, and the first 4 letters will be what we need. For example, if we were doing this with Mario & Luigi: Superstar Saga, the first 4 letters would be AYNE. Therefore, we would want our Serial to be CTR-P-AYNE.
  17. Click "Go", and it will generate a GHASTLY HUGE 128 MB 3DS FILE. Don't worry, the point of this guide was to reduce used space on the SD card remember?
  18. Launch the 3DS Simple CIA Converter, and check the box that says FW Spoof.
  19. Select "Convert 3DS ROM to CIA" and choose the roms directory that we saved our 3DS file to.
Woohoo! Open the cia directory within the 3DS Simple CIA Converter folder, and we'll have our forwarder CIA weighing in at about 500 KB! Rename this to something like Mario & Luigi - Superstar Saga - EmuNAND.CIA

At this point you should have two files:
  1. Mario & Luigi - Superstar Saga - SysNAND.CIA (The CIA we created in Step 2)
  2. Mario & Luigi - Superstar Saga - EmuNAND.CIA (The Forwarder CIA we just made)
Install the 1st CIA to SysNAND, and the 2nd to EmuNAND using your CIA Installer of choice (I personally use FBI with PastaCFW for SysNAND and FBI with ReiNAND for EmuNAND). If you followed everything properly, your game will load!

Problems?
  • Make sure you've patched AGB_FIRM properly for both SysNAND and EmuNAND!
  • Make sure your GBA game will even run with the normal method of installing the full game to EmuNAND and SysNAND
  • Read the directions again carefully!
  • Go setup your 3DS with A9HL and bypass the need for a EmuNAND

I'll write this later. Mostly the same steps as with custom games, but you'll get your official CIAs using FunkyCIA2 and deep decrypt them using Decrypt9WIP instead of using 3DS Simple GBA Converter

Tested with the following games:
  • All of the Ambassador GBA Titles
  • Mario & Luigi: Superstar Saga
 
Last edited by TeconMoon,

YharnamBadass

Well-Known Member
Member
Joined
Jan 4, 2016
Messages
194
Trophies
0
Age
31
XP
333
Country
Ecuador
Alright, I can´t sleep so I figured I would try, and boy oh boy, @KhaderWelaye I would invite you a freaking hamburguer and fries combo with your favorite soda, You are a genius. It works perfectly and Once you get the hang of it, it´s so simple it will take you literally no time to make all those steps.

One thing though, when using the 3DSB you might want to write in your tutorial to not forget to name the file .3ds at the end or simple 3ds to cia converter will not work!.
 
  • Like
Reactions: hobbledehoy899

TeconMoon

Well-Known Member
OP
Member
Joined
Aug 7, 2007
Messages
749
Trophies
1
XP
2,608
Country
United States
I follow step 5 to 7 but the cia does not appear to be unpacked as there is no ExtractedExeFS folder.
The only time this ever happened to me was if the CIA wasn't decrypted (won't be the case for CIAs created with the 3DS Simple GBA Converter) or if the game had spaces or special characters in the file name.
 

DarkJesus

Active Member
Newcomer
Joined
Feb 3, 2008
Messages
42
Trophies
0
XP
187
Country
This is amazing. Even though gba roms are so small, it just doesn't feel right to have them installed twice. This feels a lot more comfortable.

Would be amazing if someone was able to create a tool to do all the middle steps in one go.
 

AtlasFontaine

Well-Known Member
Member
Joined
Jul 18, 2015
Messages
1,095
Trophies
0
Age
26
Location
Venezuela-Zulia.
XP
865
Country
Venezuela
This is amazing. Even though gba roms are so small, it just doesn't feel right to have them installed twice. This feels a lot more comfortable.

Would be amazing if someone was able to create a tool to do all the middle steps in one go.
And it also does help those people who use small sized sd cards like me :)
 

YharnamBadass

Well-Known Member
Member
Joined
Jan 4, 2016
Messages
194
Trophies
0
Age
31
XP
333
Country
Ecuador
Before I did this, Dragon ball adventures saved properly, but now, it doesn´t save, in fact, none of my gba injected games save!!. (I deleted the cias on the emunand before installing the tiny forwarders so I thought the save file deletion was normal, but now it doesn´t save at all) any help? :S

EDIT: Now this is very curious, I played Dragon Ball Advanced Adventures again, and I carefully checked if it did save after the level and it said "Save Succesful" but it didn´t save.... what is happening? :S
 
Last edited by YharnamBadass,

TeconMoon

Well-Known Member
OP
Member
Joined
Aug 7, 2007
Messages
749
Trophies
1
XP
2,608
Country
United States
Before I did this, Dragon ball adventures saved properly, but now, it doesn´t save, in fact, none of my gba injected games save!!. (I deleted the cias on the emunand before installing the tiny forwarders so I thought the save file deletion was normal, but now it doesn´t save at all) any help? :S

EDIT: Now this is very curious, I played Dragon Ball Advanced Adventures again, and I carefully checked if it did save after the level and it said "Save Succesful" but it didn´t save.... what is happening? :S

All your GBA saves go through SysNAND, so if there is a problem with your saves that's where the root of the problem is. Have you tried loading your SysNAND with CFW and checking if they work there?

Also keep in mind that this tutorial is for if you're using unlinked NANDs. If your SysNAND and EmuNAND are linked, all you need to do is install a normal CIA on EmuNAND.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: Least they got head in the end