TWPatch lets you use custom DS(i) mode scaling filters on your 3DS

twl_bricc_banner.png

Backward compatibility is always appreciated, there's no doubt about it. However, sometimes a console's implementation can be lacklustre, either due to technical difficulties or laziness on the manufacturer's part. Depending on who you ask, the 3DS' DS/DSi mode can be said to fit in either: your only options are to either play games upscaled to the 3DS' screen resolution, which includes a blurry filter that cannot be turned off, or in native res mode, which is hardly ideal as it doesn't make use of the entire screens - thus introducing big black bars all around. Due to it, some people preferred playing DS(i) titles on past consoles as it made a number of games look significantly better without any compromises.

But things are finally starting to change with the release of TWPatch made by @Sono. After lots of research and reverse engineering, he made a patcher that is able to change how TWL_FIRM's image upscaling behaves. A total of nine different scaling filters are available (not counting Nintendo's default one), several of which are able to make your games look much sharper than before! In order to give you an idea of what to expect, here is a comparison taken from the thread (made by @youny43 - left: default / right: patched) :

platsmooth.jpg platsharp.jpg

For the curious, here's a list of the included filters:
Filter list said:
  • Nintendo default
  • Sono's crisp (original patch)
  • Sono's crisp (tweaked)
  • Zero interpolation (double pixel)
  • Linear interpolation 1
  • Linear interpolation 2
  • Sharpen test 1
  • Linear sharpen 1
  • Darken crisp
  • Darken Nintendo

The patcher works on both Old and New 3DS models as long as they are running Luma CFW. You need to have enabled loading external FIRMs and modules in Luma's configuration menu, otherwise, the custom filters won't be applied. The process can take several minutes, so be sure to have enough battery charge (and patience) before proceeding. If you're unsure on which one to apply, you can preview how they'll look inside the homebrew app and compare it to Nintendo's default one.

If you want to try this yourself, make sure to read the instructions & remarks in @Sono's post before downloading (linked below).

:arrow:
Source
 

The Real Jdbye

*is birb*
Member
Joined
Mar 17, 2010
Messages
23,380
Trophies
4
Location
Space
XP
14,006
Country
Norway
See my post earlier on this page, I posted screenshots of every filter available in TWPatch right now. Again, the way they look on whatever device you're using to read GBATemp won't be the same as on a 3DS.
Thanks. Linear sharpen 1 looks very similar to the original, just with more sharpening applied. I think I prefer the original by just a tiny bit, since sharpening filters like that tend to result in a slight halo effect around edges and that is definitely apparent here. Some people might not mind that though.
Linear interpolation 1 is more blurry than Nintendo's own filter.

Looking at all this makes me think that Nintendo actually did think this through and try out different scaling options before settling on the one that was ultimately included. As most of these have jagged edges, and the ones that don't look very similar to Nintendo's own, to such a degree that on a real console I can't imagine you would be able to tell the difference between them at all.
But there is definitely room for improvement with more advanced scaling options being a real possibility, and I'm interested to see what improvements this project will get in the future. I'm not expecting xBRZ or anything (honestly wouldn't make sense on a screen this small/low res anyway), but intelligently detecting edges and contrasts, smoothing those out while upscaling everything else using a different filter, sort of a hybrid between 2 (or more) filters, could have very good results.

I took out my best camera, yet it's still not possible to capture the difference using it due to how subtle yet noticable it is in games. Sadly no matter how I try, I can't capture the differences using a camera, especially when comparing linear interpolation to linear interpolation with slightly more edge detect.

9d038ad206.JPG
9b489da6e1.JPG
I could tell the difference just fine. Although the difference isn't great. I think the difference comes across better on screen captures like the ones @Vague Rant posted.
I might slightly prefer Linear sharpen over the default for 2D content like what you posted. For 3D content, I still prefer the original based on what I've seen. But then again for 3D content the filtering was never really an issue to me. It's 2D content that really suffers.
 
Last edited by The Real Jdbye,

Sono

cripple piss
Developer
Joined
Oct 16, 2015
Messages
2,829
Trophies
2
Location
home
XP
9,427
Country
Hungary
Thanks. Linear sharpen 1 looks very similar to the original, just with more sharpening applied. I think I prefer the original by just a tiny bit, since sharpening filters like that tend to result in a slight halo effect around edges and that is definitely apparent here. Some people might not mind that though.
Linear interpolation 1 is more blurry than Nintendo's own filter.

Looking at all this makes me think that Nintendo actually did think this through and try out different scaling options before settling on the one that was ultimately included. As most of these have jagged edges, and the ones that don't look very similar to Nintendo's own, to such a degree that on a real console I can't imagine you would be able to tell the difference between them at all.
But there is definitely room for improvement with more advanced scaling options being a real possibility, and I'm interested to see what improvements this project will get in the future. I'm not expecting xBRZ or anything (honestly wouldn't make sense on a screen this small/low res anyway), but intelligently detecting edges and contrasts, smoothing those out while upscaling everything else using a different filter, sort of a hybrid between 2 (or more) filters, could have very good results.

Yeah, in contrast they definitely did settle on a relatively good matrix.

Too bad it's not possible to use anything but symmetrical matrixes. I tried searching for upscale matrixes, but I only get results for Gaussian blur, which are the opposite of what I want. If you have any matrixes you know of then let me know, and I'll try porting it to the matrix hardware.
 

SonicMC

Well-Known Member
Member
Joined
Dec 6, 2007
Messages
344
Trophies
1
XP
1,134
Country
United States
well if a picture doesn't really show differences. perhaps someone can upload a video :) No hurry by anyone to do so. Thanks @Sonos; always fun to have more features and options!
 

DSoryu

GBA/NDS Maniac
Member
Joined
May 5, 2010
Messages
2,375
Trophies
2
Location
In my house
XP
4,831
Country
Mexico
well if a picture doesn't really show differences. perhaps someone can upload a video :) No hurry by anyone to do so. Thanks @Sonos; always fun to have more features and options!
I posted a video a while back in the original thread:



I tried to zoom as much as possible, it is running the first ever released patch, I believe it is:
  • Sono's crisp (original patch)
 
  • Like
Reactions: SonicMC

helltoast

Well-Known Member
Newcomer
Joined
Jul 15, 2015
Messages
86
Trophies
0
XP
228
Country
United States
HONESTLY I CAN'T SEE any difference.......

you people must be blind. or just grossly unatentive. the difference is obvious even in the op, just look at the font, but Vague Rant made a great comparison.

default is essentially bilinear with a little sharpening, this shouldn't be surprising to anyone who's ever used an image editor before. crisp is nearest neighbor scaled unevenly and linear is just bilinear filtering. personally I think linear sharp looks the best if default is too blurry for you.

it's a shame the 3DS doesn't have a 384 resolution for pixel-perfect scaling. at least Sony got that right with the Vita. fantastic job nonetheless, @Sono.
 
Last edited by helltoast,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Psionic Roshambo @ Psionic Roshambo: Microsoft is worth 3.2 Trillion according to Google lol