Hacking USB Loader GX

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

GreyWolf

Well-Known Member
Member
Joined
Mar 2, 2015
Messages
5,399
Trophies
0
Age
54
XP
1,515
Country
United States
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.
 

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
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,

Willsito_GG

Well-Known Member
Member
Joined
Dec 31, 2017
Messages
281
Trophies
0
XP
1,421
Country
Spain
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! :)
 

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
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,

Asia81

Yuri Lover ~
Member
Joined
Nov 15, 2014
Messages
6,656
Trophies
3
Age
29
XP
3,487
Country
France
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?
 

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
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.
 

Joyer7319

Well-Known Member
Newcomer
Joined
Jul 16, 2017
Messages
49
Trophies
0
Age
42
Location
New York
XP
148
Country
United States
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!
 

JacobM

Well-Known Member
Member
Joined
Jun 16, 2017
Messages
242
Trophies
0
XP
599
Country
United States
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,

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
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

  • Hexworkshop_hsl gecko_GPF.zip
    702 bytes · Views: 170
Last edited by Cyan,
  • Like
Reactions: JacobM and lordelan

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
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

  • gameconfig.txt
    23.2 KB · Views: 339
  • convert_gpf.7z
    3.5 KB · Views: 193
Last edited by Cyan,

RodrigoHC13

Member
Newcomer
Joined
Jul 25, 2017
Messages
10
Trophies
0
Age
35
XP
55
Country
Brazil
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!
 

Badablek

Well-Known Member
Member
Joined
Jan 23, 2006
Messages
515
Trophies
1
Age
43
XP
2,905
Country
France
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

GreyWolf

Well-Known Member
Member
Joined
Mar 2, 2015
Messages
5,399
Trophies
0
Age
54
XP
1,515
Country
United States
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

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: https://youtu.be/a93F-EEw6HM?si=tUXuLXhXiWUsmIIv