Hacking USB Loader GX

  • Thread starter Thread starter blackb0x
  • Start date Start date
  • Views Views 8,061,601
  • Replies Replies 30,225
  • Likes Likes 74
I have RunningSnakes' RetroArch Hexaeco emulators installed with their forwarders. I can access them from USB Loader GX, which is fantastic.

However, when I exit I am brought back to the Wii System Menu instead of to USB Loader GX. I have toggled the "Return To" option in the Game Load settings and neither the "USB Loader GX" or the "OFF' options seem to change this. It still exits to the Wii System Menu.

Is this a known issue or is there some other setting I need to change?
 
I've never been able to get NEEK to work correctly, so I can't come up with a solution for you. But is there a reason you're still using NEEK? The loaders built in EmuNAND options are superior now.
IT was the only thing I got it to work. The rest just turns off my USB and my Wii doesn't start.

NEEK I use to start some of my WiiWare games (like Paper Mario), since it freezes on normal EmuNAND from USB Loader GX.
 
Unfortunately, I don't think it's possible to get it to a point where reads and writes perfectly align with a real disc drive and NAND flash. And I know that if it's not perfect then any speedruns would likely be removed under analysis.
I had a feeling that'd be the case, but I really appreciate the response, thank you!💜
 
Silly question but can the USB loader GX load GameCube games in Wii mode similar to Nintendont in order to take advantage of Wiis higher clock speed?
 
Silly question but can the USB loader GX load GameCube games in Wii mode similar to Nintendont in order to take advantage of Wiis higher clock speed?
USB Loader GX can't load GameCube games, it instead needs another loader to handle that, acting as a frontend to the actual GameCube loader. And guess what's the recommended loader to use with USB Loader GX?

So just booting up a GameCube game via USB Loader GX will then boot the game from Nintendont.
 
  • Like
  • Love
Reactions: ChibiMofo and XFlak
Is there a way to have a dedicated disc channel on the channel view of usb loader gx ? I don't like having to click the half of a disc icon stuck in the the wii shop channel icon
 
Last edited by Pikachuk,
Hello. I'm interested in the emuNAND compatibility with N64 virtual console games.

I own a PAL Wii and I use it with RGB on a CRT, so I'll stick to the PAL versions. I have installed d2x-v11-beta3 with Slot 248 base 38, Slot 249 base 56, Slot 250 base 57, Slot 251 base 58 as stated in the first post. I have emuNAN instaled on a 4TB HDD and everything is working fine except a few N64 games that don't boot:

Cruis'n USA - freezes on classic controller screen
Kirby 64: The Crystal Shards - black screen
Lylat Wars - It didn't work. But I found and injected rom with the Spanish 3DS dub/translation and it works.
Mario Golf - freezes on classic controller screen
Paper Mario - freezes on classic controller black screen
Pokémon Puzzle League - freezes on classic controller screen
Wave Race 64 - black screen / EDIT: it does work.

According to this wiki, there are some cases where games worked with older cios and stop working with modern cios. It also says that with more modern cios incompatibility might be because of the HDD and not the cios fault. All the other N64 and Wiiware games work, so I think my HDD (4TB WD Elements SE) isn't the issue.

Is there a way to run the N64 games that don't work? Like selecting a diferent cios or changing the settings? Or is it assumed that these don't work at the moment?

All of these N64 games work fine in ULoader and the old Hermes cios. I tried to select those cios but USB Loader GX didn't allow it because of how its emuNAND works, heh. So it's not a big deal if I can't play those games from USB Loader GX, but I would like to have access to all games from the same app if possible.

---

I'm also having trouble with categories... I wanted to have the N64 games separated from the Wiiware games, so I created a 'Nintendo 64' category and use it in all the emuNAND and realNAND N64 games. But when I search by that category only the real NAND games show up. It doesn't matter if I'm in the emuNAND or 'Custom selection' menu (the one with the puzzle icon), the emuNAND channels don't show. I have tried all the possible combinations without luck.
Is it a bug? I'm using the latest v4.0-r1283.

Thanks.
 
Last edited by Sogun,
  • Like
Reactions: Sander1974
Is there a way to have a dedicated disc channel on the channel view of usb loader gx ? I don't like having to click the half of a disc icon stuck in the the wii shop channel icon
You can just click the disc icon next to the install icon (+) and it'll boot a game from a disc. This is assuming you're using the default theme.

According to this wiki, there are some cases where games worked with older cios and stop working with modern cios. It also says that with more modern cios incompatibility might be because of the HDD and not the cios fault. All the other N64 and Wiiware games work, so I think my HDD (4TB WD Elements SE) isn't the issue.
That wiki is severely outdated, since many of the N64 games that previously didn't work now do with d2x-v11-beta3 and USB Loader GX r1283. However, you would need to create a new EmuNAND if you ever installed games to an EmuNAND via an older version of the loader.

Is there a way to run the N64 games that don't work? Like selecting a diferent cios or changing the settings? Or is it assumed that these don't work at the moment?
Installing the problematic games to your NAND might make them playable.

The next version of the cIOS drastically improves compatibility. It might even work with 100% of the games. I haven't tested everything yet to prove it though.

I'm also having trouble with categories... I wanted to have the N64 games separated from the Wiiware games, so I created a 'Nintendo 64' category and use it in all the emuNAND and realNAND N64 games. But when I search by that category only the real NAND games show up. It doesn't matter if I'm in the emuNAND or 'Custom selection' menu (the one with the puzzle icon), the emuNAND channels don't show. I have tried all the possible combinations without luck.
Is it a bug? I'm using the latest v4.0-r1283.
Categories aren't something that I typically use, so I'll need to look into this when I've got a little more time.
 
Last edited by blackb0x,
However, you would need to create a new EmuNAND if you ever installed games to an EmuNAND via an older version of the loader.
The next version of the cIOS drastically improves compatibility. It might even work with 100% of the games. I haven't tested everything yet to prove it though.
with the next cIOS will the EmuNAND again have to be recreated? or was that only the case with that particular revision/update of USBLoaderGX?

a weird thing people rarely mention is that problematic games like Majora's Mask and Paper Mario did work if you waited long enough.. at least that was my experience going back two years now. they both looked like they're frozen on either the 'N'logo or the 'Please connect classic controller' message, but after about a full minute if you pressed a button Majora's Mask started and played normally. for Paper Mario i think if you disconnected and reconnected the classic controller it started up. the problem is if you press the home button during gameplay it'll again take forever to return to the game.. and i think trying to exit freezes up the console.
 
  • Like
Reactions: impeeza
For whatever reason, USB Loader GX is no longer booting games for me. Updated everything I could think of- fresh cIOS installations in all recommended slots (d2x-v11-beta1 -> d2x-v11-beta3), Priiloader update (0.9.1 -> 0.10.0), USB Loader GX update (my disc auto-loading branch of r1281 to r1283), and still the same results.

I thought my Wii was busted at first because I was auto-booting USB Loader GX with Priiloader and couldn't seem to load anything at all, couldn't even go back to the Wii system menu.

EDIT: Somehow it has fixed itself? I just went back and forth, launching a disc from the system menu and then trying from USB Loader GX. Threw a couple VC titles in too. Really curious what happened in case it comes up again- IOS corruption?
 
Last edited by bobrocks95,
Hey there, long time usbloader gx user here.
I just wanted to express my apprecation for the project and people that supports it.
The second reason for my post is my curiosity regarding whether it's possible to do 2 things with VC games.
1. Patch on the fly custom palette (NES)
2. Change button mappings. I use mostly gamecube base layout controllers and some snes games have inconvenient setup (for example Super Mario World).

Anyway thanks!
 
Sorry for the delayed replies. I've been quiet lately because I've been busy working on things.

In all honesty, the updates taking longer than I expected due to unforeseen changes made by the devkitPro team. For example, they recently abandoned the threading system that's worked perfectly fine in homebrew apps for decades and replaced it with something called Tuxedo. However, Tuxedo doesn't support time slicing, which means you now have to fine-tune thread priorities and manually yield to avoid race conditions where one thread can block another.

Why this was forced onto every developer instead of offering both options, I don't know, but I really don't like it.

with the next cIOS will the EmuNAND again have to be recreated? or was that only the case with that particular revision/update of USBLoaderGX?
No. That was only an issue with older versions of the loader, because it failed to install shared content correctly but still updated content.map as if it had been installed. As a result, some games wouldn't work because files were missing.

a weird thing people rarely mention is that problematic games like Majora's Mask and Paper Mario did work if you waited long enough.. at least that was my experience going back two years now.
This is with d2x-v11-beta3 and USB Loader GX r1283.
NARP-001.png


If you reset the loader to it's default settings or create a new EmuNAND and you still experience problems, then there's a good chance my next update will fix things for you.

The second reason for my post is my curiosity regarding whether it's possible to do 2 things with VC games.
1. Patch on the fly custom palette (NES)
2. Change button mappings. I use mostly gamecube base layout controllers and some snes games have inconvenient setup (for example Super Mario World).
I won't make any promises, but these features might show up in a future release.

I use usb loader gx for playing wii games from SD card, 0 problems so far. But I'm wondering if Wiiflow is still better for sd card users?
Wiiflow is better, period!
Haha, I admire the confidence :lol: But in all seriousness, they both use the SD card in exactly the same way, so neither is really "better" there.

WiiFlow focuses more on UI customisation and plugins, whereas with USB Loader GX I've focused more on game compatibility and adding new features. So which one is better is subjective, since it'll depend on your needs and what appearance you prefer.

USB Loader GX has received a number of updates addressing long-standing game issues while also adding new features. And although some of these improvements have made their way into other loaders over time (e.g., WiiFlow 5.6.0), USB Loader GX still tends to offer broader compatibility and more features. For example, it supports game backup creation, correctly pillarboxes 4:3 games on vWii, and for the past 9 months you've been able to pair Wiimotes directly within the loader.

My next update is a major one that'll improve both game and drive compatibility, among other things. However, I'm taking a "when it's ready" approach with this update, so I can't say exactly when it'll be released.
 
Last edited by blackb0x,
One question I have is about the possibility of emulating motion controls using buttons on the classic controller in future versions, like in the VR Loader. This improvement would be a dream come true for lovers of the classic game style (especially now that we no longer have updates to the ocarina code project).
 
In all honesty, the updates taking longer than I expected due to unforeseen changes made by the devkitPro team. For example, they recently abandoned the threading system that's worked perfectly fine in homebrew apps for decades and replaced it with something called Tuxedo. However, Tuxedo doesn't support time slicing or parallelism, which means you now have to fine-tune thread priorities and manually yield to avoid race conditions where one thread can block another.

Why this was forced onto every developer instead of offering both options, I don't know, but I really don't like it.
AFAIU, the old API has been kept for compatibility, and the intent is that it should work just like before. I think you should file an issue in github, as it's very likely that the regressions you are experiencing are not intentional.
 
One question I have is about the possibility of emulating motion controls using buttons on the classic controller in future versions, like in the VR Loader. This improvement would be a dream come true for lovers of the classic game style (especially now that we no longer have updates to the ocarina code project).
Via game patching alone, that's unlikely to happen. However, if fakemote continues to receive updates, it might eventually become possible.

If someone were to put time into enhancing it, something like the OGX-Mini project could also be a cheap universal option, since it would work throughout the entire system.

AFAIU, the old API has been kept for compatibility, and the intent is that it should work just like before. I think you should file an issue in github, as it's very likely that the regressions you are experiencing are not intentional.
Unfortunately, it's not a drop-in replacement that works the same way. Daco has also confirmed that it intentionally doesn't support time slicing and now requires you to manually yield.

I assume no further changes are coming and that fincs prefers things this way. But personally, in its current state, I view Tuxedo as a downgrade that's been forced onto everyone so that the library can distance itself from the older RTEMS inspired code.

I'm not sure if it's even possible without causing conflicts, but IMO, at a minimum, the older code should have been offered as a library for people who prefer or require something that supports preemptive scheduling.
 
Last edited by blackb0x,
  • Like
Reactions: lauty29

Site & Scene News

Popular threads in this forum