Hacking USB Loader GX

  • Thread starter cyrex
  • Start date
  • Views 7,167,095
  • Replies 29,363
  • Likes 48

JacobM

Well-Known Member
Member
Joined
Jun 16, 2017
Messages
242
Trophies
0
XP
600
Country
United States
About the AHB issue, I think it's because the loader force a reload to cIOS to init he devices instead of keeping IOS255.

In the early days of WiiU WiiVC, Nintendont versions 4.451 and below ran into a similar error message even though AHB was disabled via fw.img. I quoted the relevant discussion below.

When I try to boot Nintendont it says it needs <ahb_access/> enabled in the Meta.xml (even though it is) and locks up/reboots (cant remember which)

Just setting it in the meta.xml doesnt help, whatever first loads on the wii has to have it disabled already (which is normally the job of the homebrew channel), you could probably patch it in the fw.img though by searching for this:
685B22EC0052189B681B
and replacing it by this:
685B22EC0052189B23FF
to just disable AHBPROT on whatever gets loaded first.

I patched my fw.img with those changes but it still gives the same error?

That may mean that actually it never reloads the IOS into a real one but just changes the IOS number handed over to fake reload. This would mean none of nintendonts patches apply since its not real IOS58 (all patches in nintendont are hardcoded for IOS58 only) so it just throws the same error at you as if AHBPROT was still enabled, nintendonts error messages just arent smart enough to distinguish between those issues.
 

OuahOuah

Well-Known Member
Member
Joined
Oct 2, 2006
Messages
1,072
Trophies
1
Age
46
Location
France
Website
www.ouahouah.eu
XP
764
Country
France
Ok, got WiiU Pro Controller working in GC from USBGX..

@Cyan Could you change display ?
I'd like to have a "switch button" to switch between "GC+Wii" / "GC" / "Wii" when I click on it, instead of clicking on the display icon then ticking checkbox then ok.
 

GreyWolf

Well-Known Member
Member
Joined
Mar 2, 2015
Messages
5,399
Trophies
0
Age
54
XP
1,516
Country
United States
Ok, got WiiU Pro Controller working in GC from USBGX..

@Cyan Could you change display ?
I'd like to have a "switch button" to switch between "GC+Wii" / "GC" / "Wii" when I click on it, instead of clicking on the display icon then ticking checkbox then ok.

Button switching is handled by Nintendont, not GX.

Oh, you mean the game categories.
 
  • Like
Reactions: OuahOuah

JacobM

Well-Known Member
Member
Joined
Jun 16, 2017
Messages
242
Trophies
0
XP
600
Country
United States
Tested the following as WiiU WiiVC...

Configurable USB Loader MOD 70r78.11 (http://cfgusbloader.ntd.homelinux.org/trac/CfgUSBLoader/).
  • Under default settings (changed source = SD & loader = Nintendont) GameCube games are able to autoboot. This uses an outdated method that briefly enters the Nintendont interface and provides a few seconds to cancel autoboot before the game is loaded. Using this method, WiiU Gamepad & GameCube controllers work flawelessly.
  • Addition of "nintendont_config_mode=arg" into the configuration file switches to ARGS command line based loading of Nintendont (faster/streamlined). This results in a black screen lockup exactly like that experienced when using USBLoaderGX.

Nintendont Autoboot Forwarder v1.2 (https://github.com/FIX94/nintendont-autoboot-forwarder/).
  • By default uses ARGS command line loading and successfully loads any GameCube game with simultaneous WiiU Gamepad and GameCube controller support.

I guess this shows that both CfgUSBLoaderMOD and USBLoaderGX have implemented ARGs similarly, but are both missing something critical that makes FIX94's autobooter successful. Unfortunately, I don't think there is much more input that I can provide on this issue. I hope either Cyan or GreyWolf can one day identify the root cause! Thanks for everything you do!
 

GreyWolf

Well-Known Member
Member
Joined
Mar 2, 2015
Messages
5,399
Trophies
0
Age
54
XP
1,516
Country
United States
Tested the following as WiiU WiiVC...

Configurable USB Loader MOD 70r78.11 (http://cfgusbloader.ntd.homelinux.org/trac/CfgUSBLoader/).
  • Under default settings (changed source = SD & loader = Nintendont) GameCube games are able to autoboot. This uses an outdated method that briefly enters the Nintendont interface and provides a few seconds to cancel autoboot before the game is loaded. Using this method, WiiU Gamepad & GameCube controllers work flawelessly.
  • Addition of "nintendont_config_mode=arg" into the configuration file switches to ARGS command line based loading of Nintendont (faster/streamlined). This results in a black screen lockup exactly like that experienced when using USBLoaderGX.

Nintendont Autoboot Forwarder v1.2 (https://github.com/FIX94/nintendont-autoboot-forwarder/).
  • By default uses ARGS command line loading and successfully loads any GameCube game with simultaneous WiiU Gamepad and GameCube controller support.

I guess this shows that both CfgUSBLoaderMOD and USBLoaderGX have implemented ARGs similarly, but are both missing something critical that makes FIX94's autobooter successful. Unfortunately, I don't think there is much more input that I can provide on this issue. I hope either Cyan or GreyWolf can one day identify the root cause! Thanks for everything you do!

What is the Nintendont video scale set at in your loader options? If it's not 0, set it to that and see if it works.
 

tswntk

Well-Known Member
Member
Joined
Aug 6, 2012
Messages
1,018
Trophies
1
XP
2,369
Country
Switzerland
I guess this shows that both CfgUSBLoaderMOD and USBLoaderGX have implemented ARGs similarly, but are both missing something critical that makes FIX94's autobooter successful. Unfortunately, I don't think there is much more input that I can provide on this issue. I hope either Cyan or GreyWolf can one day identify the root cause! Thanks for everything you do!

that just shows it is probably more a problem from nintendont. The first time when this happened with the addition of the game autoboot option (?), they also denied it is a problem from nintendont until someone fixed the problem with just a single line of code. Maybe this time is a bit different but still this happened when nintendont changed its HID code...

Too bad, I can't find those conversations. IIRC, it is fixed by some one called air-something...
 

JacobM

Well-Known Member
Member
Joined
Jun 16, 2017
Messages
242
Trophies
0
XP
600
Country
United States
What is the Nintendont video scale set at in your loader options? If it's not 0, set it to that and see if it works.

It was defaulted to 40, setting it to 0 did not solve the issue. Good idea though!

that just shows it is probably more a problem from nintendont. The first time when this happened with the addition of the game autoboot option (?), they also denied it is a problem from nintendont until someone fixed the problem with just a single line of code. Maybe this time is a bit different but still this happened when nintendont changed its HID code...

Too bad, I can't find those conversations. IIRC, it is fixed by some one called air-something...

That was my initial feeling as well. What threw me off was the fact that Fix94s autobooting forwarder works perfectly and (I believe) it is based on the same boot method. You, Cyan, and GreyWolf know way more than I ever will about Wii Homebrew and I trust your expertise on these topics. Fix94 told us that revision 456 did not change the HID code and that all he changed was the thread priory of the kernel to get HID working.
 

tswntk

Well-Known Member
Member
Joined
Aug 6, 2012
Messages
1,018
Trophies
1
XP
2,369
Country
Switzerland
It was defaulted to 40, setting it to 0 did not solve the issue. Good idea though!



That was my initial feeling as well. What threw me off was the fact that Fix94s autobooting forwarder works perfectly and (I believe) it is based on the same boot method. You, Cyan, and GreyWolf know way more than I ever will about Wii Homebrew and I trust your expertise on these topics. Fix94 told us that revision 456 did not change the HID code and that all he changed was the thread priory of the kernel to get HID working.

Well, that is a change in the HID code, at least the order it is executed...
The previous fix was to init the HID first thing before the main HID argument handler starts. May be the priority now prevents that to happen or simply impossible to be done with WiiVC.

The problem occurs (the first time and this time) only with argument passing AND HID controller plugged in. You can still bypass it with argument passing disabled - they don't really care to maintain the argument passing functionality.

I have avoided nintendont since I don't like the way they insisted to write to HDD on every boot if the games are stored in HDD.
1. by using config file without argument passing
2. auto-update the meta.xml for no reason.
3. I have enough Wii games for the years to come

maybe when I am bored with Wii games, I will at least remove the "auto-update meta.xml" and recompile nintendont then use it with games on SD. I know SD has slow down and stuttering problems but I am really paranoid about frequent writing to a 1TB HDD full of data when you can totally avoided it.
 
Last edited by tswntk,

GreyWolf

Well-Known Member
Member
Joined
Mar 2, 2015
Messages
5,399
Trophies
0
Age
54
XP
1,516
Country
United States
I added auto-updating the meta.xml info to Streamline but it only does it if the version doesn't match.

I generally leave all homebrew and NAND folders on SD and only put game discs on USB. I wish Nintendont had the ability write saves to SD when running from USB. I might look at that again.
 

tswntk

Well-Known Member
Member
Joined
Aug 6, 2012
Messages
1,018
Trophies
1
XP
2,369
Country
Switzerland
I added auto-updating the meta.xml info to Streamline but it only does it if the version doesn't match.

I generally leave all homebrew and NAND folders on SD and only put game discs on USB. I wish Nintendont had the ability write saves to SD when running from USB. I might look at that again.

Thanks, I will keep an eye on that and try it when I decided to pick up GC games again :)

wait, Streamline is for ULGX only?

I had requested to auto-updating the meta.xml only if the version doesn't match or just leave it for manual updating in the Nintendont thread but no one cares.
 
Last edited by tswntk,

GreyWolf

Well-Known Member
Member
Joined
Mar 2, 2015
Messages
5,399
Trophies
0
Age
54
XP
1,516
Country
United States
Thanks, I will keep an eye on that and try it when I decided to pick up GC games again :)

wait, Streamline is for ULGX only?

I had requested to auto-updating the meta.xml only if the version doesn't match or just leave it for manual updating in the Nintendont thread but no one cares.

I named my fork of GX Streamline. I wanted to make it clear it wasn't the official loader.
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,649
Country
France
@Cyan Could you change display ?
I'd like to have a "switch button" to switch between "GC+Wii" / "GC" / "Wii" when I click on it, instead of clicking on the display icon then ticking checkbox then ok.
I understand your concern, but it's like telling other users who want other setup that they are not as important as you.
What about users who want EmuNAND+Wii / EmuNAND + NAND / Wii + NAND + EmuNAND / wii+GC+NAND / Wii+GC+EmuNAND / etc?
I can't make a button for each possibility.

What I wanted to do will require too much time and work to be done (I still wish I'll do it, but don't know how many month it will take for me)
Maybe greywolf can help.
my idea was to create profiles (in tabs or other form) where the user himself decide what to display, and memorize that setting per tab.
like a tab for kids, a tab for wii, a tab for gamecube+Wii, etc. (you create as many tabs as you want), some might be protected (parental control).

I don't know how easy or hard it is to do. the setting itself is probably easy to manage, I just need a way to make the GUI correctly (not the quick tab mod, which is what you really want !)

So, until I find will and time to do the config tabs, you can use the tabmod (located on first post).
maybe @Badablek can compile a version with what you want (3 tabs, 3 easy switch choices !) if you don't know how to recompile yourself.


Jacob :
I will check how the forwarder_autoboot is doing it.
But without checking, just by deduction, I think it's a mix of using both arguments AND config.
the game config is still read from the nincfg.bin file, the forwarder is only telling nintendont to autoboot the injected game located on "emulated disc". (autoboot, path and video mode are probably the only forced settings passed by the forwarder, I don't think the forwarder is forcing memory card or any other settings the user can change)
maybe he added a new way to read both autoboot+file only for the new wiiVC channels.

That's giving us another question :
Why reading everything from the config and only passing the autoboot info as argument is working?
the settings are still read from the file, not all from arguments.
so, I still think nintendont has a problem reading one of these settings when passed by arguments. which one, I don't know yet.
 
Last edited by Cyan,
  • Like
Reactions: OuahOuah

GreyWolf

Well-Known Member
Member
Joined
Mar 2, 2015
Messages
5,399
Trophies
0
Age
54
XP
1,516
Country
United States
It might help to turn on the OSReport setting for Nintendont in USB Loader GX. The log might show something failing after control is passed.
 

JacobM

Well-Known Member
Member
Joined
Jun 16, 2017
Messages
242
Trophies
0
XP
600
Country
United States
I will check how the forwarder_autoboot is doing it.
But without checking, just by deduction, I think it's a mix of using both arguments AND config.
the game config is still read from the nincfg.bin file, the forwarder is only telling nintendont to autoboot the injected game located on "emulated disc". (autoboot, path and video mode are probably the only forced settings passed by the forwarder, I don't think the forwarder is forcing memory card or any other settings the user can change)
maybe he added a new way to read both autoboot+file only for the new wiiVC channels.

That's giving us another question :
Why reading everything from the config and only passing the autoboot info as argument is working?
the settings are still read from the file, not all from arguments.
so, I still think nintendont has a problem reading one of these settings when passed by arguments. which one, I don't know yet.

I think your deductive reasoning is correct. The Autoboot forwarder checks for nincfg.bin and doesn't continue if the file was not previously generated. It appears this check takes place prior to any arguments.

It might help to turn on the OSReport setting for Nintendont in USB Loader GX. The log might show something failing after control is passed.

Unfortunately no ndebug.log is generated by OSReport when Nintendont experiences a black screen lockup. I did get logs from running Nintendont via vWii (with and without HID) and WiiU WiiVC (without controllers plugged in and hot swapping HID). All 4 logs are identical.

I tried to mess with the Debug option under USBLoaderGX nintendont settings, but couldn't figure out how to use it.

I set USBLoaderGX default IOS to 255. While it did speed up the boot up splash screen it did not resolve either of the AHBPROT glitches.
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,649
Country
France
ah, that's a nice idea to set ios to 255, it should prevent the IOS reload.
be sure it's set in the meta.xml too.
maybe it's the forwarder's fault that you lose AHB access.

for nintendont, the forwarder is reading nincfg? then it's sending the file settings to nintendont using arguments, and forcing few settings.
then nintendont has not been modified, and I don't know why the forwarder doesn't have the HID issue.
I don't have HID GC adapter controller to test, but I guess other HID have the same issue. maybe I can find a controller to test with.

I should start hacking my wiiu properly (haxchi) and install channels to it.
I still haven't install haxchi, channels, nor even install cIOS to vWii :P
my wiiu is almost not hacked.

I reconnected my Wii to my TV today. I will be able to test and debug new builds.
I'll re-start development slowly.
 
  • Like
Reactions: wicksand420

Wickie_2358

New Member
Newbie
Joined
Nov 6, 2017
Messages
2
Trophies
0
Age
36
XP
42
Country
United Kingdom
Signed up to this forum in the hope that someone can help me with a problem I'm having with usbloadergx on my Wii.

Was working before, but no longer seems to work.

I can open usbloadergx, select a gamecube game, select cheats, go through the settings everything works. Until I try to load a gamecube game that is.

Instead of booting into nintendont I get a 0.00% screen which wont close. I hold down power on wii remote and it goes to a black screen and won't turn off.
 

Attachments

  • 20171106_185845.jpg
    20171106_185845.jpg
    759.8 KB · Views: 282

Wickie_2358

New Member
Newbie
Joined
Nov 6, 2017
Messages
2
Trophies
0
Age
36
XP
42
Country
United Kingdom
Same issues on an older version (Can't remember which one), tried updating to r1265 yesterday with the same problem.

Using latest release of nintendont.

Hmm tried turning off ocarina and instead of the 0.00% screen it now boots to a black screen. Also wii remote turns off and won't turn back on. Had to hold down wii power button to shut down the system.

Thank you for replying.

Edit: Using a Sandisk Cruzer Blade 32gb flash drive. I can load gamecube games using wiiflow and with cheats, so don't think its a problem with the drive.
 
Last edited by Wickie_2358,

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,649
Country
France
flashdrive is what freeze the wii, but usually it's freezing when writing to drive (dumping a game to iso), I guess yours is also freezing when reading.
try another drive before saying it's not it. (preferably not a flashdrive, but if you only have a flash at least you can't write but you could read)

but it's strange, usually flash have issues on other loaders too.


How are you launching the loader? from wii, vwii, WiiU virtual channel ?
 
Last edited by Cyan,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Flame @ Flame: Never fight uphill, me boys.