Hacking USB Loader GX

  • Thread starter cyrex
  • Start date
  • Views 7,162,133
  • Replies 29,357
  • Likes 47

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,649
Country
France
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,

GreyWolf

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

Duncan Idaho

Well-Known Member
Member
Joined
Mar 5, 2011
Messages
505
Trophies
1
XP
595
Country
Venezuela
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,

JasonH

Well-Known Member
Member
Joined
May 28, 2016
Messages
102
Trophies
0
XP
338
Country
United States

Duncan Idaho

Well-Known Member
Member
Joined
Mar 5, 2011
Messages
505
Trophies
1
XP
595
Country
Venezuela
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,

GreyWolf

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

Duncan Idaho

Well-Known Member
Member
Joined
Mar 5, 2011
Messages
505
Trophies
1
XP
595
Country
Venezuela
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

GreyWolf

Well-Known Member
Member
Joined
Mar 2, 2015
Messages
5,399
Trophies
0
Age
54
XP
1,515
Country
United States

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.
 

Duncan Idaho

Well-Known Member
Member
Joined
Mar 5, 2011
Messages
505
Trophies
1
XP
595
Country
Venezuela
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
 

sideskroll

Well-Known Member
Member
Joined
Aug 25, 2010
Messages
653
Trophies
0
Age
41
Location
Here
XP
420
Country
Peru
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.
 

Badablek

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

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

  • libtremor_r27.zip
    89.9 KB · Views: 197
Last edited by GreyWolf,
  • Like
Reactions: Badablek

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    AncientBoi @ AncientBoi: Tattle-tale :creep: +1