Tutorial  Updated

fwpatcher: fw.img patcher for WiiU WiiVC firmware image

fwpatcher: fw.img patcher for WiiU WiiVC firmware image

Since about two weeks, it is possible to inject custom ISO files and homebrew into the WiiU WiiVC games, as seen in this thread: https://gbatemp.net/threads/wii-on-wii-u-virtual-console-injecting-games.483007/

The main piece of software that is responsible for handling all the differences between WiiU mode and vWii is a file called "fw.img". That file has been released by Nintendo in three different versions: r569, r570 and r590.

Because there are now quite a few different patches for this file, including a Trucha patch for non-signed content, all hidden in some posts in the thread above, I have decided to create a small tool called "fwpatcher". I have read the whole thread and other related threads and embedded all the patching info into that tool. Most patches have also been ported to it doesn't matter which version of the fw.img you use (although I still recommend using r590. The ported patches are not tested yet, and not all patches are ported).

How does this work?

For an exact description on how to edit the WiiU VC game contents, please refer to the thread linked above. This thread is only about patching the fw.img file.

To patch that file, first download my tool: https://download.florian-bach.de/fwpatcher_0.01_current.zip

If you have followed the tutorial above until step 1, you should have a "fw.img" somewhere. Open a command line and execute "fwpatcher-win64.exe INTERACTIVE fw.img" (obviously replace program name if you use another OS).

The patcher will give you a list of patches and ask which ones you want to apply. If you don't understand a patch, press "h" for help and it will be explained. Otherwise, press "y" or "n" to select the patches you want to apply. The patched file will be stored as "fw-new.img".

The tool also supports the command CHECK ("fwpatcher-win64.exe CHECK fw.img"), that command analyzes an fw.img and tells you which patches have been applied.

Supported patches

- Trucha (all versions)
- ES_Identify (all versions)
- HW_AHBPROT (all versions)
- HW_MEMPROT (all versions)
- Wiimotes in Gamepad mode (all versions)
- Gamepad Cache flush (r590 only) to use Gamepad in homebrew
- Emulate Wiimote only instead of Classic Controller (all versions)
- Emulate sideways Wiimote (all versions)
- Swap L&R with ZL&ZR buttons (r590 only)
- Nintendont patches (r590 only)

Changelog

Code:
fwpatcher v0.01 r20-31a911a2 - 2017-09-16:
- Unknown patches will be recognized by the CHECK command and a warning
  message will be printed.

fwpatcher v0.01 r19-16520666 - 2017-09-16:
- Help and recommended value for each patch added.
- Patch combinations are now validated (some patches require another,
  some are incompatible)

fwpatcher v0.01 r17-ea6c6acd - 2017-09-15:
- New Nintendont patch (fix94) added
- Bugfix where certain patches weren't always recognized

fwpatcher v0.01 r16-3108dffd - 2017-09-15:
- Initial release
- Can patch an fw.img file
- Can check which patches have been applied
- "Gamepad Cache flush" and "L-R -> ZL-ZR" patch are not ported to all versions
  yet (r590) needed for those.
- Not all ported patches have been tested.
 
Last edited by leseratte,

gudenau

Largely ignored
Member
Joined
Jul 7, 2010
Messages
3,882
Trophies
2
Location
/dev/random
Website
www.gudenau.net
XP
5,364
Country
United States
If these gamers support the classic controller, the edits in the meta.xml should be enough. If it doesn't, "Emulate Wiimote only" and maybe "Wiimote sideways" may help.


There is not much to say about these.

They have a header of 0x10 bytes.
At 0x00 is the header length (0x10)
At 0x04 is the length of an unknown data block (identical in all three versions)
At 0x08 is the length of the ELF file
0x0c is empty.

Then, there is the unknown block, and then an ARM ELF file.
How big is the block?
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,648
Country
France
it injects a Wii ISO into a WiiU Wii virtual console channel. (you know, the wii games you can download on WiiU eShop and install/launch on WiiU menu)
this tool let you generate new channels for Wii games not available on eShop, if ou have the Wii game ISO.

This tool is a "all in one" application.
it's a program which let you do the process easily, instead of using 5 different tools you use only 1.
 
Last edited by Cyan,

CatmanFan

Anxious and regretful
Member
Joined
Aug 14, 2016
Messages
1,962
Trophies
0
Website
www.youtube.com
XP
2,584
Country
Morocco
it injects a Wii ISO into a WiiU Wii virtual console channel. (you know, the wii games you can download on WiiU eShop and install/launch on WiiU menu)
this tool let you generate new channels for Wii games not available on eShop, if ou have the Wii game ISO.

This tool is a "all in one" application.
it's a program which let you do the process easily, instead of using 5 different tools you use only 1.
You're talking about the WiiVC Injector Script, aren't you?
This tool (fwpatcher) simply patches the fw.img in a Wii VC game to allow for lots of stuff, such as running homebrew, playing GameCube ISOs using Nintendont, and using the Wii U GamePad as a Wii Remote.
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,648
Country
France
ohh, you are right.
sorry XD

pff, dealing with too many threads at the same time, I'm mixing everything haha


WiiVC injector will prevent you from using fwpatcher manually. (it's one of the "5 tools you have to use manually")
either you use different tools one after the other, or you use wiivcinjector.
maybe the "manual tools" have more features and usefulness.
 
Last edited by Cyan,
  • Like
Reactions: CatmanFan

TeconMoon

Well-Known Member
Member
Joined
Aug 7, 2007
Messages
749
Trophies
1
XP
2,605
Country
United States
@leseratte I've been trying to test the patch for wiimotes in GamePad mode, but when I try it on Super Smash Bros. Brawl and Mario Kart Wii, the GamePad just gets disabled as a controller. Is this a known issue with the patch, or am I applying it incorrectly? (Essentially adding the patch and making sure the DRC_Use in the meta is 65537).
 

TeconMoon

Well-Known Member
Member
Joined
Aug 7, 2007
Messages
749
Trophies
1
XP
2,605
Country
United States
But you do select Gamepad mode when starting the game right?
Yes I do, after that the GamePad doesn't work as a controller at all, but touching the touch screen does still show the no touch icon when you touch it instead of the notice that the GamePad can't be used as a controller.
 

plastikman187

Member
Newcomer
Joined
Jan 27, 2017
Messages
23
Trophies
0
Age
42
XP
59
Country
United States
Can this be used to allow usb peripherals? I have been trying to make Skylanders work with VC injects but the portal of power is not recognized when loading Wii mode.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: https://youtu.be/MddR6PTmGKg?si=mU2EO5hoE7XXSbSr