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



## wartutor (Jul 12, 2019)

Nice looks good


----------



## Dartz150 (Jul 12, 2019)

So happy for @Sono that this got frontpaged, he put a lot of effort in this and always helped those who wanted to apply the patch manually before the patcher was released. Congratulations for your amazing tool, many people will be happy for this, so a big thank you!


----------



## CallmeBerto (Jul 12, 2019)

Holy crap!

The only reason I even own a Dsi XL is because I HATED how ds games looked on the xl. Will test and report back shorty.


----------



## Classicgamer (Jul 12, 2019)

I actually just purchased a DSiXL because of this. I’m anxious to see the results @CallmeBerto


----------



## duwen (Jul 12, 2019)

Witchcraft of the finest order!


----------



## rensenware (Jul 12, 2019)

Wish I could have a comparison of all the filters, I'll just try each one.


----------



## MarkDarkness (Jul 12, 2019)

Wow, what an interesting development for DS lovers!

Can a dilligent Temper please post comparisons of all modes?


----------



## dAVID_ (Jul 12, 2019)

This is very interesting for people who play DS games regularly.
I like how the used they reused the Minecraft texture for brick/gold and turned it purple.


----------



## leon315 (Jul 12, 2019)

HONESTLY I CAN'T SEE any difference.......


----------



## Deleted User (Jul 12, 2019)

People really bothered by something so small? Lame


----------



## D34DL1N3R (Jul 12, 2019)

leon315 said:


> HONESTLY I CAN'T SEE any difference.......



So, you set it up and tried all of the modes already?


----------



## Sono (Jul 12, 2019)

jupitteer said:


> Wish I could have a comparison of all the filters, I'll just try each one.





MarkDarkness said:


> 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.



CrisFTW said:


> 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 (Jul 12, 2019)

@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.


----------



## Sono (Jul 12, 2019)

The Real Jdbye said:


> 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


----------



## The Real Jdbye (Jul 12, 2019)

Sono said:


> 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.


----------



## NoNAND (Jul 12, 2019)

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 (Jul 12, 2019)

D34DL1N3R said:


> So, you set it up and tried all of the modes already?


no, but from those 2 images provided above, failed to show ANY significant differences


----------



## D34DL1N3R (Jul 12, 2019)

leon315 said:


> no, but from those 2 images provided above, failed to show ANY significant differences



I agree about the images, but to say you can't see any difference without trying it isn't a fair assessment.


----------



## leon315 (Jul 12, 2019)

D34DL1N3R said:


> 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


----------



## Sono (Jul 12, 2019)

leon315 said:


> 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.


----------



## Vague Rant (Jul 12, 2019)

jupitteer said:


> Wish I could have a comparison of all the filters, I'll just try each one.





MarkDarkness said:


> Can a dilligent Temper please post comparisons of all modes?





Spoiler: Screenshots of all current scaling options









Pixel Perfect (Nintendo)







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​


*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.


----------



## Dartz150 (Jul 12, 2019)

Ye


leon315 said:


> 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 ---------------------------



The Real Jdbye said:


> 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.


----------



## raxadian (Jul 12, 2019)

This looks promising.


----------



## Sono (Jul 12, 2019)

Dartz150 said:


> 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.


----------



## leon315 (Jul 12, 2019)

Dartz150 said:


> 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.
> ...


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?


----------



## Idontknowwhattoputhere (Jul 12, 2019)

leon315 said:


> 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


----------



## leon315 (Jul 12, 2019)

Idontknowwhattoputhere said:


> Have some respect
> Sono worked hard on this



Excuuuuuuuuuuuuuuse me?
which part can be considered as an *offence?*


----------



## Sono (Jul 12, 2019)

leon315 said:


> 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.


----------



## Dartz150 (Jul 12, 2019)

Sono said:


> 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?


----------



## Idontknowwhattoputhere (Jul 12, 2019)

leon315 said:


> Excuuuuuuuuuuuuuuse me?
> which part can be considered as an *offence?*


You criticize a homebrew/tool without even trying it
Get lost with your crap


----------



## Sono (Jul 12, 2019)

Dartz150 said:


> 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.


----------



## D34DL1N3R (Jul 12, 2019)

leon315 said:


> 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.


----------



## Sono (Jul 12, 2019)

Idontknowwhattoputhere said:


> You criticize a homebrew/tool without even trying it



Please calm down a bit, he didn't criticize it, he was just making assumptions without trying it.


----------



## The Real Jdbye (Jul 12, 2019)

Sono said:


> 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.


----------



## AkikoKumagara (Jul 12, 2019)

The Real Jdbye said:


> 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 (Jul 12, 2019)

The Real Jdbye said:


> 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.


----------



## wurstpistole (Jul 12, 2019)

I actually see barely any difference between those two Screenshots


----------



## jurai (Jul 12, 2019)

are there any direct captures of the differences?


----------



## Sono (Jul 12, 2019)

The Real Jdbye said:


> 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.



Spoiler: Nintendo's default













Spoiler: Linear sharpen


----------



## The Real Jdbye (Jul 12, 2019)

Vague Rant said:


> 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.



Sono said:


> 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.
> 
> 
> 
> ...


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.


----------



## Sono (Jul 12, 2019)

The Real Jdbye said:


> 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.


----------



## Justinde75 (Jul 12, 2019)

Wonder if there is one that stretches the game to the whole screen


----------



## Sono (Jul 12, 2019)

Justinde75 said:


> Wonder if there is one that stretches the game to the whole screen



That has been requested a few times in the original thread, and it is already on my reverse engineering queue.


----------



## Justinde75 (Jul 12, 2019)

Sono said:


> That has been requested a few times in the original thread, and it is already on my reverse engineering queue.


Great because I am one of these disgusting people that like have games stretched to the whole screen


----------



## Sono (Jul 12, 2019)

Justinde75 said:


> Great because I am one of these disgusting people that like have games stretched to the whole screen



Sadly it's not possible to stretch it all the way to 400px, but 384px should be close enough, just 8-8 pixels on each side of the screen.


----------



## Justinde75 (Jul 12, 2019)

Sono said:


> Sadly it's not possible to stretch it all the way to 400px, but 384px should be close enough, just 8-8 pixels on each side of the screen.


Hey its still something, always better than nothing!


----------



## Foxi4 (Jul 12, 2019)

Very nicely done. Stock scaling leaves a lot to be desired, it's good to see custom solutions popping up at long last.


----------



## Flame (Jul 12, 2019)

well done to @Sono for this amazing project.

also well done to @RattletraPM for front paging this.


----------



## SonicMC (Jul 12, 2019)

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!


----------



## ImLEBrAn (Jul 12, 2019)

Does this work with R4's or only legit DS cartridges?


----------



## Vague Rant (Jul 12, 2019)

ImLEBrAn said:


> Does this work with R4's or only legit DS cartridges?


Anything at all that runs in DS or DSi mode. That means flash cards, DSiWare and anything in between.


----------



## Dartz150 (Jul 12, 2019)

SonicMC said:


> 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)


----------



## XDel (Jul 12, 2019)

RattletraPM said:


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



I can't go any lower, where is the link?


----------



## RattletraPM (Jul 12, 2019)

XDel said:


> I can't go any lower, where is the link?


* *Source


Spoiler



EDIT: Woosh.


----------



## Sono (Jul 12, 2019)

XDel said:


> I can't go any lower, where is the link?





RattletraPM said:


> * *Source
> 
> 
> Spoiler
> ...



Not all browsers seem to be able to scroll to that post, including mine.

https://sono.9net.org/hebrew/TWPatch/data/TWPatch.cia


----------



## helltoast (Jul 12, 2019)

leon315 said:


> 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.


----------



## banjo2 (Jul 12, 2019)

I don't have a 3DS, but hey, this is really cool! Good work @Sono


----------



## kuwanger (Jul 12, 2019)

Thanks for all the work Sono.  Wish I could help.  Any chance in the future of subpixel scaling?


----------



## Sono (Jul 12, 2019)

kuwanger said:


> Thanks for all the work Sono.  Wish I could help.  Any chance in the future of subpixel scaling?



Thank you for this! I bookmarked the page so I can give it a read when I'm less tired and have time


----------



## Sakitoshi (Jul 12, 2019)

From the screenshot looks like trash, uneven.
I know many people despise bilinear, but is much better than uneven scaling.


----------



## Sono (Jul 12, 2019)

Sakitoshi said:


> From the screenshot looks like trash, uneven.
> I know many people despise bilinear, but is much better than uneven scaling.



Yeah, they are actually uneven. There are four full-width pixels, and then there is a pixel where 2 or 3 pixels are interpolated into a single pixel, hence making it look like trash. Some people are willing to trade away the blur for the sharpness. Personally I like the sharp one because I get sick from the blur. But yeah, contrasting all the scaling modes to Nintendo's, they did a really good job at making a default scaling mode.


----------



## Sakitoshi (Jul 12, 2019)

Sono said:


> Yeah, they are actually uneven. There are four full-width pixels, and then there is a pixel where 2 or 3 pixels are interpolated into a single pixel, hence making it look like trash. Some people are willing to trade away the blur for the sharpness. Personally I like the sharp one because I get sick from the blur. But yeah, contrasting all the scaling modes to Nintendo's, they did a really good job at making a default scaling mode.


I suspected it was something like that.
the limited difference in resolution (256x192 vs 320x240) leaves no room for a better scaling algorithm, bilinear is quite literally the only "good" option. it shows why nintendo didn't even bothered to do something different.

that being said, you did what you could to make it look as good as possible even with those harsh restrictions.


----------



## Sono (Jul 12, 2019)

Sakitoshi said:


> I suspected it was something like that.
> the limited difference in resolution (256x192 vs 320x240) leaves no room for a better scaling algorithm, bilinear is quite literally the only "good" option. it shows why nintendo didn't even bothered to do something different.
> 
> that being said, you did what you could to make it look as good as possible even with those harsh restrictions.



Actually, the only restriction at this point is my mathematical knowledge. If people could find me some scaling matrixes and/or image processing matrixes then I could port them to the matrix hardware, but I can't math out a new matrix due to my lack of mathematical knowledge. It took me an hour to recreate linear interpolation from scratch in mspaint :/ (yes, I made it in mspaint)


----------



## Sono (Jul 12, 2019)

kuwanger said:


> Thanks for all the work Sono.  Wish I could help.  Any chance in the future of subpixel scaling?



I just looked at it in a bit more detail, and I don't think it's possible at all. The matrix hardware can only do interpolation based on an image processing kernel, it can't do anything else. It's not programmable at all, it just does fixed-point arithmetic.


----------



## Retro_Mod_Gamer (Jul 12, 2019)

Congrats Sono Amazing work!


----------



## kuwanger (Jul 12, 2019)

Sono said:


> The matrix hardware can only do interpolation based on an image processing kernel, it can't do anything else. It's not programmable at all, it just does fixed-point arithmetic.



That's what I was afraid of.  Thanks for looking.


----------



## Asdolo (Jul 12, 2019)

Holy ***!

Amazing job @Sono, and thank you very much!


----------



## DSpider (Jul 12, 2019)

If you hold down Start or Select while a DS/GBA game is booting (or rather, while the flashcart is booting), it will launch it at its native resolution. And you don't need CFW for that.

This is my preferred method because it doesn't hurt your eyes as much at night, having those black borders around. And it doesn't WASTE battery life either because A) having to upscale each frame means extra CPU strain, and B) the screen isn't fully lit because of the previously mentioned black bars (bars which you don't even notice at night I might add).

In my opinion, Nintendo should have included these filters from the get-go, along with a blue light filter and a dark night theme. I mean, they only had EIGHT YEARS to add them in an update! Leave it up to the community to follow through... Good job, Nintendo.


----------



## Sono (Jul 12, 2019)

DSpider said:


> If you hold down Start or Select while a DS/GBA game is booting (or rather, while the flashcart is booting), it will launch it at its native resolution. And you don't need CFW for that.



Unless you have an XL model 3DS, that's going to be way too small to view. But that's just me, I have very bad vision.



DSpider said:


> This is my preferred method because it doesn't hurt your eyes as much at night, having those black borders around. And it doesn't WASTE battery life either because A) having to upscale each frame means extra CPU strain, and B) the screen isn't fully lit because of the previously mentioned black bars (bars which you don't even notice at night I might add).



A) it's upscaled using specialized hardware, WHICH IS ON EVEN IN 1x SCALING MODE! You're not "wasting" any less battery in 1x mode 
B) actually the opposite is true: black pixels require double the power: turning a pixel black to obstruct light requires extra power than to keep it in the "white" state, and blocking out backlight is a waste of backlight. This is TN, not (AM)OLED.



DSpider said:


> In my opinion, Nintendo should have included these filters from the get-go, along with a blue light filter and a dark night theme. I mean, they only had EIGHT YEARS to add them in an update! Leave it up to the community to follow through... Good job, Nintendo.



I am working on the blue light filters. I'm just trying to minimize the the code as much as possible to fit into the already existing space.


----------



## KingBlank (Jul 12, 2019)

Sounds fantastic, I'll try it out - I really want something like this for GBA games, I hate the way GBA games look on the 3ds virtual console.


----------



## Sono (Jul 12, 2019)

KingBlank said:


> Sounds fantastic, I'll try it out - I really want something like this for GBA games, I hate the way GBA games look on the 3ds virtual console.



Yes, GBA mode is on the list.


----------



## Deleted User (Jul 12, 2019)

"B) actually the opposite is true: black pixels require double the power: turning a pixel black to obstruct light requires extra power than to keep it in the "white" state, and blocking out backlight is a waste of backlight. This is TN, not (AM)OLED."

Nice! So can we expect an increase in battery life!?


----------



## Der_Blockbuster (Jul 12, 2019)

Hmmm, I don't see a difference.


----------



## xxNathanxx (Jul 13, 2019)

Sono said:


> (yes, I made it in mspaint)


Brilliant! Putting something together in an unorthodox way makes the end result all the more interesting.

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



Dodain47 said:


> Nice! So can we expect an increase in battery life!?


If/when the stretching mode is created so the top screen has less black pixels, yeah, but expect the difference in battery life to be minute - in fact, it may well be a literal minute.


Come to think of it, @Sono, would it be possible to make the black bars white?


----------



## Sono (Jul 13, 2019)

xxNathanxx said:


> Come to think of it, would it be possible to make the black bars white?



I have a dejavu with this question.

I know it's possible, but it requires way too much work, and has a risk of breaking the stability™ of Nintendo's fake display code.

It's not worth the hassle for me, sorry :/

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



Dodain47 said:


> "B) actually the opposite is true: black pixels require double the power: turning a pixel black to obstruct light requires extra power than to keep it in the "white" state, and blocking out backlight is a waste of backlight. This is TN, not (AM)OLED."
> 
> Nice! So can we expect an increase in battery life!?



No matter what you do, the battery life will be the same. The difference is immeasurable, but a black screen wastes more power than a fully white one.


----------



## goldensun87 (Jul 13, 2019)

This sounds intriguing, but I am happy playing old gen games on their respective consoles.  I prefer to evade the drawbacks of "putting all my eggs in one basket".


----------



## BORTZ (Jul 13, 2019)

These won't work if you are playing ds games via a flashcart right?


----------



## Joom (Jul 13, 2019)

BORTZ said:


> These won't work if you are playing ds games via a flashcart right?


They do. This is a patch for TWLFIRM, so it will work for anything ran in DS mode.


----------



## BORTZ (Jul 13, 2019)

Joom said:


> They do. This is a patch for TWLFIRM, so it will work for anything ran in DS mode.


[EXTREME INTEREST INTENSIFIES]
OMG


----------



## DeadOneWalking (Jul 13, 2019)

Amazing work! Now playing DS games no longer looks blurred!


----------



## HelpTheWretched (Jul 13, 2019)

I rather like Nintendo's built-in filter, but these are some very welcome new options!


----------



## Joom (Jul 13, 2019)

This should be mentioned in this thread, too. 
https://gbatemp.net/threads/widescreen-cheats-for-ds-games-on-3ds.543212/#post-8712569


----------



## morrissey2k7 (Jul 13, 2019)

I tried it and it's an interesting proof of concept, but I decided to go back to the official filter. I re-patched it to Default filter, deleted the application and turned off external FIRM in my Luma settings. So, it's gone off my system completely now, right?


----------



## Sono (Jul 13, 2019)

morrissey2k7 said:


> I tried it and it's an interesting proof of concept, but I decided to go back to the official filter. I re-patched it to Default filter, deleted the application and turned off external FIRM in my Luma settings. So, it's gone off my system completely now, right?



Lol, that was completely unnecessary. Just delete /luma/sysmodules/TwlBg.cxi from your SDCard, and nothing really happened.


----------



## MushGuy (Jul 13, 2019)

Oh, that's interesting. I hope texture filtering is a possibility in the future.


----------



## Sono (Jul 13, 2019)

MushGuy said:


> Oh, that's interesting. I hope texture filtering is a possibility in the future.



TEXTURE filtering is not possible, because I don't get any GPU data from the DS GPU, I only get pixels outputted by the DS GPU, so I don't have any data to reconstruct a higher resolution image.


----------



## MushGuy (Jul 13, 2019)

Sono said:


> TEXTURE filtering is not possible, because I don't get any GPU data from the DS GPU, I only get pixels outputted by the DS GPU, so I don't have any data to reconstruct a higher resolution image.


OK, I see now. Thanks for the explanation.


----------



## Tac 21 (Jul 13, 2019)

am I blind? I don't see a real difference


----------



## Jayro (Jul 14, 2019)

Can an actual DSi firmware be patched as well? These look amazing.


----------



## Quietlyawesome94 (Jul 14, 2019)

I'm really only interested in custom scaling to full screen whenever that's available, but fantastic work nonetheless!

Thanks for taking the time to work on this. People like to hop on these forums and shit on other people's work when they themselves probably couldn't write a line of Python. Keep it up!


----------



## Sono (Jul 14, 2019)

Jayro said:


> Can an actual DSi firmware be patched as well? These look amazing.



The DSi firmware has been already patched by DSi hackers, but I'm only patching the 3DS side (ARM11 only, the 3DS-side ARM9 only runs until control is given to the DS hardware).


----------



## Jayro (Jul 14, 2019)

Sono said:


> The DSi firmware has been already patched by DSi hackers, but I'm only patching the 3DS side (ARM11 only, the 3DS-side ARM9 only runs until control is given to the DS hardware).


Awesome. And good job on this mate.


----------



## hch12907 (Jul 14, 2019)

My two cents for the "default vs patched" discussion:
You people need to take the games into account when deciding on what filter to use.

For 2D (or pixel-art oriented) games, I prefer Sharpen Test 1 over everything else - especially the default filter, because they make the 2D sprites a blurry mess (and zero interpolation is just... uh...). I just enjoy the pixel art glory, I guess. For 3D games, Linear Sharp seems to be the best of both worlds (blur vs aliasing).


----------



## Solid One (Jul 14, 2019)

Will it work for GBA VC games installed through Ultimate GBA VC Injector?


----------



## Bladexdsl (Jul 14, 2019)

should have called it TWATch
missed opportunity right there


----------



## Sono (Jul 14, 2019)

Solid One said:


> Will it work for GBA VC games installed through Ultimate GBA VC Injector?



I don't know how GBA VC injector adds games to your system, but unless it patches AgbBg (/luma/sysmodules/AgbBg.cxi) then it should work.



Bladexdsl said:


> should have called it TWATch
> missed opportunity right there



I see what you did there.

It's actually supposed to be "TWLPatcher", but everyone seems to be settled on the filename for some reason :/


----------



## duwen (Jul 15, 2019)

Works like a charm. I'm using the "Sono's crisp (tweaked)" patch on both my O3ds and my N3dsXL.


----------



## ov3rkill (Jul 16, 2019)

More love for the 3DS! Thanks for sharing. I thought I'd only see this in the PSP and Vita scene.


----------



## Catiorro (Jul 18, 2019)

Thank you Sono for this amazing job, looks great on my o3dsxl


----------



## Pedroverri (Jul 28, 2019)

That is a neat little thing you've discovered there, Sono! Playing DS games in the 3DS has been a chore for me because of the blurry image.

But I don't think it's working for me right now. The app says it is patched, but I don't see any difference when actually playing games...


----------



## Pedroverri (Jul 28, 2019)

Pedroverri said:


> That is a neat little thing you've discovered there, Sono! Playing DS games in the 3DS has been a chore for me because of the blurry image.
> 
> But I don't think it's working for me right now. The app says it is patched, but I don't see any difference when actually playing games...



I've took some photos to show what I meant.

This is the game with the default fiter:


Then I applied the Zero Interpolation patch because it's the one with the most difference IMO:


But nothing seemed to change:


----------



## Sono (Jul 28, 2019)

Pedroverri said:


> I don't think it's working for me right now. The app says it is patched, but I don't see any difference when actually playing games...



You have to enable module loading and game patching in Luma settings. Hold SELECT and press Power button to show the menu.


----------



## Pedroverri (Jul 29, 2019)

Sono said:


> You have to enable module loading and game patching in Luma settings. Hold SELECT and press Power button to show the menu.



Oops, my bad! It is working now and I have been using the Crisp Patch and I love it!
Thanks for the help!

Now I'm looking forward for that widescreen patch. The 3DS will be the basically complete after that, keep up the good work!!


----------



## SassyBassy (Aug 4, 2019)

Any idea on when the widescreen patch will be out? 

No rush tho.


----------



## Sono (Aug 4, 2019)

SassyBassy said:


> Any idea on when the widescreen patch will be out?



Definitely not in the next few days. I'm currently doing "homework" for a job application.


----------



## VivreDNA (Aug 11, 2019)

Thank you so much for the patch. its really awesome... ^^


----------



## TR_mahmutpek (Dec 7, 2019)

Sorry for bump but how to make tw patches? There is no guide or link.


----------



## Foxi4 (Dec 7, 2019)

TR_mahmutpek said:


> Sorry for bump but how to make tw patches? There is no guide or link.


Follow the link marked Source, then read the instructions, all the way through - you'll find a download link there.


----------



## TR_mahmutpek (Dec 7, 2019)

Foxi4 said:


> Follow the link marked Source, then read the instructions, all the way through - you'll find a download link there.


Oh, thx!


----------



## xFilipx (Dec 20, 2019)

Is it normal that it switches to default nintendo filter when using widescreen?


----------



## TR_mahmutpek (Dec 20, 2019)

xFilipx said:


> Is it normal that it switches to default nintendo filter when using widescreen?


I think yes because iirc @Sono said it isnt possible to use widescreen and tw patches together, yet..


----------



## AvocadoToast (Jun 18, 2020)

Anyone know how to access the redshift menu? I'm pressing Y + B and nothing comes up. Also anyone have the latest version that they can post somewhere with a download?


----------



## FireSide_01 (Aug 22, 2020)

I'm trying to use this, but it never works. It says the patch is applied but nothing changes.


----------

