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
 
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
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
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,
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.
 
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
works through cmd prompt. I always use visual studio code for modifying something, definitely a nice app to have:

1656368316998.png
 
My apologies @tehtemp and @Trudes, I did mean to bracket that part in regarding the gamepad support being present in the original homebrew... My bad, tho I thought it was still worth a shot!!

Thanks again for the research and info @Trudes, great work man!
 
  • Like
Reactions: SaulFabre
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,
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
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))
 
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 TX1. https://gbatemp.net/threads/618060/AdamCatalystTitle ID: 0005000206212000
2. https://gbatemp.net/posts/10470193HomeStarRunnerTronTitle 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
4. https://gbatemp.net/posts/10470193HomeStarRunnerTronTitle ID: 0005000207160700
mGBA1. https://gbatemp.net/posts/9909496tehtempTitle ID: 000500029421FFE8
2. https://gbatemp.net/threads/618060/AdamCatalystTitle ID: 0005000215070100
3. https://gbatemp.net/posts/10470193HomeStarRunnerTronTitle ID: 0005000213070200
Nintendonthttps://gbatemp.net/posts/10470193HomeStarRunnerTronTitle ID: 0005000214142000
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
4. https://gbatemp.net/posts/10470193HomeStarRunnerTronTitle ID: 0005000219182400
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
3. https://gbatemp.net/posts/10470193HomeStarRunnerTronTitle ID: 0005000222022400
Wii64 & Wii64 RICE1. https://github.com/emukidid/Wii64/issues/78#issuecomment-1012512842pedro702Download 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/AdamCatalystTitle ID for Wii64: 0005000223060400
Title ID for Wii64RICE: 0005000223061800
3. https://gbatemp.net/posts/10470193HomeStarRunnerTronTitle ID for Wii64RICE: 0005000223180500
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
WiiStationhttps://gbatemp.net/posts/9968410/SaulFabreTitle ID: 0005000257533158

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.
 
Last edited by tehtemp,
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
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
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,
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!
 
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