Hacking USB Loader GX

  • Thread starter Thread starter blackb0x
  • Start date Start date
  • Views Views 8,068,937
  • Replies Replies 30,226
  • Likes Likes 74
yeah, it works with some drives, not with others.
To me it's an issue in the ehci module in d2x.

the solution at loader's level is to set IOS58 to init USB properly.

currently, the boot process is :
get IOS slot from meta.xml
reload to it if different than current
Init drive
load settings from drive
get IOS slot from settings
if different than current slot, unmount drive, reload to setting's IOS, remount drive

we could try to change it to :
get IOS slot from meta.xml
Init drive*
if different than current slot, unmount drive, reload to meta.xml's IOS, remount drive
load settings from drive
get IOS slot from settings
if different than current slot, unmount drive, reload to setting's IOS, remount drive


*Though, I think some users has issue using IOS58 in the past, that's why we removed that IOS from being the default slot for mounting the drive.
I don't know how much impact it would have if we set it back as default.
 
Last edited by Cyan,
It's too bad IOS 59 isn't available except for the Dragon Quest X game disc. It has USB storage in it for the flash drive that came with the game and might be the most compatible for external storage. :/
 
I am having an issue with usbloader GX and I am not sure how to fix it. The loader is not reading my hard drive, at all. However, my laptop, tv and nintendon't do in fact, I can load all the GC games I have from nintendon't.

Any pointers on what I need to upload here to help fix this issue?

To be exact, USB loader GX gets on waiting for HDD screen, waits 20 seconds and says it couldn't load the hdd.

However, as I pointed out, nintedon't does not has this issue and I can even play my GC games.
 
Last edited by Duncan Idaho,
Yes, as I said, it shows up the in the HBC. The version I ran was of 2015, so believing it was an out of date issue I updated, no change. Update was carried out through the internal nintendont updater.
Do you have the path set to the right folder in custom paths?
 
Do you have the path set to the right folder in custom paths?
They should be, but for some reason I can't select custom paths.
Hard drive setting has the Game/INStall partition as my FAT32

Gamecube Source Auto, however clicking on it says Main Path/SD path, SD path/Main Path, Main Path, SD Path and Auto

Found the issue, somehow USBloader GX had been reset to use my SD instead of my EHDD
 
Last edited by Duncan Idaho,
There should be an option under Custom Paths in settings for Nintendont and Devolution dol paths. Make sure it's set to your /apps/nintendont folder. I would try setting it again even if it looks right in the menu.
 
There should be an option under Custom Paths in settings for Nintendont and Devolution dol paths. Make sure it's set to your /apps/nintendont folder. I would try setting it again even if it looks right in the menu.
Found the issue, somehow USBloader GX had been reset to use my SD instead of my EHDD
 
  • Like
Reactions: GreyWolf

It may have reset some of the settings that had been recoded when you updated. Some settings have a minimum version defined and get set to defaults if the old setting file is below it.
 
It may have reset some of the settings that had been recoded when you updated. Some settings have a minimum version defined and get set to defaults if the old setting file is below it.
Issue was pre update tho. As I said, the November 2k15 gave me the problem, believing it to be an incompatibility I updated the latest one of this year and nada. It wasnt until you pointed custom paths that I saw the nintendont path being SD not USB1
 
I send my patches for the main branch to Cyan or post them here, but he was unable to work on anything for a while because his computer melted down.

There's a project codenamed "Streamline" in my GitHub repository that's a fork of the loader that includes the newest Nintendont settings and a few other minor changes. It's difficult for me to debug some things like initialization timing with a Gecko.

I can try making a test build with one if the ideas I had and see if it helps. (Always init with 58, reload IOS afterward.) It seems like a lot of people that have drive initialization issues are able to get it to work when starting up with IOS 58 so maybe that will help. IOS 57 (most users' 249) is only USB 1.0 so it could be the reason it's not working properly.

@sideskroll Does the drive initialize and work with Nintendont when launched from the HBC? And which version of the USB standard is it?

it's USB3.0
it's not initializing if you launch USBGX right after console boot->HBC on SD->USBGX.
it's working fine if you "init" the drive first, for example launching wiiflow or nintendont, or set HBC option to list apps/ on USB then return to SD and launch USBGX.

So, it's maybe an issue with the drive initialization in the cIOS sources.

a solution could be to keep IOS58 from HBC to init the drive, and not reload to cIOS after the drive is already spinning.
that's supposedly the purpose of the "-ios=" argument in the meta.xml, it's the IOS used to init the drive.
users could set 58 in meta.xml and 249 in the loader, I just merged both settings in recent revisions.
Hi guys, @GreyWolf my setup is currently working fine. Like I said, I had it setup with ios 58 a long time ago (when I switched enclosures)
It's a WD 1 TB USB 3.0 drive (portable) with a Y cable.
The reason I'm interested in asking if he got the chance to experiment is because I'm not sure if it's justme being OCD about it or a reality but I KINDA feel the whole loading procedure more sluggish. And sometimes (a minuscule number of times if I'm being honest) the games don't even load (even though the drive initialized properly) while that never happened with my previous enclosure (a generic chinese crapola with a 500 gb drive inside)
Weird thing though, is that the SAME EXACT DRIVE works on a regular Wii (I don't even have to select ios 58 to init the drive)
That's the main I come back here from time to time and bother @Cyan with that question. Cause I can't cope with things that work "just because" :) I NEED to know the reason, specially when the situation is like I just told you.
I´ll check your RC. Are there any bugs I should be aware of? Has it been"tested" by anyone?
Thanks guys.
 
@GreyWolf I'm trying to compile your fork with the latest devkitppc/libogc, but linking does not work because of libvorbisidec

e:/Emulation/Utilitaires/Devkitpro/libogc/lib/wii\libvorbisidec.a(info.o): In function `vorbis_comment_query_count':
info.c:(.text+0xa16): undefined reference to `__ctype_ptr__'
info.c:(.text+0xa1e): undefined reference to `__ctype_ptr__'
e:/Emulation/Utilitaires/Devkitpro/libogc/lib/wii\libvorbisidec.a(info.o): In function `vorbis_comment_query':
info.c:(.text+0xbaa): undefined reference to `__ctype_ptr__'
info.c:(.text+0xbb2): undefined reference to `__ctype_ptr__'
collect2.exe: error: ld returned 1 exit status
make[1]: *** [/e/Emulation/Utilitaires/Devkitpro/Homebrews/Wii/streamline-master/boot.elf] Error 1
make: *** [build] Error 2

my setup : libogc 1.8.16 / devkitppc r29-1 / portlibs (USBLoader GX) r27
can you share your libogc/portlibs or give some hint to find the correct ones please ?
 
@GreyWolf I'm trying to compile your fork with the latest devkitppc/libogc, but linking does not work because of libvorbisidec



my setup : libogc 1.8.16 / devkitppc r29-1 / portlibs (USBLoader GX) r27
can you share your libogc/portlibs or give some hint to find the correct ones please ?

Sorry, libtremor has to be recompiled, too and I forgot to add it to the libs directory. Here you go.

EDIT: I committed the updated library to the master branch.
 

Attachments

Last edited by GreyWolf,
  • Like
Reactions: Badablek

Site & Scene News

Popular threads in this forum