Tutorial  Updated

Wii on Wii U Virtual Console: Injecting Games

Requirements:
WiiScrubber v1.40;
nfs2iso2nfs v0.5.4; it may require the Wii common Key. You can use wiiscrubber's key.bin renamed to wii_common_key.bin.
A clean rip of your Wii game;
The extracted contents of a Wii VC title for the Wii U (except the .nfs files);
-the 2 below require java to be installed-
jnustool (requires Wii U common key so you'll have to search online - hint: it begins with D7B0. Open the "config" file in notepad and paste the key inside, replacing [COMMONKEY]);
NUSpacker (must be @ihaveamac's version, requires Wii U common key as well)

Current limitations:
It's possible to use the gamepad to emulate ONLY the Classic Controller.
Wii Remote emulation is possible but there's no gyroscope or infrared commands (at least for now).
(Input emulation patches by @FIX94)

The game must be already compatible with the Classic Controller but that isn't a guarantee that it's going to work.
Here's a compatibility list: http://wiki.gbatemp.net/wiki/WiiU_VC_Wii_inject_compatibility_list

Integrity checks are still in place so only clean disc rips work.
The game iso must be pristine: untrimmed, unscrubbed and the partitions signed.
No homebrew, no mods, no wimmfi patched games until sigpatches are implemented.

Patched isos work now! Original idea by @Tock46!

Homebrew works now, even a special version of Nintendont by @FIX94

Trimmed isos still don't work, at least not isos trimmed by WiiScrubber.



HOW TO DO IT


0. Downloading a Wii VC Title
This may be illegal and I'm just telling you so you don't ever do it by mistake OK?
You can use the command line to download games' contents directly if you know the title id and title key.
I heard you can get them on a certain titlekeys site...

Once you have that, this is the command
Code:
java -jar JNUSTool.jar TITLEID TITLEKEY

NmNYbOu.png


Note: You should get a game that contains the latest revision of fw.img (r590), that's the only version supported by @FIX94's patches.
Here's some info you can use to verify that you have a good file:
Size: 1785497 bytes.
CRC32: E2F27E9B
MD5: 3CAF52A9A440EEE4F125A3AD22E305C8
SHA: A5A75EBF3164874830A1D5992495DE510AB3F74E

Now here's a list of some titles that contain the preferred fw.img (verified mostly by @fejich and @markehmus)
DONKEY KONG JUNGLE BEAT [VBXE01]
Kirby's Epic Yarn [VARE01]
Lost in Shadow [VA8E01]
Mario Strikers Charged [VBFE01]
Mario Super Sluggers [VBHE01]
Pandora's Tower [VAPE01]
PIKMIN 2 [VBTE01]
PIKMIN [VBUE01]
Resident Evil 4 Wii Edition [VBDE01]
Resident Evil The Umbrella Chronicles [VBWE01]
Rhythm Heaven Fever [VAKE01]
Sin and Punishment Star Successor [VALE01]
Super Mario Galaxy [VBKJ01]
Super Paper Mario [VBBE01]
The Legend of Zelda Skyward Sword [VANE01]
Trauma Team [VA6E01]
Wario Land Shake It [VBGE01]
WARIO WARE SMOOTH MOVES [VBVE01]





-----------------------------------------------

1. WiiScrubber
First setup WiiScrubber. Remember it needs the Wii common keys so run MakeKeyBin.exe first and do as it says.
Run it and open you iso. Right-click the UPDATE partition and select "Delete partition". Confirm.
uE02Phr.png


Now click on the + box to expand the DATA partition, then expand partition.bin.
Right click tmd.bin, select "Extract" and save it.
Do the same with ticket.bin.
jJPl3Wy.png


Rename the extracted ticket.bin to rvlt.tik
Rename the extracted tmd.bin to rvlt.tmd

Copy/move both files to the "code" folder of the Wii VC title.

Your iso is now ready and you can close WiiScrubber.


2. nfs2iso2nfs
Move your iso to the "content" folder of the Wii VC. Rename the file to "game.iso".
The content folder should contain only game.iso and the "assets" folder. Delete any nfs files that are still present.

Copy nfs2iso2nfs.exe to the content folder and run it. If everything is in place, it will begin the conversion process.
It should take around 15 minutes. Its console window will close when it's finished.
Once it ends you can delete your iso file and nfs2iso2nfs.exe (and wii_common_key.bin if it exists).
The content folder should contain only the nfs files and the "assets" folder.

Optional: You can enable Classic Controller emulation for playing using only the gamepad.
Open meta.xml (it's in the meta folder) in notepad.
Look for the line
Code:
<drc_use type="unsignedInt" length="4">1</drc_use>

replace it with
Code:
<drc_use type="unsignedInt" length="4">65537</drc_use>
and save the file.
Note that this will only work if the game supports the Classic Controller.
If it doesn't either it won't boot or you won't be able to do anything and only the gamepad's power button will work.
Here's a list of such games: https://wiki.gbatemp.net/wiki/List_of_Wii_games_compatible_with_Classic_Controller


3.NUSpacker
The final part, building the installation files.
NUSpacker requires the Wii U common key. You should find it online and then open the file "encryptKeyWith" with
notepad and paste the key inside (hint: it begins with D7B0)

It's also a command line tool so you'll have to write down the commands, or simply create a new text file,
write the command inside, save it and change the extension from .txt to .bat

I recommend copying the Wii VC folder (that contains the other 3 folders, code, content and meta) to nuspacker's folder.
That will make everything easier.

The command works like this (replace with the names of your own folders)
If you folders have spaces in their names, enclose them in quotation marks, like "Just Dance".
Code:
java -jar nuspacker.jar -in GAME_FOLDER -out INSTALATION_FILES_FOLDER

Wiait until it finishes the process.
Now just copy the folder with the installation data to the "install" folder SD card, run a CFW and install it with WUP Installer GX2!

PS: If you make a nonfunctional game, remember to uninstall it before trying again.
If you install a fiunctional game over a broken installation, it will still appear as broken.
 

Attachments

  • WiiScrubber [V-1.40 A-2009].rar
    528.8 KB · Views: 1,378
  • NUSpacker.zip
    59.6 KB · Views: 1,337
  • jnustool.zip
    99.6 KB · Views: 1,421
  • nfs2iso2nfs v0.5.4.zip
    11.3 KB · Views: 870
Last edited by piratesephiroth, , Reason: updated nfs2nfs2iso

victormr21

Well-Known Member
Member
Joined
Dec 29, 2015
Messages
565
Trophies
0
XP
498
Country
Has anyone gotten a Mario Kart Wii patched with wiimmfii to boot up? I've been trying since yesterday, but it stays on a black screen. I assume it's because the wiimmfii patcher scrubs/trims the ISO. So what do?
Please someone, reply, I have the same problem and ATM people won't upload the game's lol
 

sabykos

Well-Known Member
Member
Joined
Jun 10, 2013
Messages
283
Trophies
1
Age
36
XP
729
Country
Gambia, The
@piratesephiroth
I'm currently away from my WiiU, but I took a quick look at my old code and noticed that I hardcoded parts of the header. This might be the reason why trimmed games dont work. The first 0x24 Bytes of the header are always the same if your base iso is a normal 4,7 GB iso, thats why I hardcoded it. I guess trimmed isos cut away parts of iso which lie before the game Partition. This fucks everything up. I'll take a look at this at the weekend. A quick and dirty solution would be replacing

Code:
header[0x0]=0x45;
header[0x1]=0x47;
header[0x2]=0x47;
header[0x3]=0x53;

header[0x4]=0x00;
header[0x5]=0x01;
header[0x6]=0x10;
header[0x7]=0x11;

header[0x8]=0x00;
header[0x9]=0x00;
header[0xA]=0x00;
header[0xB]=0x00;

header[0xC]=0x00;
header[0xD]=0x00;
header[0xE]=0x00;
header[0xF]=0x00;

header[0x10]=0x00;
header[0x11]=0x00;
header[0x12]=0x00;
header[0x13]=0x03;

header[0x14]=0x00;
header[0x15]=0x00;
header[0x16]=0x00;
header[0x17]=0x00;

header[0x18]=0x00;
header[0x19]=0x00;
header[0x1A]=0x00;
header[0x1B]=0x01;

header[0x1C]=0x00;
header[0x1D]=0x00;
header[0x1E]=0x00;
header[0x1F]=0x08;

header[0x20] = 0x00;
header[0x21] = 0x00;
header[0x22] = 0x00;
header[0x23] = 0x02;

header[0x24] = (byte)((sizeInfo[0] / 0x8000) / 0x1000000);
header[0x25] = (byte)(((sizeInfo[0] / 0x8000) / 0x10000) % 0x100);
header[0x26] = (byte)(((sizeInfo[0] / 0x8000) / 0x100) % 0x10000);
header[0x27] = (byte)((sizeInfo[0] / 0x8000) % 0x1000000);

header[0x28] = (byte)((sizeInfo[1] / 0x8000) / 0x1000000);
header[0x29] = (byte)(((sizeInfo[1] / 0x8000) / 0x10000) % 0x100);
header[0x2A] = (byte)(((sizeInfo[1] / 0x8000) / 0x100) % 0x10000);
header[0x2B] = (byte)((sizeInfo[1] / 0x8000) % 0x1000000);

header[0x1FC] = 0x53;
header[0x1FD] = 0x47;
header[0x1FE] = 0x47;
header[0x1FF] = 0x45;
by
Code:
header[0x0]=0x45;
header[0x1]=0x47;
header[0x2]=0x47;
header[0x3]=0x53;

header[0x4]=0x00;
header[0x5]=0x01;
header[0x6]=0x10;
header[0x7]=0x11;

header[0x8]=0x00;
header[0x9]=0x00;
header[0xA]=0x00;
header[0xB]=0x00;

header[0xC]=0x00;
header[0xD]=0x00;
header[0xE]=0x00;
header[0xF]=0x00;

header[0x10]=0x00;
header[0x11]=0x00;
header[0x12]=0x00;
header[0x13]=0x01;

header[0x14]=0x00;
header[0x15]=0x00;
header[0x16]=0x00;
header[0x17]=0x00;

header[0x18] = (byte)((<size of game.iso> / 0x8000) / 0x1000000);             //might be good if you round up the size of game.iso to the next multiple of 0x8000
header[0x19] = (byte)(((<size of game.iso> / 0x8000) / 0x10000) % 0x100);
header[0x1A] = (byte)(((<size of game.iso> / 0x8000) / 0x100) % 0x10000);
header[0x1B] = (byte)((<size of game.iso> / 0x8000) % 0x1000000);

header[0x1FC] = 0x53;
header[0x1FD] = 0x47;
header[0x1FE] = 0x47;
header[0x1FF] = 0x45;

But no guarantee, this is just a guess
 

Columbo2811

Well-Known Member
Member
Joined
Jul 19, 2015
Messages
1,399
Trophies
0
XP
1,064
Country
Has anyone gotten a Mario Kart Wii patched with wiimmfii to boot up? I've been trying since yesterday, but it stays on a black screen. I assume it's because the wiimmfii patcher scrubs/trims the ISO. So what do?
What format is the game in? Is it a full ISO or .wbfs. If it's a .wbfs have you tried rebuilding back to full ISO with wiibackup manager. All the games I've done have been from .wbfs format but converting them back to ISO with wiibackup manger and they all pretty much worked that way. Just a suggestion that may or may not work.

Anyone tested Animal Crossing? I want to surprise my sister for her birthday with a WiiU and she loved it on the Gamecube.
It's not a classic controller compatible game.
 
Last edited by Columbo2811,
  • Like
Reactions: peteruk and Glix

Supster131

(づ。◕‿‿◕。)づ *:・゚✧
Member
Joined
Jan 19, 2016
Messages
3,315
Trophies
1
Location
My Computer
XP
2,758
Country
United States
What format is the game in? Is it a full ISO or .wbfs. If it's a .wbfs have you tried rebuilding back to full ISO with wiibackup manager. All the games I've done have been from .wbfs format but converting them back to ISO with wiibackup manger and they all pretty much worked that way. Just a suggestion that may or may not work.
I've always just tried ISO, but I'll try your suggestion.

EDIT: @Columbo2811 Wii Backup Manager won't convert .wbfs back to ISO once it's patched.

EDIT 2: So I decided to patch the game from scratch (while in its wbfs form). I was able to convert it back to an ISO, but unfortunately it still ended up being scrubbed. So we either need to wait until we can inject scrubbed games, or have to find a way to stop the wiimmfii patcher from scrubbing.
 
Last edited by Supster131,
  • Like
Reactions: Columbo2811

crowfeathers

Member
Newcomer
Joined
Sep 4, 2017
Messages
20
Trophies
0
Age
32
XP
52
Country
United States
Try setting them to 1 and see what it does.
Perhaps that could emulate Wiimote through the Gamepad's inputs.

Though I'm not sure if both "ext_dev_nunchaku" and "ext_dev_classic" are set as "bool" in the code, or if they can have more than two values set to them.

they're integers, so they could be any value really. I'll give 1 a try and see if anything happens but it could be looking for some specific number, or they may do nothing at all. Could anyone with a different VC game see if the values differ in those meta.xml?
 

Saintseiya911

Well-Known Member
Newcomer
Joined
Sep 4, 2017
Messages
50
Trophies
0
Age
42
XP
614
Country
United States
Hello everyone I'm a total noob to the Wii u scene but got a question could someone try WWE 13 as it had controller support if I remember right if so I'd appreciate it as that and Cod-MW3 is what I'm interested in once I get a VC game
 

ShadowOne333

QVID PRO QVO
Editorial Team
Joined
Jan 17, 2013
Messages
12,246
Trophies
2
XP
34,864
Country
Mexico
they're integers, so they could be any value really. I'll give 1 a try and see if anything happens but it could be looking for some specific number, or they may do nothing at all. Could anyone with a different VC game see if the values differ in those meta.xml?
Integers huh?
Might be interesting to see what differences are tgere between values.
 

piratesephiroth

I wish I could read
OP
Member
Joined
Sep 5, 2013
Messages
3,453
Trophies
2
Age
103
XP
3,234
Country
Brazil
I've always just tried ISO, but I'll try your suggestion.

EDIT: @Columbo2811 Wii Backup Manager won't convert .wbfs back to ISO once it's patched.

EDIT 2: So I decided to patch the game from scratch (while in its wbfs form). I was able to convert it back to an ISO, but unfortunately it still ended up being scrubbed. So we either need to wait until we can inject scrubbed games, or have to find a way to stop the wiimmfii patcher from scrubbing.
have you tried patching it with wit (from wiimm's tools?)
Code:
wit edit game.iso --wiimmfi
 

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,835
Country
Australia
Hi All,

Reading through all the comments, there is one questions that still needs to be clarified and maybe updated in the first post?

In regards to the Wii game being used:
- Does it need to be a true 1:1 copy from original source, either own backup or scene release?
- What if the Wii game has already been scrubbed and in WBFS form, using Wii Backup Manager to convert WBFS back to ISO (1:1), will this still work?

As I would assume most would download the scrubbed/wbfs format to save on download and are having issues injecting Wii games.

Most of my Wii collection is in scrubbed/wbfs format converted back to ISO (1:1), and my injects keeps booting to black screen, so I want to know if the WBFS => ISO is causing issues with injects.

For those that have successful Wii injects, what Wii game format are you using? 1:1 dumps either personal or scene release, or converted ISO from scrubbed/WBFS format.

Cheers
 

cucholix

00000780 00000438
Member
Joined
Jan 17, 2017
Messages
3,246
Trophies
1
Age
44
XP
6,301
Country
Chile
Hi All,

Reading through all the comments, there is one questions that still needs to be clarified and maybe updated in the first post?

In regards to the Wii game being used:
- Does it need to be a true 1:1 copy from original source, either own backup or scene release?
- What if the Wii game has already been scrubbed and in WBFS form, using Wii Backup Manager to convert WBFS back to ISO (1:1), will this still work?

As I would assume most would download the scrubbed/wbfs format to save on download and are having issues injecting Wii games.

Most of my Wii collection is in scrubbed/wbfs format converted back to ISO (1:1), and my injects keeps booting to black screen, so I want to know if the WBFS => ISO is causing issues with injects.

For those that have successful Wii injects, what Wii game format are you using? 1:1 dumps either personal or scene release, or converted ISO from scrubbed/WBFS format.

Cheers
Hey xs4all, I see you are jumping into Wii VC injection, nice heh :P

I only can speak from my results, I haven't used WBFS to ISO yet, but @monkeyman4412 mentioned that he successfully injected a game that way, it seems he used a patched fw.img though (attached to this post).

I've only used stock fw.img with 1:1 rips from my own collection using CleanRip (HBC), I've had excelent results with Xenoblade as base for games compatibles with CC.
 

Attachments

  • newfw.rar
    843 KB · Views: 171

epicmartin7

Well-Known Member
Member
Joined
Aug 5, 2015
Messages
428
Trophies
0
Age
25
XP
1,059
Country
United States
@piratesephiroth
I'm currently away from my WiiU, but I took a quick look at my old code and noticed that I hardcoded parts of the header. This might be the reason why trimmed games dont work. The first 0x24 Bytes of the header are always the same if your base iso is a normal 4,7 GB iso, thats why I hardcoded it. I guess trimmed isos cut away parts of iso which lie before the game Partition. This fucks everything up. I'll take a look at this at the weekend. A quick and dirty solution would be replacing

Code:
header[0x0]=0x45;
header[0x1]=0x47;
header[0x2]=0x47;
header[0x3]=0x53;

header[0x4]=0x00;
header[0x5]=0x01;
header[0x6]=0x10;
header[0x7]=0x11;

header[0x8]=0x00;
header[0x9]=0x00;
header[0xA]=0x00;
header[0xB]=0x00;

header[0xC]=0x00;
header[0xD]=0x00;
header[0xE]=0x00;
header[0xF]=0x00;

header[0x10]=0x00;
header[0x11]=0x00;
header[0x12]=0x00;
header[0x13]=0x03;

header[0x14]=0x00;
header[0x15]=0x00;
header[0x16]=0x00;
header[0x17]=0x00;

header[0x18]=0x00;
header[0x19]=0x00;
header[0x1A]=0x00;
header[0x1B]=0x01;

header[0x1C]=0x00;
header[0x1D]=0x00;
header[0x1E]=0x00;
header[0x1F]=0x08;

header[0x20] = 0x00;
header[0x21] = 0x00;
header[0x22] = 0x00;
header[0x23] = 0x02;

header[0x24] = (byte)((sizeInfo[0] / 0x8000) / 0x1000000);
header[0x25] = (byte)(((sizeInfo[0] / 0x8000) / 0x10000) % 0x100);
header[0x26] = (byte)(((sizeInfo[0] / 0x8000) / 0x100) % 0x10000);
header[0x27] = (byte)((sizeInfo[0] / 0x8000) % 0x1000000);

header[0x28] = (byte)((sizeInfo[1] / 0x8000) / 0x1000000);
header[0x29] = (byte)(((sizeInfo[1] / 0x8000) / 0x10000) % 0x100);
header[0x2A] = (byte)(((sizeInfo[1] / 0x8000) / 0x100) % 0x10000);
header[0x2B] = (byte)((sizeInfo[1] / 0x8000) % 0x1000000);

header[0x1FC] = 0x53;
header[0x1FD] = 0x47;
header[0x1FE] = 0x47;
header[0x1FF] = 0x45;
by
Code:
header[0x0]=0x45;
header[0x1]=0x47;
header[0x2]=0x47;
header[0x3]=0x53;

header[0x4]=0x00;
header[0x5]=0x01;
header[0x6]=0x10;
header[0x7]=0x11;

header[0x8]=0x00;
header[0x9]=0x00;
header[0xA]=0x00;
header[0xB]=0x00;

header[0xC]=0x00;
header[0xD]=0x00;
header[0xE]=0x00;
header[0xF]=0x00;

header[0x10]=0x00;
header[0x11]=0x00;
header[0x12]=0x00;
header[0x13]=0x01;

header[0x14]=0x00;
header[0x15]=0x00;
header[0x16]=0x00;
header[0x17]=0x00;

header[0x18] = (byte)((<size of game.iso> / 0x8000) / 0x1000000);             //might be good if you round up the size of game.iso to the next multiple of 0x8000
header[0x19] = (byte)(((<size of game.iso> / 0x8000) / 0x10000) % 0x100);
header[0x1A] = (byte)(((<size of game.iso> / 0x8000) / 0x100) % 0x10000);
header[0x1B] = (byte)((<size of game.iso> / 0x8000) % 0x1000000);

header[0x1FC] = 0x53;
header[0x1FD] = 0x47;
header[0x1FE] = 0x47;
header[0x1FF] = 0x45;

But no guarantee, this is just a guess
So wait? Would this also allow romhacks to work now?
 

piratesephiroth

I wish I could read
OP
Member
Joined
Sep 5, 2013
Messages
3,453
Trophies
2
Age
103
XP
3,234
Country
Brazil
@piratesephiroth is there a good reason to use jnustool as opposed to using WU_Decrypt_Content _GUI_0.10.0 if i already have a WiiVC to grab the files from ?
jnustool is just an alternative if you don't have a WiiVC. You're able to get only the necessary stuff, skpping the nfs files, so it's only 16MB to download.
 
  • Like
Reactions: markehmus

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    SylverReZ @ SylverReZ: https://www.youtube.com/watch?v=dbSORc_3_Yw