TWPatch 3DS: Difference between revisions

From GameBrew
(Created page with "{{Infobox 3DS homebrew | title = twpatcher | image = https://dlhb.gamebrew.org/3dshomebrew/twpatcher.jpg|250px | type = System Tools | version = 44248 | licence = Mixed | auth...")
 
No edit summary
Tag: visualeditor-switched
Line 3: Line 3:
| image = https://dlhb.gamebrew.org/3dshomebrew/twpatcher.jpg|250px
| image = https://dlhb.gamebrew.org/3dshomebrew/twpatcher.jpg|250px
| type = System Tools
| type = System Tools
| version = 44248
| version = 2021/02/21
| licence = Mixed
| licence = Mixed
| author = Sono
| author = Sono
| 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/
| download = https://dlhb.gamebrew.org/3dshomebrew/twpatcher.rar
| download = https://dlhb.gamebrew.org/3dshomebrew/twpatcher.rar
| source = https://dlhb.gamebrew.org/3dshomebrew/twpatcher.rar
| source =  
}}
}}
<youtube>HUNZVcBhJBU</youtube>
<youtube>HUNZVcBhJBU</youtube>
Line 16: Line 16:
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:
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:


 
* 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
* 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 [[File:styles/default/xenforo/clear.png|class=mceSmilieSprite mceSmilie2|;)]]
* Blue light filtering thanks to [https://gbatemp.net/threads/ctr_redshift-hardware-based-blue-light-filter-for-old3ds-and-2ds.493736/ CTR_Redshift]
* Blue light filtering thanks to [https://gbatemp.net/threads/ctr_redshift-hardware-based-blue-light-filter-for-old3ds-and-2ds.493736/ CTR_Redshift]
* Screen swap for DS mode (the GBA only has a single screen, so it's not swappable)
* Screen swap for DS mode (the GBA only has a single screen, so it's not swappable)
Line 29: Line 28:
With a lot of help, love, and support from the community, there are useful use cases for the above patches:
With a lot of help, love, and support from the community, there are useful use cases for the above patches:


 
* [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!
* [https://gbatemp.net/threads/ds-i-3ds-twilight-menu-gui-for-ds-i-games-and-ds-i-menu-replacement.472200/ TWiLightMenu++] lets you play games [https://gbatemp.net/threads/widescreen-cheats-for-ds-games-on-3ds.543212/ which have widescreen patches]... in widescreen!
** It's also possible thanks to everyone who are actively making those patches!
** It's also possible thanks to everyone who are actively making those patches!
* [https://gbatemp.net/threads/gbarunner2.451970/ GBARunner2] uses rtcom to enable us to be able to play WarioWare Twisted! utilizing the gyroscope built into the 3DS
* [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


There are also a few patches for developers too:
There are also a few patches for developers too:
Line 40: Line 38:
* Includes a Kernel11 patch which reinstalls exception handlers, so you can debug your payloads easier
* Includes a Kernel11 patch which reinstalls exception handlers, so you can debug your payloads easier


'''Widescreen SM64DS video (sorry for the 480p24 footage)'''


<youtube>0Qg9giftkhc</youtube>


==Screenshots==
https://dlhb.gamebrew.org/3dshomebrew/2019-07-17_12-15-43.jpg
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


<div class="ToggleTriggerAnchor bbCodeSpoilerContainer">
==Useful developer material==
 
<span>Spoiler: <span class="SpoilerTitle">Widescreen SM64DS video (sorry for the 480p24 footage)</span></span>
<div class="SpoilerTarget bbCodeSpoilerText">
 
<div class="iframe">
 
<div id="player">
 
 
 
</div>
<div class="player-unavailable">
 
= An error occurred. =
 
<div class="submessage">
 
[https://www.youtube.com/watch?v=0Qg9giftkhc Try watching this video on www.youtube.com], or enable JavaScript if it is disabled in your browser.
 
</div>
 
</div>
 
</div>
 
</div>
 
</div>
 
 
 
<div class="ToggleTriggerAnchor bbCodeSpoilerContainer">
 
<span>Spoiler: <span class="SpoilerTitle">Images</span></span>
<div class="SpoilerTarget bbCodeSpoilerText">
 
[[File:proxy.php?image=https%3A%2F%2Fpuu.sh%2FDP6bz%2Fce64b7ec17.jpg&hash=9866e6ae3f980b245f3d1634ec515398|class=bbCodeImage LbImage|[?IMG]]]
[[File:proxy.php?image=https%3A%2F%2Fpuu.sh%2FDP6ci%2F7b2c70e702.jpg&hash=ec83d82a89fae42522259669748462cd|class=bbCodeImage LbImage|[?IMG]]]
[[File:proxy.php?image=https%3A%2F%2Fpuu.sh%2FDRlt4%2F53f1d365bb.jpg&hash=3f5d8838cc3a17918df546f272016498|class=bbCodeImage LbImage|[?IMG]]]
[[File:proxy.php?image=https%3A%2F%2Fpuu.sh%2FDRJFb%2Fa215fe4708.jpg&hash=1b4b717405faa7d31b77e6bab487fb48|class=bbCodeImage LbImage|[?IMG]]]
[[File:proxy.php?image=https%3A%2F%2Fpuu.sh%2FDRJFg%2Faa87ea1b0f.jpg&hash=7612ec7220f063328c57678b00a79c32|class=bbCodeImage LbImage|[?IMG]]]
[[File:proxy.php?image=https%3A%2F%2Fpuu.sh%2FDSq73%2F364ace4046.jpg&hash=6b658a7ae45a680b2ea40bc4546d5010|class=bbCodeImage LbImage|[?IMG]]]
[[File:proxy.php?image=https%3A%2F%2Fpuu.sh%2FDSq7S%2Fd66eb6a763.jpg&hash=915e22faa0fcfaf5b770d0d4321c0fa4|class=bbCodeImage LbImage|[?IMG]]]
[[File:proxy.php?image=https%3A%2F%2Fpuu.sh%2FDTPyo%2F30dbf7007b.jpg&hash=11bcd69e368f6e0462771a0eb916e3ec|class=bbCodeImage LbImage|[?IMG]]]
[[File:proxy.php?image=https%3A%2F%2Fpuu.sh%2FDTSj5%2F4205de0403.jpg&hash=d10aa6532a7f5bdd5b5b687c58516918|class=bbCodeImage LbImage|[?IMG]]]
[[File:proxy.php?image=https%3A%2F%2Fpuu.sh%2FDTSje%2Fa7a62e196e.jpg&hash=78655e3dd6c47e747502528b0f2858c1|class=bbCodeImage LbImage|[?IMG]]]
[[File:proxy.php?image=https%3A%2F%2Fpuu.sh%2FDU5b1%2Ff6557071b2.jpg&hash=60816013638c01a6b850de7d9242e766|class=bbCodeImage LbImage|[?IMG]]]
[[File:proxy.php?image=https%3A%2F%2Fpuu.sh%2FDU5bY%2F40909d9572.jpg&hash=e6b778c4528ee33461dba697e97f0e8b|class=bbCodeImage LbImage|[?IMG]]]
 
</div>
 
</div>
 
If you want to see all scale matrixes, [https://gbatemp.net/members/369787/ @Halvorsen] has used a capture card to capture how it looks like on real hardware.
 
 
<div class="ToggleTriggerAnchor bbCodeSpoilerContainer">
 
<span>Spoiler: <span class="SpoilerTitle">Scale matrix comparison</span></span>
<div class="SpoilerTarget bbCodeSpoilerText">
 
[[File:proxy.php?image=https%3A%2F%2Fi.imgur.com%2F7W9LMPP.png&hash=9be4ce2c03313d13a13a6ff9e1a389f0|class=bbCodeImage LbImage|[?IMG]]]
 
</div>
 
</div>
 
Download stable [<nowiki/>[https://sono.9net.org/hebrew/TWPatch/data/TWPatch.cia cia]] 2021/02/21
<span style="text-decoration: line-through">Download outdated [<nowiki/>[https://sono.9net.org/hebrew/TWPatch/data/TWPatch.3dsx 3dsx] (doesn't work)] 2021/01/12</span>
 
 
 
<div class="ToggleTriggerAnchor bbCodeSpoilerContainer">
 
<span>Spoiler: <span class="SpoilerTitle">Useful developer material</span></span>
<div class="SpoilerTarget bbCodeSpoilerText">


[<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/
[<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/
[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]]
[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]]
</div>
</div>
<div class="messageTextEndMarker">
</div>

Revision as of 01:35, 1 September 2021

Template:Infobox 3DS homebrew

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.

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:

  • 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
  • Blue light filtering thanks to CTR_Redshift
  • Screen swap for DS mode (the GBA only has a single screen, so it's not swappable)
  • Widescreen patching for both DS (4:3 --> 16:10) and GBA (15:10 --> 15:9) mode
  • ARM11 <--> ARM7 communication with rtcom (discovered by @Gericom)
    • 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
  • Use GPU for upscaling
    • It looks much better than the default upscaling, but it's too blurry for some people
    • It can also pose a health hazard for people with nervous system problems who get weird spazms and epilleptic effects, so use with care!

With a lot of help, love, and support from the community, there are useful use cases for the above patches:

  • TWiLightMenu++ lets you play games which have widescreen patches... in widescreen!
    • It's also possible thanks to everyone who are actively making those patches!
  • GBARunner2 uses rtcom to enable us to be able to play WarioWare Twisted! utilizing the gyroscope built into the 3DS

There are also a few patches for developers too:


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

Screenshots

2019-07-17_12-15-43.jpg2019-07-17_12-15-58.jpghttps://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

[upscale matrix matrix all possible resolution values] https://docs.google.com/spreadsheets/d/1kMbn1cBD5a7W9zalBLTN-ig1vgqS6fuuBGlm45FRN6M/ [upscale matrix research] [1] [2]

Advertising: