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
No edit summary
Line 8: Line 8:
|version=21/02/2021
|version=21/02/2021
|license=Mixed
|license=Mixed
|download=https://dlhb.gamebrew.org/3dshomebrew/twpatcher.rar
|download=https://dlhb.gamebrew.org/3dshomebrews/twpatcher.7z
|website=https://gbatemp.net/threads/twpatcher-ds-i-mode-screen-filters-and-patches.542694/
|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 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==
'''Note:''' Make sure Luma's boot.firm is on the SD root for this to work.


* 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
To install:
* Blue light filtering thanks to [https://gbatemp.net/threads/ctr_redshift-hardware-based-blue-light-filter-for-old3ds-and-2ds.493736/ CTR_Redshift]
* 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).
* Screen swap for DS mode (the GBA only has a single screen, so it's not swappable)
* Return to the home menu and launch TWPatch.
* Widescreen patching for both DS (4:3 --&gt; 16:10) and GBA (15:10 --&gt; 15:9) mode
* Hold Y+B to open the patch menu and enable Widescreen patch (384x240 16:10).
* ARM11 &lt;--&gt; ARM7 communication with rtcom (discovered by [https://gbatemp.net/members/280844/ @Gericom])
* (Optional) For a less pixelated widescreen, also enable GPU scaling (blurry, no filters).
** 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 B to exit the patch menu.
* Use GPU for upscaling
* Press Start to generate a TwlBg.cxi file with widescreen.
** It looks much better than the default upscaling, but it's too blurry for some people
** If the top screen doesn't indicate that wide patch is enabled, relaunch TWPatch and try again again.
** It can also pose a health hazard for people with nervous system problems who get weird spazms and epilleptic effects, so use with care!
* 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.


With a lot of help, love, and support from the community, there are useful use cases for the above patches:
==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 [https://github.com/DS-Homebrew/TWiLightMenu/blob/master/7zfile/3DS%20-%20CFW%20users/Games%20supported%20with%20widescreen.txt list of games with widescreen support].


* [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!
===Troubleshoot===
** It's also possible thanks to everyone who are actively making those patches!
If you're stuck in widescreen mode in all of TWL_FIRM (including the TWLMenu++ GUI) launching a widescreen-compatible game, follow these steps:
* [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
* Delete TwlBg.cxi at sd:/luma/sysmodules/.
 
* Then [https://wiki.ds-homebrew.com/twilightmenu/uninstalling-3ds uninstall] and [https://wiki.ds-homebrew.com/twilightmenu/installing-3ds re-install] TWiLight Menu++.
There are also a few patches for developers too:
* Finally re-follow the above guide, as well as using the original build of Luma.
 
* Possible to patch Process9, Kernel11Loader, and Kernel11
* Includes a Kernel11 patch which reinstalls exception handlers, so you can debug your payloads easier
 
'''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>
<ul class="large-block-grid-4">
<youtube>_rR32gO5Z1c</youtube>
  <li>https://dlhb.gamebrew.org/3dshomebrew/2019-07-17_12-15-43.jpg</li>
  <li>https://dlhb.gamebrew.org/3dshomebrew/2019-07-17_12-15-58.jpg</li>
  <li>https://dlhb.gamebrew.org/3dshomebrew/IMG_20190712_044605.jpg</li>
  <li>https://dlhb.gamebrew.org/3dshomebrew/IMG_20190712_044612.jpg</li>
  <li>https://dlhb.gamebrew.org/3dshomebrew/IMG_20190713_224301.jpg</li>
</ul>


==Useful developer material==
==External links==
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


* [<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/
[[Category:3DS homebrew applications]]
* [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]]
[[Category:3DS homebrew system tools]]

Revision as of 14:35, 7 February 2022

twpatcher
File:Twpatcher.jpg
General
AuthorSono
TypeSystem Tools
Version21/02/2021
LicenseMixed
Last Updated2021/06/27
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 possible to play DS(i) games using TWiLight Menu++ in widescreen.

Installation

Note: Make sure Luma's boot.firm is on the SD root for this to work.

To install:

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

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

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

External links

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

Advertising: