Homebrew USB Loader GX 480p fix

  • Thread starter Thread starter Bladeoner
  • Start date Start date
  • Views Views 64,863
  • Replies Replies 81
  • Likes Likes 9
So GX loader doesn't actually have 480p?
I could swear it does do 480p because in the past I had difficulty reading the text in Okami but not anymore (since playing in 480p on a flatscreen).
 
So GX loader doesn't actually have 480p?
I could swear it does do 480p because in the past I had difficulty reading the text in Okami but not anymore (since playing in 480p on a flatscreen).

Yes is does have 480p but there has been an issue found which affects older Wii's this supposed to fix that partly.
 
If you have a Wii from around 2010 or before, and you run it in 480p using component cables, this makes a noticeable improvement. If you have one of the later Wiis, it this fix won't hurt it and you essentially already have the fix thanks to a change Nintendo made in later Wiis.
Get the fix.
 
I use a (multiconsole) VGA cable for my Wii and in the main menu it recognizes it as 480p. You mean I still might not play in 480p? It's hard to believe as I noticed a difference years ago when I switched from 480i via RGB cable to my current configuration.
 
My patched version will only correct the issue for the USB Loader GX application. To fix the problem with the application and the Wii games you should try the patched version by @leseratte.

https://gbatemp.net/posts/8615415

The hex patch that I shared will work perfectly for most applications and emulators (e.g. mGBA, Genesis Plus GX, Wii64, WiiMC) as long as they use a version of libogc that hasn't been tampered with.
 
Last edited by blackb0x,
I use a (multiconsole) VGA cable for my Wii and in the main menu it recognizes it as 480p. You mean I still might not play in 480p? It's hard to believe as I noticed a difference years ago when I switched from 480i via RGB cable to my current configuration.
why don't you read the OP and follow the links to the technical aspect of the issue instead of guessing what it really is? Others has told you that its a bug in the 480p mode of earlier Wii, not that it is not in 480p
 
why don't you read the OP and follow the links to the technical aspect of the issue instead of guessing what it really is? Others has told you that its a bug in the 480p mode of earlier Wii, not that it is not in 480p
I read the OP but can't access the first link. Maybe you could post it as pure text?
 
you run it in 480p using component cables, this makes a noticeable improvement.
"noticeable" is really subjective here.
I have a 2006 launch wii, in 480p component, and I barely see the change. but like explained few post above, it might be because I have a 4k tv which actually already process the pixels. It's probably more noticeable on old TV, 480p display devices. (are 1080p noticeable?)

@Bladeoner
do you have a patch for the version of libogc the loader is using?
or only the precompiled lib?
I'd prefer having the modified sources or patch uploaded to the repository (for GPL reason)
if not, I guess it might not be too hard to add it myself.
 
Last edited by Cyan,
  • Like
Reactions: Draxikor
do you have a patch for the version of libogc the loader is using?
https://github.com/devkitPro/libogc/pull/65

Basically you only need to change "__VIWriteI2CRegister8(0x65, 1);" to "__VIWriteI2CRegister8(0x65, 3);".

You can see the same change in the hex patch that I've shared as that's 38 80 00 01 38 60 00 65 to 38 80 00 03 38 60 00 65. I figured that out by using IDA Pro.

Could you say exactly what dependencies you're using, because the ones you've mentioned in a few posts and the files hosted on sourceforge don't compile a working version of USB Loader GX. Like it'll compile without errors, but after every reboot or shutdown the applications config will be reset.
 
Last edited by blackb0x,
  • Like
Reactions: Cyan
thanks.

the libogc/portlib on sourceforge miss the last added libraries (libdrc), you need to compile/make, and copy the .a/.h in libogc
I'll put them into usbloadergx sources, it'll prevent that problem with official libogc missing the added libraries.

I don't know why users have the config not saved issue. if there are no error or warning, it shouldn't be a problem to save the config file.
Maybe the "put in subfolder" guide you linked is the problem? I didn't to it myself, just wrote the guide by logic. maybe it's not working correctly, or maybe it needs old msys?
I'll have to test the global/individual settings when I'll add the patch, so I'll see if there's a problem.
 
Last edited by Cyan,
the libogc/portlib on sourceforge miss the last added libraries (libdrc), you need to compile/make, and copy the .a/.h in libogc
I'll put them into usbloadergx sources, it'll prevent that problem with official libogc missing the added libraries.
I think that's what @Bladeoner and myself did else it wouldn't compile without throwing an error. So at this point I can only assume the issue is with MSYS 2.10.0 (it's what devkitProUpdater-3.0.3 downloads) and that you're using an older version? If we could get the same version it might help.

There was a typo in my previous post by the way. It's the line containing 0x65 that you need to edit and not the line containing 0x6a.
 
Last edited by blackb0x,
  • Like
Reactions: Cyan
"noticeable" is really subjective here.
I have a 2006 launch wii, in 480p component, and I barely see the change. but like explained few post above, it might be because I have a 4k tv which actually already process the pixels. It's probably more noticeable on old TV, 480p display devices. (are 1080p noticeable?)

@Bladeoner
do you have a patch for the version of libogc the loader is using?
or only the precompiled lib?
I'd prefer having the modified sources or patch uploaded to the repository (for GPL reason)
if not, I guess it might not be too hard to add it myself.

I used the precompiled version from Sourceforge.
 
"noticeable" is really subjective here.
I have a 2006 launch wii, in 480p component, and I barely see the change. but like explained few post above, it might be because I have a 4k tv which actually already process the pixels. It's probably more noticeable on old TV, 480p display devices. (are 1080p noticeable?)

I'm at 1080p on my 32" Samsung (from 2017) and it is quite noticeable. I doubt my Samsung does anything to improve 480p inputs, making it more "noticeable" here.
 
Last edited by ChibiMofo,
then it's my eyes which have a problem :p
I'll try again, maybe I didn't took enough attention to the changes. it's not easy without direct changes, I have to reset/relaunch to compare.

I have msys 1.0.17, but I'll try to fix and update the repository to compile on latest devkitpro bundles.
though, if there's no warning, it should save correctly. if msys is updated it should even detect more errors than old version, if there were any, no?
 
Last edited by Cyan,
My TV should be able to take screenshots BEFORE video post processing soon. I'll post some with and without the fix as soon as I find the time.
 
  • Like
Reactions: Draxikor
I have msys 1.0.17, but I'll try to fix and update the repository to compile on latest devkitpro bundles.
though, if there's no warning, it should save correctly. if msys is updated it should even detect more errors than old version, if there were any, no?
I managed to get devkitPro 2.1.0 and msys 1.0.17, but the issue still occurs. So at this point I guess it's due to how you've packaged the project and it's dependencies, since it's tripped up both myself and @Bladeoner.

Could you include everything in your libogc/portlibs package? Currently it's missing files like libwiidrc.a, libsicksaxis.a, libruntimeiospatch.a, libntfs.a & libext2fs.a. And it also looks like your libfat.a (380 KB) is outdated as the source compiles a version that's 399 KB (it includes fatfile_frag.o).

If I compile the libs myself then almost all of them will spit our warnings and libcustomntfs won't even compile until __u32 is changed to uint32_t on two functions (ext2fs_crc32c_le & ext2fs_crc32c_be).

I guess if you can get this working correctly with a newer version of devkitPro and upload new archives then it'll compile for me too.

If you get USB Loader GX to compile with a newer version of devkitPro you'll know if you've recreated the bug that myself and @Bladeoner have run into. You just need to setup USB Loader GX (change the layout and a few settings) and then shutdown your Wii. When you power it on again your settings will be reset.
 
Last edited by blackb0x,
I managed to get devkitPro 2.1.0 and msys 1.0.17, but the issue still occurs. So at this point I guess it's due to how you've packaged the project and it's dependencies, since it's tripped up both myself and @Bladeoner.

Could you include everything in your libogc/portlibs package? Currently it's missing files like libwiidrc.a, libsicksaxis.a, libruntimeiospatch.a, libntfs.a & libext2fs.a. And it also looks like your libfat.a (380 KB) is outdated as the source compiles a version that's 399 KB (it includes fatfile_frag.o).

If I compile the libs myself then almost all of them will spit our warnings and libcustomntfs won't even compile until __u32 is changed to uint32_t on two functions (ext2fs_crc32c_le & ext2fs_crc32c_be).

I guess if you can get this working correctly with a newer version of devkitPro and upload new archives then it'll compile for me too.

If you get USB Loader GX to compile with a newer version of devkitPro you'll know if you've recreated the bug that myself and @Bladeoner have run into. You just need to setup USB Loader GX (change the layout and a few settings) and then shutdown your Wii. When you power it on again your settings will be reset.

I'm little bit busy upcoming week but when I have some time after that I will look what I can do to use the latest devkitppc and tools. Not so long a go we also alligned the source of Snes9x GX to get them to work with the latest tools.
 
Last edited by Bladeoner,
  • Like
Reactions: blackb0x
Hello everyone!

Thank you, @Cyan and all Usbloader GX authors!

@Cyan, @Bladeoner, @blackb0x
I'm making Usbloader GX "lazy control" mod, allowing to select and start games without aiming with Wii Remote to screen/sensor bar, holding Wii Remote sideways (Kirby's Adventure Wii control style).
I've downloaded sources in zip, compile, copy boot.dol to SD card and get the same problem with config resets to default. After some analysis I discovered the follwing:

- Displayed on the start screen code revision is 0 ( v3.0c Rev. 0 ) That's strange...
- Settings from original boot.dol will be loaded once, but after shutdown it resets to default.
- Original line of GXGlobal.cfg, saved by original boot.dol is:

# USB Loader GX R1271 - Main settings file

- First line of GXGlobal.cfg, saved by my compiled boot.dol is:

# USB Loader GX R0 - Main settings file

In code this causes CSettings::ValidVersion function in CSettings.cpp to return 0. So CSettings::Load just loads default config and ignores content of GXGlobal.cfg. Before shutdown that default config is saved to GXGlobal.cfg.

All this is result of wrong number in svnrev.sh line 8:
rev_new=0
( => svnrev.c #define SVN_REV "0" => GetRev() returns 0 ).
I think it's because i've downloaded sources in zip, without using svn.

So the SOLUTION is to edit code revision in svnrev.sh line 8:
rev_new=1271

Use 1271, or any integer number >= 1031 (coz #define VALID_CONFIG_REV 1031)

And settings will be saved correctly! ;)
 
Last edited by Spfree,

Site & Scene News

Popular threads in this forum