Tutorial  Updated

The Ultimate Guide to RedNAND VC Injects!

Last Updated: June 22nd 2017

Hey everyone. Recently the Wii U modding scene is going really crazy right now with the Brazilian method and RedNAND and Haxchi and free Wii U games and everything. There’s also been a small advantage that allows for free VC games to be installed with WUPInstaller on RedNAND and sigpatched SysNAND, which includes VC injects. For those who really want VC injects on their RedNAND or IOSUHAX or Haxchi CFW or Mocha or whatever CFW you have, here’s how to do so here. This also includes making your WUPInstall-ready VC injects look as official as possible, similar to @CheatFreak47’s 3DS VC tutorial and my (v)Wii VC tutorial.

WARNING: Follow the steps closely here. I am not responsible for any damage that is done to your console. If your VC inject has all the conditions required and does not work, check the Wii U VC compatibility lists. If your VC inject does not follow the conditions at all, check the FAQ.

This tutorial supports all Nintendo VC platforms on Wii U so far (NES, SNES, GBA, N64, NDS). I am not going to cover TG16 due to the fact that injecting TG16 games requires hex editing and the TG16 Wii U games themselves are very large in size compared to Nintendo’s.

Section A: Preparations

Before starting, you have to make preparations for injecting VC games and making them RedNAND-ready.
Recommended:
  • A Wii U (duh!)
  • RedNAND or sigpatched SysNAND installed on your Wii U
  • WinRAR (you may have it installed already)
  • An OFFICIAL VC game either downloaded from the eShop or from Wii U USB Helper
  • MetaVerify
  • NUSPacker
  • FTPiiU Everywhere
  • FileZilla
  • A Wii U game installer (either System Config Tool or WUPInstaller)
  • The Wii U SDK (I am not going to link you to it since it is copyright of Nintendo)*
  • Python (either 2.7 or 3.X depending on the tools)*
  • Paint.NET
  • GIMP
  • Tool64* (N64-only)
  • The “gba_inject” Python plugin* (GBA-only)
  • RetroInject and Hykem’s rpl2elf app* (NES/SNES-only)
  • snesROMUtil (SNES-only)
  • Notepad++
  • A lot of knowledge and research
Old Tools:
These are not recommended for long-term use and are placed here just for archival purposes.
  • DDD
  • AppConfigTool (I am not going to link you to it since it is copyright of Nintendo)*
  • Wii U Installer Packer*
* = Google it
If you're wanting to inject a certain game, check the Wii U VC compatibility lists listed here to see if your game is supported.
If you got all of these, make preparations for both your PC and your Wii U console by dumping your game. Here is a list of recommended VC base games that have high compatibility.
  • Punch-Out!! (NES)
  • Super Metroid; Donkey Kong Country; Kirby's Dream Land 3 for SA-1 support (SNES)
  • Donkey Kong 64 (N64)
  • The Legend of Zelda: The Minish Cap (GBA)
  • New Super Mario Bros.; Brain Age/Brain Training (NDS)
Open FTPiiU Everywhere from the Homebrew Launcher, and open FileZilla on your PC. Type the IP address and port displayed on your Wii U Gamepad screen onto the Host and Port typeboxes respectively, and then click Quickconnect. Navigate to storage_mlc/ or storage_usb/ on FileZilla, and then navigate to the usr/title folder. Look for your game's title ID (use the title database to help you), and then extract it to your disk drive. Easy as that.
Once you’re completely ready, download DDD and extract it to your SD card. Leave the titledumper.exe on your PC because it is recommended for dumping using DDD. Turn on your Wii U, open the Homebrew Launcher using your favorite exploit, and launch your CFW (Mocha, Haxchi, or CFW Booter). This will launch either RedNAND or sigpatched SysNAND depending on your settings, ensuring that you will now be able to launch your game afterwards, because it will give you an error on stock SysNAND if it is RedNAND/sigpatched SysNAND only. Now double-check that CFW Booter has launched your NAND of choice, and open the Homebrew Launcher again. Launch DDD from the Homebrew Launcher. Once DDD is launched, open CMD on your PC, and type in “ipconfig”. This will give you your PC’s IP address, among other things. Change the IP address on your Wii U on-screen to your PC’s IP address, and press X to temporarily install DDD and return to the system menu. Now open CMD in the same directory the titledumper.exe is in, by holding Ctrl+Shift, right-clicking, and selecting the open CMD option. Now type in this command:
Code:
titledumper.exe /vol "/Game/"
Ensuring that the titledumper.exe is in the same directory as the CMD is currently set to, press Enter on your PC, and launch the VC game that you want to dump on your Wii U afterwards. When the bootscreen appears, the Wii U will now connect to the PC to dump the current game to your hard drive. This will dump everything on your game, including “meta” and your saves. The bootscreen will stay on-screen on your Wii U until it is finished dumping. Now press the HOME button, and the HOME Menu will display. From here, the Wii U will dump the “meta” to your PC’s hard drive if it’s not dumped yet, and do not touch your Wii U until it is done dumping.

Now that you have a “Game” folder on the root of your hard drive, open it. There should be a “vol” sub-folder, which in turn contains everything that you dumped from your Wii U. Delete the “save” directory as we’re not going to need it. The “code”, “content” and “meta” folders are highly recommended here. Now make a backup of your dumped game, in case the injection fails or you want to make multiple VC injects.
Now that we have made our preparations, it is time to inject the game.

Section B: Injecting

This section will be split into six sub-sections, one for each VC platform. If you're wanting to make injections for a certain VC platform, it is explained here. Make sure that your inject is clean (you have injected the game by yourself and have not downloaded a "dirty" Loadiine-ready inject from the Internet), otherwise there will be some issues.
Injecting NES or SNES takes no more than just a few minutes. You will need additional tools for this.

If you're injecting a SNES game, open snesROMUtil, select Open from the File drop-down list and look for the game that you want to inject. Select it, and the info will be displayed in the application. If the SNES game has a header, remove it by selecting "Remove Header" from the Task section and click on OK. You will now have a duplicate of the ROM that does not have the header. We're going to use that for the inject.

Injecting the ROM itself is easier than you think. If you have extracted both RetroInject and rpl2elf, open the CMD from the same directory as both apps (just like you did last time when you were dumping the base game), and type this command here:
Code:
rpl2elf.exe (input.rpx) (output.elf)
Make sure the input file name you type in matches the name of the RPX you dumped. You can name the output elf file anything you want. Press Enter, and it's going to convert the input file into an ELF file. The output ELF file will appear when it's finished.

Do not close the CMD, but instead after the convert is finished, type in this command:
Code:
RetroInject.exe (input.elf) (rom.nes/sfc/smc) (output.elf)
Again, make sure the input file name matches the name of your converted ELF file. Now press Enter, and it's going to make an output ELF file, then inject the ROM into that file. Your input file will be safe, which is good in case you're wanting to make multiple NES and SNES injects.

There's one more step to finish injecting: Use makerpl(32/64).exe from the Wii U SDK to convert the output injected ELF file to an RPX file. Make sure that the output injected ELF file is copied into the makerpl sub-directory in the Wii U SDK before proceeding. Use this CMD command when converting the file:
Code:
makerpl64 -f -s -z9 -nolib (input.elf)
Now cross your fingers, and press Enter. The application is now going to convert the ELF file to an RPX file.

If it succeeds, then all you need to do is copy the new RPX file to the code folder of your injection. Now you're pretty much done with this step! On to the next one.
GBA injection is pretty much easy and has a higher success rate in my opinion than you would expect out of NES/SNES injection. Please note that you're going to need Python and the gba_inject Python plugin for this.

Once you've downloaded and installed Python, download the gba_inject archive and extract it. Now take your alldata.bin and alldata.psb.m files that you dumped using DDD, and copy them to the gba_inject directory. Create an "out" folder in the gba_inject directory as that is where the injected alldata.bin will be sent to.

Make sure you click the "install.bat" file before proceeding. I don't know if that's recommended or not, but that's what I did just to be safe. This is going to install the gba_inject plugin to your Python. After this, copy your GBA ROM of choice to the same gba_inject directory where you copied your alldata.bin, and rename it to just "rom.gba". Open "inject.bat" and wait for it to finish processing.

Once it gives you a prompt that injection is complete, press any key to exit the CMD, and go to the "out" folder that you created earlier. You should see another alldata.bin, as well as another alldata.psb.m. This is the injected alldata.bin.

You're pretty much done with this step at this point. On to Section C, shall we?
Injecting N64 is really easy for those who haven't tried it yet.

First, open Tool64. This is so we can convert our N64 ROM to Z64 format which is compatible with the N64 VC emulator. Navigate to the directory of your ROM. Right-click the ROM, and select "Big Endian" from the drop-down list. Once you've done that, the application will rearrange the bytes of the N64 ROM to Z64 format. The ROM will be deleted and replaced with the Z64 format ROM, and a .bak backup file will be made.

Now navigate to your dumped N64 VC game directory, go to the content sub-directory and afterwards go to the ROM sub-sub-directory. You will see a Z64 format ROM with a random file name and extension. The file name includes the title ID of the N64 game for those who haven't known yet (for example, Donkey Kong 64 (PAL)'s ROM is named "Undop0.599"; the bold "ndop" part is the title ID of the original game). Navigate to your ROM directory (the same one that you used for Tool64), rename the ROM to the exact name of the Z64 format ROM in the dumped game (this includes the file extension), drag it and drop it into the ROM sub-sub-directory. Replace the file when prompted.

Now navigate to the "config" folder within the content sub-directory. You will see a long list of .ini files for certain N64 games. If there's a certain appropriately-named ROM in the ROM folder, the .ini file of the same name will be assigned to that ROM (for example, if there's an "Unsme0.005" ROM file in the ROM folder, the "Unsme0.005.ini" file will be loaded into the emulator and used for the ROM file). We have to look for the .ini file that is the exact same name as the original ROM file.

Once we find the .ini file with the aforementioned conditions, double-check it to make sure that it's the same name as the ROM we replaced. Open it with Notepad, select everything and press Backspace to delete everything. This will make the .ini file blank. Now save it, and we're pretty much done with Section B at this point.
Injecting NDS is super easy, and takes no more than a minute or two. I'm gonna show you how to do it here.

Copy your Nintendo DS ROM to the dumped VC game directory. Unlike the rest of the platforms, everything that makes up the "content" part of the VC game is located within a "0010" folder within the "content" directory, so you'll have to keep that in mind. Open the rom.zip archive from the "0010" folder. You should see a single ROM within the archive, which is named as "(VC Game Product Code).srl", depending on the base game (for example, New Super Mario Bros. (PAL) by default has "WUP-N-DADP.srl"). Drag your copied Nintendo DS ROM to the "0010" folder, rename it to the exact same name as the ROM inside the rom.zip (this includes the file extension, rename .nds to .srl). Drag it into the rom.zip, and the archive will now be updated, with the new ROM replacing the default one.

That's how easy it is to inject DS games. Now on to the cosmetics.

Section C: Cosmetics

After you are done injecting the ROM into the VC game, you could just play it on Loadiine right away, but that is not recommended for this tutorial. What we're now going to do here is create official-looking bootscreens and an icon, change their color depths, and sign them with App Config Tool from the Wii U SDK.

First, download this archive. It contains bootscreen templates supported with GIMP. You're also going to need the SCE-PS3 fonts installed on your computer since they're recommended for best results.

Open your desired project template with GIMP and change the values, following the rules provided in the spoiler below.
  • The font must be SCE-PS3 Rodin LATIN Semi-Bold.
  • The text must be left justified.
  • Up to 2 lines of text are permitted. If you have 2 lines of Game Name text, correctly center the text vertically using the top border of the text box.
  • Text size must be 43px.
  • This line refers to the year that the game was released ON the physical media the Virtual Console is emulating.
  • For games that haven't been released officially for the original console, like ROM hacks or bootlegs, input "Not Released." for this line.
  • The font must have no letter spacing.
  • Text size must be 30px.
  • GBA and Nintendo DS games do not have this line at all, due to there being no multiplayer for them.
  • This line refers to the number of players for the original game.
  • The font must have no letter spacing.
  • Text size must be 30px.
After you have done editing the text, get the title screen of your game (either by searching on tcrf.net, looking for an image of the title screen on Google Images or taking a screenshot through an emulator), and resize it to a size slightly bigger than the cut-out for the title screen for best results. Export it to a .tga file, name it "bootTvTex.tga", and make sure that RLE compression is turned off, as the Wii U does not support it.

After you're done creating your bootscreen, open it on Paint.NET, and save it. Make sure that the color depth is set to 16-bit, as App Config Tool only supports 16-bit TGA bootscreens and 32-bit TGA icons. Once that's done, resize the image to 854x480 (the resolution of the GamePad), and save it as "bootDrcTex.tga". Again, make sure that the color depth is set to 16-bit.

Once you're finished with the bootscreen, on to the icon. @CeeDee has a tutorial on how to make VC icons here. Follow that tutorial, but make sure that you use the Wii U icon and not the 3DS icon, and make sure that you save your icon as a 32-bit TGA file named "iconTex.tga" with RLE compression turned off.

Now is the time to change the title ID and name of the game. You can also change the product code, but it is optional and not crucially recommended as you can two or more titles with the same product code unlike the title ID.

Open meta.xml from the "meta" folder of your edited dumped game with Notepad++, and look for the title ID. It should look like this:
Code:
00050000XXXXXXXX
Change the "XXXXXXXX" part to whatever you want, but be fully aware that it does not, I repeat NOT, conflict with another game that you already have on your system.

Afterwards, open app.xml from the "code" folder, just like how you opened and edited meta.xml, and look for the title ID. It should be easier than in the meta.xml. Once you have found it, change the title ID to the same one that you changed it to in meta.xml. After you're done changing the title IDs, make sure that both are the same. Now save app.xml.

Once you have changed the title ID, go back to meta.xml and look for the name of the game. After you have found it, change it to the name of the game that you injected, splitting the name into 2 lines if possible. You can also do the same for the other languages, or even blank the other language titles and leave only the title for your language. Make sure that each line does not exceed 256 characters, for a total of 512.

There should also be a "short name" of the game. Think of a short game for your game if possible, and fill it in, replacing the old name. Make sure that it does not exceed 256 characters. Save meta.xml once you have edited everything.

There is only one final step left, and that is signing the bootscreens and icon. There are currently two bootscreen/icon signer applications available: App Config Tool (from the Wii U SDK) and TGAVerify. TGAVerify is highly recommended since it is easier to use than App Config Tool and doesn't require the Wii U SDK at all. If you still want to use App Config Tool, do so at your own risk.
Before you do this, make sure that you have the latest Wii U SDK, and that you also have App Config Tool and you are able to use it.

Open App Config Tool, and select paths for both the "code" and the "meta" directory created by the application. Open "Convert Image File (P)" from the Tool drop-down box and click "Icon Image (1)". When it prompts you to create a save file, do so and follow the instructions. Select the iconTex.tga, and it will prompt you to create a meta folder. Do so and it will save to the meta path you chose. Now convert the bootTvTex.tga and bootDrcTex.tga using the same method, and copy the converted TGA files to the "meta" folder from the dumped edited game.

Section D: Finishing

We are almost done with our injection. This section covers converting the dumped edited game to WUPInstall format, and installing it to our Wii U.

There are two main game packers that you can download: NUSPacker and Wii U Installer Packer. NUSPacker is recommended for packing your game since it doesn't use the Wii U SDK. A tutorial on how to use NUSPacker is linked here. If you still want to use Wii U Installer Packer to pack your game, do so at your own risk.
Copy the dumped edited game directory to the Wii U Installer Packer directory, and rename it to "GAME". Now launch the bat file from the Wii U Installer Packer directory, and it will prompt you to select a type (Game or DLC). Choose Game by pressing 1, and it will then prompt you if you want to make it region-free. It's your choice from here, you can press either 1 to make it region-free or 2 to leave it untouched. After this, regardless of whatever option you choosed, it will convert the game to USB format. Be patient, this will take from 30 seconds to 1 and a half minutes depending on the conditions.
After it's done, there will now be a directory with your own WUPInstall VC injection. Pop the injection into your SD Card and install it to your USB through your favorite game installer (either Sys Config Tool or WUP Installer Mod Y depending on your Wii U's conditions). That's it, it's pretty much smooth from here!

2016_11_21_225422.jpg

And there you have it, a WUPInstall VC inject on your Wii U menu that looks like it came straight from the eShop itself. Feel free to show me your proof-of-concept photos or videos on this subject as I appreciate it a lot, and check the FAQ if you have issues with your game.

Happy injecting! :yayu:

FAQ

Q: My game shows up on the Wii U menu but it crashes when I launch it.
A: This may be issues with the title ID. Try a different one as long as it does not conflict with any of your other games.

Q: My game doesn't show up on the Wii U menu at all.
A: Make sure your inject is "clean" (you have injected it by yourself) and you have not used a VC inject from the Internet.

Q: My game launches without flaws but the game itself doesn't work or has issues.
A: Your game may not be compatible with the VC emulator. Check these compatibility lists to see if your game works.
Q: My game shows up as a corrupt title.
A: It appears that you have not signed your bootscreens and/or icon. Do so using either App Config Tool or TGAVerify and try again.
 
Last edited by CatmanFan,

geekbozu

Member
Newcomer
Joined
Dec 15, 2010
Messages
8
Trophies
0
XP
160
Country
United States
So made a custom inject of Professor layton ontop of my own dump of Yoshi Touch and Go made with DDD. Seemingly works fine in loadiine. Game loads up after a few moments on a black screen in loadiine. Pack it as an eshop title and install it. Icon/bootscreen are all there and show up, However it just stays on the bootscreen and softlocks. Not really sure what I did wrong or how to fix it any ideas?
HFkehOO.jpg
Is where it hangs
 
Last edited by geekbozu,

CatmanFan

Anxious and regretful
OP
Member
Joined
Aug 14, 2016
Messages
1,962
Trophies
0
Website
www.youtube.com
XP
2,546
Country
Morocco
So made a custom inject of Professor layton ontop of my own dump of Yoshi Touch and Go made with DDD. Seemingly works fine in loadiine. Game loads up after a few moments on a black screen in loadiine. Pack it as an eshop title and install it. Icon/bootscreen are all there and show up, However it just stays on the bootscreen and softlocks. Not really sure what I did wrong or how to fix it any ideas?

HFkehOO.jpg


Is where it hangs

Check that you have met all the conditions for your VC inject. Change the title ID to something that doesn't hang.

Also, with that bootscreen, the text should be aligned to the left, not to the center.
 

geekbozu

Member
Newcomer
Joined
Dec 15, 2010
Messages
8
Trophies
0
XP
160
Country
United States
Welp I will change the text in a few. I ended up fixing it by dumping my base game with ftpu_everywhere instead of DDD either way it works now :D Just took all day >.>

Still have to fix the bootimage but

6JGgy0C.jpg
 
Last edited by geekbozu,
  • Like
Reactions: CatmanFan

bennyman123abc

Well-Known Member
Member
Joined
Mar 21, 2013
Messages
920
Trophies
1
Age
22
Location
Alton, IL
XP
1,201
Country
United States
Welp I will change the text in a few. I ended up fixing it by dumping my base game with ftpu_everywhere instead of DDD either way it works now :D Just took all day >.>

Still have to fix the bootimage but
6JGgy0C.jpg
1. Please put your image in spoiler tags next time.
2. The NUSPacker page says DDD dumps are not compatiable.
 

Blitzur

Member
Newcomer
Joined
Jul 20, 2016
Messages
19
Trophies
0
Age
29
XP
91
Country
Gambia, The
I don't know if i am just to bad to find something but is it possible to inject other "roms" into Wii vc on WiiU?
And also i read somewhere that for soem people the starting or even the installation of wii vc on wii u via wup installer broke their haxchi.

thank you :)
 

JohnathanMonkey

Well-Known Member
Member
Joined
Apr 26, 2013
Messages
633
Trophies
1
Age
36
XP
744
Country
United States
I don't know if i am just to bad to find something but is it possible to inject other "roms" into Wii vc on WiiU?
And also i read somewhere that for soem people the starting or even the installation of wii vc on wii u via wup installer broke their haxchi.

thank you :)

It's' not possible yet.
 

Blitzur

Member
Newcomer
Joined
Jul 20, 2016
Messages
19
Trophies
0
Age
29
XP
91
Country
Gambia, The
do you know if someone and who is working on it?
I "somewhere read someone" tries to get the games red in FST mode instead of this .nfs file formate? is this true? ^^
 

N1k0_VE

Member
Newcomer
Joined
Jan 27, 2017
Messages
19
Trophies
0
Age
39
XP
72
Country
Belgium
Is there also a guide to inject Wii games in Rednand? Or isn't this possible to make your own Wii VC games?
 

asboy

Well-Known Member
Newcomer
Joined
Apr 19, 2007
Messages
57
Trophies
1
XP
427
Country
United States
Wii U Installer Packer closes every time I select if to be region free or not and doesn't make an installable file. Any ideas why? I'm trying to make an injected DS file.

I'm on Windows 10 and have tried v4, v5 and v6 of Wii U Installer Packer and same issues with each.

I made the CMD window stay open and it's telling me Error [0]: Failed validating input parameter
 
Last edited by asboy,

bjaxx87

Well-Known Member
Member
Joined
Jun 17, 2011
Messages
448
Trophies
1
XP
1,256
Country
Germany
I'm trying to change the color depth of my bootscreen using paint.net 4.0.13 but there's no option to change it to 16-bit:
jyjejk73.png

Translation:
Settings
Bit depth
*detect automatically
*32-bit
*24-bit
[] Compress (RLE)
Standard values

It's the window that pops up when trying to save the TGA file.

And where in the world did you get gba_inject? This is the one I found with Google and it did the job but yours sounds much less outdated:
https://github.com/ajd4096/inject_gba
 

skins20

Well-Known Member
Newcomer
Joined
Aug 5, 2016
Messages
96
Trophies
0
Age
34
XP
289
Country
Argentina
"Make sure that your inject is clean (you have injected the game by yourself and have not downloaded a "dirty" Loadiine-ready inject from the Internet), otherwise there will be some issues."

Exactly because you do not recommend using a Loadiine-ready inject from the Internet?

What problems are there?

And another question .. what about the title.tik or the titlekey to repack? Do you need it?
 

CatmanFan

Anxious and regretful
OP
Member
Joined
Aug 14, 2016
Messages
1,962
Trophies
0
Website
www.youtube.com
XP
2,546
Country
Morocco
"Make sure that your inject is clean (you have injected the game by yourself and have not downloaded a "dirty" Loadiine-ready inject from the Internet), otherwise there will be some issues."

Exactly because you do not recommend using a Loadiine-ready inject from the Internet?

What problems are there?

And another question .. what about the title.tik or the titlekey to repack? Do you need it?
I've experienced having the game not show up on the Wii U Menu if I used a Loadiine-ready inject as a base for my RedNAND VC injects, as far as I can remember. Also, I've been using Wii U Installer Packer to pack my games, and it automatically creates a fake-signed title.tik. I don't know what even happens if I delete the title.tik. As for the titlekey, I don't know that much about it yet.
 
  • Like
Reactions: skins20

craftsk8

Well-Known Member
Newcomer
Joined
May 18, 2016
Messages
56
Trophies
0
Age
39
XP
104
Country
Serbia, Republic of
Could anyone share RetroInject and gba_inject archive? Can't find it. Find just one link on reddit, and it's was broken.
 
Last edited by craftsk8,

Cornholio309

Well-Known Member
Member
Joined
Jun 23, 2013
Messages
202
Trophies
1
Age
27
XP
305
Country
United States
Wii U Installer Packer closes every time I select if to be region free or not and doesn't make an installable file. Any ideas why? I'm trying to make an injected DS file.

I'm on Windows 10 and have tried v4, v5 and v6 of Wii U Installer Packer and same issues with each.

I made the CMD window stay open and it's telling me Error [0]: Failed validating input parameter

I'm actually having this exact same issue, even if I choose not to make it region free. Currently using v6. Any ideas? My OS is Windows 10.
 
D

Deleted User

Guest
Is the load time for ds games any better when loaded from the wii u menu vs loadiine? I don't know why but loading ds games on loadiine always takes at least 2-3 minutes to load from a black screen and it always makes me nervous that it didn't work.

Of course when it starts playing everything is fine.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: I'm sleepy good night