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
 

Lostbhoy

HEY YOU GUYS!
Member
Joined
Aug 23, 2009
Messages
2,437
Trophies
2
Age
44
Location
Scotland
XP
5,006
Country
United Kingdom
This is some good work and very interesting. I'm wary of the "any" homebrew however as I have a possible few that are maybe admittedly a rarity and obscure!!

I love the wii ports of Rik Dangerous and Giddy 3 and gamepad support was always the dream!! I had tried the 'old' way to try a forwarder with obviously no success but I always wondered if it had anything to do with the asset folders that come with the dols which were missing from the inject.

I'll certainly be giving this a go later... Fingers crossed!! Thanks man!
 
  • Like
Reactions: SaulFabre

Lostbhoy

HEY YOU GUYS!
Member
Joined
Aug 23, 2009
Messages
2,437
Trophies
2
Age
44
Location
Scotland
XP
5,006
Country
United Kingdom
Wow! It actually worked.... To a degree!!

I managed to get Rik Dangerous and OpenBor to load however no gamepad control at all. Still gives the little crossed out pen icon when touching the screen. :sad:

Still tho, getting these two to boot is a massive step!
 
  • Like
Reactions: Walwii

tehtemp

Well-Known Member
Newcomer
Joined
Apr 25, 2022
Messages
77
Trophies
0
Location
.
XP
224
Country
Canada
It should be noted that the Wii homebrew must have added support for libwiidrc, which is a library that supports Wii U gamepad input. If it doesn't, then the Wii U Gamepad will not be supported.

Most of the main Wii emulators have added support for libwiidrc, except for Not64. I don't think any homebrew games have added libwiidrc support, but I could be wrong.
 
Last edited by tehtemp,

Trudes

Well-Known Member
OP
Newcomer
Joined
Mar 2, 2014
Messages
62
Trophies
0
Location
VT
XP
293
Country
United States
It should be noted that the Wii homebrew must have added support for libdrc, which is a library that supports Wii U gamepad input. If it doesn't, then the Wii U Gamepad will not be supported.

Most of the main Wii emulators have added support for libdrc, except for Not64. I don't think any homebrew games have added libdrc support, but I could be wrong.

Yes that is something that I worded quite poorly. The gamepad support will work for any vWii homebrew that has updated to support the gamepad, it unfortunately won’t automatically for ANY homebrew and I realize I kind of made it sound that way. From my understanding, adding gamepad support to stuff shouldn’t be too tricky so now that you have devkitPro you might be able to update some homebrew yourself to add gamepad support with a little bit of research. That’s something I definitely want to look into next.
 

meeeow

Well-Known Member
Member
Joined
Aug 21, 2021
Messages
100
Trophies
0
XP
609
Country
Germany
It should be noted that the Wii homebrew must have added support for libdrc, which is a library that supports Wii U gamepad input. If it doesn't, then the Wii U Gamepad will not be supported.
that is probably the reason why I did not get eduke32 (port of Duke Nukem 3D) to work with the gamepad which drove me crazy.
 
  • Like
Reactions: SaulFabre

godreborn

Welcome to the Machine
Member
Joined
Oct 10, 2009
Messages
38,471
Trophies
3
XP
29,062
Country
United States
works through cmd prompt. I always use visual studio code for modifying something, definitely a nice app to have:

1656368316998.png
 

mrmagicm

Well-Known Member
Member
Joined
May 27, 2018
Messages
785
Trophies
0
Age
49
XP
1,206
Country
France
I pray for a couple of wiiU forwarders to come......(openbor, FCEUGX that works, usbloader, mednafen)...Of course,IF they do not bring the following options, they are USELESS, Here are the options: WiiU gamepad/gamepadpro/wiimote support/ SDHX SUPPORT (for GXGEO for example loading from bigger sd cards), Special refresh or 720/1080 , Special IOS access 36 & 136 (for outrun cannonball) , HBPROT/ Ios 58 they will seem to be no "real" interest with these forwarder because you can use hbl2hbc. This method is important for the "added" features value I think.
 
Last edited by mrmagicm,

Sowden

Well-Known Member
Member
Joined
Sep 21, 2021
Messages
239
Trophies
0
Age
57
XP
934
Country
United States
So I've been using this process to make forwarders and it has all been working great, up until I tried to make a WiiFlow Lite one. As this process forwards the programs through WiiVC, it gives access to use the Gamepad which is great, but the tradeoff is that you lose access to any USB hard drives. So the old hbl2hbc haxchi process is still the winner here. I wonder if there is some way around this to make this process work with WiiFlow.
 
  • Like
Reactions: Lostbhoy

smary

New Member
Newbie
Joined
Sep 6, 2009
Messages
1
Trophies
0
Age
54
Website
flagyl-400g.110mb.com
XP
34
Country
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  
Your kind words warmed my heart))
 

tehtemp

Well-Known Member
Newcomer
Joined
Apr 25, 2022
Messages
77
Trophies
0
Location
.
XP
224
Country
Canada
Here is a list of forwarders I've compiled from across GBATemp:

vWii Homebrew

Homebrew AppForwarder WUP DownloadForwarder AuthorNotes
FCE Ultra GXhttps://gbatemp.net/threads/618060/AdamCatalystTitle ID: 0005000206210700
FCE Ultra TXhttps://gbatemp.net/threads/618060/AdamCatalystTitle ID: 0005000206212000
Genesis Plus GX1. https://gbatemp.net/posts/9862780SaulFabreTitle ID: 00050002A08300C4
If you previously installed danny19901's mGBA inject, this will conflict with that one.
2. https://gbatemp.net/threads/618060/AdamCatalystTitle ID: 0005000207160700
3. https://gbatemp.net/posts/9917575LostbhoyTitle ID: 00050002A08300C9
mGBA1. https://gbatemp.net/posts/9909496tehtempTitle ID: 000500029421FFE8
2. https://gbatemp.net/threads/618060/AdamCatalystTitle ID: 0005000215070100
Not64https://gbatemp.net/threads/618060/AdamCatalystTitle ID: 0005000214060400
Note: Not64 does not support the Wii U Gamepad yet.
OpenBORhttps://gbatemp.net/posts/9918985LostbhoyTitle ID: 00050002A08300D1
Note: OpenBOR Wii does not support the Wii U Gamepad yet.
Snes9x GXhttps://gbatemp.net/threads/618060/AdamCatalystTitle ID: 0005000219090700
Snes9X RX1. https://github.com/niuus/Snes9xRX/releases/download/v5.3.0/Snes9xRX_WiiUChannelFWD.zipniuusOfficial forwarder
2. https://gbatemp.net/posts/616640/LostbhoyTitle ID: 00050002A08333C4
3. https://gbatemp.net/threads/618060/AdamCatalystTitle ID: 0005000219091800
Snes9x TXhttps://gbatemp.net/threads/618060/AdamCatalystTitle ID: 0005000219092000
Visual Boy Advance GX1. https://gbatemp.net/posts/9909551/tehtempTitle ID: 000500029421FFE9
2. https://gbatemp.net/threads/618060/AdamCatalystTitle ID: 0005000222020100
Wii64 & Wii64 RICE1. https://github.com/emukidid/Wii64/issues/78#issuecomment-1012512842--Download and extract /apps/wii64_wiivc/ and /apps/wii64 Rice_wiivc/ to your SD card and remove the "_wiivc" from the folder name.
Title ID for Wii64: 00050000102098FF
Title ID for Wii64RICE: 0005000254A5F0BE
2. https://gbatemp.net/threads/618060/AdamCatalyst
Title ID for Wii64: 0005000223060400
Title ID for Wii64RICE: 0005000223061800
WiiMednafenhttps://gbatemp.net/threads/618060/AdamCatalystTitle ID: 0005000223151400
Note: WiiMednafen does not support the Wii U Gamepad yet.
WiiSXRX1. https://github.com/niuus/WiiSXRX/releases/download/v2.6/WiiSXRX_WiiU_ChannelFWD.zipniuusTitle ID: 00050002103562ff
Make sure to download and extract the latest WiiSXRX .zip from Github to your SD card.
2. https://gbatemp.net/posts/9927357LostbhoyTitle ID: 0005000201102022
WiiSXRX 2022https://gbatemp.net/posts/9874104tehtempTitle ID: 00050002A08300C5


Wii U Homebrew

This is only applicable to non-Aroma installations.

Homebrew AppForwarder WUP DownloadForwarder AuthorNotes
Ship of Harkinianhttps://gbatemp.net/posts/9903541/V10latorTitle ID: 0005000013374F00
Points to sd:/wiiu/apps/soh/soh.rpx.
Sonic Mania1. https://gbatemp.net/posts/9922443/LostbhoyTitle ID: 0005000073428946
2. https://gbatemp.net/posts/9923884Rayz0rumTitle ID: 0005000013324F00
Super Mario 64https://gbatemp.net/posts/9949461/Rayz0rum


If I am missing your forwarder, let me know.

Also to create your own vWii forwarder, follow this tutorial by SaulFabre: https://gbatemp.net/posts/9909318. For a Wii U RPX forwarder, see https://gbatemp.net/posts/9921644 (this one requires the use of Github to automate the forwarder builds or optionally, knowledge of compiling from source).
 
Last edited by tehtemp,

Sowden

Well-Known Member
Member
Joined
Sep 21, 2021
Messages
239
Trophies
0
Age
57
XP
934
Country
United States
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.
Hey guys. So I have gotten to this point with Teconmoons tool, and I've ran into a problem. If I check the cafe2wii checkbox (which is needed for overclock to work), then when I go to make the WUP, I open the folder and it's empty. It says it finished but it created an empty folder. If I uncheck the box, it makes the WUP as normal, but with no overclock. Anyone have any ideas on how this is happening?
 
  • Like
Reactions: SaulFabre

Trudes

Well-Known Member
OP
Newcomer
Joined
Mar 2, 2014
Messages
62
Trophies
0
Location
VT
XP
293
Country
United States
Hey guys. So I have gotten to this point with Teconmoons tool, and I've ran into a problem. If I check the cafe2wii checkbox (which is needed for overclock to work), then when I go to make the WUP, I open the folder and it's empty. It says it finished but it created an empty folder. If I uncheck the box, it makes the WUP as normal, but with no overclock. Anyone have any ideas on how this is happening?

I used to have the same thing happen. I noticed it only happened when I used the base version of the injector and not the mod created by timefox. Try using the other version here and let me know if that works.
 
  • Like
Reactions: SaulFabre

mrmagicm

Well-Known Member
Member
Joined
May 27, 2018
Messages
785
Trophies
0
Age
49
XP
1,206
Country
France
Thanks a lot tehtemp for forwarders links!
I notice some Forwarders like WiiSXRX 2022 are imperfect, on my side, the wiius Gamepads cross works on the gamepad but not the Paddle, is there a miss? Also, it's not alway the ios58 for the forwarder that has been selected.
Wii64 Forwarder doesn't work, it can't load rom from SD cards.....
Missing please: WiiU forwarder for BlueMSX , Openbor, NEOGEO......ALL with gamepad full +ios58+Sd support please would be so nice!
Ps: No ways to change hbl2hbc to give full gamepad support to any application that it targets?
 
Last edited by mrmagicm,

Sowden

Well-Known Member
Member
Joined
Sep 21, 2021
Messages
239
Trophies
0
Age
57
XP
934
Country
United States
I used to have the same thing happen. I noticed it only happened when I used the base version of the injector and not the mod created by timefox. Try using the other version here and let me know if that works.
That fixed the issue! I never clicked on your link in your first post cause I thought I already had it. My fault for overlooking it. Thanks for your help!
 

Walwii

Active Member
Newcomer
Joined
Jul 21, 2020
Messages
36
Trophies
0
Age
39
XP
531
Country
Brazil
Several months ago I commented in a Saulfabre video if it was possible to make a forwarder in the wiiu menu that would load your SRLs.

Hey, now it's possible. You are amazing.

The tutorial didn't quite work for me. I had to move the contents of "1 path template" to my desktop to be able to compile boot.dol. Other than that, it's wonderful. I created a forwarder for 3d space cadet pinball wii and it worked like magic.

I repeat... you are amazing. Thanks
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • K3Nv2 @ K3Nv2:
    You haven't grown into your flute yet lad
    +1
  • BakerMan @ BakerMan:
    my flute is just tiny as is
  • BakerMan @ BakerMan:
    it's rather hard to play
  • K3Nv2 @ K3Nv2:
    World's smallest flute player
    +2
  • BakerMan @ BakerMan:
    who up yoinkin they sploinky rn?
  • BigOnYa @ BigOnYa:
    I'll send you few of my made beats, lets here you flow on them.
  • BakerMan @ BakerMan:
    i don't rap
  • BakerMan @ BakerMan:
    but i could play some mediocre guitar over it
  • BakerMan @ BakerMan:
    actually, rather shitty guitar
  • K3Nv2 @ K3Nv2:
    Was it the one Bob Marley rolled blunts on
  • BakerMan @ BakerMan:
    nope
  • BakerMan @ BakerMan:
    i tried learning guitar, but i abandoned that learning endeavor for some reason
  • BigOnYa @ BigOnYa:
    I love playing bass more than reg guitar. I've been playing bass guitar since high school. Been in few bands, but never went anywhere, was fun times tho.
  • BigOnYa @ BigOnYa:
    I have bunch studio toys nowday, MPC drum machine, keyboard, sythns, etc, I still jam out here n then. But I'm the same, I don't rap or sing.
  • BakerMan @ BakerMan:
    i'm not really a singer, but when i listen to music while working i often catch myself singing along
  • ZeroT21 @ ZeroT21:
    i must have a singing cake
  • BigOnYa @ BigOnYa:
    This is usually how I do it:
    +2
  • BakerMan @ BakerMan:
    "till i see yo monkey ass drop" 💀😭
    +2
  • K3Nv2 @ K3Nv2:
    Bass players are always important so important a computer can replace them
  • BakerMan @ BakerMan:
    oof
  • BakerMan @ BakerMan:
    i think i could do drums, not much theory to learn, just rhythm and time signatures/meters
  • BakerMan @ BakerMan:
    dammit still no warthog mixed emojis
    BakerMan @ BakerMan: dammit still no warthog mixed emojis