How to create a custom Wii U forwarder for ANY vWii Homebrew + gamepad support

After many many hours of research and testing, I have finally learned how to make a forwarder for ANY vWii homebrew. Something I've realized is that a lot of people have the wrong idea of how TeconMoon's injector works when you inject homebrew which is the root of most of the confusion. The two most common problems I saw people having were just not being able to get the homebrew working themselves with an inject that way, or when it did work they were unable to update the homebrew unless they made a new inject. That's because the injector doesn't make an automatic forwarder that will just point to /sd/apps/xxx/boot.dol, it injects the specific boot.dol that you selected to be installed. This means if you were trying to make a forwarder for snes9xgx, and you selected its boot.dol for the inject, you wouldn't even need to have snes9xgx in your apps folder for it to launch from this inject because the homebrew is fully installed. The problem with creating injects with the homebrews own boot.dol is that some of them simply don't work at all, and even the ones that do will need to be manually updated with a new inject and install whenever the homebrew gets updated. But that all changes today...

1. On your PC, download and install devkitPro.

2. Once installed, download devkitPPC r29-1 and extract it. Navigate to your devkitPro folder (usually on the root of your C drive). Delete the devkitPPC folder and then drag in the one you extracted from the download.

3. Download these libogc and portlibs folders, and back inside your devkitPro folder, delete the existing libogc and portlibs folders and replace them with the ones you downloaded.

4. Download the forwarder templates and extract them to your desktop, it should give you two folders "1 Path Template" and "2 Path Template"

5. (Optional, but recommended) Download Visual Studio Code to make editing the code files in the next step easier

6. Go into the folder for the template you want to use -> source and open main.c with Visual Studio Code. Scroll down to line 50 and where it says "YOURAPP", and change that text to exactly match the name of of the app you want to forward in /sd/apps, for example if you were making a forwarder for snes9xGX the updated line would look like const char *fPath = "sd:/apps/snes9xgx/boot.dol"; if you are using the 2 Path Template, meaning you want the forwarder to look in two different possible locations for the boot.dol of the app, change the path in line 54 to what you want the secondary path to be. Once you're done updating the path in the main.c file, go to File -> Save and then you can close out of Visual Studio Code.

7. Open Msys2 (search for it in start menu if you can't find it), once opened you need to type a few commands to build your .dol for the forwarder. First, type "cd desktop" and press enter, then type "cd 1 path template" or "cd 2 path template" depending on which template you're using. Now you should just type "make" and hit enter, and it should build your boot.dol pretty fast. You can find it in the "1 Path Template" or "2 Path Template" folders, whichever one you're using.

8. Now that you have your boot.dol, you need to download and open TeconMoon's VC Injector Mod. At the top select "Wii Homebrew Injection" and for game, select the new boot.dol that you just compiled. You can customize the title, icon, banners, logo, and boot sound to your liking. If you are making a forwarder for WiiSXRX, Wii64, Nintendont or some other homebrew that benefits from c2w patches, make sure to enable them in the "Advanced" tab.

9. VERY IMPORTANT before you build the title, you're going to need to change the Title ID in the GamePad/Meta options tab. This is very important as if you have two forwarders that use the same title ID you will run into issues. Keep track of Title IDs when doing this and make sure 2 are never identical. My personal suggestion for this is changing the last number to go up by one each time. I don't know if it makes a difference but I personally suggest sticking to changing numbers only and ones that are towards the end of the title ID. Once you're sure you have a unique title ID selected, go to the "Build Title" tab and click on build.

10. Copy the new folder you just made with TeconMoon's injector to the install folder of your SD card and put it back in your Wii U. Boot up, install with WUP Installer, and enjoy your fancy new vWii homebrew forwarder from your Wii U homescreen! Anytime your homebrew updates now all you will need to do is update the boot.dol in your apps folder!

Credits:

@SaulFabre for the method of using nintendont autoboot forwarder as a base for the forwarders + the libogc and portlibs files

@TeconMoon for the lovely injector

@FIX94 for the nintendont autoboot forwarder that is used as a base

@leseratte for making it possible to still download old versions of devkitPro

The devkitPro team
 

mrmagicm

Well-Known Member
Member
Joined
May 27, 2018
Messages
792
Trophies
0
Age
49
XP
1,215
Country
France
Thanks tehtemp, A vbagx had been made somewhere in the forum but wasn't working for me....Yours is working Perfectly!!!!! (not CROSS or PAD problem on gamepad), I didn't have the bug told before, I could installed it with the Wup installer GX2 from my WiiU startpage (Did you change something during creation?)
Also, to all, Notice that VBAGX has 2 advantage that mGBA, it's support full Screen on TV and when you are inside emulator, you can QUIT the emulator with HOME, which is not the case with mGBA!!
would you know response to this question: Was wondering it is the wiiU forwarder, the WAD or the wii program that makes it able to use all the Cross AND PAD of the gamepad?
Also, the possibility to have "access" to SD, does it come from the wiiU forwarder, the WAD or the wii program?
Is there only 1 , 2 or 3 out of the 3 needed?
(For Example: the wii64 Rice forwarder made at the moment doesn't allow access to SD but a rom is launchable if I put a rom on SD\wii64\roms)
 
Last edited by mrmagicm,

tehtemp

Well-Known Member
Newcomer
Joined
Apr 25, 2022
Messages
77
Trophies
0
Location
.
XP
224
Country
Canada
would you know response to this question: Was wondering it is the wiiU forwarder, the WAD or the wii program that makes it able to use all the Cross AND PAD of the gamepad?

The gamepad input is due to the implementation of the libwiidrc library to the homebrew app. I already mention this here: https://gbatemp.net/threads/how-to-...-homebrew-gamepad-support.614406/post-9865858

Also, the possibility to have "access" to SD, does it come from the wiiU forwarder, the WAD or the wii program?

Not sure what you mean here. All Teconmoon injects should have SD access.
 

AdamCatalyst

Well-Known Member
Member
Joined
May 26, 2020
Messages
179
Trophies
0
XP
1,128
Country
Canada
2. Once installed, download devkitPPC r29-1 and extract it. Navigate to your devkitPro folder (usually on the root of your C drive). Delete the devkitPPC folder and then drag in the one you extracted from the download.

This site appears to be down. Does anyone have a mirrored or cached version of devkitPPC r29-1 they can share?
 
  • Like
Reactions: SaulFabre

mrmagicm

Well-Known Member
Member
Joined
May 27, 2018
Messages
792
Trophies
0
Age
49
XP
1,215
Country
France
Not sure what you mean here. All Teconmoon injects should have SD access.
No a wiiU WII64 forwarder and a wiiflow wiiU forwarder i've seen forbid the use of the SSD card; it seems the app via Forwarder ddin't have access to SD, when I click, it don't react, but WII64 and wifflow do use SSD in normal mode....So there is a pb in forwarder ou a kind of "right" problem.
 
  • Like
Reactions: SaulFabre

ber71

Well-Known Member
Member
Joined
Apr 24, 2019
Messages
558
Trophies
0
Age
58
XP
2,456
Country
Spain
The new tutorial by @SaulFabre and @ploggy is way easier!

Just created a forwarder for mGBA:

Code:
https://anonfiles.com/R6beF337yb/mGBA_zip

mGBA should be located at sd:/apps/mGBA/boot.dol. Inject uses the following title ID: 000500029421FFE8. So check to see if you already have an inject with the same ID before installing with WUP Installer GX.
Ty. Lol, that titleid collides with that from an old inject for vbagx I got from somewhere in the forums. Don't panic, we have a new forwarder for vbagx.
I'd be happy with two more similar forwarders, for snes9xgx and fceugx.
 

AdamCatalyst

Well-Known Member
Member
Joined
May 26, 2020
Messages
179
Trophies
0
XP
1,128
Country
Canada
  • Like
Reactions: SaulFabre

AdamCatalyst

Well-Known Member
Member
Joined
May 26, 2020
Messages
179
Trophies
0
XP
1,128
Country
Canada
I figured out my own problem… seems the issue has to do with Title IDs. To that end, I have a proposal.

What if we try to standardize a system of Title IDs for these sorts of things? For instance, what I've been doing, is deriving the Title ID from the name of the target app. Here is my current system…


1. Take the full name of the target App you are forwarding to. Examples:
- FCE Ultra TX
- Genesis Plus GX
- SNES 9X RX
- Wii 64
- Wii Mednafen


2. Reduce the name to a three character contraction, with the following rules…
  • the first character is the first character in the first word.
  • second character is the first character in the second word. If no second word exists, use the second last letter in the word.
  • third character is the first character in the third word. If no third word exists, use the last letter in the last (or only) word.
SO that translates our names to…
- FUT
- GPG
- S9R
- W64
- WMN


3. Convert each letter to it's number value in the alphabet, with two digits. So A=1, B=1, etc., while numbers stay as themselves. So that gives us…
- 062120
- 071607
- 190918
- 230604
- 231514


4. Combine the digits after the base number 00050002. So for example…
- 00050002062120
- 00050002071607
- 00050002190918
- 00050002230604
- 00050002231514


5. Add a two-digit serial number to the end. Start with 00 and increase by 1 to resolve any conflicts.
- 0005000206212000
- 0005000207160700
- 0005000219091800
- 0005000223060400
- 0005000223151400

So that means If I had a second installation of an app with the exact same name initials as one of these (an alternate Wii64?), the last two digits of that would be 01:

- 0005000223060401


Disclaimer, yeah, I know this system is wild overkill for the handful of channels a few of us want to make and share. I'm just throwing this out there as an idea, albeit one I am sure can be simplified and improved on.
 
  • Like
Reactions: ber71

mrmagicm

Well-Known Member
Member
Joined
May 27, 2018
Messages
792
Trophies
0
Age
49
XP
1,215
Country
France

AdamCatalyst

Good idea indeed, but if you have to redo all the job that has been done....It's seems a bit utopic ou very courageous.
For all the Futur one maybe...

tehtemp

The gamepad input is due to the implementation of the libwiidrc library to the homebrew app. I already mention this here: https://gbatemp.net/threads/how-to-...-homebrew-gamepad-support.614406/post-9865858
If someone is the friend of the authors of FCEUX / FCEULTRA RX and WiiSXRX , could they give them the information that the libwiidrc library he is talking about is missing in their homebrew please?? (FCEUX is missing the PAD, and wiiSXRX the CROSS)
 
Last edited by mrmagicm,

AdamCatalyst

Well-Known Member
Member
Joined
May 26, 2020
Messages
179
Trophies
0
XP
1,128
Country
Canada
Ty. Lol, that titleid collides with that from an old inject for vbagx I got from somewhere in the forums. Don't panic, we have a new forwarder for vbagx.
I'd be happy with two more similar forwarders, for snes9xgx and fceugx.

Here are some forwarders for you! Extremely simple minimalist look, with the system logo as the icon, an image of the console on the main screen, and an 80% scale image of the controller on the Gamepad screen (that's right, I did the math to scale the actual measurements of the controllers to the Gamepad's 158 dpi screen). I'll attach those images here, in case anyone wants to use them in their own versions.

FCE Ultra GX
0005000206210700

FCE Ultra TX
0005000206212000

Genesis Plus GX (works with genplus-gx & genplusgx)
0005000207160700

SNES 9X GX
0005000219090700

SNES 9X RX
0005000219091800

I also did one for Wii Mednafen (which I use as a Turbo Duo Pro emulator), but no point releasing it until it functions on the Gamepad (if ever).



Edit

These have been deleted, as they are superseded now by the complete set available here:
https://gbatemp.net/threads/wii-u-to-vwii-forwarder-channels-ac.618060/
 
Last edited by AdamCatalyst,

mrmagicm

Well-Known Member
Member
Joined
May 27, 2018
Messages
792
Trophies
0
Age
49
XP
1,215
Country
France
I also did one for Wii Mednafen (which I use as a Turbo Duo Pro emulator), but no point releasing it until it functions on the Gamepad (if ever).
I do the same, use it as a Nec PC engine emulator but with latest version of mednafen, as far as can remember the gamepad works

AdamCatalyst : Your Forwarders are the BEST!! Simple, minimalistic Makes load time FAST, I love the pad representation on the gamepad screen.....Could you give your version of Mednafen/wii64/Gxgeo? Another useful one would be Yawmm...why? because if you can launch from the app when you v-wii is screwed, you can repair with this.

 
Last edited by mrmagicm,

ber71

Well-Known Member
Member
Joined
Apr 24, 2019
Messages
558
Trophies
0
Age
58
XP
2,456
Country
Spain
Here are some forwarders for you! Extremely simple minimalist look, with the system logo as the icon, an image of the console on the main screen, and an 80% scale image of the controller on the Gamepad screen (that's right, I did the math to scale the actual measurements of the controllers to the Gamepad's 158 dpi screen). I'll attach those images here, in case anyone wants to use them in their own versions.

FCE Ultra GX
0005000206210700

FCE Ultra TX
0005000206212000

Genesis Plus GX (works with genplus-gx & genplusgx)
0005000207160700

SNES 9X GX
0005000219090700

SNES 9X RX
0005000219091800

I also did one for Wii Mednafen (which I use as a Turbo Duo Pro emulator), but no point releasing it until it functions on the Gamepad (if ever).
Appreciated. However, I tried fceugx and snes9xgx, both resulting in a black screen returning to the wiiu menu. The emulators work fine in vwii, their path being correct because I use the official forwarder channels.
EDIT nvm I'm stupid, forgot to move the sdcard from pc. The forwarders do work perfectly.
 
Last edited by ber71,

sonictopfan

Well-Known Member
Member
Joined
Mar 2, 2010
Messages
2,701
Trophies
1
XP
1,923
Country
There are a couple of Wii emulators that I would like to be able to use with the gamepad, wiimednafen and mgba, could you or someone else create wup forwarders for them, plz? I can attach the dol files if it helps.
 

SaulFabre

I like Yoshis and the Wii/Wii U scene.
Member
Joined
Feb 6, 2019
Messages
3,170
Trophies
1
Age
25
Location
Ecuador
Website
saulfabreg-wiivc.blogspot.com
XP
7,734
Country
Ecuador
There are a couple of Wii emulators that I would like to be able to use with the gamepad, wiimednafen and mgba, could you or someone else create wup forwarders for them, plz? I can attach the dol files if it helps.
WiiMednafen and mGBA Wii doesn't support the Wii U GamePad yet
 
  • Like
Reactions: AdamCatalyst

AdamCatalyst

Well-Known Member
Member
Joined
May 26, 2020
Messages
179
Trophies
0
XP
1,128
Country
Canada
Appreciated. However, I tried fceugx and snes9xgx, both resulting in a black screen returning to the wiiu menu. The emulators work fine in vwii, their path being correct because I use the official forwarder channels.
EDIT nvm I'm stupid, forgot to move the sdcard from pc. The forwarders do work perfectly.

:) I can't count the amount of times I've done similar things, then regretted posting when I realized what my mistake was. In fact, just skim up the post and you'll see me redacting an entire post for my stupidity. :) Thanks for trying them out, and thanks for letting me know!
 
  • Like
Reactions: ber71

AdamCatalyst

Well-Known Member
Member
Joined
May 26, 2020
Messages
179
Trophies
0
XP
1,128
Country
Canada
I do the same, use it as a Nec PC engine emulator but with latest version of mednafen, as far as can remember the gamepad works

AdamCatalyst : Your Forwarders are the BEST!! Simple, minimalistic Makes load time FAST, I love the pad representation on the gamepad screen.....Could you give your version of Mednafen/wii64/Gxgeo? Another useful one would be Yawmm...why? because if you can launch from the app when you v-wii is screwed, you can repair with this.


Sure, I can upload the Medafen one, and doing a fresh wii64 & not64 one should be easy enough. It'll have to wait a bit, but will get to it as soon as I can. Going to pass on the Yawmm, it's not even an app I am familiar with. If you follow Saul's post:

https://gbatemp.net/threads/how-to-...-homebrew-gamepad-support.614406/post-9909318

I think you'll find it is unbelievably easy to make one yourself and test it out. It's crazy how something that has been so mystifying to so many of us for so long, is suddenly an easy to follow recipe!

p.s. Wait, what!?!? Which version of Mednafen are you using!??!
 

tehtemp

Well-Known Member
Newcomer
Joined
Apr 25, 2022
Messages
77
Trophies
0
Location
.
XP
224
Country
Canada
Here are some forwarders for you! Extremely simple minimalist look, with the system logo as the icon, an image of the console on the main screen, and an 80% scale image of the controller on the Gamepad screen (that's right, I did the math to scale the actual measurements of the controllers to the Gamepad's 158 dpi screen). I'll attach those images here, in case anyone wants to use them in their own versions.

FCE Ultra GX
0005000206210700

FCE Ultra TX
0005000206212000

Genesis Plus GX (works with genplus-gx & genplusgx)
0005000207160700

SNES 9X GX
0005000219090700

SNES 9X RX
0005000219091800

I also did one for Wii Mednafen (which I use as a Turbo Duo Pro emulator), but no point releasing it until it functions on the Gamepad (if ever).
Thanks Adam! I've updated my forwarder list here: https://gbatemp.net/posts/9874152
 
  • Like
Reactions: AdamCatalyst

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Psionic Roshambo @ Psionic Roshambo: https://www.youtube.com/@legolambs