Hacking USB Loader GX

  • Thread starter Thread starter blackb0x
  • Start date Start date
  • Views Views 8,068,347
  • Replies Replies 30,226
  • Likes Likes 74
Not sure what will happen by overwriting the Wii dump with vWii files.
Like said, keep a backup before doing it ;)


@fledge68 :
I'm now installed to my new place.
I'll start looking at your sources for plugin mods.

If you made any changes since last week, let me know.


Edit:
looked at it a little, and there are few things I'm wondering.
most part looks good and will probably stay like that.
What I wonder is why did you change the gamegrid game selection function, and set rows to 2 instead of 3. it was bad or it didn't work with plugins?
I didn't test the dol yet, maybe that's fine and there's no issue, but I remember I set some values here because having 4 or 5 games did have issue with the GUI. I'll try!

Another thing, is why did you create a plugin's 3Dcover setting, there were already a "prefere_3DCover" option. it couldn't be used ? it's been a long time I didn't work on the sources so I don't remember how it's used, I'll try too :p
Same with the new "pluginmode" setting, when the loader already had a list of possible mode, maybe we can change that to harmonize the sources.
instead of using "if (Settings.pluginMode)" we can use "if(Settings.LoaderMode & MODE_PLUGINS)".

The "loader mode" would not be selected from the same menu but from an icon, but we can use that same enum I guess.
Not sure if we should merge the "loader mode" and the plugin list into the same menu. I guess not until there's a way to list multiple sources at the same time.
I'll think about it, maybe your way of doing is good/better, because if "loaderMode=all" is set then plugin would be set too, without selecting which plugins to display.

There are some leftover from wiiflow, like the wiiflow dol, but we can check that later I guess.

Maybe we can release your version officially, and I'll edit things little by little later.
 
Not sure what will happen by overwriting the Wii dump with vWii files.
Like said, keep a backup before doing it ;)


@fledge68 :
I'm now installed to my new place.
I'll start looking at your sources for plugin mods.

If you made any changes since last week, let me know.
Nothing new. Just that default partition option I added last week.
 
Not sure what will happen by overwriting the Wii dump with vWii files.
Like said, keep a backup before doing it ;)


@fledge68 :
I'm now installed to my new place.
I'll start looking at your sources for plugin mods.

If you made any changes since last week, let me know.


Edit:
looked at it a little, and there are few things I'm wondering.
most part looks good and will probably stay like that.
What I wonder is why did you change the gamegrid game selection function, and set rows to 2 instead of 3. it was bad or it didn't work with plugins?
I didn't test the dol yet, maybe that's fine and there's no issue, but I remember I set some values here because having 4 or 5 games did have issue with the GUI. I'll try!

Another thing, is why did you create a plugin's 3Dcover setting, there were already a "prefere_3DCover" option. it couldn't be used ? it's been a long time I didn't work on the sources so I don't remember how it's used, I'll try too :P
Same with the new "pluginmode" setting, when the loader already had a list of possible mode, maybe we can change that to harmonize the sources.
instead of using "if (Settings.pluginMode)" we can use "if(Settings.LoaderMode & MODE_PLUGINS)".

The "loader mode" would not be selected from the same menu but from an icon, but we can use that same enum I guess.
Not sure if we should merge the "loader mode" and the plugin list into the same menu. I guess not until there's a way to list multiple sources at the same time.
I'll think about it, maybe your way of doing is good/better, because if "loaderMode=all" is set then plugin would be set too, without selecting which plugins to display.

There are some leftover from wiiflow, like the wiiflow dol, but we can check that later I guess.

Maybe we can release your version officially, and I'll edit things little by little later.
replying to your edit this time. :)

gamegrid game selection function? do you mean GetGameIndex? i don't remember but i believe it was because it was either add another variable to the list of already variables there or just make it part of the gui_gamegrid class to save from having list all those variables every time. but making it part of gui_gamegrid calss I found I had to add - int offset = listOffset; so it could calculate pageentry without changing listOffset. the extra variable would have to do with the pagesize because that's different for SNES and GBA.

as for setting rows to 2 instead of 3? i assume you mean this - if (gameCnt < (pagesize - 2 * rows))
i was just following wiimpathy's code and wasn't really sure if 2 or 3 worked the best. it could probably be set back to 3. i think there's 2 or 3 places where that was changed.

plugin's 3dcover? well for starters gamelist and gamecarousel prefer 3d and gamegrid doesn't in normal mode. I didn't see where there was an option for the user to set prefer_3d so i made my own just for plugins. mainly because there isn't very many 3d covers for plugin games and it didn't look good having a few 3d covers mixed with flat covers.

pluginmode? yes that could be added to LoaderMode. but the way i wrote the code is if your in pluginMode and you click the loaderMode button it doesn't display the loaderMode prompt window and allow the user to select wii, gc, or emunand it just goes back to what they currently had selected before they started pluginMode. That could probably be easily changed though. I was just trying to keep plugin mode a totally separate thing and make it easy for the user to go back to normal mode.

I put a remark in there as to why wiiflow dol was still there.
 
  • Like
Reactions: Cyan
thank you.
sorry if I ask all those questions.

I understand how you made it work, it's just my idea was a little different, but we can keep it like this. maybe it's easier for users to understand the interface with your method.


Edit:
I tested your version.
I can report that having exactly 4 games in the coverwall view contains a bug.
3 doesn't allow scrolling
5 works fine
4 scrolls but "lose" the hidden covers and never get them displayed again, even if scrolling backward.

You can try by displaying 4 games using the search engine until you get exactly 4 titles.
I'll test putting "3" back instead of "2" in the "if(gameCnt < (pagesize - x * rows))


I don't have ROMs on my SD card, so I'll have to setup the plugins ini file correctly.
not sure why the plugin's dol has to be in the plugin folder too, I thought we could set a full path to an existing apps/emulator name/boot.dol

I'm new to plugins so I'll have to learn how wiiflow is doing it to not break compatibility.
but I don't know why it never used (or at least allowed) full path to devices and partitions.

I tried CPS1 (psx emulator, right?) from retroarch plugin, but it failed to load a .bin file.
I never tried retroarch, so I don't even know if the game I tried or the format is working in retroarch itself.


What I didn't like :
It auto-boots the game when you click on it.
There's no launching window where you select "start" or "back" or "option".
I know there's no option for ROMs but maybe a start/back screen would look better to keep the same interface than all other loader mode.
I can add it, don't worry. I'm just finding it not natural.

Another note:
I re-enabled theme download menu, and the loader is not crashing, even if the dol file is big. Maybe there's a different memory issue, but currently it's not crashing due to file size. all's good :)
 
@lordelan I've tried to take that above mentioned post from when I first did it and make it a bit simpler to show what worked without going through all the other stuff that didn't. Hopefully this helps you and maybe others:

My Drive: Western Digital 8TB MyBook USB3.0 HDD
---Link: https://www.amazon.com/Book-Desktop...ds=WD+8TB+My+Book+Desktop+External+Hard+Drive

1-Using EaseUS I checked the stock drive info: NTFS / 512bp sector / 4096bp cluster / GPT
---Link: http://www.easeus.com/partition-manager/epm-free.html
---Also, if there are any other partitions showing, ie unallocatted or hidden or marked with an ASTERIX or ??, merge them into the main partition

2-Used WD Quick Format
---Link: http://support.wdc.com/KnowledgeBase/answer.aspx?ID=3868
---Used to change WD drive partition table from GPT to MBR
---I'm on Windows 10, maybe it makes a difference what OS your on when you run it
---It never gave me the option for XP Compatible, no options at all
---So I just pressed FORMAT DRIVE and it worked

3-Loading the drive under EaseUS showed it is now NTFS / 4096bp sector / 4096bp cluster / MBR
---While in EaseUS I set the drive as PRIMARY and ACTIVE
---My version of EaseUS would not let me format the drive as FAT32 with 32k or 64k, nothing lower than 128k was an option

4-Using FAT32GUI I formatted it to 64k clusters: Gives me the full 8TB to play with :)
---32-bit Link: http://www.ridgecrop.demon.co.uk/download/fat32format.zip
---64-bit Link: http://www.ridgecrop.demon.co.uk/guiformat-x64.Exe
---If using a 4TB drive you'll want to choose 32k clusters
---If using an 8TB drive with 32k clusters, only 4TB of it will show up and be usable
---So for an 8TB HDD you'll need to choose 64k clusters to get the entire drive to show up

5-Using EaseUS to check the drive info: It's shows as MBR and under properties some weird info I don't claim to understand

6-Drive is now one single 8TB partition: FAT32 / 4096bp sector / 65536bp (64k) cluster / MBR / Set as ACTIVE & PRIMARY
---See pictures in this post: http://gbatemp.net/threads/usb-loader-gx.149922/page-1111#post-6448544

7-Enjoying the use of the 8TB HDD to play Wii & GC using USB Loader GX v3.0 r1260 & Nintendont v3.371 (probably time to update these to more current versions but I'll get around to it later)
---My Wii: NTSC Wii (original Wii, not Wii U)
---Modded with ModMii, Link: http://gbatemp.net/threads/modmii-for-windows-official-support-topic.207126/
---USB Loader GX Link: http://gbatemp.net/threads/usb-loader-gx.149922/
---Nintendont Link: http://gbatemp.net/threads/nintendont.349258/

8-Thanks @element6, @GreyWolf, @Elliander & many others I probably have missed for help getting to this point
Hi again. A few days have passed but now I've got the time to test it on my console.
Unfortunately it doesn't work.
I went through all your steps and ended up with a big 4 TB FAT32 MBR partition with 32K cluster size.
Although my EaseUS Partition Master's interface is german you should see all infos in these screenshots:
WD_Passport_4TB_FAT32.png

I connected it to the Wii U with my Y-cable. The thick cable went to the top USB slot since it's the data cable, the thinner cable went to the bottom slot.
After booting my Wii U it shows me the formating warning (as usual) so it should have enough power.
But when I start vWii and USB Loader GX it keeps kinda freezing at the "initialize usb device" but not with the "waiting for usb device, 30 sec ..." message. Just "initialize usb device".
Cyan and GreyWolf: Do you maybe know what's the reason here? Please don't tell me the drive is not compatible. :( All smaller versions from the WD My Passport series are confirmed to work. Maybe I should get myself another Y-cable?
 
thank you.
sorry if I ask all those questions.

I understand how you made it work, it's just my idea was a little different, but we can keep it like this. maybe it's easier for users to understand the interface with your method.


Edit:
I tested your version.
I can report that having exactly 4 games in the coverwall view contains a bug.
3 doesn't allow scrolling
5 works fine
4 scrolls but "lose" the hidden covers and never get them displayed again, even if scrolling backward.

You can try by displaying 4 games using the search engine until you get exactly 4 titles.
I'll test putting "3" back instead of "2" in the "if(gameCnt < (pagesize - x * rows))


I don't have ROMs on my SD card, so I'll have to setup the plugins ini file correctly.
not sure why the plugin's dol has to be in the plugin folder too, I thought we could set a full path to an existing apps/emulator name/boot.dol

I'm new to plugins so I'll have to learn how wiiflow is doing it to not break compatibility.
but I don't know why it never used (or at least allowed) full path to devices and partitions.

I tried CPS1 (psx emulator, right?) from retroarch plugin, but it failed to load a .bin file.
I never tried retroarch, so I don't even know if the game I tried or the format is working in retroarch itself.


What I didn't like :
It auto-boots the game when you click on it.
There's no launching window where you select "start" or "back" or "option".
I know there's no option for ROMs but maybe a start/back screen would look better to keep the same interface than all other loader mode.
I can add it, don't worry. I'm just finding it not natural.

Another note:
I re-enabled theme download menu, and the loader is not crashing, even if the dol file is big. Maybe there's a different memory issue, but currently it's not crashing due to file size. all's good :)
i didn't try 4 or less covers. will give it a try later. the search engine shouldn't work for plugins. that was supposed to be disabled maybe i forgot to disable it.

if you don't have roms on SD then use the v1.1 i put out and go to loader settings to change the default partition for all plugins

yes full paths would be nice. not sure why wiiflow always used partition and path separate.

fix94 created a plugins folder to hold all the necessary files - for wiiflow those are - the dol file, the config ini file, and a optional ogg file for a banner like sound. the dol file was usually an edited version of the official apps boot.dol. he edited to make it boot games via args properly and to return to wiiflow properly (usually using wiiflow stub.bin or making it think it was using the HBC stub bin but really use wiiflows) also the GX ones he removed unnecessary code to make the plugin dol smaller in size.

CPS1 is not PSx. it's CAPCOM Play System for Final Burn Alpha to play arcade games.

Yes games just autoboot. i had already mentioned that i wanted to add a game window like the one with spinning disc but instead of the spinning disc it would display the full cover like you see in the gameinfo window that you can click on to rotate and zoom in and out.
 
Hi again. A few days have passed but now I've got the time to test it on my console.
Unfortunately it doesn't work.
I went through all your steps and ended up with a big 4 TB FAT32 MBR partition with 32K cluster size.
Although my EaseUS Partition Master's interface is german you should see all infos in these screenshots:

I connected it to the Wii U with my Y-cable. The thick cable went to the top USB slot since it's the data cable, the thinner cable went to the bottom slot.
After booting my Wii U it shows me the formating warning (as usual) so it should have enough power.
But when I start vWii and USB Loader GX it keeps kinda freezing at the "initialize usb device" but not with the "waiting for usb device, 30 sec ..." message. Just "initialize usb device".
Cyan and GreyWolf: Do you maybe know what's the reason here? Please don't tell me the drive is not compatible. :( All smaller versions from the WD My Passport series are confirmed to work. Maybe I should get myself another Y-cable?
I don't want to spam about this, especially because you're talking about that fantastic WiiFlow plugin feature right now which I really appreciate, but does nobody here have an idea that could help me?
If not I really have to send this beautiful drive back. :(
@Cyan: Since you released an USB Loader GX mod with GPT support for Nintendont, do you know whether emunand (+WiiWare/VC) is working with GPT as well? That could be my last hope.
Unfortunately I'm away from home for more than one day so I can't just try it out.
 
Last edited by lordelan,
I don't want to spam about this, especially because you're talking about that fantastic WiiFlow plugin feature right now which I really appreciate, but does nobody here have an idea that could help me?
If not I really have to send this beautiful drive back. :(
@Cyan: Since you released an USB Loader GX mod with GPT support for Nintendont, do you know whether emunand (+WiiWare/VC) is working with GPT as well? That could be my last hope.
Unfortunately I'm away from home for more than one day so I can't just try it out.

EmnuNAND runs via cIOS so it would have to have GPT support in order for it to read the drive. (Not sure if d2x does.)
I think NEEK requires MBR/FAT32 as well.
 
I'm looking at the d2x module source and it looks like it only supports MBR. Same with the d2x (custom-di) source. :/ They both use an older FatFS.
Thanks for your efforts. Seems to be the sad truth then. I've gotta get a drive which is recognized by the Wii U and is MRB. Guess I go for a WD My Book then, although I loved the smallness of the WD My Passport Ultra.
 
Wow well that's interesting!
I've only tried with Rev 1260 all the time.
To be completely sure I put WiiFlow and CFG Loader on my SD and they worked with that drive.
Then I tried the Plugin Mod for USB Loader GX from fledge68 which is Rev 1261 and it worked!
@Cyan: Did you change anything on the USB drivers or stuff like that from Rev 1260 to 1261?
I hope that if you merge the plugin mod into the main branch it's still working for me. :)
Unfortunately I formatted to NTFS so all I gotta test now is formatting back to FAT32 and see if it's still working. If yes I'll try Nintendont and NEEK as well. :)

Edit: Unbelievable. Formatted back to FAT32 and it's not working again! I just don't get it!
I just want a FAT32 partition to use NEEK and Nintendont. And I want to use it with USB Loader GX. What a nightmare.

So a continuous 4 TB NTFS partition with Mario Kart wbfs on it works on rev 1261.
A continuous 4 TB FAT32 partition with 32K cluster size and the same game leads to the "initialize usb device" freeze on USB Loader GX startup.

Edit 2: That's really odd. Launching through the forwarder channel doesn't work but launching USB Loader GX through Homebrew Launcher does. Sorry if this is a really dump question but: Does any new revision of USB Loader GX need a new forwarder channel?
 
Last edited by lordelan,
do you know which forwarder you have?
did you try to reinstall v5.1?

I don't know why a forwarder would work with NTFS but not FAT32.
Maybe there's an issue with the partition size that the forwarder used. Someone reported using a 4TB FAT32 partition without issue, but didn't say anything about the forwarder.
I'll check (If I remember when I'll take time to do it) if there's a size issue with the variable type (int, double, signed, unsigned, etc.), but if the loader is actually booting, then it means the forwarder is not in memory anymore and did its job successfully.


for info, 1260 and 1261 are exactly the same. When I push the boot.dol into the internal updater menu, I have to upload a new file and commit a new revision. the loader is not updated, only the "latest version" file info is, but it increase the version.
So r1261 is information that r1260 is available.
 
do you know which forwarder you have?
did you try to reinstall v5.1?

I don't know why a forwarder would work with NTFS but not FAT32.
Maybe there's an issue with the partition size that the forwarder used. Someone reported using a 4TB FAT32 partition without issue, but didn't say anything about the forwarder.
I'll check (If I remember when I'll take time to do it) if there's a size issue with the variable type (int, double, signed, unsigned, etc.), but if the loader is actually booting, then it means the forwarder is not in memory anymore and did its job successfully.


for info, 1260 and 1261 are exactly the same. When I push the boot.dol into the internal updater menu, I have to upload a new file and commit a new revision. the loader is not updated, only the "latest version" file info is, but it increase the version.
So r1261 is information that r1260 is available.
Just to clear that up. I haven't tried booting through Homebrew Channel when I was at FAT32 for the first time.
As a "last hope" I formatted to NTFS and at the same time used the Homebrew Channel to launch the USBLGX plugin mod.
Now that I'm back to FAT32 it's still the case that Homebrew Channel works but Forwarder Channel doesn't although the Forwarder Channel used to work with my 250 GB drive I used on my Wii U before.
I'll look for Forwarder Channel v5.1 for vWii as you said and check if this works.
But I'm f*cking happy that my harddrive is working now after all!
 
Just to clear that up. I haven't tried booting through Homebrew Channel when I was at FAT32 for the first time.
As a "last hope" I formatted to NTFS and at the same time used the Homebrew Channel to launch the USBLGX plugin mod.
Now that I'm back to FAT32 it's still the case that Homebrew Channel works but Forwarder Channel doesn't although the Forwarder Channel used to work with my 250 GB drive I used on my Wii U before.
I'll look for Forwarder Channel v5.1 for vWii as you said and check if this works.
But I'm f*cking happy that my harddrive is working now after all!
Could it be your not really using a forwarder. But your forwarder might actually be the full usbloader gx 3.0 channel.
 
Could it be your not really using a forwarder. But your forwarder might actually be the full usbloader gx 3.0 channel.
No. I'm aware that the full channel is not longer supported and even though it did not work with my new drive (and only with my new drive as I stated) it always showed me the correct revision of the recent boot.dol I placed in SD:\apps\usbloder_gx\ ;)
 
I think you either have the full channel or the wrong forwarder installed. The full channel doesn't read the /apps/usbloader_gx/boot.dol file at all so it should always be showing "3.0c r1180".
 

Site & Scene News

Popular threads in this forum