Hacking USB Loader GX

  • Thread starter Thread starter blackb0x
  • Start date Start date
  • Views Views 8,069,155
  • Replies Replies 30,226
  • Likes Likes 74
The question is: Are flash drives supported with USB Loader GX?

No. Not really. If it works, great! If it doesn't there's nothing we can do to make it work.
 
and it's not only USBLoaderGX, it's also affected by other homebrew. (wiiflow, cleanrip, etc.)
it's that particular flashdrive interface (micro controller to convert usb to emmc) which is not compatible with the console's ehci write command.

some flashdrive interface are compatible, some are not.


are flashdrives compatible with USBLoaderGX : unrelated !
USBLoaderGX doesn't treat flashdrive any different than HDD.
it's compatible, if your flashdrive works on the console. it's not USBLoaderGX which is preventing the use of flashdrives.
even some external HDD are not compatible, not the loader's fault either.
USBLoaderGX is compatible with USB1.1 and 2.0 devices relying on the console's USB compatibility, based on IOS and cIOS drivers.
 
Last edited by Cyan,
and it's not only USBLoaderGX, it's also affected by other homebrew. (wiiflow, cleanrip, etc.)
it's that particular flashdrive interface (micro controller to convert usb to emmc) which is not compatible with the console's ehci write command.

some flashdrive interface are compatible, some are not.


are flashdrives compatible with USBLoaderGX : unrelated !
it's compatible, if your flashdrive works on the console. it's not USBLoaderGX which is preventing the use of flashdrives.
even some external HDD are not compatible, not the loader's fault either.
USBLoaderGX is compatible with USB1.1 and 2.0 devices

That is the most precise statement. Thanks! :)
 
Where can I find a full wad of USB Loader GX, and not a forwarder?
I meant I want be able to launch it even without inserted SD cards.
 
  • Like
Reactions: Willsito_GG
why launch the loader without an SD card or USB inserted? you'll miss the settings and the covers, and the games, and their official names, and everything in fact.
I'm not even sure if the loader is stable without a way to save the setting file. It's not designed to skip the saving process at loader's exit.

All what left are the NAND channels.
if you need the loader's channel to launch NAND channel... you don't need the loader at all. just launch the channels directly from system menu. Ok you can use gamecube controller or Classic controller while inside the loader, but you need the wiimote to launch the full channel so I don't think it's making sense. Maybe it's only to launch the channels with some settings like forced video mode (but without an SD or usb, the settings are useless). you'd better just keep an external device so you don't have to re-set the settings manually before launching a NAND channel.

if you want to remove the SD but still have an USB connected, then the forwarder is fine. just copy everything from SD to usb1:/apps/ folder
SD has priority if present. if not inserted, USB will be used, checking partition 1 to 8.


if you really really want a full channel, you can inject the boot.dol into UNEO forwarder's wad. but you'll lose the ability to easily update.
injecting into ULNR will not be stable, as the boot.dol will not have hardcoded titleID of the full channel, which is done at compiling time.
 
Last edited by Cyan,
if you want to remove the SD but still have an USB connected, then the forwarder is fine. just copy everything from SD to usb1:/apps/ folder.
1520361781-hqdefault.jpg

I didn't know that.
We can launch homebrew from a usb key too?
 
HBC will switch to USB if there's no SD card inserted.
but you can force HBC to load from SD or USB manually by pressing 1 (or 2) on the wiimote to display the HBC settings.

most forwarders (for all other homebrew) are always looking at both SD and USB.
usually hardcoded path :
sd:/apps/<app name>/boot.dol
if not found, then it tries
usb:/apps/<app name>/boot.dol

USBLoaderGX forwarder is even trying more than one USB partition.
 
I have a save file for Simpsons Hit and Run. Where can I install this too? I can't find it on the sd or USB. GameCube games are on USB.
Thanks!
 
Hi I was wondering if anyone here with cheating knowledge could help me. I've got a GPF file i'd like to run a game with. I understand that this would normally be with geckos, but how I would I go about using it with usbloader gx? Does usbloader have support for GPF files?

I saw it has ocarina support but unsure if they are related or what the difference is. Thanks
I just came here to ask the same question lol. @Cyan there is a new development that may get Gamecube Controllers working in Wii Games (https://gbatemp.net/threads/need-help-with-vwii-gc-adapter-for-project-m.498236/#post-7868145). Unfortunately, my SSBB disc is at my parents home, guess I'll have to wait a week!

EDIT: I don't see GPF mentioned anywhere in the source.
 
Last edited by JacobM,
it seems quite simple, it's only a memory patching before launching the game.
It's not a file insertion in the ISO, and it's a simple "copy of data at specific address". but I will have to test to see if it's that easy; I always get unexpected problem when adding a feature :p

It looks a lot like the gameconfig.txt file format, except it's in binary and only writes a full block of memory. (no conditional events)
You could even convert it to gameconfig format easily.

example :
the beginning of the file you posted is : 0E800044C000000EA03D2080003C60800039295360 converts to
byte1 = number of patches
red = patch start address
pink = size of patch
orange, blue, etc. = patch data

RSBE01:
poke(800044C0,3D208000)
poke(800044C4,3C608000) <--- address +4
poke(800044C8,39295360) <--- address +4
etc.
writing a converter should be very easy.





Oh, and, I just made a Structure file for Hex workshop based on this file format :)
(max individual patch size set to 4k, can be changed in the file)

keyword for seach engine : hex workshop hsl structure
 

Attachments

Last edited by Cyan,
  • Like
Reactions: JacobM and lordelan
try this file

I converted (manually, with regexp :/) the gcp file to this format.
I hope I didn't mess up anything in the process :p

put the file in root, or in /codes/ folder, and enable hooktype (no need to enable ocarina, just hooktype to default vbi)

edit: oh it's still windows line feed, maybe it will need a conversion to linux (crlf -> lf)
it's still not clean, but let me know if attached gameconfig.txt work.

edit: I wrote a partial javascript converter ! (only one patch at a time, not a full gpt converter)
select binary in hex program, copy as C/C++, paste the hex value in "rawData" array, set the starting address value, and run the html to convert it to gameconfig.txt format.

*note to myself : I should really learn python*

edit: don't worry, it's just a test so I know it works. If it works, I'll add the gpf file loading directly in USBGX.
 

Attachments

Last edited by Cyan,
if it can be useful to anybody, here is the new USBLoader GX rev 1266, compiled with tabmod.

Hello, Badablek! Do you know if there is a way to add the option to activate the Nintendont's "WiiMote CC Rumble" option? The Nintendont can activate this function, but when I load the GC games through this tabmod, Nintendont can't activate the "WiiMote CC Rumble" function.

Thank you!
 
Hi @RodrigoHC13 this tabmod only tweaks USBLoader GX interface. So everything that the loader can do, the tabmod (from the same revision) can also do.

Are you sure that this was already possible in USBLoader GX r1266 ? I did not follow USBLoader GX in its latest revisions (because I didn't updated devkitpro/libogc to be able to compile revisions > 1266), but I think this is a new parameter in Nintendont that needs an update.

ps : I will try to update the libraries next week, to see if I can compile latest revision with tabmod.
(But if it's only in the beta builds that Cyan kindly gives, you will have o wait until it's officially committed in USBLoader GX sources ;))


EDIT : CC Rumble option is supposed to be in USBLoader GX since rev1265. I don't know how and why it shouldn't work in tabmod 1266...
https://sourceforge.net/p/usbloadergx/code/1265/

BTW I have updated my libraries. You can try build 1268 if you want.
svn versioning seems broken..."Changed Rev 0 to 155007" ??? Holy cow ! << Neveremind, I didn't downloaded the sources with TortoiseSVN, so the script wasn't able to read the correct version :)

EDIT 2 : check the new version, CC rumble now works :
https://gbatemp.net/threads/usb-loader-gx.149922/page-1257#post-7871095
 
Last edited by Badablek,
  • Like
Reactions: RodrigoHC13
try this file

I converted (manually, with regexp :/) the gcp file to this format.
I hope I didn't mess up anything in the process :P

put the file in root, or in /codes/ folder, and enable hooktype (no need to enable ocarina, just hooktype to default vbi)

edit: oh it's still windows line feed, maybe it will need a conversion to linux (crlf -> lf)
it's still not clean, but let me know if attached gameconfig.txt work.

edit: I wrote a partial javascript converter ! (only one patch at a time, not a full gpt converter)
select binary in hex program, copy as C/C++, paste the hex value in "rawData" array, set the starting address value, and run the html to convert it to gameconfig.txt format.

*note to myself : I should really learn python*

edit: don't worry, it's just a test so I know it works. If it works, I'll add the gpf file loading directly in USBGX.

Python is evil. ;) You should check out .Net Core. It's available for Windows, Linux and OS X and C# is a lot more typesafe and easy to follow.
 

Site & Scene News

Popular threads in this forum