Hacking USB Loader GX

  • Thread starter Thread starter blackb0x
  • Start date Start date
  • Views Views 8,068,207
  • Replies Replies 30,226
  • Likes Likes 74
I did a hail mary and reset settings in USB Loader GX. Now VC games are playable in 240p... but now I have the opposite problem. Can't force games to run in 480p.

The system is set to 480i, which is needed for 240p to work. I was previously able to force Wii games to run 480p, but now I can't. Even if I set the global settings to 'NTSC480p' and individual game settings to the same, games boot into 480i, as if it's just respecting the system level video setting instead of USB Loader's preference. Is there a video setting I'm forgetting?
The video settings available for games depends on the system settings of your EmuNAND, which USB Loader GX creates based on your system's real NAND. This means that it is impossible to run 240p and 480p games on the same EmuNAND within USB Loader GX, but I've found that there is a workaround.

Create two EmuNANDs: one with the system's video settings set to 480i and another set to 480p. Make sure that the VC games that you want to play in 240p are on both EmuNANDs. Set the global EmuNAND path to the 480p EmuNAND, and then, for each 240p game, set the EmuNAND path to the 480i EmuNAND in the per-game settings. The VC games should boot in 240p and everything else should run in 480p mode.

If you decide to install any new 240p VC games from this point forward, be sure to install them to both EmuNANDs. If you only install to the 480p EmuNAND, the game will only boot in 480p, but if you only install to the 480i EmuNAND, the game won't appear in the games list when running USB Loader GX with the 480p EmuNAND. I know this is a convoluted and inefficient workaround to get 240p and 480p games running side by side, but it's the best solution I've been able to find for the time being.
Post automatically merged:

@blackb0x, relating to my above post, would it be possible for you to get USB Loader GX to display games from multiple EmuNANDs at once, and not just the one that USB Loader GX is using? That would prevent the need to store two copies of the same game on your hard drive or SD card for situations like the one above.
 
Last edited by RetraCarteR,
@blackb0x, relating to my above post, would it be possible for you to get USB Loader GX to display games from multiple EmuNANDs at once, and not just the one that USB Loader GX is using? That would prevent the need to store two copies of the same game on your hard drive or SD card for situations like the one above.
I think most people would prefer to have just 1 EmuNAND and a 240p setting that works if the game actually supports it? And your pull request should partially address this issue.

Lately I've been focused on game compatibility, but I should get around to looking at video mode settings again soon.
 
Not sure where to ask. I'm looking for an update guide with regards to loader and emuNAND. Used modmii about 2 years ago. I'm on a latest Cyan's version 1271 for last two years. cios probably v8 or whatever was latest recommended version 2 years ago. all data on SD drive (including emunand), all game in iso are on fat32 usb drive. wiiware installed into emunand. activated "embedded" emuNAND and using "full" for channels and "full" for saves with exception for few wii games which do not like emunand saves. few games have cheats activated and very few have custom config. I'd like to see visual improvement due to fix 480p, framebuffer, deflicker and all other stuff available in latest version.
1) So, how to update loader to 1281 to preserve my setup and configuration? can I just replace dol in current folder?
2) if I install latest cios based on a latest manual what should I do with emunand? dump it again? will it break save data for games and channels?
PS my board is rvl-30
 
Last edited by vist7000,
The video settings available for games depends on the system settings of your EmuNAND, which USB Loader GX creates based on your system's real NAND. This means that it is impossible to run 240p and 480p games on the same EmuNAND within USB Loader GX, but I've found that there is a workaround.

Create two EmuNANDs: one with the system's video settings set to 480i and another set to 480p. Make sure that the VC games that you want to play in 240p are on both EmuNANDs. Set the global EmuNAND path to the 480p EmuNAND, and then, for each 240p game, set the EmuNAND path to the 480i EmuNAND in the per-game settings. The VC games should boot in 240p and everything else should run in 480p mode.
Hey thanks for the help, I ended up installing your build of ULGX which forces 240p and I am getting the results I wanted - 480p in Wii titles loaded from USB, 240p in VC titles. I had no idea you could have multiple EmuNANDs, I'll definitely look into it.

I'd love if there were a way to force N64 VC and GameCube games to 240p from ULGX but my searches haven't netted anything.
 
  • Like
Reactions: RetraCarteR
I think most people would prefer to have just 1 EmuNAND and a 240p setting that works if the game actually supports it? And your pull request should partially address this issue.

Lately I've been focused on game compatibility, but I should get around to looking at video mode settings again soon.
oh yeah blackbox: do you have an ETA for the new update?
 
Hello everyone,
I have installed today the game 'kirby adventures Wii' (Aka kirby return to dreamland) in usbloaderGX.
The game can be launched but just after the main menu I get a black screen.
Another person has the same problem :
I have seen in the usbloadergx v3.0-r1280 a patch added to fix the problem of this game (see the screenshots).
2023-11-02 16_04_01-Releases · wiidev_usbloadergx.png



I'am using the SUKP01 version of this game. Does anyone know how to fix this problem ? Or do I have to wait for the next release to fix it ? Thank you in advance for helping. :-)
 
Last edited by Remus95000,
oh yeah blackbox: do you have an ETA for the new update?
I'm aiming for a release before Christmas, although I might have to shelve some changes for a future release to make that possible.

I have seen in the usbloadergx v3.0-r1280 a patch added to fix the problem of this game (see the screenshots).
As I explained in this post, that patch was added to allow some cheats and patches to be applied to the game, which would otherwise cause the game to freeze.

If you're playing the game from an SD card then that's likely why it's freezing. And that issue will be addressed in my next release.
 
Is there a way to hide duplicate channels when the contents of both the NAND and EmuNAMD are being shown? I run into the problem where both of them are affected by the same settings (such as the star rating, the category I put them in, and even deleting one deletes both) so I can't just hide one and leave the other there. And I'd like to keep both NAND and EmuNAND being shown so that I can shove some off of my vWii's NAND and save space, but still have the normal NAND available for the games that don't work with EmuNAND.
 
That's a good point, I actually hadn't considered that would be a nintendont thing. My bad!
I return!

This feature (memcard pro gameID integration) has recently been integrated into a fork of Nintendont (gh/DDRBoxman/Nintendont/releases/tag/memcard-release). Sadly, as it stands, even though the feature is supported by nintendont, it produces a corrupt memcard when using forwarders like USBLoader and Wiiflow. Spoke with the author of the nintendont fork and they suggested it would probably be easier to integrate into USBLoader than it would be to try to rework the implementation. Any chance of this happening now that there's proof of a working option on the Wii?
 
I'm aiming for a release before Christmas, although I might have to shelve some changes for a future release to make that possible.


As I explained in this post, that patch was added to allow some cheats and patches to be applied to the game, which would otherwise cause the game to freeze.

If you're playing the game from an SD card then that's likely why it's freezing. And that issue will be addressed in my next release.

You are right, I'm using an SD card with this game.
Is there a way to find such informations without disturb you with the same subject ?
Because I have not read the 1500 previous pages and I did not find the answer by using google :(.
Thank you so much for this feeback :).
Post automatically merged:

I have a Wii and this problem has already been resolved, for the Wii you have to have the HD formatted as WBF and another partition for NGC
Thank you for this feeback, but the problem occurs because I am using an SD card.
 
I'm aiming for a release before Christmas, although I might have to shelve some changes for a future release to make that possible.
Of course general opinion is more important, but in my opinion if it needs to be delayed to allow new features, it's for the better 🙏

Can't wait for it! Thank you for carrying the project I know we all appreciate it ❤️
 
Heya! I only wanted to say that I found a bug in the current version? And I don't know if someone else has found out about this before, but...

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.

The aspect ratio settings work fine for Wii games. But doesn't work for NAND titles... Or maybe the aspect ratio for NAND titles only works to match with the internal system settings? I'm not sure...
Also, I don't know... But playing Wii games at 4:3 feels... nostalgic to me, heh...

EDIT: Yeah, I'm using a mod of USB Loader GX v1281 with those tabs... But anyway, I just tried it with the vanilla USB Loader GX over here and it still has this problem. ^^;

Here's a couple of videos showing what I mean:
 

Attachments

  • usblgx_nand_43_not_working_on_169.mp4
    8.2 MB
  • usblgx_nand_43_working_only_on_43.mp4
    8.3 MB
Last edited by WingedStar64,
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. Turning on Framebuffer or forcing 4:3 doesn't help. Enabling Wii U Widescreen does switch things to 4:3 (which itself seems counterintuitive) but it doesn't save or anything.

This isn't actually exclusive to USBLoaderGX, a lot of homebrew has this problem. i.e, booting up Trauma Center SE with TinyLoad stretches it, but loading it through the normal disc channel loads it properly in 4:3. Weirdly the only exception is Castlevania Rebirth, which displays fine in 4:3 when ran through USBLoaderGX. (It is a US WAD on a European console for what that's worth.)

Anyway, I know this isn't strictly a USBLoaderGX issue, but I figured I'd ask about it here since if any software has the solution, it's probably this one.
 
I'm trying to figure out why USB Loader GX keeps failing with the couple of external hard drives I've tried. I've gone so far as to make my own builds for debugging purposes. 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? I'd think one thing that might be useful to add for debugging would be some sort of buffering on gprintf for when the SD card isn't mounted and therefore gprintf can't write to debug.txt on the SD card.
 
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
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.
 
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,
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
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.
 

Site & Scene News

Popular threads in this forum