https://github.com/ZestyTS/UWUVCI-AIO-WPFLink to the fork?
I haven't heard much about dithering but it might be worth it to test it out to see the difference and compare.
https://github.com/ZestyTS/UWUVCI-AIO-WPFLink to the fork?
I haven't heard much about dithering but it might be worth it to test it out to see the difference and compare.
i believe the 'remove dithering' and 'remove deflicker' options apply to the wii game prior to injecting it into the baseI am not remembering dithering on Wii's Virtual Console. Any examples?

Spoiler alert! Lol, yeah this is something I've added to my modmii beta, but it's not publicly available yet.
Code:2C050000 cmpwi r5,0x0000 ... 8001E9E0: 41820040 beq *+64 ; 0x8001EA20
^ appears to be branching ahead 64 bytes if reg5 is 0 (i.e if vf = GX_FALSE).
So we can change it to always branch:
Code:48000040 b *+64
i.e in main.dol change:
2C 03 00 00 41 82 00 F8 89 04 00 00 38 00 00 00 89 44 00 01 38 60 00 00 51 00 07 3E 88 E4 00 06 51 40 26 36 89 04 00 0C 50 E3 07 3E 38 E0 00 00 51 07 07 3E 89 44 00 0D 89 64 00 07 39 00 00 00 51 47 26 36 89 44 00 02 89 24 00 12 51 63 26 36 51 40 45 2E 89 44 00 0E 51 28 07 3E 89 24 00 13 51 47 45 2E 89 44 00 03 51 28 26 36 89 24 00 14 51 40 64 26 89 44 00 0F 51 28 45 2E 89 24 00 15 51 47 64 26 89 44 00 04 89 64 00 08 51 28 64 26 51 40 83 1E 89 44 00 10 89 24 00 16 51 63 45 2E 89 64 00 09 51 47 83 1E 89 44 00 05 51 28 83 1E 89 24 00 11 51 63 64 26 89 64 00 0A 51 40 A2 16 89 44 00 0B 51 27 A2 16 88 84 00 17 39 20 00 01 51 63 83 1E 51 43 A2 16 50 88 A2 16 51 20 C0 0E 39 40 00 02 39 20 00 03 38 80 00 04 51 43 C0 0E 51 27 C0 0E 50 88 C0 0E 48 00 00 24 3D 00 01 66 3C 60 02 66 3C E0 03 66 3C 80 04 66 38 08 66 66 38 63 66 66 38 E7 66 66 39 04 66 66 3D 20 CC 01 39 40 00 61 99 49 80 00 2C 05 00 00 38 80 00 53 39 60 00 00 90 09 80 00 38 00 00 54 39 80 00 00 50 8B C0 0E 99 49 80 00 50 0C C0 0E 90 69 80 00 99 49 80 00 90 E9 80 00 99 49 80 00 91 09 80 00 41 82 00 40
to
2C 03 00 00 41 82 00 F8 89 04 00 00 38 00 00 00 89 44 00 01 38 60 00 00 51 00 07 3E 88 E4 00 06 51 40 26 36 89 04 00 0C 50 E3 07 3E 38 E0 00 00 51 07 07 3E 89 44 00 0D 89 64 00 07 39 00 00 00 51 47 26 36 89 44 00 02 89 24 00 12 51 63 26 36 51 40 45 2E 89 44 00 0E 51 28 07 3E 89 24 00 13 51 47 45 2E 89 44 00 03 51 28 26 36 89 24 00 14 51 40 64 26 89 44 00 0F 51 28 45 2E 89 24 00 15 51 47 64 26 89 44 00 04 89 64 00 08 51 28 64 26 51 40 83 1E 89 44 00 10 89 24 00 16 51 63 45 2E 89 64 00 09 51 47 83 1E 89 44 00 05 51 28 83 1E 89 24 00 11 51 63 64 26 89 64 00 0A 51 40 A2 16 89 44 00 0B 51 27 A2 16 88 84 00 17 39 20 00 01 51 63 83 1E 51 43 A2 16 50 88 A2 16 51 20 C0 0E 39 40 00 02 39 20 00 03 38 80 00 04 51 43 C0 0E 51 27 C0 0E 50 88 C0 0E 48 00 00 24 3D 00 01 66 3C 60 02 66 3C E0 03 66 3C 80 04 66 38 08 66 66 38 63 66 66 38 E7 66 66 39 04 66 66 3D 20 CC 01 39 40 00 61 99 49 80 00 2C 05 00 00 38 80 00 53 39 60 00 00 90 09 80 00 38 00 00 54 39 80 00 00 50 8B C0 0E 99 49 80 00 50 0C C0 0E 90 69 80 00 99 49 80 00 90 E9 80 00 99 49 80 00 91 09 80 00 48 00 00 40
This is working for Battalion Wars 2.
edit: I also tried the other option of changing:
2C050000 cmpwi r5,0x0000
to
2C050001 cmpwi r5,0x0001
i.e branch if vf = GX_TRUE, but the game crashes on boot.
Also it may be better better to branch regardless, otherwise games that don't set a vfilter would cause them to do the opposite and set the vfilter on.
Wow, we talk about the stuff I made, and no @ or anythinghey all, uwuvci recently came out with a fork to disable deflicker and dithering on wii virtual console injects. should i re-inject and remove just deflicker, or both deflicker and dithering? thanks.
Hey there, my sincerest apologies for not giving the shout-out. @ZestyTS has contributed greatly on the wii u scene and has been an amazing source of knowledge on the UWUVCI scene and just Wii u in general. I already know that answering questions was like another job in discord, so i didn't want more people bombard you on top of the amazing help you already provide.Wow, we talk about the stuff I made, and no @ or anything. So one thing, UWUCVI did not come out with a fork, I forked it myself. Yes, I have been the person who updated UWUVCI 3 for the last four years, but I'm done making official updates. In addition, most people thank Nico for the updates over the last few years when it's been me, and not him. Instead, my fork changes many things about UWUVCI 3 for things I want, and removes things. Since it's not an official release there is no support or anything, so please be careful with how it's stated.
Now, since I only removed deflicker to the games I cared about plus the ones I could easily find, a bunch of games do not work in my release. But, since this is for me, I have it working for all games that I own. If anyone wants more games added to the list then you'll need to send me the pattern to look for to change it, example:
Galaxy = { 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00 };
Hahahaha, I appreciate the call out and everything, I was really just trying to explain things so I can properly set up expectations.Hey there, my sincerest apologies for not giving the shout-out. @ZestyTS has contributed greatly on the wii u scene and has been an amazing source of knowledge on the UWUVCI scene and just Wii u in general. I already know that answering questions was like another job in discord, so i didn't want more people bombard you on top of the amazing help you already provide.
On a side note, I wanted to thank you for your help back in discord, especially earlier in the year when the smash remix team dropped a new update. My aim was to re-inject my wii games in sharpest quality, so it sent me on the mission to learn more. Again, thank you very much.
Although, if someone could explain the GXSetCopyFilter to me, it could just be a better version that I could add to the code instead of this hacky solution I'm rolling with.Yes but different games can use different vfilter values, here are some examples
DonkeyKongCountryReturns,NTSC-U,SF8E01,04041010100404
MetroidOtherM,NTSC-U,R3OE01,08080A0C0A0808
MarioKartWii,NTSC-U,RMCE01,07070C0C0C0707
MarioKartWii,NTSC-U,RMCE01,05050F0E0F0505
SonicColours,NTSC-U,SNCE8P,04040F120F0404
SuperMarioGalaxy,NTSC-U,RMGE01,20002000000000
SuperMarioGalaxy2,NTSC-U,SB4E01,20002000000000
eg. Mario Galaxy you would replace 20002000000000 with 00001516150000
But it's easier and more reliable to just patch GXSetCopyFilter (the function which sets the vfilter) that way the game never gets a chance at setting it.
See also https://gbatemp.net/threads/possible-to-disable-the-wiis-de-flicker-filter.477163/post-9514246
Ah, okay I wasn't sure if it was LITERALLY that easy because that seemed stupidly simple like too easy, ya know? Okay, this is something I can easily change, thank you! So two follow-up questions. Would that setting make it so I don't even need to bother with removing dithering as well? Lastly, I see that some GCN games don't have anything removed from Nintendont , is there any more information on that stuff, or is that all I should go off of?Removing GXSetCopyFilter is above, quoted on post 710. Look for the first big string, and replace the four bytes in red from the second. Infinitely more simple than how we did it at the beginning.

Will this work for disc games too?I wasn't planning on sharing this publicly yet, but my next ModMii update will support enabling/disabling deflicker for both wii and GC games (wad, iso, ciso and wbfs). Just wanted to share given others are reportedly working on tools.
Anyone who wants early access can msg me about being a beta tester, thx.

hey there, amazing work as usual. any chance of adding 'remove dithering' as well?I wasn't planning on sharing this publicly yet, but my next ModMii update will support enabling/disabling deflicker for both wii and GC games (wad, iso, ciso and wbfs). Just wanted to share given others are reportedly working on tools.
Anyone who wants early access can msg me about being a beta tester, thx.

I was thinking about it so a few days ago I asked Maeson about it in DMs and figured it wasn't worth the effort given his thoughts (@Maeson I hope you don't mind me quoting this DM snippet, I cut out the personal bits)hey there, amazing work as usual. any chance of adding 'remove dithering' as well?
Dithering is a technique used in games (mostly relegated to pre-HD games) where either the sprites of a game are drawn a particular way, or the game renders on top of the picture a series of dots to pretend to give more depth to the picture, using the blurriness innate to CRTs or well, the Deflicker filter 6th gen systems have.
sometimes this dithering is lines, sometimes are intermitent dots to create some sort of overlay to mix with the graphics of the game and have the display (like the CRTs I mention) mix them to give that fake depth.
For example:
View attachment 453225
On 8 and 16 bits, the effect is drawn into the sprites themselves, for newer console generations like the PS1, it's something put on top of what the game renders. Sometimes, dithering is used to obscure another thing called banding, where the amount of colors is limited, and creates very noticeable separations between tones of colors, like this example:
View attachment 453226
On Wii, a few games do have dithering. I think one of the Prince of Persia games and RE4 are the only ones I remember. it's really not much of an issue.
It can be done and I already tried with RE4 which uses it to hide banding and... Honestly, it's a very nitpicky thing, It's the typical retro-gaming thing that either you love or you hate. Some people make it like it's such important part of the "retro experience TM" while others despise it.
Unlike the deflicker, which most people want it because they don't like to look at blurry screens, and pretty much every game had, the others are a lot more limited in use. If you happen to really dislike it, I guess editing out would be fine, but again; from memory I only remember two games, so if someone is stubborn enough to want to remove it, they should be able to find the info on the deflicker thread where it was talked about and do it themselves.
