Skip to content

Commit

Permalink
Update TWL_FIRM page
Browse files Browse the repository at this point in the history
- Simplify RTCom (is that the right capitilization?)
- Remove links to guides (they should already have a CFW'd guide before coming here
- Reword CPU speeds to accomodate TWiLight Menu++'s Slot-1 launcher
  • Loading branch information
NightScript370 authored Aug 4, 2022
1 parent 5aa4ee5 commit d157244
Showing 1 changed file with 5 additions and 16 deletions.
21 changes: 5 additions & 16 deletions pages/_en-US/ds-index/dsi-twl-firm.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,25 +7,14 @@ title: Nintendo DSi / Nintendo 3DS TWL_FIRM
description: Information about the Nintendo DSi and the Nintendo 3DS's TWL_FIRM
---

### Setting up CFW
The main benefit of modding your DSi and 3DS families of systems is that you can unlock more possibilities with your consoles. Installing Custom Firmware is quite easy, and in most cases, all you need is a (micro)SD card. Here are the best of guides for you to follow, with step-by-step instructions:

- [3DS Hacking Guide](https://3ds.hacks.guide)
- Lightning command: `mod 3ds`
- TWLHelper command: `guide 3ds`
- Kurisu command: `guide 3ds`
- [DSi Hacking Guide](https://dsi.cfw.guide)
- Lightning command: `mod dsi`
- TWLHelper command: `guide dsi`
- Kurisu command: `guide dsi`

### CPU speeds
The Nintendo DS shipped with a 67 MHz processor in 2004, and the Nintendo DSi shipped with a 133 MHz processor five years later. Most games of the Nintendo DS library were made before the Nintendo DSi came out, and as such the only processor available to them was 67 MHz. Some applications tied themselves to that clock speed and as a result, they will not work well with a higher clock speed. Most games, however, outperform the original with a higher clock speed.

nds-bootstrap has TWL Clock Speed as an option, but it will not try to adjust the ROM to work properly with the higher clock speed. That's on the application itself, and applications not working with a higher clock speed is NOT a bug on the nds-bootstrap end.
The Nintendo DSi shipped with a 133 MHz processor five years following the initial Nintendo DS's release, which only came with a 67 MHz processor. However, due to most applications reliance on the old clock speed, there are numerous glitches that could occur. For the games that do not have any glitches, though, utilizing a loader that does not forced the CPU in an underclocked (such as TWiLight Menu++'s Slot-1 Launcher or nds-boostrap) could provide a nice speed boost.

Since it is dependent on the title, this is available as an option for the two launchers above to those who would like to experiment. However, do note that our implementation is not creating a bug but rather exposing a bug originally found within the game.

### Nintendo DSi Menu
In version 1.4.0, RSA signatures in the DS Game Card whitelist aren't verified. This is a vulnerability that can be exploited, and it allows you to take access over the ARM9 processor. It requires version 1.4.0 (it was patched in future versions and didn't exist in prior versions) and a flashcard with a modified ROM.
In version 1.4.0, RSA signatures in the DS Game Card whitelist aren't verified. This is a vulnerability that can be exploited to gain control over the ARM9 processor. It requires version 1.4.0 (it was patched in future versions and didn't exist in prior versions) and a flashcard with a modified ROM.

There is also a known glitch in the way the Nintendo DSi Menu calculates free space that can can cause an error when using the menu not from the original NAND, for more information see [hiyaCFW FAQ & Troubleshooting](../hiyacfw/faq#the-free-space-bug).

Expand All @@ -45,4 +34,4 @@ A `pit.bin` file is used in order to load images. However, the header size at of
The second bootstage of the Nintendo DSi loads launcher's "title.tmd" into memory. However, they do not specify a file size limit check, meaning that the first 80k bytes are loaded into RAM while the rest can be a custom payload. This is the basis of Unlaunch exploit.

### RTCom
RTCom is the use of the 3DS's RTC to allow the ARM7 and ARM11 CPUs to communicate with each other, even while in TWL_FIRM. This allows 3DS features to be used while in DS(i) mode. This includes the circle pad's analog input, enabling widescreen, and having gyro support. Currently, the only public DS homebrew that make use of RTCom is certain builds of GBARunner2 that have support for the 3DS's gyro feature. To enable RTCom, you will need to use [TWPatch](https://gbatemp.net/threads/542694/).
RTCom is the use of the 3DS's RTC to allow the ARM7 and ARM11 CPUs to communicate with each other, to enable additional features introduced in the Nintendo 3DS while in TWL_FIRM. These featured include remapping the circle pad to the touch screen, stretching the top screen display (allowing widescreen) and gyro support (currently only implemented in specific GBARunner2 builds) Enabling this requires [TWPatch](https://gbatemp.net/threads/542694/).

0 comments on commit d157244

Please sign in to comment.