Hacking USB Loader GX

  • Thread starter cyrex
  • Start date
  • Views 7,213,062
  • Replies 29,373
  • Likes 48

self_slaughter

Well-Known Member
Member
Joined
Apr 27, 2009
Messages
105
Trophies
0
XP
246
Country
Ahh ok. Cheers for the info. :)

Might fix a few more annoyances to do with the GameCube controller in the menus and Fire off a message once I'm sure it's all good. Seems a waste to fix things for myself and not share it!

edit:

Minor update to my fork of USB Loader GX 1260.
  • Added Nintendont Triforce Arcade mode setting.
  • Support Nintendont config version 7
  • Allow B Button to exit categories menu.
  • Allow A or B Button to exit credits screen.
https://github.com/selfslaughter/usbloadergx/releases/tag/1262

Any comments on if it works properly for you or not would be appreciated. :)
 
Last edited by self_slaughter,
  • Like
Reactions: Cyan and cvskid

cvskid

Well-Known Member
Member
Joined
Apr 13, 2014
Messages
2,811
Trophies
2
XP
3,416
Country
United States
I was on nintendont version 4.219 and usbloader gx 1260. I updated nintendont to 4.425 and usbloader gx to 1262 from the link above me and now resident evil 3 loads to a black screen when loading it through usbloader gx. It works directly through nintendont though. I also have force ntsc 480p set in the usbloader gx options for resident evil 3 which did not have any problems loading before i updated both usbloader gx and nintendont.

EDIT

I think if you have games set to force 480p in usbloader gx settings then now in nintendont settings you have to turn force progressive on.
 
Last edited by cvskid,

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
46
Location
Engine room, learning
XP
15,662
Country
France
there's a new setting version?
I'll check and probably release a new version (without the plugin support), to fix the things I did before adding the plugin patch.

I already added support for nintendont EBR/GPT, so I should post it officially instead of pushing it because of the plugin system.
 
  • Like
Reactions: self_slaughter

GreyWolf

Well-Known Member
Member
Joined
Mar 2, 2015
Messages
5,399
Trophies
0
Age
54
XP
1,516
Country
United States
The new Nintendont option only affects the way Triforce games work in regards to coin drops. It doesn't affect the way the loader works otherwise. The new version also doesn't display anything if launched with arguments.
 
  • Like
Reactions: self_slaughter

Badablek

Well-Known Member
Member
Joined
Jan 23, 2006
Messages
525
Trophies
1
Age
43
XP
2,950
Country
France
@Cyan one little question : why do you force users to launch emuNAND titles with d2x cIOS ?

I don't know since when this change was made, but this is not good :(. Waninkoko cIOS rev217 was the best for emuNAND, and some titles actually need something else than cIOS d2x to work properly. I left my emuNAND in the root of my HDD and installed a tweaked cIOS waninkoko rev17 on slot 217 only for that.

please, can you remove that useless d2x check (and false statement that emuNAND only works under d2x) ? It was working perfectly until this check which refuses to launch any VC/WW without d2x. Why not leaving us the choice to use or not d2x with emuNAND ? Please !
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
46
Location
Engine room, learning
XP
15,662
Country
France
it wasn't me, it was decided long ago to "force" (kind of?) all users to use the same setup and prevent having different guides for different users, with different issues, etc.
I already removed that restriction ! But the issue is that there's no real "help and explanation" for the user inside the loader.

I removed some warning, and already allowed rev17 !
Except that it requires to be "compatible" for rev17 to work or else it says "please use d2x".

For example :
Partition number is not supported on rev17, you need to use the first primary fat32 (the first compatible FAT32, not necessarily the first primary partition, you can have primary NTFS before the used FAT32 partition)
subfolder is not supported on rev17, you need to put the NAND on root (not in /nand/)
4k also doesn't work with rev17

So if you still see the error message it means your setup is not good for rev17.

see here the check I added to know if rev17 could be used or not with the current user's setup :
If you see any issues with this check, let me know and I'll fix it.
https://sourceforge.net/p/usbloadergx/code/HEAD/tree/trunk/source/system/IosLoader.cpp#l474

If all pass, rev17 works fine and there's no "please use d2x".

I understand that it's done backward, it should tell the user what's wrong to use with rev17 instead of seeing that their current setup works fine with d2x and ask them to use it. Currently it only return true or false, it doesn't provide information why it didn't pass the test.


I always wanted to make a proper "guide" inside the loader, something with scrollable text, and not just a limited 3 lines of text in a "yes/no" windows prompt.
I need to update a lot of messages, warning, help, prompt, etc.
It would also require a different language file, as there's no way to add new lines (unless it's hardcoded to a specific character).

this week I'll try to work on the loader, but I don't think I'll have time to do this. I'll work on nintendont issues first.
then the plugins if I can.
 

Badablek

Well-Known Member
Member
Joined
Jan 23, 2006
Messages
525
Trophies
1
Age
43
XP
2,950
Country
France
thanks for explanation @Cyan , but my setup IS actually good for rev17 ;)
I'm using a standard FAT32 primary partition, my NAND is in the root of it, and everything was working nicely with cIOS waninkoko rev17 until this check was made

ps : I did not used my Wii, and USBLGX, since a long time...and I only saw that restriction today.


Does the slot installation of waninkoko cIOS make any difference ? (My main cIOS is d2x on 249, and rev17 is in 217)
 
Last edited by Badablek,

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
46
Location
Engine room, learning
XP
15,662
Country
France
ahh, yes, that's probably your issue.
Anything below slot 230 is considered Hermes, sorry I didn't notice it :P

that's not a proper detection, just a quick way to know if it's hermes or waninkoko.

edit:
no, I was wrong !
Hermes is only reserved for these slots:
Code:
bool IosLoader::IsHermesIOS(s32 ios)
{
	return (ios == 222 || ios == 223 || ios == 224 || ios == 225 || ios == 202);
}


your slot 217 should be fine.
Are you sure the drive is not 4k? and it's your first partition?
You could add a gecko log in the function I gave on my previous post to see why it returns false.
 

Badablek

Well-Known Member
Member
Joined
Jan 23, 2006
Messages
525
Trophies
1
Age
43
XP
2,950
Country
France
I'm using the same setup since the beginning, with the same HDD :

Partition #1 Primary FAT32 (emuNAND/homebrews/USBLoader GX/Gamecube ISOs)
Partition #2 NTFS (Wii games)


BTW, I've used this HDD to install (temporarily) Windows 10 in order to repair a laptop, and a recovery partition (not primary) was made at the end, stupid Microsoft :teach:
I will format it completely and try again, just in case (even if I don't think it will change anything :moogle:)
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
46
Location
Engine room, learning
XP
15,662
Country
France
instead of formatting, you could try to add logs to see which check is the issue?
maybe my code is bad, or maybe there's a check which shouldn't be there.

if it used to work there's no reason it stopped working because a new partition was added at the end.
 

Badablek

Well-Known Member
Member
Joined
Jan 23, 2006
Messages
525
Trophies
1
Age
43
XP
2,950
Country
France
can you help me to add it to the sources ? I can compile my own builds, but I really suck in programming :blush:


ps : it's really painful to copy 250Go of data, even in USB3 :moogle:
I can try a custom build (with logs) before formatting, just in case.
 

GreyWolf

Well-Known Member
Member
Joined
Mar 2, 2015
Messages
5,399
Trophies
0
Age
54
XP
1,516
Country
United States
can you help me to add it to the sources ? I can compile my own builds, but I really suck in programming :blush:


ps : it's really painful to copy 250Go of data, even in USB3 :moogle:
I can try a custom build (with logs) before formatting, just in case.

Once you've checked out the source code just go to /sources/ and edit the file "gekko.c". At the top you will see "// #define DEBUG_TO_FILE". Remove the "//" and then compile the loader. :)

You will need a few extra libraries. Cyan put them up here.
 

pBullet

SHSL Idol
Member
Joined
May 8, 2012
Messages
176
Trophies
1
Age
33
Location
Rhode Island
XP
280
Country
United States
@Cyan

So, I've taken the steps to finally start using USB Loader GX on my Wii U. I've done a majority of it and have successfully loaded Wii games from my external HDD. The issue is that the loader is not letting me load Gamecube games. It gives me the error "To run GameCube games with Nintendont you need to set your "Main GameCube Path" on the first primary FAT32 partition". However if I directly load Nintendon't through the Homebrew Channel and select USB, and then a game, the game loads fine (albeit not in widescreen).

The custom path for it seems to be usb2:/games/. There is no option to use usb1, and there are no other devices connected to the console except for the Gamecube Controller Adapter (I've disconnected this and no success either).

Here is some information that might help you:

Wii U: NTSC-U Original Black Model, 20GB internal storage, hacked with Smash Stack
HDD brand: Toshiba
HDD Size: 500GB

The HDD is formatted entirely as FAT32, and only has one partition (except for the untouchable partition table). The HDD is also hidden using UStealth. I've gone and unhidden it however the issue persists.

My paths look like this:

/wbfs
/games

USB Loader GX revision 1260, running on IOS249 (d2x v10beta53-alt-vWii base56)
Nintendon't version: 4.425

SD card is 32GB by Panasonic
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
46
Location
Engine room, learning
XP
15,662
Country
France
@GreyWolf, @Badablek :
What I meant was add additional debug information to see which HDD check failed.
I can add them for you and provide you that version if you want.

I thought you knew how to do it as you always make a tab version of the loader. But no problem, I can do it for you.

I'm working on the loader today. (at last! ahah)


@pBullet:
your HDD is not "entirely partitionned as FAT32".
If you have "usb2:/" it means you have at least 2 partitions.
there's maybe a hidden partition before your FAT32?

But if you are saying nintendont works fine when launched from HBC, then there's an issue with the HDD check in USBLoaderGX.
Maybe it's related to the new compatibility nintendont added recently ? Nintendont is now compatible with EBR (Extended/Logical partition, not primary only)

d2x v10beta53-alt-vWii
ahh, that could be your issue!
Do you have 2 HDD connected at the same time? if you do, then the gamecube partition is maybe not mounted in the correct order.

Though, you didn't mention 2 HDD, so maybe you really have more than one partition on your drive.
USBLoaderGX doesn't let you select USB1:/ ?

What's strange to me is that even if you had more than one partition, and if you can't select usb1:/, then it should work fine.
the loader asks you to set the gamecube partition to the "first" primary+FAT32 partition. If it doesn't list usb1 partition it means it's not a compatible one (so obviously not fAT32), making your USB2 partition the first fat32.
Maybe it's NOT primary but extended or GPT?

Like I said, Nintendont is now compatible with EBR and GBT partitions. I released a version to test that change here.
Please try it.
I will release it officially today.
 
  • Like
Reactions: self_slaughter

Badablek

Well-Known Member
Member
Joined
Jan 23, 2006
Messages
525
Trophies
1
Age
43
XP
2,950
Country
France
Thanks @Cyan & @GreyWolf :moogle:

(as I already said, I can compile, but I'm not a developer at all. Tab mod was not made by me, I just tweaked it with my little knowledge)


ps : I compiled it with debug activated in gekko.c but the log is really "light" and does not help.
will try to add debug stuff in iosloader.cpp (again, with my little knowledge)
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
46
Location
Engine room, learning
XP
15,662
Country
France
Today I tried to add an option to boot real NAND channels with their official requested IOS, but I failed to make it work.
It's either crashing (probably no correct access to ISFS, etc.) or the Wii gives an error message (system is corrupted etc.)

I'll just release what I have which is working.
I don't know if there's a way to use requested IOS for nand channel with the way the loader is working.

edit:
@Badablek: I'm preparing a version for you.
I'm adding as much debug as I can :P

edit:
https://filetrip.net/dl?Vlku4bHkSb

compile with this patch.
if you don't have usbgecko, follow what greywolf said too. (to make a log to file)
or you can enable log to wifi if you want:
open gecko.c
replace
Code:
 // #define WIFI_GECKO // don't keep this for released build
with this :
Code:
#define WIFI_GECKO

you also need to set your IP in : utils/wifigecko.c
if your PC is on 192.168.0.x :

Code:
#define DESTINATION_IP	  "192.168.0.255"
using 255 will broadcast to all the devices on that network.
Or put your real IP, but if you use different computers or use HDCP you'll have to recompile with the correct IP, etc.

use this Wifireader to log in realtime:
https://filetrip.net/dl?Yka64Nz5b0
Don't forget to enable the network once you are in usbgx, or it can't send any log through wifi.
It also mean you can't log anything before network_init() is called (no StartUpProcess and USBInit() logging)
 

Badablek

Well-Known Member
Member
Joined
Jan 23, 2006
Messages
525
Trophies
1
Age
43
XP
2,950
Country
France
thank you @Cyan

debug.txt :

Code:
Initialize usb device
Changing USB port to port 0....
Loading config files
    Loading config...done
    Loading language...done
    Loading game settings...done
    Loading game statistics...done
    Loading game categories...failed
    Loading cached titles...done
Checking installed MIOS... DIOS MIOS built on Jul  2 2014 10:31:15

Loading resources
Loaded Wii System Font
    Loading font...failed (using default)
    Loading theme...failed (using default)
MountGamePartition()
    Disc_Init
LoadTitlesFromGameTDB
debug: Checking if cIOS is d2x... no
debug: Checking if cIOS is Waninkoko... yes
debug: Checking cIOS version... 19
debug: Should be >=17
debug: Checking if EmuNAND path set... yes
debug: EmuNAND path found: //
WindowPrompt( Erreur:, Le lancement de chaînes sur ÉmuNand ne fonctionne qu'avec un cIOS d2x! Modifiez l'IOS dans les paramètres de ce jeu., OK, (null), (null), (null), -1 ):  0
debug: Checking if cIOS is d2x... yes
    BootGame: WCVP
    Settings.partition: 1
Enabling Full Nand Emulation on: usb1://
Block IOS Reload patched with d2x method to IOS249; result: 0
Return to 554E454F patched with d2x method.
Shutting down devices...
Initialize usb device
Changing USB port to port 0....
Loading config files
    Loading config...done
    Loading language...done
    Loading game settings...done
    Loading game statistics...done
    Loading game categories...failed
    Loading cached titles...done
Checking installed MIOS... DIOS MIOS built on Jul  2 2014 10:31:15

Loading resources
Loaded Wii System Font
    Loading font...failed (using default)
    Loading theme...failed (using default)
MountGamePartition()
    Disc_Init
LoadTitlesFromGameTDB

First, it tried to launch MotoHeroz with cIOS set to 219 (I have rev17 on 217, rev19 on 219 and rev21 on 221...of course d2x is installed in 249/250 ;))
>> fail !

then I tried to launch Cave Story with default settings (d2x v10 b53 base IOS56 slot 249)
>> success !

Finally, exit from Cave Story > reboot > priiloader > USBLoader GX forwarder > USBLoader GX
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
46
Location
Engine room, learning
XP
15,662
Country
France
thank you, I found the issue :)

Your path is using usb://path

it should have only one slash.
the check to see if it's on root is looking if the path starting from the first slash is >1
as you are using usb1://
it's detecting 2 characters and think you are not on root.

I can increase it to 2, or you could fix your path to use only one slash.
Maybe I can check if the path contains only slashes.
users could have subfolder with 1 letters and make usb1:/a return good while it's not working if a is a subfolder.
that's highly unlikely, so I guess it's easier to set the check at 2.
 

Badablek

Well-Known Member
Member
Joined
Jan 23, 2006
Messages
525
Trophies
1
Age
43
XP
2,950
Country
France
:lol:


all my paths in USBLoader GX always had 2 slashes...I thought it was the default behavior of USBLGX (BTW, I think I have always edited the INI file manually, can't remember exactly)

I will remove that stupid unwanted slash in all my paths ^___^
 
Last edited by Badablek,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    BakerMan @ BakerMan: +1