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
 

Sono

cripple piss
Developer
Joined
Oct 16, 2015
Messages
2,820
Trophies
2
Location
home
XP
9,305
Country
Hungary
USUALLY the provided samples must tell the difference, people use pics to show a lot of things and a right pic worth 1000 words, i'm sure neither coder or Tc has tried all configs but they rather rushed to release instead take 10 more min to take a screen :)

I take this as an offense. How would I know how these filters look like if I didn't try them? I even said in my thread that I scrapped many because of how inferior they look to Nintendo's own matrix.

Also, I tried taking screenshots, but my phone camera is shit, and can't afford to get a better one, so I'm sorry that I can't take better screenshots because of hardware limitations.

Edit: also, I don't rush releases since the UnbanMii incident. I HAD TO try the scaling methods just to see if any of them hardlock the matrix hardware.
 
Last edited by Sono,

Vague Rant

Deceptively cute
Member
Joined
Aug 7, 2008
Messages
2,463
Trophies
2
Location
Melbourne
Website
vaguerant.tumblr.com
XP
3,301
Country
Wish I could have a comparison of all the filters, I'll just try each one.
Can a dilligent Temper please post comparisons of all modes?
2019-07-13_01-15-35.756_top.png

2019-07-13_01-15-35.756_bot.png

Pixel Perfect (Nintendo)

2019-07-13_01-07-42.242_top.png

2019-07-13_01-07-42.242_bot.png

Nintendo default

2019-07-13_01-08-04.084_top.png

2019-07-13_01-08-04.084_bot.png

Sono's crisp (original patch)

2019-07-13_01-08-28.838_top.png

2019-07-13_01-08-28.838_bot.png

Sono's crisp (tweaked)

2019-07-13_01-11-31.594_top.png

2019-07-13_01-11-31.594_bot.png

Zero interpolation (double pixel)

2019-07-13_01-11-47.242_top.png

2019-07-13_01-11-47.242_bot.png

Linear interpolation 1

2019-07-13_01-12-04.701_top.png

2019-07-13_01-12-04.701_bot.png

Linear interpolation 2

2019-07-13_01-13-20.989_top.png

2019-07-13_01-13-20.989_bot.png

Sharpen test 1

2019-07-13_01-13-37.238_top.png

2019-07-13_01-13-37.238_bot.png

Linear sharpen 1

2019-07-13_01-14-07.660_top.png

2019-07-13_01-14-07.660_bot.png

Darken crisp

2019-07-13_01-14-23.018_top.png

2019-07-13_01-14-23.018_bot.png

Darken Nintendo​
EDIT: Keep in mind, as Sono has said, screenshots on a computer monitor/phone screen/etc. are not going to look the same as they will on the 3DS itself, these should be considered to be a guide only.
 
Last edited by Vague Rant,

DSoryu

GBA/NDS Maniac
Member
Joined
May 5, 2010
Messages
2,356
Trophies
2
Location
In my house
XP
4,757
Country
Mexico
Ye
USUALLY the provided samples must tell the difference, people use pics to show a lot of things and a right pic worth 1000 words, i'm sure neither coder or Tc has tried all configs but they rather rushed to release instead take 10 more min to take a screen :)

Learn to read, Sono already said that the only difference can be seen in the real hardware, and this wasn't by any means rushed, it was a work that took days. You haven't even tried on a real 3DS so shut up.

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

A filter is simply mathematical formulas applied to an input to produce an output. Which is what this is. What I'm saying is that the original looks better.
Is that screenshot the best this can do? I'll give it a try sometime, but I like never play DS games anymore.

You described exactly what a matrix is lol, and graphic-wise, these are called like that in OpenGL for a reason, these operations must be applied in an specific order, not radomly or by a set condition, they need to be "matrixed" yes or yes.
 
  • Like
Reactions: Arcanuskun

Sono

cripple piss
Developer
Joined
Oct 16, 2015
Messages
2,820
Trophies
2
Location
home
XP
9,305
Country
Hungary
You described exactly what a matrix is lol, and graphic-wise, these are called like that in OpenGL for a reason, these operations must be applied in an specific order, not radomly or by a set condition, they need to be "matrixed" yes or yes.

But not all filters work based on matrixes. Some filters use CPU computing power, whereas matrixes only require mathematical units, like the matrix blitter hardware found in the 3DS.
 
  • Like
Reactions: DSoryu

leon315

POWERLIFTER
Member
Joined
Nov 27, 2013
Messages
4,097
Trophies
2
Age
124
XP
4,075
Country
Italy
Ye


Learn to read, Sono already said that the only difference can be seen in the real hardware, and this wasn't by any means rushed, it was a work that took days. You haven't even tried on a real 3DS so shut up.

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



You described exactly what a matrix is lol, and graphic-wise, these are called like that in OpenGL for a reason, these operations must be applied in an specific order, not radomly or by a set condition, they need to be "matrixed" yes or yes.
IF THE proofs the author provided can show anything, the which is the point to it there? maybe the author's HB works, but all i said was ''his pics didn't show any difference before and after'', perhaps u are the one should learn how to read?
 
Joined
Jan 19, 2019
Messages
755
Trophies
0
XP
947
Country
United Kingdom
USUALLY the provided samples must tell the difference, people use pics to show a lot of things and a right pic worth 1000 words, i'm sure neither coder or Tc has tried all configs but they rather rushed to release instead take 10 more min to take a screen :)
Have some respect
Sono worked hard on this
 

Sono

cripple piss
Developer
Joined
Oct 16, 2015
Messages
2,820
Trophies
2
Location
home
XP
9,305
Country
Hungary
IF THE proofs the author provided can show anything, the which is the point to it there? maybe the author's HB works, but all i said was ''his pics didn't show any difference before and after'', perhaps u are the one should learn how to read?

Why would I need to show proof? I only showed the screenshots to show people what to expect, it's up to them to try it out and decide that they prefer the original scale kernel.
 

DSoryu

GBA/NDS Maniac
Member
Joined
May 5, 2010
Messages
2,356
Trophies
2
Location
In my house
XP
4,757
Country
Mexico
But not all filters work based on matrixes. Some filters use CPU computing power, whereas matrixes only require mathematical units, like the matrix blitter hardware found in the 3DS.

Oh that's right, I remember back in school learning how to make a convultion filter, a very simple and fast operation that ran in an old 2000's computer. But still, you have demonstrated that the 3DS uses an upscaling matrix, I guess you will document your findings in 3Dbrew?
 

Sono

cripple piss
Developer
Joined
Oct 16, 2015
Messages
2,820
Trophies
2
Location
home
XP
9,305
Country
Hungary
Oh that's right, I remember back in school learning how to make a convultion filter, a very simple and fast operation that ran in an old 2000's computer. But still, you have demonstrated that the 3DS uses an upscaling matrix, I guess you will document your findings in 3Dbrew?

Already did it a week or so ago.
 
  • Like
Reactions: DSoryu

D34DL1N3R

Nephilim
Member
Joined
Dec 6, 2008
Messages
3,670
Trophies
1
XP
3,220
Country
United States
USUALLY the provided samples must tell the difference, people use pics to show a lot of things and a right pic worth 1000 words, i'm sure neither coder or Tc has tried all configs but they rather rushed to release instead take 10 more min to take a screen :)

As others have stated, it's impossible to capture the differences in a picture. That's like comparing HDTV's by looking at pictures of their screens.
 

The Real Jdbye

*is birb*
Member
Joined
Mar 17, 2010
Messages
23,252
Trophies
4
Location
Space
XP
13,805
Country
Norway
Why would I need to show proof? I only showed the screenshots to show people what to expect, it's up to them to try it out and decide that they prefer the original scale kernel.
No one needs proof, but it would be nice to have a comparison showing every scaling type, it saves everyone time and effort on something they may not like anyway. I'm especially curious about Linear sharpen 1. Even though I might have sounded a bit harsh earlier, I think this project is much needed and a great idea. I just don't like how that one filter looks. Which makes me curious what the rest of them look like.
 
  • Like
Reactions: Sono

AkikoKumagara

The Coolest Bear Around
Member
Joined
Jan 4, 2017
Messages
1,533
Trophies
1
Website
thebearsden.web.fc2.com
XP
3,921
Country
United States
A filter is simply mathematical formulas applied to an input to produce an output. Which is what this is. What I'm saying is that the original looks better.
Is that screenshot the best this can do? I'll give it a try sometime, but I like never play DS games anymore.
Some of the other options in the .cia yield better results. For instance, the "Linear Sharpen 1" options keeps some linear interpolation (I think) while sharpening up some color edges that the 3DS native option blurs. It's subtle, but an improvement. Some of the options do look worse to me than the 3DS native scaling method, including the one in the screenshots in OP here, but that's just an opinion.
 

Vague Rant

Deceptively cute
Member
Joined
Aug 7, 2008
Messages
2,463
Trophies
2
Location
Melbourne
Website
vaguerant.tumblr.com
XP
3,301
Country
No one needs proof, but it would be nice to have a comparison showing every scaling type, it saves everyone time and effort on something they may not like anyway. I'm especially curious about Linear sharpen 1. Even though I might have sounded a bit harsh earlier, I think this project is much needed and a great idea. I just don't like how that one filter looks. Which makes me curious what the rest of them look like.
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.
 
  • Like
Reactions: Sono

Sono

cripple piss
Developer
Joined
Oct 16, 2015
Messages
2,820
Trophies
2
Location
home
XP
9,305
Country
Hungary
No one needs proof, but it would be nice to have a comparison showing every scaling type, it saves everyone time and effort on something they may not like anyway. I'm especially curious about Linear sharpen 1. Even though I might have sounded a bit harsh earlier, I think this project is much needed and a great idea. I just don't like how that one filter looks. Which makes me curious what the rest of them look like.

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
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: I hate myself