Hacking USB Loader GX

  • Thread starter cyrex
  • Start date
  • Views 7,189,383
  • Replies 29,369
  • Likes 48

blackb0x

Well-Known Member
Member
Joined
Apr 22, 2019
Messages
788
Trophies
1
XP
3,546
Country
United Kingdom
When I play WiiWare, Virtual Console(?) or any other NAND app on USB Loader GX, when I change the aspect ratio to 4:3 either in the game or global settings, it doesn't work, and it still displays these at 16:9 when using 16:9 aspect ratio. It won't display at 4:3 unless I change the aspect ratio to 4:3 on my Wii settings.
I believe I've already fixed that setting for the next release :)

I've kinda had my own problems with aspect ratios. On Wii U, all 4:3 content stretches out into not-quite-but-still-sorta 16:9.
If you're using Aroma then you should check out evWii.

The initial call to StartUpProcess::USBSpinUp works fine--the subsequent one after just does pretty much nothing outside of the UI code. What happens between the first and second spin up (it's a bit obfuscated in debug output due to the SD card being unmounted at the same time--but I'm guessing swapping out IOS?), and is there a known reason why the second spin up will fail for some USB HDDs and succeed on the first?
By default the loader first boots with IOS58 to read your config file and then it'll reload to the d2x cIOS. So your USB HDD needs to be compatible with both IOS and cIOS, else it could hang when a reload occurs.

The code to handle USBs within the cIOS does a decent job, but it won't play nice with all chipsets because it's initialisation sequence isn't perfect and it doesn't handle all of the commands or quirks.

I recently got a 256GB USB 3.1 flash drive that doesn't work with the d2x cIOS, so I might take a look at that code eventually.
 
  • Like
Reactions: worm28 and deadowl

deadowl

Member
Newcomer
Joined
Nov 13, 2023
Messages
6
Trophies
0
Age
36
XP
24
Country
United States
The code to handle USBs within the cIOS does a decent job, but it won't play nice with all chipsets because it's initialisation sequence isn't perfect and it doesn't handle all of the commands or quirks.

I recently got a 256GB USB 3.1 flash drive that doesn't work with the d2x cIOS, so I might take a look at that code eventually.
Have any recommendations for what I should be looking at in that general domain? I'm guessing not a lot of people have looked much into it because the d2x cIOS installer app doesn't support Wii Motion Plus controllers.
 

Nintendo Maniac

Well-Known Member
Member
Joined
Apr 26, 2007
Messages
851
Trophies
1
XP
741
Country
United States
Question: On the older r1272 mod version, I was using channel view combined with sorting by most frequently played. This combination tended to make the most sense if it always defaulted to the first page rather than remembering the page you were previously on, so the way I achieved that was by simply setting GXGlobal.cfg to read-only (once I have everything set up and configured how I like things of course).

My question then is, does r1281 any sort of built-in functionality to achieve this, or should I continue using my existing method of just setting GXGlobal.cfg to read-only?


And question #2: There's a sort of an obscure SD card that I really liked and finally got my hands on one and, while everything seems to "just work" with it, I noticed that the "bootmii mod UNEO" that predates your involvement doesn't work with this obscure SD card despite working with all of my other SD cards when containing the exact same files. I'm just wondering if this is something even solvable at all by you if I were to give you more indepth details including example disk images and exact SD card model (I'd even be willing to ship you my actual physical individual SD card if you want), or if the bootmii mod is outside of your expertise and I should just give up and try using the slower priiloader method instead? (which I know how to use but have never actually installed it)...and maybe you could point me into the right direction as to who I should actually contact regarding such an issue? (and, yes, the issue applies to normal BootMii as well)


Oh and a derpy third question: Have any forum mods ever thought of editing the first post? According to the Sourceforge page, the old r1271 still gets over a thousand downloads a week (though it should probably still include links to both Github and Sourceforge since, the forwarders and stuff are only stored on the Soureforge page).
 
Last edited by Nintendo Maniac,

blackb0x

Well-Known Member
Member
Joined
Apr 22, 2019
Messages
788
Trophies
1
XP
3,546
Country
United Kingdom
Have any recommendations for what I should be looking at in that general domain?
Unless you understand the SCSI protocol then you probably can't fix this. But the following are the two main files.
Code:
https://raw.githubusercontent.com/wiidev/d2x-cios/master/source/ehci-module/tinyehci/usbstorage.c
https://raw.githubusercontent.com/wiidev/d2x-cios/master/source/ehci-module/tinyehci/ehci.c

I'm guessing not a lot of people have looked much into it
Most people, myself included, haven't wanted to make changes in this area because when the devs last attempted to do that (d2x v10 beta53) it made compatibility worse for some people.

because the d2x cIOS installer app doesn't support Wii Motion Plus controllers
The installer just needs to be updated and recompiled with a newer version of devkitPro. Then it'll work with more Wiimotes.

This next release you keep mentioning, is it far away now? Me and many others are eagerly awaiting it.
A few days before Christmas, maybe? I can't say for sure because I'm currently busy working on other things at the moment and I'm also waiting for a certain designer to contact me back.

My question then is, does r1281 any sort of built-in functionality to achieve this, or should I continue using my existing method of just setting GXGlobal.cfg to read-only?
Look for Remember Last Game in the GUI settings and disable it if you always want to see the first page.

Making the config file read only in r1281 would slow things down, since the loader writes hash values to it so that it knows what was last cached.

And question #2: There's a sort of an obscure SD card that I really liked and finally got my hands on one and, while everything seems to "just work" with it, I noticed that the "bootmii mod UNEO" that predates your involvement doesn't work with this obscure SD card despite working with all of my other SD cards when containing the exact same files
Do you know if BootMii is able to create a backup to that SD card? Because if it can't then it's likely just a BootMii limitation and there isn't an easy way to fix it.

Personally I've always installed the UNEO channel booter to Priiloader, so I don't know if my 256GB microSDXC card would also fail to work with BootMii.

Oh and a derpy third question: Have any forum mods ever thought of editing the first post? According to the Sourceforge page, the old r1271 still gets over a thousand downloads a week (though it should probably still include links to both Github and Sourceforge since, the forwarders and stuff are only stored on the Soureforge page).
I've been given write access to that post, but I haven't edited it yet. I will when I release the next update though :)
 
Last edited by blackb0x,
  • Like
Reactions: alcab and Clutz450

Nintendo Maniac

Well-Known Member
Member
Joined
Apr 26, 2007
Messages
851
Trophies
1
XP
741
Country
United States
Look for Remember Last Game in the GUI settings and disable it if you always want to see the first page.

Making the config file read only in r1281 would slow things down, since the loader writes hash values to it so that it knows what was last cached.
Alright, cool! This is exactly the sort of thing I was looking for.


Do you know if BootMii is able to create a backup to that SD card? Because if it can't then it's likely just a BootMii limitation and there isn't an easy way to fix it.
BootMii can't even launch from the aforementioned SD card. So unless you "know the right people" that I could get in touch with, then I suppose I'll really have to try the Priiloader route.
 

XDeltaOne

Have a good time ;)
Member
Joined
May 20, 2020
Messages
363
Trophies
0
XP
906
Country
Germany
Hey guys I noticed that when I stop to start with rotating disk, the game goes, but the loader freezes when I want to get out of the game again, for example Mario Kart Wii. This is not the case with GameCube games.
 

deadowl

Member
Newcomer
Joined
Nov 13, 2023
Messages
6
Trophies
0
Age
36
XP
24
Country
United States
Unless you understand the SCSI protocol then you probably can't fix this. But the following are the two main files.
Would you happen to have any idea what version/revision of Linux were the original ehci drivers adapted from?

Also, have you seen the Free60 libxenon version of tinyehci? I'd link to it but I'm too much of a newbie to this website to be allowed to post links. Essentially, it looks like forks of the same code, but I haven't been able to track down the original.

I threw copies of ehci.c from both into a code formatter for reasonable diff viewing, because otherwise it's mostly whitespace torture.

Notable differences I've noticed so far in ehci.c:
  • preservation of the ehci_hcd struct pointer in several functions which is absent in the d2x (Wii) version, present in the Linux driver (noted in the comments) and libxenon (XBox360) version
  • ehci_writel calls at the tail end of ehci_init are very different
  • the if statement at line 652 in the d2x version is commented out in the libxenon version--just going straight to the else statement
  • the entire function ehci_reset_usb_port
  • ehci_init_port in libxenon has the equivalent of line-equivalents 846-886 commented out (via preprocessor #if 0)
  • variable cnt replaced by port + 1 in libxenon on the line-equivalents 898, 910
  • first few lines of ehci_release_ports are a bit different
  • various timer/counter differences
It's also notable that there's some unresolved crash reports related to ehci but I don't know what the extent of those would be and they haven't update that thread in like ten years.
 

utubas

New Member
Newbie
Joined
Nov 15, 2023
Messages
1
Trophies
0
Age
30
XP
10
Country
Netherlands
While using USB Loaded GX, I just cannot use it with my gamecube controller with a mayflash adapter, but the games work fine through Nintendont... any idea how can I fix this?

Edit: Forgot to mention I am using vWii.
 
Last edited by utubas,

worm28

Well-Known Member
Member
Joined
Jun 2, 2013
Messages
1,030
Trophies
1
XP
993
Country
United States
Most people, myself included, haven't wanted to make changes in this area because when the devs last attempted to do that (d2x v10 beta53) it made compatibility worse for some people.
This is just a question not a request will we be able to use two usb ports for our loader like beta 53 in the future or is it not going to happen just a question? And thanks for everything you do for usb loader gx
 
Last edited by worm28,

Error52

Active Member
Newcomer
Joined
Oct 12, 2023
Messages
25
Trophies
0
Age
26
XP
162
Country
United Kingdom
If you're using Aroma then you should check out evWii.
I have evWii enabled, doesn't really affect this issue. I've attached two screenshots. The one where the game is in standard 4:3 is what displays when I load the game through the stock disc channel. The stretched one is what happens when I load the game through USBLoaderGX.

I also run into this issue with GameCube games on Nintendont, and even though I can enable the "Wii U Widescreen" option on a game-by-game basis there, that method doesn't seem to actually do anything.

Also, uh, while I'm being annoying I might as well mention another major issue I ran into: Excite Truck and Excite Bots just straight up crash the Wii U into a black screen whenever I boot them up. I looked on reddit and saw other people had this issue with Excite Truck, and I dumped that game from a real copy to be sure.
 

Attachments

  • Trauma Center Disc Channel.jpg
    Trauma Center Disc Channel.jpg
    1.7 MB · Views: 20
  • Trauma Center USBLoaderGX.jpg
    Trauma Center USBLoaderGX.jpg
    1.7 MB · Views: 20

Amuro-san

Well-Known Member
Member
Joined
Jan 20, 2022
Messages
272
Trophies
0
Age
34
XP
709
Country
Brazil
I have a question about Zelda Twilling Princess for Wii, I have the PAL Europe version, but when I force PAL 480p it gets a black screen, Is there nothing you can do to stay at 480p?
 

Brand Newman

Well-Known Member
Member
Joined
Apr 29, 2014
Messages
563
Trophies
2
Age
43
Website
twitter.com
XP
3,387
Country
France
I have a question about Zelda Twilling Princess for Wii, I have the PAL Europe version, but when I force PAL 480p it gets a black screen, Is there nothing you can do to stay at 480p?
I don't think you have to force PAL480P with this game, but you need the deflicker option to get clean picture.

However, if your game doesn't display PAL480P by default, maybe you should try enabling "dol video patch"? I'm pretty sure you don't need it, and your issue is the infamous deflicker filter being on with the PAL edition, though.
 

XDeltaOne

Have a good time ;)
Member
Joined
May 20, 2020
Messages
363
Trophies
0
XP
906
Country
Germany
Hey, I noticed that Mario Kart Wii can crash via SD card if you go in too fast via Gran Prix. It's the same with Wiiflow Lite, I don't know if it's because of any patches, but it crashes or stays black. Can anyone tell me what the problem is? It doesn't always crash, only if you click through too quickly I have the feeling.
 
Last edited by XDeltaOne,

Misterfan2000

New Member
Newbie
Joined
Dec 18, 2022
Messages
4
Trophies
0
Age
26
Location
Alcoy, España
XP
54
Country
Spain
Hey, I have a little problem with USB Loader GX

I installed it on my Wii U, the games are running fine, but the USB Loader GX menu has some graphical glitches (Play bar doesn't appear, the channel are bugged...)

Someone knows how to fix them?
 

Attachments

  • 20231127_145630.jpg
    20231127_145630.jpg
    2.1 MB · Views: 21
  • 20231127_145633.jpg
    20231127_145633.jpg
    2 MB · Views: 21
  • 20231127_145641.jpg
    20231127_145641.jpg
    2.3 MB · Views: 17
  • 20231127_153247.jpg
    20231127_153247.jpg
    2.3 MB · Views: 17
Last edited by Misterfan2000,

Nintendo Maniac

Well-Known Member
Member
Joined
Apr 26, 2007
Messages
851
Trophies
1
XP
741
Country
United States
Oh that reminds me—is there a place do manually download the custom .bnr files through my PC's web browser and the like? Or should I make due with the next best thing—downloading then through USB Loader GX via Dolphin?
 

blackb0x

Well-Known Member
Member
Joined
Apr 22, 2019
Messages
788
Trophies
1
XP
3,546
Country
United Kingdom
Oh that reminds me—is there a place do manually download the custom .bnr files through my PC's web browser and the like? Or should I make due with the next best thing—downloading then through USB Loader GX via Dolphin?
You can download banners from this website. But it uses partial IDs, so you'd need to name them correctly for the loader to use them.

The loader only searches for custom GC banners because it'd be a waste of time to search for custom Wii banners.
 
Last edited by blackb0x,
  • Like
Reactions: jeannotte

Nintendo Maniac

Well-Known Member
Member
Joined
Apr 26, 2007
Messages
851
Trophies
1
XP
741
Country
United States
Perhaps it just has something to do with me testing in Dolphin, but USB Loader GX r1281 always does the "waiting for USB" 20-second countdown even though I set the options to use SD card mode and to not mount the USB drive.

While I do use a USB drive (actually a Samsung 830 128GB SSD with a SATA-USB adapter) on my real Wii console, I've a friend that's upgrading his Nintendo Switch from a 256GB SD card to a 512GB SD card and wants to use the 256GB SD card on his Wii U without any USB drive.


You can download banners from this website. But it uses partial IDs, so you'd need to name them correctly for the loader to use them.

Alright, cool. That did however allow me to confirm one thing, that it seems there really is no custom channel banner made for Ocarina of Time + Master Quest? The "D43.bnr" file is the same as "D43mario64.bnr" except without the Super Mario 64 title screen music and instead uses the usual GameCube music (also, D43M01.bnr and D43mario64.bnr are the exact same files with the same SHA hash and everything).

My personal pet theory was always just that they just expected you to use the N64 Master Quest rom injected into the OoT VC channel, but then again Zelda Collectors Edition has a proper custom channel banner and that wouldn't even need VC injection as Zelda 1, Zelda 2, OoT, and MM all even have official VC releases (the VC version of MM in particular being notably superior to the GC version).
 

bitzthatbyte

Well-Known Member
Member
Joined
Dec 29, 2014
Messages
111
Trophies
0
XP
1,937
Country
United Kingdom
Not sure if this has already come up but
I'm having an issue when exiting a game in usb loader gx.
I have it set to return to the usb loader after exiting and I get a hardlock where I have to pull out the cable to power down as holding the power button does nothing.
I have tried clearing the return settings but the same thing happens.
I'm on vWii on wii u.
Don't understand as its working on my other vWii/wii u the only difference is the games are on the sd card on the one I'm having issues with and on a hdd on the one that's working.
Any help will be really appreciated.
Thanks in advance

Update: seems to be something to do with the banner animation settings.
When I turn on quick boot all games return to usb loader gx without problems.
 
Last edited by bitzthatbyte,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • SylverReZ @ SylverReZ:
    @Sonic Angel Knight, Is that SAK I see. :ninja:
  • BigOnYa @ BigOnYa:
    What a weird game
  • K3Nv2 @ K3Nv2:
    Yeah I wanted to see shards of the titanic
  • BigOnYa @ BigOnYa:
    I kept thinking jaws was gonna come up and attack
  • K3Nv2 @ K3Nv2:
    Jaws is on a diet
  • K3Nv2 @ K3Nv2:
    Damn power went out
  • BigOnYa @ BigOnYa:
    Ok xdqwerty, your little bro prob tripped On the cord and unplugged you
  • K3Nv2 @ K3Nv2:
    Ya I'm afraid of the dark hug me
  • BigOnYa @ BigOnYa:
    Grab and hold close your AncientBoi doll.
  • K3Nv2 @ K3Nv2:
    Damn didn't charge my external battery either
  • BigOnYa @ BigOnYa:
    Take the batteries out of your SuperStabber3000... Or is it gas powered?
  • K3Nv2 @ K3Nv2:
    I stole batteries from your black mamba
    +1
  • K3Nv2 @ K3Nv2:
    My frozen food better hold up for an hour I know that
  • BigOnYa @ BigOnYa:
    Or else gonna be a big lunch and dinner tomorrow.
  • BigOnYa @ BigOnYa:
    Did you pay your power bill? Or give all yo money to my wife, again.
  • K3Nv2 @ K3Nv2:
    Oh good the estimated time is the same exact time they just said
    +1
  • BigOnYa @ BigOnYa:
    Load up your pc and monitor, and head to a McDonalds dining room, they have free WiFi
  • K3Nv2 @ K3Nv2:
    Sir please watch your porn in the bathroom
    +2
  • BigOnYa @ BigOnYa:
    No sir we can not sell you anymore apple pies, after what you did with the last one.
  • K3Nv2 @ K3Nv2:
    We ran out
  • HiradeGirl @ HiradeGirl:
    for your life
    +1
  • K3Nv2 @ K3Nv2:
    My life has no value my fat ass is staying right here
    K3Nv2 @ K3Nv2: My life has no value my fat ass is staying right here