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,377
  • NUSpacker.zip
    59.6 KB · Views: 1,334
  • jnustool.zip
    99.6 KB · Views: 1,420
  • nfs2iso2nfs v0.5.4.zip
    11.3 KB · Views: 869
Last edited by piratesephiroth, , Reason: updated nfs2nfs2iso

pedro702

Well-Known Member
Member
Joined
Mar 3, 2014
Messages
12,729
Trophies
2
Age
33
XP
8,720
Country
Portugal
I dont know about WiiU pro but if I disable the gamepad the Wiimote + Nunchuck work fine :)
latest not64 does support wiiu pro now, so you can load roms and play fine? thats great, like people said did you try resincing the gamepad when the not64 is on the screen? just walk away from wiiu and come back, maybe resync can make not64 see it.
 

pedro702

Well-Known Member
Member
Joined
Mar 3, 2014
Messages
12,729
Trophies
2
Age
33
XP
8,720
Country
Portugal
No, shit sherlock. I told him to go into the vWii menu from the Wii U first, that way he can sync it. Then boot up the Wii Inject that he made and use it on there.
he cant sync it since the gamepad is not BT controller at all, vwii only picks up BT controllers... not that it matter since entering and exiting vwii clears everything anyway ...
 

DarthDub

Amateur Hacker
Member
Joined
Jan 26, 2016
Messages
2,834
Trophies
1
Age
34
Location
Your mom's basement.
Website
www.gaiaonline.com
XP
3,634
Country
United States
he cant sync it since the gamepad is not BT controller at all, vwii only picks up BT controllers... not that it matter since entering and exiting vwii clears everything anyway ...
Wait, syncing the Wii U Pro controller gets lost after a reboot? (I don't have this controller so I wouldn't know.)
 

pedro702

Well-Known Member
Member
Joined
Mar 3, 2014
Messages
12,729
Trophies
2
Age
33
XP
8,720
Country
Portugal
Wait, syncing the Wii U Pro controller gets lost after a reboot? (I don't have this controller so I wouldn't know.)
obviously what happens on vwii is vwii when you backup to wiiu menu you need to boot the controller again, and like i said gamepad is not BT it will never sync.
 

DarthDub

Amateur Hacker
Member
Joined
Jan 26, 2016
Messages
2,834
Trophies
1
Age
34
Location
Your mom's basement.
Website
www.gaiaonline.com
XP
3,634
Country
United States
Wait, syncing the Wii U Pro controller gets lost after a reboot? (I don't have this controller so I wouldn't know.)
obviously what happens on vwii is vwii when you backup to wiiu menu you need to boot the controller again, and like i said gamepad is not BT it will never sync.
I was never referring to GamePad, I was referring to Wii U Pro controller since someone mentioned that Not64 recently got support for it.
 

daxtsu

Well-Known Member
Member
Joined
Jun 9, 2007
Messages
5,627
Trophies
2
XP
5,194
Country
Antarctica
For trimmed games, has anyone tried using a hex editor to pad the ISO size to something that's a multiple of 256MB or the nearest power of two? Perhaps Wii VC needs this in order to boot properly (I'm trying it as we speak, but yeah). Losing 256MB at most isn't the biggest deal when you can potentially save gigabytes per game.

Edit: Nope. It just kicks me back to the Wii U menu (said padded ISO boots in Dolphin just fine). I guess there's something more to it.
 
Last edited by daxtsu,

craftsk8

Well-Known Member
Newcomer
Joined
May 18, 2016
Messages
56
Trophies
0
Age
39
XP
104
Country
Serbia, Republic of
Could anyone help. I did all by instruction in the first post. Trying inject No More Heroes 2(created iso from wbfs image by using Wii Backup Manager) into Xenoblade Chronicles as base game. When i start game gets just black screen after boot Wii logo and console is freezing.
Maybe in instruction something important is missing?
 

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
OK, I thought about it once more and there are more changes that need to be made... I'll take a look at it once I have Access to my WiiU
 
  • Like
Reactions: zeldaism and daxtsu

victormr21

Well-Known Member
Member
Joined
Dec 29, 2015
Messages
565
Trophies
0
XP
498
Country
Thanks to @daxtsu , we realized the issue was cdecrypt. Once we moved over to jnustool, we no longer had issues.
Since then, I gave Mario Kart Wii patched with wiimmfii (scrubbed) another try... and it booted! Online works and all too! I was even able to inject my save.

How can we inject Wii saves In Wii U? Also how can I extract Wii's saves

OK, I thought about it once more and there are more changes that need to be made... I'll take a look at it once I have Access to my WiiU
If you want I can offer my Wii U for your tests!
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: https://www.techradar.com/gaming/consoles-pc/ayns-new-gaming-handheld-looks-like-a-psp-and-it-mig...