Homebrew USB Loader GX 480p fix

Ericsonanzois

Well-Known Member
Newcomer
Joined
Mar 5, 2017
Messages
82
Trophies
0
Age
42
XP
204
Country
Brazil
I have a USB Loader v. 1262 and why not a update direct to fix it?
I tried update it with the menu config native, but the message is "No update".
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
46
Location
Engine room, learning
XP
15,662
Country
France
All this is result of wrong number in svnrev.sh line 8:
rev_new=0
the .sh file is usually automatically updated when typing make.
maybe there's a problem with the new msys, or batch are not working anymore to edit the revision automatically before compiling.

thank you for pointing to the solution :)


oh, and, if you have "3.0c" that means you have the old outdated full channel version still installed.
please, replace that channel with the forwarder channel, to always use the latest revision loaded from SD.
https://gbatemp.net/posts/6478222
 
Last edited by Cyan,

blackb0x

Well-Known Member
Member
Joined
Apr 22, 2019
Messages
788
Trophies
1
XP
3,546
Country
United Kingdom
I think it's because i've downloaded sources in zip, without using svn.
If the project was hosted on GitHub I'd of used git, but I didn't have anything installed to handle SVN so I used the "Download Snapshot" button. I guess that screwed it up :mellow:

Thanks for the fix!

the .sh file is usually automatically updated when typing make.
maybe there's a problem with the new msys, or batch are not working anymore to edit the revision automatically before compiling.
It only seems to work if you've got something like TortoiseSVN, CollabNet or SilkSVN installed.

I guess you could manually increment rev_new when you push your next update? It would prevent the config file from being reset if people download the projects source via the "Download Snapshot" button.

The project still needs a clean up though...
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).
 
Last edited by blackb0x,
  • Like
Reactions: Cyan

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
46
Location
Engine room, learning
XP
15,662
Country
France
I think I have silkSVN installed, that might be why it always worked for me. I didn't thought about it, sorry.
thanks for pointing out. I'll see if I can upload the sh file too (it's marked as ignore on the repository).


I added the 480p fix patch
I moved the libraries inside the source instead of libogc
I un-ignored the svnrev.c file. You might have conflict when updating the sources, be sure to use the new version (or edit the revision manually).
I changed the default IOS to 58 (test!), to fix all users with HDD detection issues on WiiU. Not sure it it'll help, or be worse.

r1272 has been released.
 
Last edited by Cyan,

aleito4

New Member
Newbie
Joined
Jun 19, 2019
Messages
2
Trophies
0
Age
40
XP
88
Country
Peru
hello friends I'm from Peru .. I have a wii and I would like to have the "480p fix to USB Loader GX r1271" more recent, someone could pass me the most current link ........ if they ever came to Peru my house will be open for you in advance thank you.

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

for gamecube and wii please...
 
  • Like
Reactions: Draxikor

blackb0x

Well-Known Member
Member
Joined
Apr 22, 2019
Messages
788
Trophies
1
XP
3,546
Country
United Kingdom
Esos fueron los primeros archivos que se subieron para hacer pruebas el primero es un kit para hacer el parche el segundo un beta pero tenía errores de guardado de configuraciones y el tercero es como te dije el fix pero solo para el menú de nintendont no funciona en los juegos, solo era una prueba para ver el fix en menús de loaders.
My patched Nintendont will actually fix both the menu and the games :) Extrems confirmed it in Cyans thread.
 
  • Like
Reactions: Draxikor and baco81

Ericsonanzois

Well-Known Member
Newcomer
Joined
Mar 5, 2017
Messages
82
Trophies
0
Age
42
XP
204
Country
Brazil
the .sh file is usually automatically updated when typing make.
maybe there's a problem with the new msys, or batch are not working anymore to edit the revision automatically before compiling.

thank you for pointing to the solution :)


oh, and, if you have "3.0c" that means you have the old outdated full channel version still installed.
please, replace that channel with the forwarder channel, to always use the latest revision loaded from SD.
https://gbatemp.net/posts/6478222
I dont use USB Loader like as channel but like an app into HBC.
 

blackb0x

Well-Known Member
Member
Joined
Apr 22, 2019
Messages
788
Trophies
1
XP
3,546
Country
United Kingdom
Last edited by blackb0x,

NoobletCheese

Well-Known Member
Member
Joined
Aug 12, 2018
Messages
534
Trophies
0
Age
25
XP
1,086
Country
United States
NTSC Wii games appear to use one of these modes:

https://github.com/cyan06/usbloadergx/blob/master/source/patches/gamepatches.c said:
static GXRModeObj* vmodes[] = {
&TVNtsc480Prog,
&TVNtsc480ProgSoft,
&TVNtsc480ProgAa,

I suspect the reason we are struggling to see the difference in Mario Kart Wii may be due to the game using either TVNtsc480ProgSoft or TVNtsc480ProgAa, which may blur the image so that the difference caused by Extrem's fix perhaps cannot be appreciated.

Here is a thread which discusses TVNtsc480ProgSoft
https://gbatemp.net/threads/possible-to-disable-the-wiis-de-flicker-filter.477163/

On a small display or at far viewing distances, the filter is perhaps not too bad. In fact it may even look nice if you sit further back and turn the TV sharpness up a bit.

But on a larger screen or sitting closer to the display, we start becoming desperate for every last pixel of resolution we can eek out.

In fact I'm so desperate for resolution I've been doing silly things in my TV service menu risking brick to try and disable overscan for 480p just to eek out an extra 4% resolution.

If someone discovers a way to patch games to TVNtsc480Prog — either offline hex editing or in real time — that person will be a hero in my books.

A reference title for how the image should look without the filter is New Super Mario Bros Wii. I suspect this title uses TVNtsc480Prog.

Some reference text for evaluating any game is the confirmation dialogue after pressing Home and then return to Wii Menu.



Another mystery I'm trying to solve is why the Wii System Menu looks a whole order of magnitude blurrier than Mario Kart Wii.

One possible explanation is that MKW may be using TVNtsc480ProgAa, which perhaps is less aggressive than TVNtsc480ProgSoft used by System Menu.

For what it's worth, I've enabled PriiLoader's 480p System Menu graphics fix (is this Extrem's fix?). But again, I can't see any difference, so either it's not working or TVNtsc480ProgSoft is doing so much blurring that it's simply not appreciable.
 
Last edited by NoobletCheese,
  • Like
Reactions: Elbart

Maeson

Well-Known Member
Member
Joined
Apr 3, 2013
Messages
1,184
Trophies
1
XP
3,411
Country
Spain
I think you might be confusing the Deflicker filter and whatever annoying anti-aliasing or blurry filters developers add to games besides of that. Quite a few games do not use the Deflicker Filter when played through 480p, hacking the main.dol file to disable it and comparing shows me no difference in most games I've tried.

There's a couple games with codes that let you see how those filters I mention work. Twilight Princess on Wii has a code to make "far away places clear" removing the blurry filter that is programmed to smooth over well, far away places. But the PAL version of the code is probably badly ported because it screws up IR Aiming somehow; the NTSC version work as intended.

The other is for the GameCube, Wind Waker and does the same thing, remove the filtering of distant things, and I have to say that it makes the game look so, so much better, and has zero effect on performance (specially since playing through Nintendont boosts the frame rate to begin with).

I guess what you want are codes or changes that disable these sort of filters, which I don't know if they'll be easy to remove seeing how few of them are.

And I'd say that the Wii Menu does use Deflicker or a softening filter because my god, there's a huge difference between games and the menu.
 
  • Like
Reactions: NoobletCheese

NoobletCheese

Well-Known Member
Member
Joined
Aug 12, 2018
Messages
534
Trophies
0
Age
25
XP
1,086
Country
United States
I think you might be confusing the Deflicker filter and whatever annoying anti-aliasing or blurry filters developers add to games besides of that. Quite a few games do not use the Deflicker Filter when played through 480p, hacking the main.dol file to disable it and comparing shows me no difference in most games I've tried.

Yeah I just tried it now following instructions by @Draxikor here applied to Mario Kart Wii's main.dol launched by USB Loader GX.

It's definitely launching the patched main.dol as make it an empty file I just get a black screen.

I observe no change in image clarity. Tried also forcing video mode NTSC480p and all the video mode patchers on, and 480p pixel fix (Extrem's VDAC fix) -- still nothing.

If Mario Kart uses its own bespoke anti aliasing pixel shader to soften the image, then that is getting applied to the system menu overlay too which appears softer while the game is running. I would expect it to be applied only to the game's viewing frustum.

edit: maybe these other mode parameters have something to do with it:

https://github.com/cyan06/usbloadergx/blob/master/source/patches/gamepatches.c said:
static void patch_videomode(GXRModeObj* mode1, GXRModeObj* mode2)
{
mode1->viTVMode = mode2->viTVMode;
mode1->fbWidth = mode2->fbWidth;
mode1->efbHeight = mode2->efbHeight;
mode1->xfbHeight = mode2->xfbHeight;
mode1->viXOrigin = mode2->viXOrigin;
mode1->viYOrigin = mode2->viYOrigin;
mode1->viWidth = mode2->viWidth;
mode1->viHeight = mode2->viHeight;
mode1->xfbMode = mode2->xfbMode;
mode1->field_rendering = mode2->field_rendering;
mode1->aa = mode2->aa;
mode1->sample_pattern[0][0] = mode2->sample_pattern[0][0];
mode1->sample_pattern[1][0] = mode2->sample_pattern[1][0];
mode1->sample_pattern[2][0] = mode2->sample_pattern[2][0];
mode1->sample_pattern[3][0] = mode2->sample_pattern[3][0];
mode1->sample_pattern[4][0] = mode2->sample_pattern[4][0];
mode1->sample_pattern[5][0] = mode2->sample_pattern[5][0];
mode1->sample_pattern[6][0] = mode2->sample_pattern[6][0];
mode1->sample_pattern[7][0] = mode2->sample_pattern[7][0];
mode1->sample_pattern[8][0] = mode2->sample_pattern[8][0];
mode1->sample_pattern[9][0] = mode2->sample_pattern[9][0];
mode1->sample_pattern[10][0] = mode2->sample_pattern[10][0];
mode1->sample_pattern[11][0] = mode2->sample_pattern[11][0];
mode1->sample_pattern[0][1] = mode2->sample_pattern[0][1];
mode1->sample_pattern[1][1] = mode2->sample_pattern[1][1];
mode1->sample_pattern[2][1] = mode2->sample_pattern[2][1];
mode1->sample_pattern[3][1] = mode2->sample_pattern[3][1];
mode1->sample_pattern[4][1] = mode2->sample_pattern[4][1];
mode1->sample_pattern[5][1] = mode2->sample_pattern[5][1];
mode1->sample_pattern[6][1] = mode2->sample_pattern[6][1];
mode1->sample_pattern[7][1] = mode2->sample_pattern[7][1];
mode1->sample_pattern[8][1] = mode2->sample_pattern[8][1];
mode1->sample_pattern[9][1] = mode2->sample_pattern[9][1];
mode1->sample_pattern[10][1] = mode2->sample_pattern[10][1];
mode1->sample_pattern[11][1] = mode2->sample_pattern[11][1];
mode1->vfilter[0] = mode2->vfilter[0];
mode1->vfilter[1] = mode2->vfilter[1];
mode1->vfilter[2] = mode2->vfilter[2];
mode1->vfilter[3] = mode2->vfilter[3];
mode1->vfilter[4] = mode2->vfilter[4];
mode1->vfilter[5] = mode2->vfilter[5];
mode1->vfilter[6] = mode2->vfilter[6];

}
 
Last edited by NoobletCheese,

NoobletCheese

Well-Known Member
Member
Joined
Aug 12, 2018
Messages
534
Trophies
0
Age
25
XP
1,086
Country
United States
I notice SSB:Brawl has the option to toggle the deflicker filter on/off in its options menu.

When enabling it, the system menu overlays also receive the filter, and it appears to be the same amount of filtering as in the system menu. i.e the blur level is quite huge, and Mario Kart is definitely not using this filter, because it is nowhere near as severe in Mario Kart system menu overlays.

I would speculate TVNtsc480ProgSoft is being used by Wii System Menu and SSB: Brawl with deflicker enabled.

TVNtsc480Prog is used by SSB: Brawl with deflicker disabled, New Super Mario Bros, Kirby's Return to Dreamland.

TVNtsc480ProgAa is used by Mario Kart Wii?

Perhaps the reason why patching the main.dol isn't working for Mario Kart Wii is because the patched values are intended to patch TVNtsc480ProgSoft to TVNtsc480Prog, but what we want is to patch TVNtsc480ProgAa to TVNtsc480Prog.

The patched hex values were provided by @SuperrSonic , so it would be great if they could comment on this.
 
Last edited by NoobletCheese,

Maeson

Well-Known Member
Member
Joined
Apr 3, 2013
Messages
1,184
Trophies
1
XP
3,411
Country
Spain
You could try this if you want, I just found it:
No Background Blur [davidevgen]

On most tracks, the blurry/fuzzy background images are now sharp and clear.

NTSC-U
04257E64 30000000

PAL
04258184 30000000

NTSC-J
04257B24 30000000

NTSC-K
04257F44 30000000

Code created by: davidevgen

One thing you need to have in mind is that Mario Kart Wii, like many games from that time makes a rather... generous use of bloom effects that often lowers perceived sharpness to our eyes, that affects too.

And yes, Brawl's Deflicker option is what made me able to see between when the system is doing deflicker and when it's not. That's also what kinda makes me think what we're pointing out as "deflicker" might be another filter entirely, lol.

In any case, blackb0x said it would take a look to it, so we should let him check it out whenever he can and wants.
 

NoobletCheese

Well-Known Member
Member
Joined
Aug 12, 2018
Messages
534
Trophies
0
Age
25
XP
1,086
Country
United States
One thing you need to have in mind is that Mario Kart Wii, like many games from that time makes a rather... generous use of bloom effects that often lowers perceived sharpness to our eyes, that affects too.

And it uses depth of field blur as well, so anything in the distance -- where the player is looking at most of the time -- is a total aliased blurry vaseline smear fest :D

But then why is the system menu overlay in Mario Kart also blurrier than the system menu overlay in NSMBW, Kirby, and SSB:Brawl w/o deflicker?

That is the only reason I suspect Mario Kart may also be using some global, system-wide blur filter, as well.
 
Last edited by NoobletCheese,

NoobletCheese

Well-Known Member
Member
Joined
Aug 12, 2018
Messages
534
Trophies
0
Age
25
XP
1,086
Country
United States
I observe that patching the game's main.dol works for Metroid: Other M and SSB: Brawl -- both the game's graphics and the system overlay become much clearer.

In the case of SSB, toggling deflicker on/off in the game's menu no longer does anything and the deflicker is always off.

@SuperrSonic definitely has the right values for patching Ntsc480ProgSoft to Ntsc480Prog.

All that's left to do now is discover the values for patching Ntsc480ProgAa to Ntsc480Prog to see if that affects Mario Kart.

I suspect the hex values were discovered using Dolphin's debugger, so if anyone knows how to do that please chime in.

Probably better to continue this discussion in the relevant thread: https://gbatemp.net/threads/possible-to-disable-the-wiis-de-flicker-filter.477163/
 
Last edited by NoobletCheese,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Veho @ Veho: https://imgur.com/gallery/L7XokiY