Hacking Possible to Disable the Wii's (De)Flicker Filter?

SaulFabre

I like Yoshis and the Wii/Wii U scene.
Member
Joined
Feb 6, 2019
Messages
3,135
Trophies
1
Age
25
Location
Ecuador
Website
saulfabreg-wiivc.blogspot.com
XP
7,552
Country
Ecuador
Hey, tried the same thing of brighten the NTSC VC release of Metroid NES with the game Super Mario Bros. 3 NTSC and it also worked great :)

Comparison:

SMB3 NES Wii VC DARK.PNG SMB3 NES Wii VC NO DARK yay TEST1.PNG

And the HOME Menu luckily is still in normal brightness: Lol

SMB3 NES Wii VC NO DARK HOME menu bright normal.PNG

Hey @NoobletCheese, @Zorg1996 maybe this will work for all of you!

Greetings to all
 

XFlak

Wiitired but still kicking
Member
Joined
Sep 12, 2009
Messages
13,755
Trophies
3
Age
38
Location
Cyprus, originally from Toronto
Website
modmii.github.io
XP
9,704
Country
Cyprus
Sorry, yes I meant Home menu. When you exit the game, System Menu will set its own vfilter 08080A0C0A0808 -- I'd really like to remove this too, but I think it's only possible with modifying PriiLoader, and risky because it would modify sysnand I presume?
Might it be doable with a priiloader system menu hack (i.e. Hacks_hash, not priiloader itself)? Even if you get it wrong, you should be able to reload priiloader and disable or change the hack so I don't think it should carry much risk
 
Last edited by XFlak,

SaulFabre

I like Yoshis and the Wii/Wii U scene.
Member
Joined
Feb 6, 2019
Messages
3,135
Trophies
1
Age
25
Location
Ecuador
Website
saulfabreg-wiivc.blogspot.com
XP
7,552
Country
Ecuador
More testing with another NES games on Wii with the same procedure I did with Metroid NTSC and SMB3 NTSC...

So I removed darkening in NES Play Action Football NTSC which was the unique 4-players game released in Wii, and here's the results:

NES Play Action Football NES NTSC Wii VC DARK.PNG NES Play Action Football NES NTSC Wii VC NO DARK yay TEST1.PNG

Hope this helps to all of you :D

Greetings to all
 

SuperrSonic

Well-Known Member
Member
Joined
Dec 9, 2011
Messages
807
Trophies
1
XP
2,295
Country
Puerto Rico
Might it be doable with a priiloader system menu hack (i.e. Hacks_hash, not priiloader itself)?
This code should work on all popular system menus, but it has only been tested on the 4.2U version.
It's been a long time but I think all you need to do is delete the hacks file installed (I used wiixplorer) and replace it with the new one.
Code:
[Remove Deflicker]
maxversion=518
minversion=288
amount=5
hash=0x0608080a,0x0C0A0808
patch=0x06000015,0x16150000
hash=0x0608080a,0x0C0A0808
patch=0x06000015,0x16150000
hash=0x0608080a,0x0C0A0808
patch=0x06000015,0x16150000
hash=0x0608080a,0x0C0A0808
patch=0x06000015,0x16150000
hash=0x0608080a,0x0C0A0808
patch=0x06000015,0x16150000
Hey, tried the same thing of brighten the NTSC VC release of Metroid NES with the game Super Mario Bros. 3 NTSC and it also worked great :)
You might not care about this detail but injecting SMB3 in other VC emulators does produce some graphical glitches missing from the official release. I didn't test every VC of course so maybe I was unlucky but the same bugs appear in the Animal Crossing emulator.
 

SaulFabre

I like Yoshis and the Wii/Wii U scene.
Member
Joined
Feb 6, 2019
Messages
3,135
Trophies
1
Age
25
Location
Ecuador
Website
saulfabreg-wiivc.blogspot.com
XP
7,552
Country
Ecuador
This code should work on all popular system menus, but it has only been tested on the 4.2U version.
It's been a long time but I think all you need to do is delete the hacks file installed (I used wiixplorer) and replace it with the new one.
Code:
[Remove Deflicker]
maxversion=518
minversion=288
amount=5
hash=0x0608080a,0x0C0A0808
patch=0x06000015,0x16150000
hash=0x0608080a,0x0C0A0808
patch=0x06000015,0x16150000
hash=0x0608080a,0x0C0A0808
patch=0x06000015,0x16150000
hash=0x0608080a,0x0C0A0808
patch=0x06000015,0x16150000
hash=0x0608080a,0x0C0A0808
patch=0x06000015,0x16150000

You might not care about this detail but injecting SMB3 in other VC emulators does produce some graphical glitches missing from the official release. I didn't test every VC of course so maybe I was unlucky but the same bugs appear in the Animal Crossing emulator.
@SuperrSonic I didn't inject a SMB3 ROM into Metroid WAD. I just removed the dark filter from official release of SMB3 NTSC.
 
  • Like
Reactions: SuperrSonic

XFlak

Wiitired but still kicking
Member
Joined
Sep 12, 2009
Messages
13,755
Trophies
3
Age
38
Location
Cyprus, originally from Toronto
Website
modmii.github.io
XP
9,704
Country
Cyprus
This code should work on all popular system menus, but it has only been tested on the 4.2U version.
It's been a long time but I think all you need to do is delete the hacks file installed (I used wiixplorer) and replace it with the new one.
Code:
[Remove Deflicker]
maxversion=518
minversion=288
amount=5
hash=0x0608080a,0x0C0A0808
patch=0x06000015,0x16150000
hash=0x0608080a,0x0C0A0808
patch=0x06000015,0x16150000
hash=0x0608080a,0x0C0A0808
patch=0x06000015,0x16150000
hash=0x0608080a,0x0C0A0808
patch=0x06000015,0x16150000
hash=0x0608080a,0x0C0A0808
patch=0x06000015,0x16150000

You might not care about this detail but injecting SMB3 in other VC emulators does produce some graphical glitches missing from the official release. I didn't test every VC of course so maybe I was unlucky but the same bugs appear in the Animal Crossing emulator.
Thanks! But you shouldn't need to use wiixplorer and manually fiddle with your real nand, just add that to the bottom of hacks_hash on your sd card and enable it as per usual via priiloader itself

Out of curiosity who put this together? I think it makes sense to have it tested a bit more, then integrate it into the default hacks_hash that comes with priiloader. So if anyone is willing and able to test this on various system menu versions that would be amazing!
 

SuperrSonic

Well-Known Member
Member
Joined
Dec 9, 2011
Messages
807
Trophies
1
XP
2,295
Country
Puerto Rico
I didn't inject a SMB3 ROM into Metroid WAD. I just removed the dark filter from official release of SMB3 NTSC.
My bad, what you wrote was clear enough I just misread it after you asked Zorg about injecting into SMB3 and made a poor guess at what you were doing.

Thanks! But you shouldn't need to use wiixplorer and manually fiddle with your real nand, just add that to the bottom of hacks_hash on your sd card and enable it as per usual via priiloader itself

Out of curiosity who put this together? I think it makes sense to have it tested a bit more, then integrate it into the default hacks_hash that comes with priiloader. So if anyone is willing and able to test this on various system menu versions that would be amazing!
I made it using Dolphin to view Wii memory and looking at priiloader's source to make the patch. The reason I think it would work on any version is because it's searching for the very specific values and doesn't care about any address in particular.
 

Maeson

Well-Known Member
Member
Joined
Apr 3, 2013
Messages
1,164
Trophies
1
XP
3,342
Country
Spain
Should I make a Nand backup before trying, or it's safe?

Edit: Okay, just by adding SuperrSonic's code at the end of the hash file on app/priiloeader it can be easily toggled on, so very easy process.

And here's a quick and dirty comparison:

Left Normal, Right with the Priiloader hack on:
Hack Off.jpg Hack On.jpg

So, it works, Mega Man 9's (the channel in the lowest row) has always had a blurrier channel animation, so don't look there. It is quite a bit better, and I'm thrilled that this works on the System menu! Now I'm off to try if it does something for the Homebrew Channel.

Edit 2: Nah, it doesn't work for the HBC, what a pity. I wonder if something could be done for it...

In any case, it works for System Menu, which was the point. My system is PAL, so it has a 4.3E version.
 
Last edited by Maeson,

NoobletCheese

Well-Known Member
Member
Joined
Aug 12, 2018
Messages
532
Trophies
0
Age
25
XP
1,070
Country
United States
@SuperrSonic

That's awesome, thank you!

Working on my 4.3E PAL console with modified SD:\apps\priiloader\hacks_hash.ini.

For system channels like Mii Maker etc. I'm launching them from ULGX to disable their filters (at least in blackb0x's current test build).

it doesn't work for the HBC, what a pity. I wonder if something could be done for it...

HBC doesn't really look filtered to me? I'm using v1.1.2.
 
Last edited by NoobletCheese,

Zorg07

Well-Known Member
Newcomer
Joined
Jul 14, 2019
Messages
93
Trophies
0
XP
993
Country
Peru
@NoobletCheese Friend I was so excited that I only tried it on Dolphin, but later I wanted to try it on my Wii 4.3U, and this was the result, SMB3 looks black, my Contra game injected the same, here I clarify that the Kirbys Adventure with your first indication which was the following:
"Assuming the VC game is a WAD, unpack the wad, decompress 01.app, open in hex editor, find all 0606060606060606060606060606060606060606060606 and for each one: if the string following it looks like a vfilter such as 00001516150000 or 08080A0C0A0808 etc., replace it with 000015XX150000 where XX is the amount of brightness increase you want, eg. "
This one does go without problems on my Wii and on Dolphin, but for SMB3 and the other games that I leave as a list @SaulFabre they don't go well on real Wii only on Dolphin as I told you. I do not know what I can do :(, I attach images of how the games look, being the only one that is going well Kirbys Adventure (I also mention that Mega Man 2, SMB using the same method for Kirby are going well).
 

Attachments

  • Kirbys Adventure VC NES Wii (2).jpg
    Kirbys Adventure VC NES Wii (2).jpg
    91.9 KB · Views: 284
  • Kirbys Adventure VC NES Wii (1).jpg
    Kirbys Adventure VC NES Wii (1).jpg
    67.2 KB · Views: 168
  • Contra inject  VC NES (2).jpg
    Contra inject VC NES (2).jpg
    64.1 KB · Views: 143
  • Contra inject  VC NES (1).jpg
    Contra inject VC NES (1).jpg
    42.8 KB · Views: 140
  • SMB3 VC NES Wii (1).jpg
    SMB3 VC NES Wii (1).jpg
    130.9 KB · Views: 146
  • SMB3 VC NES Wii (2).jpg
    SMB3 VC NES Wii (2).jpg
    122.4 KB · Views: 166
Last edited by Zorg07,
  • Like
Reactions: SaulFabre

NoobletCheese

Well-Known Member
Member
Joined
Aug 12, 2018
Messages
532
Trophies
0
Age
25
XP
1,070
Country
United States
@Zorg1996

Sorry, it appears the patch is only working on Dolphin, as I tried it on Wii just now with Metroid and SMB3 and get the same result as your screenshots :(

I also tried with the previous version which has the bright home menu, and that didn't work either. Which is weird cause when you open the home menu it's not broken, and the code path is exactly the same for the game and the home menu in that version. But the state of the registers is not, so I think the registers need to be preserved on the console.

I think a solution should be possible to make the function behave exactly as if it were called normally and preserve the state of the registers, by sacrificing the top section where it sets antialiasing, and use that section to set reg5=true and reg6=our vfilter with some branches to handle whether game is calling it with reg5=true/false to know if it's the home menu calling, and pad the rest with no-op.
 
Last edited by NoobletCheese,
  • Like
Reactions: SaulFabre

NoobletCheese

Well-Known Member
Member
Joined
Aug 12, 2018
Messages
532
Trophies
0
Age
25
XP
1,070
Country
United States
I'm not confident of being able to solve the issue.

From what I can tell, games like Metroid and SMB3 are calling it like this during gameplay

GXSetCopyFilter(GX_FALSE, NULL, GX_FALSE, NULL);

The problem is that final null, which normally points to a vfilter string to set. For some reason it needs to be non-null on Wii hardware in order to not produce broken video output when forcing the vfilter later on in the function.

I can't write to a null address, so I'm not sure how to solve it.

@SuperrSonic do you know of a safe memory range we can write to for any game? If so, I could write the custom vfilter to that address inside GXSetCopyFilter and change the null to that address, then it should work.
 
Last edited by NoobletCheese,
  • Like
Reactions: SaulFabre

SuperrSonic

Well-Known Member
Member
Joined
Dec 9, 2011
Messages
807
Trophies
1
XP
2,295
Country
Puerto Rico
@SuperrSonic do you know of a safe memory range we can write to for any game? If so, I could write the custom vfilter to that address inside GXSetCopyFilter and change the null to that address, then it should work.
The range used for gecko codes starts at 80001800 is about 4 KB. Aside from that, all games have the same debug strings (if a different address each game is no problem) you could probably use these spots to safely fit small info. Some of my codes do this to make identification easier. E.g. the string "! ! ! C A U T I O N ! ! !" is in every game I've messed with.
 

Maeson

Well-Known Member
Member
Joined
Apr 3, 2013
Messages
1,164
Trophies
1
XP
3,342
Country
Spain
Weird, I'd swear my HBC is filtered comparing it to homebrew apps that are not. It's not too important I suppose.

In any case a clean System Menu is a great thing nonetheless!
 
  • Like
Reactions: SaulFabre

NoobletCheese

Well-Known Member
Member
Joined
Aug 12, 2018
Messages
532
Trophies
0
Age
25
XP
1,070
Country
United States
Weird, I'd swear my HBC is filtered comparing it to homebrew apps that are not. It's not too important I suppose.

If your Wii set to 480i then I think you'll be getting vfilter as HBC sets the render mode to VIDEO_GetPreferredMode() which I think is vfilter=on for 480i but I can't seem to find the source code for it in devkitpro.

edit: to my eyes HBC and ULGX appear strongly filtered when Wii is set to 480i. I guess you could extract HBC to wad, patch it, then reinstall it? ULGX's boot.dol appears patchable with a hex editor.
 
Last edited by NoobletCheese,
  • Like
Reactions: SaulFabre

Maeson

Well-Known Member
Member
Joined
Apr 3, 2013
Messages
1,164
Trophies
1
XP
3,342
Country
Spain
Of course I'm not using 480i. USB Loader GX looks unfiltered, it's just the HBC that looks fuzzier, exactly like the System Menu does.

I think I have 1.1.2 too...

I could try to look at making a wad and see what I find i suppose!
 
  • Like
Reactions: SaulFabre

XFlak

Wiitired but still kicking
Member
Joined
Sep 12, 2009
Messages
13,755
Trophies
3
Age
38
Location
Cyprus, originally from Toronto
Website
modmii.github.io
XP
9,704
Country
Cyprus
  • Like
Reactions: SaulFabre

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: Sorry for accidentally bending over