Homebrew TWPatcher - DS(i) mode screen filters and patches

  • Thread starter Sono
  • Start date
  • Views 747,634
  • Replies 2,428
  • Likes 101

Are you interested in a complete replacement of TwlBg which includes all patches?

  • Yes, I don't care how broken it will be!

    Votes: 188 79.3%
  • No, I don't want to use even more broken stuff

    Votes: 20 8.4%
  • Yes, but only in GBA mode, because I play DSi exclusives

    Votes: 12 5.1%
  • No, because I only use DS and DSi mode

    Votes: 17 7.2%

  • Total voters
    237
  • Poll closed .

ThommyDude

Well-Known Member
Member
Joined
Feb 2, 2008
Messages
212
Trophies
1
Age
29
XP
1,254
Country
Sweden
So, I'm trying this thing for the first time (to get Widescreen working with TwiLight Menu++) and following the steps on the wiki. But step 4 makes no sense to me.
If I hold Y, nothing happens. If I hold Y while booting, I get a different menu but I still don't have a GPU scale test option anywhere.
What am I missing here?


EDIT:
Nvm, I just gave up too soon. It just kinda decided to work now.
 
Last edited by ThommyDude,

Sono

cripple piss
OP
Developer
Joined
Oct 16, 2015
Messages
2,821
Trophies
2
Location
home
XP
9,317
Country
Hungary
So, I'm trying this thing for the first time (to get Widescreen working with TwiLight Menu++) and following the steps on the wiki. But step 4 makes no sense to me.
If I hold Y, nothing happens. If I hold Y while booting, I get a different menu but I still don't have a GPU scale test option anywhere.
What am I missing here?


EDIT:
Nvm, I just gave up too soon. It just kinda decided to work now.

Yeah, the UI is really laggy. You have to hold the buttons, and when pressing keycombos you have to delay the next keypress.

As for Y, it works as a key modifier here, like SHIFT or CTRL/CMD or ALT.
 

KaduPSE

Revolution and cake
Member
Joined
Dec 26, 2015
Messages
260
Trophies
0
XP
408
Country
Brazil
GPU scaling makes AGB slightly blurrier, but I love it. Is there any particular reason for the “health warning” in the patch menu? Does it hurt the LCD?
 

MarioKartFan

Well-Known Member
Member
Joined
Aug 27, 2019
Messages
596
Trophies
0
XP
2,319
Country
Algeria
Sono would not enable a feature that he knew would damage the LCD. It’s more that some people can potentially have a negative reaction to the blur. That said I think in the most recent version (I never tried it in prior versions) it is more of less similar to bilinear filtering. It’s definitely too blurry to be my preferred filter but it’s neat to play with from time to time.
 

ThommyDude

Well-Known Member
Member
Joined
Feb 2, 2008
Messages
212
Trophies
1
Age
29
XP
1,254
Country
Sweden
Yeah, the UI is really laggy. You have to hold the buttons, and when pressing keycombos you have to delay the next keypress.

As for Y, it works as a key modifier here, like SHIFT or CTRL/CMD or ALT.
Yeah, I saw things about it being laggy. But what I really meant is I got the widescreen working. I still never got the "Hold Y and press B" or "GPU scale" thing to show up. I held Y and counted to 60 and nothing happened, then I pressed B while still holding Y and still nothing happened.
I just created Nintendo default with Widescreen and put it as Widescreen.cxi in the TwlBg folder and then recreated the Nintendo default as the normal one as well.
Things seem SLIGHTLY on the blurry side, but it seems to work.
 

Sono

cripple piss
OP
Developer
Joined
Oct 16, 2015
Messages
2,821
Trophies
2
Location
home
XP
9,317
Country
Hungary
Yeah, I saw things about it being laggy. But what I really meant is I got the widescreen working. I still never got the "Hold Y and press B" or "GPU scale" thing to show up. I held Y and counted to 60 and nothing happened, then I pressed B while still holding Y and still nothing happened.

Well uh... is there a text saying that you can do that? It should be clearly written on the bottom screen.

Sounds like you might be using an outdated version. Also try releasing B before Y.
 

ThommyDude

Well-Known Member
Member
Joined
Feb 2, 2008
Messages
212
Trophies
1
Age
29
XP
1,254
Country
Sweden
Well uh... is there a text saying that you can do that? It should be clearly written on the bottom screen.

Sounds like you might be using an outdated version. Also try releasing B before Y.
I don't, no... only for Hold X, Hold START/START+X and Hold SELECT.

I got twpatch through the universal updater script. So maybe the script is pointed at an old version?
I'll try and update twpatch manually and see if the option shows up.

UPDATE:
Manually installed the version from the link in OP. Nothing changes.
 
Last edited by ThommyDude,

BETA215

Member not found
Member
Joined
Dec 30, 2014
Messages
333
Trophies
0
Location
they/them | 0xDEAD brain
XP
1,678
Country
Argentina
Well, I have some news again!

1) I was partially wrong about the double resolution patch. It's still really broken, but I think it might be possible. And regarding my previous post about this, it uses a VRAM allocator, so if I can patch 400 to 800 then the size issue shouldn't be a problem at all.

2) The GBA upscale patch is sadly fake. It turns out I'm stupid, and forgot to disable MTX for GPU upscaling. This new patcher contains the bugfixed but awfully blurry upscaler. This time it also works with widescreen too!

3) Fixed widescreen GPU scaling! Now you can use MTX widescreen and GPU widescreen too.

4) This is really important! By default, the anti-wear patch will be applied from now on to every TwlBg.cxi TWPatcher generates. You can disable it like you can disable rtcom, but it is not recommended at all. It turns out that DS(i) mode bricks when the flash inside the DS WiFi dies. That flash stores settings like username, time, touch screen callibration, and other stuff you can set in the DS BIOS on a real DS. This has been a problem since before 1.0.0 was released, hasn't been fixed in 11.6, and it's probably still present in the latest firmware. There are no checks in the code to prevent rewriting the flash if the data written is the exact same which was already there. Because of this, each time you launch into DS(i) mode, it'll write to the flash, slowly wearing it out until it can no longer hold any of the settings. This problem is only present in TWL_FIRM, so both AGB_FIRM (GBA mode firmware) and homebrew replacements (like open_agb_firm) are unaffected.

Read before downloading!

There is a new enabled-by-default patch in TWPatcher which reduces the wear on the DS WiFi flash. If you change the screen scaling with START/SELECT, recallibrate your touch screen, or change the system time, you need to hold X next time you boot into DS(i) mode, otherwise your touchscreen will be messed up. If you turn off this feature, DS(i) mode will be permanently bricked until you replace the WiFi chip, which is not possible on newer 3DS models because it's soldered onto the motherboard.

https://puu.sh/G8sEO/87b4c649e3.cia

This is the latest version AFAIK. Won't say it doesn't takes some time to find it, but here it is :D @ThommyTheBoy
 
Last edited by BETA215,

ThommyDude

Well-Known Member
Member
Joined
Feb 2, 2008
Messages
212
Trophies
1
Age
29
XP
1,254
Country
Sweden
This is the latest version AFAIK. Won't say it doesn't takes some time to find it, but here it is :D @ThommyTheBoy
Thanks @BETA215 !
I'll give it a try. But if that IS a newer version, then I have a possibly VERY stupid question... Why wasn't the link in OP updated?

Also, Second question which is less about TWPatcher and more about widescreen compatibility as a whole:
Using a randomizer patch for Pokemon Platinum. Is there a way to get the widescreen patch working with it? If so, how? If this isn't the right place to ask about that, please point me in the direction of where I should be asking it instead!

EDIT:
Wow, this version did indeed have the "Hold Y and Press B" thing. Cool!
 
Last edited by ThommyDude,

Snomannen_kalle

Well-Known Member
Member
Joined
Sep 2, 2018
Messages
350
Trophies
0
Age
29
XP
2,373
Country
Norway
Does this work with Forwarder3-DS using only nds-bootstrap?

Nope. Forwarders don't support cheats, and thus, no widescreen patch for the game.
You can patch DS games with AR codes with DSATM though, I've done that with the games that has widescreen cheats available, which I use with my AK2i flashcart and forwarders to the home screen
 

Sono

cripple piss
OP
Developer
Joined
Oct 16, 2015
Messages
2,821
Trophies
2
Location
home
XP
9,317
Country
Hungary
Thanks @BETA215 !
I'll give it a try. But if that IS a newer version, then I have a possibly VERY stupid question... Why wasn't the link in OP updated?

1) I only push "stable" versions to the server
2) I don't even have time to update the files on the server :wacko:

@Sono Hello. I hope all is well. Have there been any further developments on implementing 800px mode? I saw your post a few weeks ago and it looked interesting.

No luck so far. My best attempt was an extremely wide Yoshi while playing a MIDI version of Song for Denise. Other attempts are just random screen corruptions with half of the screen cut off and missing :/
 

wanderindirk

Active Member
Newcomer
Joined
Aug 29, 2014
Messages
43
Trophies
0
Age
31
XP
173
Country
Vietnam
1) Finally got widescreen to work properly, thank you guys. Previously I was under the impression that the version from February (found in 1st page of this thread) was the latest, which was not the case, thus never managing to complete the Y+B step. Without completing this step, when I still tried to apply the widescreen patch, the upper screen would just be stretched in every game with no regard to whether the game actually supported widescreen. Which makes me think whether the entries in the compatibility list are all correct. For example, previously games like FFCC Ring of Fate and KH Re-Coded (both listed as compatible) would go stretched (not widescreen) on me, but now they don’t anymore. Now, only the games which do actually support widescreen (I currently have Metroid Prime Hunter, Okamiden, Solatorobo, Pokemon Black on my SD card) would go widescreen, and others would remain 4:3 even if the setting is on 16:9 (which is the way I prefer it to be, so no problems here). Can anyone comment on this?

2) I’m still a little bit fuzzy about the whole press-X-while-booting thingy. When I was still having the February version, I did once boot Twilight Menu while pressing Select to see how the filter would look in normal resolution (I have a N3DSXL). Since then, I never did it again, nor did I recalibrate the touchscreen or change the time in system settings. Since then, I’ve also tried out all the filters in TWPatch several times, with the last 4 or 5 times being with the July version, meaning with anti-wear always on by default.

I’ve never once booted Twilight Menu while pressing X though, should I do it now? And has my 3DS’ wifi flash been affected by my various behavior since that one time when I booted with Select (couple of days ago if I recall correctly)?

Thank you!
 
Last edited by wanderindirk,

Sono

cripple piss
OP
Developer
Joined
Oct 16, 2015
Messages
2,821
Trophies
2
Location
home
XP
9,317
Country
Hungary
-snip-

Thank you!

I'll try my best to answer each question. If any of the replies are weird then I may have misunderstood your questions.

1) I can't comment on this because I don't understand how TWiLightMenu++ manages widescreen switching.
The part which affects me: to my memory there is only one version in public circulation which has hold-whatever-for-widescreen BUT it doesn't actually tell it as text. I don't remember anymore if it was a stable (first post) or pubtest (update post) build.

2) I'll disable the anti-wear patch, as it's probably* not actually required. I have misread the disassembly, and TwlBg actually does read* and check if it needs to re-write the WiFi flash, so it's safe* to disable the patch manually until I disable it myself.

* Even though TwlBg doesn't write to the WiFi flash, it does have to read the data to check against. I have never heard of breaking an 8-pin serial flash by repeatedly reading from it, but I have heard that these flashes die on ESP32 if you use a higher clock frequencies to read from them faster. My only guess is that some 3DS WiFi boards have these sensitive 8-pin flashes which break when TwlBg tries to use fast serial to read from them. Though this is all speculation all over again...
 
Last edited by Sono, , Reason: fix typo

Alex658

Well-Known Member
Member
Joined
Jun 4, 2010
Messages
1,206
Trophies
1
Age
29
Location
Colombia
XP
1,194
Country
Colombia
1) Finally got widescreen to work properly, thank you guys. Previously I was under the impression that the version from February (found in 1st page of this thread) was the latest, which was not the case, thus never managing to complete the Y+B step. Without completing this step, when I still tried to apply the widescreen patch, the upper screen would just be stretched in every game with no regard to whether the game actually supported widescreen. Which makes me think whether the entries in the compatibility list are all correct. For example, previously games like FFCC Ring of Fate and KH Re-Coded (both listed as compatible) would go stretched (not widescreen) on me, but now they don’t anymore. Now, only the games which do actually support widescreen (I currently have Metroid Prime Hunter, Okamiden, Solatorobo, Pokemon Black on my SD card) would go widescreen, and others would remain 4:3 even if the setting is on 16:9 (which is the way I prefer it to be, so no problems here). Can anyone comment on this?

2) I’m still a little bit fuzzy about the whole press-X-while-booting thingy. When I was still having the February version, I did once boot Twilight Menu while pressing Select to see how the filter would look in normal resolution (I have a N3DSXL). Since then, I never did it again, nor did I recalibrate the touchscreen or change the time in system settings. Since then, I’ve also tried out all the filters in TWPatch several times, with the last 4 or 5 times being with the July version, meaning with anti-wear always on by default.

I’ve never once booted Twilight Menu while pressing X though, should I do it now? And has my 3DS’ wifi flash been affected by my various behavior since that one time when I booted with Select (couple of days ago if I recall correctly)?

Thank you!

What is the proper version that has widescreen working correctly? Would you mind linking to the correct post if the one in the OP is an older version?
 

wanderindirk

Active Member
Newcomer
Joined
Aug 29, 2014
Messages
43
Trophies
0
Age
31
XP
173
Country
Vietnam
I'll try my best to answer each question. If any of the replies are weird then I may have misunderstood your questions.

1) I can't comment on this because I don't understand how TWiLightMenu++ manages widescreen switching.
The part which affects me: to my memory there is only one version in public circulation which has hold-whatever-for-widescreen BUT it doesn't actually tell it as text. I don't remember anymore if it was a stable (first post) or pubtest (update post) build.

2) I'll disable the anti-wear patch, as it's probably* not actually required. I have misread the disassembly, and TwlBg actually does read* and check if it needs to re-write the WiFi flash, so it's safe* to disable the patch manually until I disable it myself.

* Even though TwlBg doesn't write to the WiFi flash, it does have to read the data to check against. I have never heard of breaking an 8-pin serial flash by repeatedly reading from it, but I have heard that these flashes die on ESP32 if you use a higher clock frequencies to read from them faster. My only guess is that some 3DS WiFi boards have these sensitive 8-pin flashes which break when TwlBg tries to use fast serial to read from them. Though this is all speculation all over again...

Beautiful reply, thank you so much Sono! Even though I don't really understand the technical aspects, I do get the general thrust of it. If the anti-wear patch is indeed not actually required, I don't mind leaving it on (as it is now) if it doesn't make any difference at all. About the supposed issue with the widescreen compatibility list: the list I'm referring to is of course the one found on the github tutorial page linked in Robz8's TwilightMenu++ thread.
 

Sono

cripple piss
OP
Developer
Joined
Oct 16, 2015
Messages
2,821
Trophies
2
Location
home
XP
9,317
Country
Hungary
Beautiful reply, thank you so much Sono! Even though I don't really understand the technical aspects, I do get the general thrust of it. If the anti-wear patch is indeed not actually required, I don't mind leaving it on (as it is now) if it doesn't make any difference at all. About the supposed issue with the widescreen compatibility list: the list I'm referring to is of course the one found on the github tutorial page linked in Robz8's TwilightMenu++ thread.

I see.

As for the wide compat list: I don't need to see it, but I know that two things play a role so that a game could get on that list:
1) The game has to be using the 3D engine. Since almost all graphics on the DS is hardware-accelerated, games using the 2D engine can't be squished because the 2D hardware doesn't support aspect ratio correction. As for 3D engine, since the triangles and quads are calculated with the CPU, in most 3D games there is a variable to patch which controls the aspect ratio to squish the world. By patching that variable, the game gets even more squished, resulting in anamorphic widescreen.
2) Someone has to have found the variable and patched it :P Although some games require insane amount of patches, most games to my knowledge only need the aspect ratio correction, and sometimes a few patches to increase the rendering width so the triangles and quads normally outside the visible area are still rendered.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    SylverReZ @ SylverReZ: @Psionic Roshambo, Thats pretty cool.