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,840
Trophies
2
Location
home
XP
9,608
Country
Hungary
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?

You can preview the scaling nethod from the program itself by holding and releasing the X button.

The reason I didn't post an image of all the scaling modes is because it looks vastly different on real hardware than it does from screenshots.
And even worse, the scaling methods look somewhat different in-game than they do in the patcher, because the games actually move, and are not just a static image.

People really bothered by something so small? Lame

What small thing? This is not a small task.

If you meant the default blurry filter then it does cause eyestrain for me, so having the "sharpen sharp" one is literally eye-saving, regardless of how bad it looks.
 

The Real Jdbye

*is birb*
Member
Joined
Mar 17, 2010
Messages
23,488
Trophies
4
Location
Space
XP
14,201
Country
Norway
@Sono
What filter is used in that comparison? Because judging by that, this is not an improvement. It has that issue where some pixels are doubled and some are not and it causes edges and especially text to look funky and makes the entire image wobble when you move around. That's what the filter is there to prevent.
 
  • Like
Reactions: reprep

Sono

cripple piss
Developer
Joined
Oct 16, 2015
Messages
2,840
Trophies
2
Location
home
XP
9,608
Country
Hungary
What filter is used in that comparison? Because judging by that, this is not an improvement. It has that issue where some pixels are doubled and some are not and it causes edges and especially text to look funky and makes the entire image wobble when you move around. That's what the filter is there to prevent.

Edit: it seems like "Sono's sharp" is used in the screenshot.

1) that's because my initial patch is literally just four pixels, plus an interpolated one
2) these are NOT filters, they are upscaling matrixes, so we can't expect them to be able to do smart upscaling like some emulators can do
 
  • Like
Reactions: DSoryu and cearp

The Real Jdbye

*is birb*
Member
Joined
Mar 17, 2010
Messages
23,488
Trophies
4
Location
Space
XP
14,201
Country
Norway
Edit: it seems like "Sono's sharp" is used in the screenshot.

1) that's because my initial patch is literally just four pixels, plus an interpolated one
2) these are NOT filters, they are upscaling matrixes, so we can't expect them to be able to do smart upscaling like some emulators can do
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.
 
Last edited by The Real Jdbye,

NoNAND

Give me back my legions!
Member
Joined
Aug 22, 2015
Messages
2,274
Trophies
1
Location
Somewhere
XP
5,075
Country
Albania
I'm checking this out right away!
Must be nice to see DS games run in a crispier resolution.
Not that I complained about the way DS games look on a 3DS though.
 

leon315

POWERLIFTER
Member
Joined
Nov 27, 2013
Messages
4,103
Trophies
2
Age
124
XP
4,107
Country
Italy
I agree about the images, but to say you can't see any difference without trying it isn't a fair assessment. :)
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 :)
 
Last edited by leon315,
  • Like
Reactions: popokakapetu

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • crafthp434 @ crafthp434:
    yeah
    ?
  • NinStar @ NinStar:
    it doesn't exist, at least not for aroma
  • crafthp434 @ crafthp434:
    ohhhhh
  • NinStar @ NinStar:
    on tiramisu you can access it by opening mii maker
  • crafthp434 @ crafthp434:
    okay
  • NinStar @ NinStar:
    I don't have a wii u anymore to test it myself, but if homebrews are not visible on the wii u menu I think you can press L + R + minus to open the plugin menu, there should be an option called "homebrews on wii u menu" or something similar
  • crafthp434 @ crafthp434:
    nope
  • crafthp434 @ crafthp434:
    it is L+dpad down+ select
  • crafthp434 @ crafthp434:
    but homebrew is appearing in the home menu btw
  • NinStar @ NinStar:
    yes, now I remember it
  • NinStar @ NinStar:
    then it is working, I also don't like that they did this but it is the only option you have if you are using aroma
  • crafthp434 @ crafthp434:
    i just didint know the homebrew launcher didint exist in aroma
  • crafthp434 @ crafthp434:
    thanks btw
  • Xdqwerty @ Xdqwerty:
    Im downloading fallout 3 goty edition
    +1
  • BigOnYa @ BigOnYa:
    I'm downloading more ram for my hamster pc
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    New hamster PC, with anal operation and BT connectivity!
    +1
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, How do I make enemies respawn on gdevelop after
    the player dies?
  • Psionic Roshambo @ Psionic Roshambo:
    Carrying a PC or phone is so old school!
  • Psionic Roshambo @ Psionic Roshambo:
    Squeeze your cheeks twice to answer calls!
  • BigOnYa @ BigOnYa:
    @Xdqwerty you can use a "spawner" function on any object.
    +1
  • BigOnYa @ BigOnYa:
    Or when your player dies, you can say in code, if enemy exists, do nothing, but if enemy does not exist, then create enemy at certain spot. (This would be a pain tho for lots of emeies)
    +1
  • BigOnYa @ BigOnYa:
    Easiest, simple way would be just restart scene, but player would restart from beginning.
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, thx in advance
    +1
  • Spider2190 @ Spider2190:
    Heya
    Xdqwerty @ Xdqwerty: @Spider2190, hi