Hacking USB Loader GX

  • Thread starter cyrex
  • Start date
  • Views 7,148,463
  • Replies 29,351
  • Likes 47

geoGolem

Well-Known Member
Member
Joined
Feb 18, 2012
Messages
170
Trophies
1
XP
1,275
Country
Canada
@geoGolem Hey,

I would say send me a pull request, but I can see two issues that'd cause me to reject it. The first issue is with the config edits, which shouldn't be required with a normal installation of devkitPro and the second is with the commit that adds the old devKitPPC binaries into the project. Just search for "Collection of old devkitPro versions" and read the posts by WinterMute and you'll quickly understand why I'd rather avoid that headache.

I only have a handful of games on my emunand, so I can't easily benchmark your changes to be sure that they're working. You say that it works though, so I guess I could I could cherry pick the commit and edit it slightly? Giving you credit for it of course.

I haven't been doing a whole lot lately because I'm currently recovering from a back injury and the pain meds make me both dizzy and sleepy. By the weekend I'll try to get this both tested and merged though.
@blackb0x --> thanks for the reply. Sorry to hear about your back! I hope you recover well and quickly.

yes, the only changes I intended to merge would be the actual code changes related to the cache feature, not the configuration changes - i just had a really hard time getting it to build and so made those changes in order that I could build etc. Perhaps we could update the readme on your repo to include specific details and instructions to download and setup the appropriate version of devkitpro.I will continue to look into this, to figure out how to get my environment set-up properly.

if you do merge changes -- i'm not too concerned about getting credit for anything.

The feature seems to be working for me --> it definitely improves performace when using an emunand with say 700 titles installed. It goes from 1 or 2 minutes to a few seconds. The only time someone might run into an issue is if they were using showmiiwads or something to add/remove titles from the emunand. usbloaderGX would not reload them (would just use the stale cache). But I would consider that a user error.. If you were to edit your Nand with ShowMiiWads, you should also delete the cache.bin file.. which would then trigger a reload.

I will look again into seeing getting my build environment setup without the need for any extraneous configuration changes and if I do - i will write a README that we can keep up to date going forward.
 
  • Like
Reactions: blackb0x

JacobM

Well-Known Member
Member
Joined
Jun 16, 2017
Messages
242
Trophies
0
XP
599
Country
United States
@blackb0x
EDIT: I have done some work to integrate brainslug into usbloaderGX. You can see the branch here: https://github.com/geogolem/usbloadergx/commits/integrateBrainslug

Please understand this is a work in progress - i just started looking into it a few days ago.

If there are no brainslug modules on the sd card - games will load like normal - brainslug executes but basically does nothing since it finds no modules.

so far I tested by adding console-gx module to the sd card and trying to load Mario kart.

I do get the console on the bottom portion of the screen and the white wii rmote space warning on the top of the screen. But if I try to proceed further, the top screen goes black and the bottom screen shows
```
Callback...
cancel all threads...
Done...
```

I have a feeling something is wrong with how the entry point is being passed or used or something. If anybody can help it is much appreciated. Special thanks to @leseratte for chatting with me on discord and providing some invaluable information.

If anybody thinks they can help or improve this in any way - please let me know.

Nice! Crossing my fingers that you figure this out!
I am not familiar with the console-gx module other than seeing it demo'd in the past. Can it be patched to an ISO and run through USB Loader GX. If that doesn't work, then there is potential that d2x cIOS is not compatible. You can also try booting from disc through USBLoaderGX with a configurable IOS and brainslug
 

geoGolem

Well-Known Member
Member
Joined
Feb 18, 2012
Messages
170
Trophies
1
XP
1,275
Country
Canada
Nice! Crossing my fingers that you figure this out!
I am not familiar with the console-gx module other than seeing it demo'd in the past. Can it be patched to an ISO and run through USB Loader GX. If that doesn't work, then there is potential that d2x cIOS is not compatible. You can also try booting from disc through USBLoaderGX with a configurable IOS and brainslug
I havent made any progress since my last post. Are you suggesting that it is possible that d2x cIOS is not compatible with the console-gx module but may be with others... (i.e. the gamecube adapter module). i havent tried with any other modules, other than console-gx

I dont have much experience with wii development so, i doubt i will get any further on my own. I will try some other modules later.
 
Last edited by geoGolem,

almmiron

Well-Known Member
Member
Joined
Jan 9, 2012
Messages
423
Trophies
1
XP
1,979
Country
Brazil
Is it possible to run usbloaderGX wii games WITHOUT a disk drive? My wii drive caused issues, completely dead, making noise, and power on the wii out of the blue. I took it off, the wii turns on normally. I tried some games, and none boot.

Black screen for a while, then

"an error has occurred.
Press the Eject button, remove the
Game Disc and turn off the power to the
console. Please read the Wii Operations
Manual for further instructions''
 

JacobM

Well-Known Member
Member
Joined
Jun 16, 2017
Messages
242
Trophies
0
XP
599
Country
United States
I havent made any progress since my last post. Are you suggesting that it is possible that d2x cIOS is not compatible with the console-gx module but may be with others... (i.e. the gamecube adapter module). i havent tried with any other modules, other than console-gx

I dont have much experience with wii development so, i doubt i wont get further on my own. I will try some other modules later.

Not quite. As you know, the current release of wilm0x42's GCA adapter project developed as a cheat for loader injecting which turned out to be incompatible with d2x cIOS. I believe the theory was that custom IOS reroute disc data to USB was conflicting with the USB adapter for control input. The point I am trying to get across is that stuff that works on vanilla IOS may not necessarily work on cIOS due to the custom rerouting code. Brainslug always relies on vanilla IOS and has never (publicly) been tested on any cIOS. a vanilla IOS can be forced in USBLoaderGX when loading a disc based game from the UI.
 
  • Like
Reactions: geoGolem

geoGolem

Well-Known Member
Member
Joined
Feb 18, 2012
Messages
170
Trophies
1
XP
1,275
Country
Canada
Not quite. As you know, the current release of wilm0x42's GCA adapter project developed as a cheat for loader injecting which turned out to be incompatible with d2x cIOS. I believe the theory was that custom IOS reroute disc data to USB was conflicting with the USB adapter for control input. The point I am trying to get across is that stuff that works on vanilla IOS may not necessarily work on cIOS due to the custom rerouting code. Brainslug always relies on vanilla IOS and has never (publicly) been tested on any cIOS. a vanilla IOS can be forced in USBLoaderGX when loading a disc based game from the UI.
I see - thanks for the info.. very interesting.
 

JacobM

Well-Known Member
Member
Joined
Jun 16, 2017
Messages
242
Trophies
0
XP
599
Country
United States
I see - thanks for the info.. So usbloading with brainslug is probably a lost cause.. I wonder about SD loading...
Eh. I wouldn't say a lost cause without some IOS testing. It's clearly possible since wilm0x42 seems to have gotten his version working internally (https://github.com/wilm0x42/wii-gc-adapter-inject/projects/1). Honestly, I feel like modifying his d2x compatible source once it is released to make it compatible with other games will be the easiest and most predictable way to get GCA adapter support in the future. Only time will tell.
 
  • Like
Reactions: geoGolem

skite2001

Member
Newcomer
Joined
Jul 13, 2012
Messages
20
Trophies
1
XP
86
Country
Germany
Did somebody manage to get Nintendont autoboot to work with each different selected gc game instead of only 1 fixed the whole time? It always autoboot to kirby, doesn't matter if i choose a different gc game in usb loader gx.
 

Codemastershock

Well-Known Member
Member
Joined
Oct 14, 2013
Messages
277
Trophies
0
XP
1,067
Country
Brazil
Did somebody manage to get Nintendont autoboot to work with each different selected gc game instead of only 1 fixed the whole time? It always autoboot to kirby, doesn't matter if i choose a different gc game in usb loader gx.
You should choose autoboot in USB Loader gx, not on Nintendont's options.
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,648
Country
France
neek doesn't install itself on the wii.
it's just a different way to run the Wii, by redirecting the entire NAND access. (that's a real "full" mode)

the Neek files are "installed" (just copied with your explorer, like any homebrew you "install" on SD card) by copying the needed files into the sd and/or usb sneek folder.
Then the Neek kernel file is loaded in memory by the dedicated app (nswitch, boot2, usbloadergx, etc.) and the console is forced rebooted. the wii then use that new patched kernel instead of the original one.
 
Last edited by Cyan,

godreborn

Welcome to the Machine
Member
Joined
Oct 10, 2009
Messages
38,471
Trophies
3
XP
29,116
Country
United States
you don't need to use neek to use emunand. as @Cyan mentioned, it's full emunand. only a few games require it. on my wii u, I have it set for castlevania adventure rebirth (known not to work with normal emunand) and valis 2 (doesn't even get to title screen on emunand). both work flawlessly with neek2o. since it's full nand, you have to reset the system or it resets itself on the wii u. I think you use some sort of forwarder or app to reset on the normal wii. it's done automatically on the wii u since the wii is like separate.
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,648
Country
France
the word "full" is misleading.

What you need to understand is that all games don't access files directly on NAND, they ask the currently loaded IOS's module to provide a file, and the IOS look for it then "stream" it to the game.

EmuNAND partial : the console runs on sysNAND's IOS, and the IOS redirects SOME intercepted NAND's path requested by the game (mainly the title/ folder, for savegames only) to emuNAND's folder on SD or USB.

EmuNAND Full : same, the console runs on sysNAND's IOS, and the IOS redirects almost ALL intercepted NAND's path requested by the game (savegame, but also settings, wiimote sync, console ID, and mii, and sysmenu's message board, etc.) to emuNAND's folder on SD or USB.
Almost, because some path seems to not be correctly intercepted, and the game access them differently, not from IOS's calls? or maybe using relative path and not requesting full detectable path?

In both partial and full the console runs on sysNAND!!!
You need a cIOS installed on your sysNAND with added functionalities to rewrite on the fly, at runtime, NAND paths to a different path.
emuNAND custom module in the currently loaded IOS is actually rewriting the requested NAND path that the IOS has to serve to the game.
the game requests : Nand/titles/folder1/folder2/file
the cIOS module rewrites the path before the file is accessed and replaces "Nand/" by your own "emuNandPath/" set in your loader's settings.
the IOS mounts : emuNANDPath/titles/folder1/folder2/file and tell the game "here is the file you requested".

EmuNAND Neek : This one is a real FULL redirection of the ENTIRE system. working more similarly to 3DS or Switch's redirected NAND (the entire partition, a full copy of the NAND, except it's file system based instead of a 1:1 sector based NAND's image).
the console reboots and everything is read from emuNAND's folder : IOS and all file systems and all folders and files and data.
In this mode, the entire console being already redirected, you don't need to install any cIOS, as everything is already redirected.
the IOS doesn't even know it's not located on the console, and you can run games which doesn't work with cIOS that way.

In neek mode the game requests : Nand/titles/folder1/folder2/file
And the IOS mounts and serves : Nand/titles/folder1/folder2/file
both the IOS and the game are unaware that "Nand/" is actually not located on NAND.
 
Last edited by Cyan,

godreborn

Welcome to the Machine
Member
Joined
Oct 10, 2009
Messages
38,471
Trophies
3
XP
29,116
Country
United States
iirc, all of my saved games are directed to emunand. I fixed a couple saves for someone on here by changing the region. the only way I could test them was by disabling emunand for those two games. I had to have some way to access the saves to check them in hex.
 
  • Like
Reactions: Codemastershock

NeroAyers

Member
Newcomer
Joined
Sep 14, 2020
Messages
12
Trophies
0
Age
31
XP
67
Country
Kuwait
Hi all! I want to update you guys that I've found a way to fix a slow loading of games via USB hd.
Using the modmii guide, I follow the instructions and formatted my usb hd as fat32.
After tons of troubleshooting, I finally found out that formatting it as wbsf fixed my slow loading issue.
Hope it helps others.

keywords:
usb loader gx is slow to load games, slow loading usb, how to load games faster
 
  • Like
Reactions: Sneethan

DeadOneWalking

Well-Known Member
Member
Joined
Apr 26, 2018
Messages
101
Trophies
0
Age
41
XP
749
Country
United States
So I have an annoying issue with USB Loader GX.

I'll go through the process of renaming some titles, for cleanliness, and the loader just forgets them randomly.

For example , I rename "Conduit 2" to "The Conduit 2" to have it listed next to The Conduit.

I won't add or remove anything, but I'll notice the titles get shifted around, and a quick search will show the titles have there original names back.

At the same time, some keep the updated titles.

Any idea how I can fix this without altering the disk image?
 

almmiron

Well-Known Member
Member
Joined
Jan 9, 2012
Messages
423
Trophies
1
XP
1,979
Country
Brazil
So I have an annoying issue with USB Loader GX.

I'll go through the process of renaming some titles, for cleanliness, and the loader just forgets them randomly.

For example , I rename "Conduit 2" to "The Conduit 2" to have it listed next to The Conduit.

I won't add or remove anything, but I'll notice the titles get shifted around, and a quick search will show the titles have there original names back.

At the same time, some keep the updated titles.

Any idea how I can fix this without altering the disk image?

I think there's a option on gxfeatures, use gametbd titles, that you can edit in a text editor to match the name your want. in "paths" you can see were is it.
 

Codemastershock

Well-Known Member
Member
Joined
Oct 14, 2013
Messages
277
Trophies
0
XP
1,067
Country
Brazil
Hi all! I want to update you guys that I've found a way to fix a slow loading of games via USB hd.
Using the modmii guide, I follow the instructions and formatted my usb hd as fat32.
After tons of troubleshooting, I finally found out that formatting it as wbsf fixed my slow loading issue.
Hope it helps others.
The issue with formatting in wbfs is that this format is very, very unstable. You have to add every game you want in one swoop or it has a very, very high chance of corrupting other games already installed. I didnt had any issues using fat32.
 
Last edited by Codemastershock,
  • Like
Reactions: jeannotte

ca032769

INFOCOM Collector
Member
Joined
Jan 11, 2012
Messages
636
Trophies
1
Location
Riverside, CA
XP
1,888
Country
United States
So I have an annoying issue with USB Loader GX.

I'll go through the process of renaming some titles, for cleanliness, and the loader just forgets them randomly.

For example , I rename "Conduit 2" to "The Conduit 2" to have it listed next to The Conduit.

I won't add or remove anything, but I'll notice the titles get shifted around, and a quick search will show the titles have there original names back.

At the same time, some keep the updated titles.

Any idea how I can fix this without altering the disk image?

Like @almmiron said, download the gametbd titles wiitbd.txt at https://www.gametdb.com/Wii/downloads and rename it to titles.txt, but then create a custom-titles.txt file with the game names you want to change. The custom-titles.txt will override how it is named in titles.txt when the loader reads it and organizes the games in the cover flow.

The reason you do not want to rename it in titles.txt, even though you can, is that the next time you update the titles.txt file to the latest version you'll lose the changes you'd made.

Attached is an example of my .txt tile files versions on how I do it so you can get the idea. It's an old version. My new version has all the "the", "a" and "an" removed and the games like Zelda are all grouped together and start with "Zelda - xxxxxx" and the the game name.

EDIT 1: In the custom-titles.txt file this is what I would have in there to solve your issue:
RCJE8P = The Conduit 1
RCJP8P = The Conduit 1
SC2E8P = The Conduit 2
SC2P8P = The Conduit 2

Edit 2: Not sure if you'll need to tell USB Loader GX to use the titles.txt or not, haven't used it in a while. I mostly stick with the last CFG USB Loader made v7beta51t3. I like the cover flow of CFG.
 

Attachments

  • titles.txt
    299.7 KB · Views: 705
  • custom-titles.txt
    2.4 KB · Views: 101
Last edited by ca032769,
  • Like
Reactions: Alexander1970

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: Yeah forgot to turn that off