Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

TWPatch 3DS: Difference between revisions

From GameBrew
No edit summary
Tag: visualeditor-switched
m (Text replacement - "Category:3DS homebrew system tools" to "")
 
(27 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Infobox 3DS homebrew
{{Infobox 3DS Homebrews
| title = twpatcher
|title=twpatcher
| image = https://dlhb.gamebrew.org/3dshomebrew/twpatcher.jpg|250px
|image=Twpatcher2.png
| type = System Tools
|description=DS(i) mode screen filters and patches.
| version = 2021/02/21
|author=Sono
| licence = Mixed
|lastupdated=2023/07/22
| author = Sono
|type=System Tools
| website = https://gbatemp.net/threads/twpatcher-ds-i-mode-screen-filters-and-patches.542694/
|version=20230722
| download = https://dlhb.gamebrew.org/3dshomebrew/twpatcher.rar
|license=Mixed
| source =
|download=https://dlhb.gamebrew.org/3dshomebrews/twpatcher.7z?k33p0fil35
|website=https://gbatemp.net/threads/twpatcher-ds-i-mode-screen-filters-and-patches.542694
}}
}}
<youtube>HUNZVcBhJBU</youtube>
TWPatcher is a screen filter and patch for running DS(i) mode on the 3DS/2DS consoles. The initially patcher, which was only able to change the upscaling filter, was made by reverse engineering the capture card's image processor (used to capture DS and GBA screens), based on the 3 filters (1x (START+SELECT), 1.25x (default), and 1.5x (used only in GBA mode)) found inside TWL_FIRM.


Based on the 3 filters (1x (START+SELECT), 1.25x (default), and 1.5x (used only in GBA mode)) found inside TWL_FIRM, I reverse engineered most of the capture card's image processor (used to capture DS and GBA screens), and made my own filters to show that sharp upscaling can be done.
With this patch, it is also possible to play [https://gbatemp.net/threads/widescreen-cheats-for-ds-games-on-3ds.543212 DS(i) games] using [[TWiLight Menu++]] in widescreen.


But that's not all! Since the initial patcher (which was only able to change the upscaling filter), a lot of work has been done:
==Installation==
Below is the guide to add widescreen support (from [https://wiki.ds-homebrew.com/twilightmenu/playing-in-widescreen DS-Homebrew Wiki], to be used with [[TWiLight Menu++]]). For this to work, make sure Luma's boot.firm is on the SD root.


* Remove the DPAD input filter, so you can press LEFT+RIGHT and UP+DOWN without it being blocked, so you can enjoy glitches exclusive to this gameplay mechanic
* Copy TWPatch.cia to your SD card and install it with [[FBI 3DS|FBI]] (you can also use [[Universal-Updater 3DS|Universal-Updater]] to install TWPatch instead).
* Blue light filtering thanks to [https://gbatemp.net/threads/ctr_redshift-hardware-based-blue-light-filter-for-old3ds-and-2ds.493736/ CTR_Redshift]
* Return to the home menu and launch TWPatch.
* Screen swap for DS mode (the GBA only has a single screen, so it's not swappable)
* Hold Y+B to open the patch menu and enable Widescreen patch (384x240 16:10).
* Widescreen patching for both DS (4:3 --&gt; 16:10) and GBA (15:10 --&gt; 15:9) mode
* (Optional) For a less pixelated widescreen, also enable GPU scaling (blurry, no filters).
* ARM11 &lt;--&gt; ARM7 communication with rtcom (discovered by [https://gbatemp.net/members/280844/ @Gericom])
* Press B to exit the patch menu.
** Currently only GBARunner2 utilizes this for gyroscope emulation when playing WarioWare Twisted!, but any developer and romhacker can use this for anything which needs 3DS hardware access
* Press Start to generate a TwlBg.cxi file with widescreen.
* Use GPU for upscaling
** If the top screen doesn't indicate that wide patch is enabled, relaunch TWPatch and try again again.
** It looks much better than the default upscaling, but it's too blurry for some people
* Move TwlBg.cxi from sd:/luma/sysmodules/ to sd:/_nds/TWiLightMenu/TwlBg/ (create TwlBg folder, if it doesn't exist), and rename the file to Widescreen.cxi.
** It can also pose a health hazard for people with nervous system problems who get weird spazms and epilleptic effects, so use with care!
* Restart your 3DS while holding Select to open Luma3DS's configuration.
* Enable external FIRMs and modules, then press Start to save and quit.
* Open TWiLight Menu++, press Y on your desired game to bring up the per-game settings, and set Screen Aspect Ratio to 16:10.


With a lot of help, love, and support from the community, there are useful use cases for the above patches:
For GBA mode, you need to hold Y while booting TWPatch to enable GBA patching mode (you know when you have enabled GBA patching mode if the number of scale filters drops dramatically, and the background is glitched out) ([https://gbatemp.net/threads/twpatcher-ds-i-mode-screen-filters-and-patches.542694/post-9954660 read more]).


* [https://www.gamebrew.org/wiki/TWiLight_Menu%2B%2B TWiLightMenu++] lets you play games [https://gbatemp.net/threads/widescreen-cheats-for-ds-games-on-3ds.543212/ which have widescreen patches]... in widescreen!
==User guide==
** It's also possible thanks to everyone who are actively making those patches!
===Notes===
* [https://www.gamebrew.org/wiki/GBARunner2_3DS GBARunner2] uses rtcom to enable us to be able to play WarioWare Twisted! utilizing the gyroscope built into the 3DS
* Most widescreen patches will only adjust 3D elements for widescreen, 2D elements (such as menus) will only be stretched.
* Do not hold Start or Select when launching TWLMenu++, if you don't want widescreen to look glitched.
* Not every game is widescreen compatible. Here is a [https://github.com/DS-Homebrew/TWiLightMenu/blob/master/7zfile/3DS%20-%20CFW%20users/Games%20supported%20with%20widescreen.txt list of games with widescreen support].


There are also a few patches for developers too:
===Troubleshoot===
 
If you're stuck in widescreen mode in all of TWL_FIRM (including the TWLMenu++ GUI) launching a widescreen-compatible game, follow these steps:
 
* Delete TwlBg.cxi at sd:/luma/sysmodules/.
* Possible to patch Process9, Kernel11Loader, and Kernel11
* Then [https://wiki.ds-homebrew.com/twilightmenu/uninstalling-3ds uninstall] and [https://wiki.ds-homebrew.com/twilightmenu/installing-3ds re-install] TWiLight Menu++.
* Includes a Kernel11 patch which reinstalls exception handlers, so you can debug your payloads easier
* Finally re-follow the above guide, as well as using the original build of Luma.
 
'''Widescreen SM64DS video (sorry for the 480p24 footage)'''


==Media==
'''Widescreen Super Mario 64 DS on a 3DS''' (​[https://www.youtube.com/watch?v=0Qg9giftkhc Sono]) <br>
<youtube>0Qg9giftkhc</youtube>
<youtube>0Qg9giftkhc</youtube>


==Screenshots==
'''Widescreen Hack - Twilightmenu NDS on 3DS''' ([https://www.youtube.com/watch?v=_rR32gO5Z1c chibon chibon]) <br>
https://dlhb.gamebrew.org/3dshomebrew/2019-07-17_12-15-43.jpg
<youtube>_rR32gO5Z1c</youtube>
https://dlhb.gamebrew.org/3dshomebrew/2019-07-17_12-15-58.jpg
https://dlhb.gamebrew.org/3dshomebrew/IMG_20190712_044605[1].jpg
https://dlhb.gamebrew.org/3dshomebrew/IMG_20190712_044612[1].jpg
https://dlhb.gamebrew.org/3dshomebrew/IMG_20190713_224301[1].jpg


==Useful developer material==
==Changelog==
'''v20230722'''
*Added a patch to disable CPad emulation, for those with broken CPad.


[<nowiki/>[https://gbatemp.net/threads/twpatcher-ds-i-mode-screen-filters-and-patches.542694/page-7#post-8709110 upscale matrix matrix all possible resolution values]] https://docs.google.com/spreadsheets/d/1kMbn1cBD5a7W9zalBLTN-ig1vgqS6fuuBGlm45FRN6M/
==External links==
[https://gbatemp.net/threads/twpatcher-ds-i-mode-screen-filters-and-patches.542694/page-22#post-8736758 [upscale matrix research]] [<nowiki/>[https://clouard.users.greyc.fr/Pantheon/experiments/rescaling/index-en.html 1]] [<nowiki/>[http://bertolami.com/index.php?engine=blog&content=posts&detail=inside-imagine-kernels 2]]
* GBAtemp - https://gbatemp.net/threads/twpatcher-ds-i-mode-screen-filters-and-patches.542694
* GBAtemp - https://gbatemp.net/threads/twpatcher-ds-i-mode-screen-filters-and-patches.542694/post-8752015
* DS-Homebrew Wiki - https://wiki.ds-homebrew.com/twilightmenu/playing-in-widescreen

Latest revision as of 05:18, 6 Mayıs 2024

twpatcher
Twpatcher2.png
General
AuthorSono
TypeSystem Tools
Version20230722
LicenseMixed
Last Updated2023/07/22
Links
Download
Website

TWPatcher is a screen filter and patch for running DS(i) mode on the 3DS/2DS consoles. The initially patcher, which was only able to change the upscaling filter, was made by reverse engineering the capture card's image processor (used to capture DS and GBA screens), based on the 3 filters (1x (START+SELECT), 1.25x (default), and 1.5x (used only in GBA mode)) found inside TWL_FIRM.

With this patch, it is also possible to play DS(i) games using TWiLight Menu++ in widescreen.

Installation

Below is the guide to add widescreen support (from DS-Homebrew Wiki, to be used with TWiLight Menu++). For this to work, make sure Luma's boot.firm is on the SD root.

  • Copy TWPatch.cia to your SD card and install it with FBI (you can also use Universal-Updater to install TWPatch instead).
  • Return to the home menu and launch TWPatch.
  • Hold Y+B to open the patch menu and enable Widescreen patch (384x240 16:10).
  • (Optional) For a less pixelated widescreen, also enable GPU scaling (blurry, no filters).
  • Press B to exit the patch menu.
  • Press Start to generate a TwlBg.cxi file with widescreen.
    • If the top screen doesn't indicate that wide patch is enabled, relaunch TWPatch and try again again.
  • Move TwlBg.cxi from sd:/luma/sysmodules/ to sd:/_nds/TWiLightMenu/TwlBg/ (create TwlBg folder, if it doesn't exist), and rename the file to Widescreen.cxi.
  • Restart your 3DS while holding Select to open Luma3DS's configuration.
  • Enable external FIRMs and modules, then press Start to save and quit.
  • Open TWiLight Menu++, press Y on your desired game to bring up the per-game settings, and set Screen Aspect Ratio to 16:10.

For GBA mode, you need to hold Y while booting TWPatch to enable GBA patching mode (you know when you have enabled GBA patching mode if the number of scale filters drops dramatically, and the background is glitched out) (read more).

User guide

Notes

  • Most widescreen patches will only adjust 3D elements for widescreen, 2D elements (such as menus) will only be stretched.
  • Do not hold Start or Select when launching TWLMenu++, if you don't want widescreen to look glitched.
  • Not every game is widescreen compatible. Here is a list of games with widescreen support.

Troubleshoot

If you're stuck in widescreen mode in all of TWL_FIRM (including the TWLMenu++ GUI) launching a widescreen-compatible game, follow these steps:

  • Delete TwlBg.cxi at sd:/luma/sysmodules/.
  • Then uninstall and re-install TWiLight Menu++.
  • Finally re-follow the above guide, as well as using the original build of Luma.

Media

Widescreen Super Mario 64 DS on a 3DS (​Sono)

Widescreen Hack - Twilightmenu NDS on 3DS (chibon chibon)

Changelog

v20230722

  • Added a patch to disable CPad emulation, for those with broken CPad.

External links

Advertising: