Hacking USB Loader GX

  • Thread starter Thread starter blackb0x
  • Start date Start date
  • Views Views 8,067,759
  • Replies Replies 30,226
  • Likes Likes 74
Could you elaborate what this is? This is the first time I've heard of it though, having a launch Wii, it's probably not actually useful for me. I'm still curious though what there even is that needs any such fix.

It's a video bug present in all Wii consoles when outputting progressive before the RVL-CPU-040 revision, it makes the video output muddier than it should be. According to recent investigations, all revisions upwards fixed this in hardware but it's literally in ALL software for early consoles.
 
  • Like
Reactions: trogdon
EDIT: On the subject of Wii U, if blackb0x is listening to my life story, could you clarify for me that the ability to hook into the Wii U's extra CPU grunt isn't something possible from USB Loader GX's side of things? (I'm not even sure it'd even help for Midway Arcade Treasures 3 though since it's a GameCube game and therefore would be reliant on Nintendont implementing such a function directly, no?)
I don't have a WiiU and have never bothered to look into what does and doesn't activate a speed boost. But I can tell you that there's no WiiU specific code within the loader to increase the speed.

But even then, always find it weird that you can use a classic controller in nintendont but not in a wii game like Super Mario Galaxy. Rvloader is capable of doing that.
It's capable of doing that because the developer put months of work into creating it. But the source code for GC2Wiimote and Hiidra hasn't been released, so other loaders can't use it.

nm, I found it. I turned it off, and the picture looks many times better (about how it looked with the framemeister). btw, what exactly does "auto" do? does it disable or enable deflicker for games or for certain games?
Auto means that the game will decide if a filters applied, just like it normally would. So if you're using a component cable and your output is 480p then the deflicker filter might not be enabled.

Could you elaborate what this is? This is the first time I've heard of it though, having a launch Wii, it's probably not actually useful for me. I'm still curious though what there even is that needs any such fix.
https://www.retrorgb.com/wii-480p-video-bug-discovered.html
https://shmups.system11.org/viewtopic.php?p=1361158#p1361158

The fix is enabled by default for all Wii systems when you're using my version of the loader.
 
Last edited by blackb0x,
IAuto means that the game will decide if a filters applied, just like it normally would. So if you're using a component cable and your output is 480p then the deflicker filter might not be enabled.

What about the USB Loader GX GUI itself? Does the global deflicker setting apply to it too, or does it just always have deflicker enabled or disabled for the GUI?



https://www.retrorgb.com/wii-480p-video-bug-discovered.html
https://shmups.system11.org/viewtopic.php?p=1361158#p1361158

The fix is enabled by default for all Wii systems when you're using my version of the loader.

Does this include Wii Channels and VC games as well?


I also found this post of yours about it to make it work for existing homebrew:

...but neither of the two hex values you mentioned seem to be present in Devolution's loader.bin file (which is the file used for it to work through USB Loader GX). :( For reference, I still regularly use Devolution (which hasn't been updated since 2017) since AFAIK it's the only way without an adapter to use wired Xbox 360 controllers while loading GameCube games from a USB drive; it's also the only way to use a wired Xbox 360 controller for a player other than player 1 without any sort of adapter.


Other than that, one of the only other homebrew I still regularly use that hasn't been updated which could probably be one of the most practical beneficiaries of improved clarity, particularly for text, is WiiXplorer.

Also there's a minor but annoying and confusing language discrepancy used between USB Loader GX and WiiXplorer regarding the shut-down state that I'd love to see rectified - basically what USB Loader GX calls "full shutdown" is called "standby" by WiiXplorer, and what USB Loader GX calls "standby" is what WiiXplorer calls "idle".

I don't suppose it'd be too much to ask if you could do a quick re-compilation of WiiXplorer with the newest libogc so that it includes the 480p fix as well as quickly tweak the English language file so that it, like USB Loader GX, also uses the "full shutdown" + "standby" terminology?

I've even gone and located the file where the offending text is located - just search for the word standby and you'll also find the 'to idle' text located directly above it:
 
Last edited by Nintendo Maniac,
@blackb0x , I do have a question. I'm using the virtual wii, and the colors look much better on your mod than 1271 or the wii vc. I'm not sure if it's due to deflicker, but you can tell by looking at something like Donkey Kong's fur. originally, the colors looked dead, almost like looking at the gamepad (low resolution). I've heard the vwii upscales, but it doesn't appear to do a very good job of it. however, it seems to depend on game (mario galaxy 2 looked fine). is that deflicker or something else?
 
@blackb0x , I do have a question. I'm using the virtual wii, and the colors look much better on your mod than 1271 or the wii vc. I'm not sure if it's due to deflicker, but you can tell by looking at something like Donkey Kong's fur. originally, the colors looked dead, almost like looking at the gamepad (low resolution). I've heard the vwii upscales, but it doesn't appear to do a very good job of it. however, it seems to depend on game (mario galaxy 2 looked fine). is that deflicker or something else?

We hex-edited VC games to restore the original brightness, that's why they look so good!
 
We hex-edited VC games to restore the original brightness, that's why they look so good!

You mean Wii games injected in the Wii U VC, correct?

This does make me wonder if such a thing couldn't also be implemented into USB Loader GX to restore the original brightness for N64 VC games on Wii. Currently AFAIK one has to use Patcher64+ and modify the WAD file of a given N64 VC game directly.
 
You mean Wii games injected in the Wii U VC, correct?

This does make me wonder if such a thing couldn't also be implemented into USB Loader GX to restore the original brightness for N64 VC games on Wii. Currently AFAIK one has to use Patcher64+ and modify the WAD file of a given N64 VC game directly.

Both, it does work for Wiis as well, this could be perfectly implemented in a loader but it shouldn't be as easy as just disabling a vfilter. You don't really need patcher64+ to do that, you just need to extract the WAD file with customizemii and replace the palette (strings) in the 001.app file with a more colorful one. You can use HxD to access the file, instructions for it are already in another post.
 
Last edited by RodriGames40,
What about the USB Loader GX GUI itself? Does the global deflicker setting apply to it too, or does it just always have deflicker enabled or disabled for the GUI?
The global deflicker setting only applies to games.

I don't plan on ever adding a deflicker setting for the loader itself, since then I'd have to maintain a libogc fork too.

I don't suppose it'd be too much to ask if you could do a quick re-compilation of WiiXplorer with the newest libogc so that it includes the 480p fix as well as quickly tweak the English language file so that it, like USB Loader GX, also uses the "full shutdown" + "standby" terminology?
I had to edit over 164 files to get the loader to compile with new versions of devkitPPC and libogc, so that's not something that I want to do for WiiXplorer too.

Doesn't WiiXplorer support external translation files like the loader? If it does then you can try editing the english.lang file :unsure:

I assume these are the correct strings...
msgid "To Idle"
msgstr "Standby"

msgid "To Standby"
msgstr "Full Shutdown"


is that deflicker or something else?
Honestly, I'm not sure what could cause that. Like maybe it's the 480p fix, maybe it's the deflicker filter or maybe it's because I fixed some video modes?

The loader doesn't do what @RodriGames40 mentioned since colour palette patching can be unique to each VC game.
 
Last edited by blackb0x,
The global deflicker setting only applies to games.

I don't plan on ever adding a deflicker setting for the loader itself, since then I'd have to maintain a libogc fork too.


I had to edit over 164 files to get the loader to compile with new versions of devkitPPC and libogc, so that's not something that I want to do for WiiXplorer too.

Doesn't WiiXplorer support external translation files like the loader? If it does then you can try editing the english.lang file :unsure:

I assume these are the correct strings...



Honestly, I'm not sure what could cause that. Like maybe it's the 480p fix, maybe it's the deflicker filter or maybe it's because I fixed some video modes?

The loader doesn't do what @RodriGames40 mentioned since colour pallete patching can be unique to each VC game.

Not anymore actually, people figured out how to patch a default NES palette into any VC NES game, I already patched 22 of them with the same palette and they all work in real hardware. All of them had the same preceding strings as well.
 
Not anymore actually, people figured out how to patch a default NES palette into any VC NES game, I already patched 22 of them with the same palette and they all work in real hardware. All of them had the same preceding strings as well.
What I mean is that there's different palettes, so what looks good for one game might not for another.

I believe a standalone tool would be better suited for colour palette corrections.
 
Last edited by blackb0x,
What I mean is that there's different pallets, so what looks good for one game might not for another.

I believe a standalone tool would be better suited for colour pallete corrections.

Oh, well. NES didn't even had RGB color output anyway, so keeping all games with just one color palette (I used Composite Video) is the most accurate way to go. After all, you'll have one color palette for all games in a real NES anyway.
 
What? Why?
You commenting made me realise that I've probably slipped up.

I'll look into it more when I'm not high on pain meds, which is why I try to put off replying to people in the first place :P

Same, because I disabled it by myself a week ago, just hex-edit all 08080A0C0A0808 strings with 00001516150000 using HxD "replace" function. I can confirm it works with all the .dol files I edited this way.
You likely didn't edit the loaders video modes, but the video modes used by PAL to NTSC patching and vice versa. So you should undo them changes.

I think what Extrems is getting at is that the loader could just set the vfilter when it inits the video.
 
You commenting made me realise that I've probably slipped up.

I'll look into it more when I'm not high on pain meds, which is why I try to put off replying to people in the first place :P


You likely didn't edit the loaders video modes, but the video modes used by PAL to NTSC patching and vice versa. So you should undo them changes.

I think what Extrems is getting at is that the loader could just set the vfilter when it inits the video.

I don't really see any issue with this method tbh, it's not like the filter can't be disabled this way, because the difference is as huge as using your tool with Wii games (the exact same actually, I took some photos). Both in-game and overlays.

--------------------- MERGED ---------------------------

And from what I know, "08080A0C0A0808" means "VideoMode_ProgSoft", so... Yeah, i'm pretty sure it's the actual filter.
 
  • Like
Reactions: iGom
Thing is, all homebrew has it disabled by default in progressive scan mode.
That's the thing, i'm not using 480p at the moment so I had no choice other than disabling it by myself, I guess my LCD panel is really good but I don't notice any flickering with the filter off in 480i mode. The quality increase is still huge though.
 
  • Like
Reactions: iGom
I don't really see any issue with this method tbh, it's not like the filter can't be disabled this way, because the difference is as huge as using your tool with Wii games (the exact same actually, I took some photos). Both in-game and overlays.

--------------------- MERGED ---------------------------

And from what I know, "08080A0C0A0808" means "VideoMode_ProgSoft", so... Yeah, i'm pretty sure it's the actual filter.
When you go to boot a game the loader quickly compares the games video modes to the list within the loader. If they match then they're patched correctly, but if you've searched for "08080A0C0A0808" and replaced everything then you've partially broken video mode patching.

Sure, the loader might look sharper, but you shouldn't just blindly patch all of the render modes.

Thing is, all homebrew has it disabled by default in progressive scan mode.
Yea, that's basically the explanation I gave for the "auto" option. And I already knew that it applies to homebrew too, but there seems to be a few people that want an option to disable the deflicker filter for the loader itself, regardless of if you're using a progressive scan mode.
 
When you go to boot a game the loader quickly compares the games video modes to the list within the loader. If they match then they're patched correctly, but if you've searched for "08080A0C0A0808" and replaced everything then you've partially broken video mode patching.

Sure, the loader might look sharper, but you shouldn't just blindly patch all of the render modes.


Yea, that's basically the explanation I gave for the "auto" option. And I already knew that it applies to homebrew too, but there seems to be a few people that want an option to disable the deflicker filter for the loader itself, regardless of if you're using a progressive scan mode.

Again, it's not like I want the filter enabled at all, not even with interlaced mode. So disabling it for basically all video modes works just as good, even if I know I kinda broke video mode switching with it (I tested some games with this and they still patched correctly.)
 
Last edited by RodriGames40,
  • Like
Reactions: iGom

Site & Scene News

Popular threads in this forum