Mostly consistency but not proportionally as much as last time (#25)

* Remove periods from bullets

Also decapitalizes "card" in "DSi SD card", but leaves one of them and capitalizes another because it's the title of the file/folder.

* Mostly small consistency changes

Also clarifies that not everything listed is an emulator.

* Remove exploits section

Removed primarily because it's no longer relevant.
Also, small capitalization changes.

* Small consistency changes and partial formatting fixes

* Mostly removing periods from ends of bullets

* Further formatting improvements

Bullets look nicer

* Consistency changes, redundancy/brevity changes, and other additons

I have not slept in 23 hours

* Capitalize Game Card

Per request by lifehackerhansol

* Capitalize Game Card

Per request by lifehackerhansol

* Details on "cartridge" and "Game Card"
This commit is contained in:
triangle 2021-08-02 12:34:40 -05:00 committed by GitHub
parent e61fbbbf74
commit 23e80b03c0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 138 additions and 158 deletions

View File

@ -58,3 +58,5 @@ Decimal:
- "Wi-Fi" should be spelled as such, not "Wifi" or "WiFi"
- "Flashcart" should be used for Slot-2 (GBA) flashcarts
- "Flashcard" should be used for Slot-1 (DS) flashcards
- "Cartridge" should be be used for standard GBA cartridges
- "Game Card" should be capitalized

View File

@ -8,7 +8,7 @@ description: Information about the Nintendo DSi and the Nintendo 3DS's TWL_FIRM
---
### Setting up CFW
While most of the benefits of Custom Firmware are for the Nintendo DSi and the Nintendo 3DS family of systems, it allows you to unlock your consoles possibilities. Installing Custom Firmware is quite easy, and in most cases, all you need is a (micro)SD card. We have the best of guides for you to follow, with step-by-step instructions.
While most of the benefits of Custom Firmware are for the Nintendo DSi and the Nintendo 3DS families of systems, it allows you to unlock your consoles possibilities. Installing Custom Firmware is quite easy, and in most cases, all you need is a (micro)SD card. We have the best of guides for you to follow, with step-by-step instructions.
- [3DS Hacking Guide](https://3ds.hacks.guide)
- Lightning command: `mod 3ds`
@ -18,26 +18,24 @@ While most of the benefits of Custom Firmware are for the Nintendo DSi and the N
- Kuriisu command: `guide dsi`
### CPU speeds
The Nintendo DS shipped with a 67 MHz processor in 2004. The Nintendo DSi shipped with an 133 MHz processor in 2009. 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, would not work well with a higher clock speed. Most games, however, would outperform the original with a higher clock speed.
The Nintendo DS shipped with a 67 MHz processor in 2004, and the Nintendo DSi shipped with an 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, would not work well with a higher clock speed. Most games, however, would 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 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.
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.
### Nintendo DSi Menu
In version 1.4.0, RSA signatures in the DS cart whitelist aren't verified. There is an exploit regarding a vulnerability in the Nintendo DSi flashcard whitelist that 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, 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.
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 the [hiyaCFW troubleshooting page](/hiyacfw/troubleshooting#the-free-space-bug).
### Nintendo DSi Slot-1 access & blockout
Slot-1 access is blocked when launching applications from the system menu, except if said applications is either the Slot-1 launcher itself or System Settings. In order to launch normally unlaunchable slot-1 cartridges, you'll need to either make a System Settings exploit or install Unlaunch. Without either of those, you cannot launch unlaunchable flashcards and you cannot dump ROMs to your SD card.
Slot-1 access is blocked when launching applications from the system menu, except if said applications is either the Slot-1 launcher itself or System Settings. In order to launch normally unlaunchable Slot-1 cartridges, you'll need to either make a System Settings exploit or install Unlaunch. Without either of those, you cannot launch unlaunchable flashcards and you cannot dump ROMs to your SD card.
The flashcard white list is checked via RSA signatures are contained via RSA keys on every firmware expect 1.4.0. This means that people can white list their own carts
Before 1.4.0, the whitelist contained only two sections. In 1.4.0, they introduced a third section, which was made to block flashcards that got around the first two. The third section loads up to eight different sections of the ROM and checks them with a hash to see if the ROM has been tampered with. However, due to the forgetfulness of putting in any sanity check, we can overflow into the exception vector / interrupt address using a large enough value. Best of all, this runs on ARM7 (aka the security processor) so this makes it the first exploit for the ARM7 processor. Since this happens before the lock out of the SCFG registers, we can run advanced homebrew (such as Slot-1 dumpers & external Slot-1 dumpers).
Before 1.4.0, the white list used to contain only two sections. In 1.4.0, they've introduced a third section which was made to block flashcards that got around the first two. The third section loads up to eight different section of the rom and checks them with a hash to see if the rom has been tampered with. However, due to the forgetfulness of putting any sanity check, we can overflow into the exception vector / interrupt address using a large enough value. Best of all, this runs on ARM7 (aka the security processor) so this makes it the first exploit for the ARM7 processor. Since this happens before the lock out of the SCFG registers, we can run advanced homebrew (such as Slot-1 dumpers & external slot-1 dumpers)
Unfortunately, the requirements are tight. It requires version 1.4.0 and a flashcard with a modified ROM. Also, the exploit never officially came out, due to Unlaunch being much simpler to install and having less requirements (just a way to get into homebrew) with the same advantages.
Unfortunately, the requirements are tight. It requires version 1.4.0 and a flashcard with a modified ROM. The exploit never officially came out, due to Unlaunch being much simpler to install and having fewer requirements (just a way to get into homebrew) with the same advantages.
### Nintendo DSi Camera
The Nintendo DSi Camera application has the ability to take pictures in the JPEG and save them to either the System Memory or the SD card. The way it's loaded restricts it to only DSi made images, due to lacking the proper HMAC stored inside a custom EXIF tag. Any custom images are not readable on the DSi, whether its PC taken or PC edited.
The Nintendo DSi Camera application has the ability to take pictures in the JPEG and save them to either the System Memory or the SD card. The way it's loaded restricts it to only DSi made images, due to lacking the proper HMAC stored inside a custom EXIF tag. Any custom images are not readable on the DSi, whether it's PC taken or PC edited, unless properly saved.
A `pit.bin` file is used in order to load images. However, the header size at offset 0x16 is unchecked, so a big enough header size value can exceed boundaries and cause the buffer to overwrite and jump to unsigned code. This is how Memory Pit is powered.
@ -45,4 +43,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, 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/).

View File

@ -7,7 +7,7 @@ title: Emulators on the DS
description: A reference on Emulators on the DS
---
There are many emulators present for the DS and DSi. This page provides a comprehensive explanation on the many emulators bundled into TWiLight Menu++.
There are many emulators present for the DS and DSi. This page provides a comprehensive explanation on the many emulators and loaders bundled into TWiLight Menu++.
### List of Supported Systems by TWiLight Menu++
@ -35,9 +35,9 @@ There are many emulators present for the DS and DSi. This page provides a compre
[^1]: Text files containing the path to a DS homebrew app and arguments to launch it with, see [nds-hb-menu's README](https://github.com/devkitPro/nds-hb-menu#passing-arguments) for more info
[^2]: Only for retail ROMs, homebrew do not have specific save files
[^3]: Only works from a SuperCard DSTWO flashcard as it has additional processing power and RAM inside the cartridge
[^3]: Only works from a SuperCard DSTWO flashcard as it has additional processing power and RAM inside the flashcard
[^4]: When running in DSi Mode, it can use the DSP for better sound
[^5]: Requires a Slot-2 flashcard and thus only works on DS Phat and DS Lite
[^5]: Requires a Slot-2 flashcart and thus only works on DS Phat and DS Lite
[^6]: jEnesis can only save when running from a flashcard, but PicoDriveTWL can save from SD and flashcard
[^7]: Only shown when using a flashcard, 3DS's internal SD card, or DSi with Unlaunch installed
[^8]: Can only save when running from a flashcard
@ -45,7 +45,7 @@ There are many emulators present for the DS and DSi. This page provides a compre
- Footnotes -
{:footnotes}
The are just recommended emulators that are present in TWiLight Menu++. There are other emulators for these consoles (such as lolSnes, Gbaemu4ds, etc.)
These are just recommended emulators and loaders that are present in TWiLight Menu++. There are other emulators for these consoles (such as lolSnes, Gbaemu4ds, etc.)
### Other Emulators for the DS:
@ -56,9 +56,9 @@ The are just recommended emulators that are present in TWiLight Menu++. There ar
### Some Notes on Specific Emulators:
#### RAM Disks
- In order for **jEnesisDS, neoDS and SNEmulDS** to work on the DSi SD card, you'll have to use a RAM disk with nds-bootstrap.
- RAM disk makers exist for jEnesisDS & SNEmulDS and are built into TWiLight Menu++. You will need to create your own RAM disk for neoDS. See [Creating RAM Disks](/twilightmenu/creating-ram-disks) on how to do so.
- The reason why we use RAM disks is because these emulators' ARM7 hooks don't work properly.
- In order for **jEnesisDS, neoDS and SNEmulDS** to work on the DSi SD card, you'll have to use a RAM disk with nds-bootstrap
- RAM disk makers exist for jEnesisDS & SNEmulDS and are built into TWiLight Menu++. You will need to create your own RAM disk for neoDS. See [Creating RAM Disks](/twilightmenu/creating-ram-disks) on how to do so
- The reason why we use RAM disks is because these emulators' ARM7 hooks don't work properly
#### Comparison between PicoDriveTWL and jEnesisDS
@ -68,7 +68,7 @@ The are just recommended emulators that are present in TWiLight Menu++. There ar
+ Saving is allowed on DSi SD cards
+ Quicker load times between TWiLight Menu++ to the emulator on the DSi SD card
+ Supports arguments
- Limit is 2.5 MB on a **Flashcart**.
- Limit is 2.5 MB on a **Flashcard**
+ Takes advantage of the DSi extra RAM or DS Memory Pak to extend this limit
- No sound emulation
- Framerate is extremely choppy
@ -80,7 +80,7 @@ The are just recommended emulators that are present in TWiLight Menu++. There ar
- Takes a while to load
- No argument support
+ Limit is 3 MB on all platforms (due to roms loading in RAM)
- No DS Memory Pak or DSi Extended Memory support.
- No DS Memory Pak or DSi Extended Memory support
+ There is a patch for Sonic 3 & Knuckles that removes the multiplayer, getting the size count down.
+ Sound Emulation
+ Framerate is smooth

View File

@ -62,22 +62,22 @@ If you already have Universal Updater installed on your console, you can skip to
### Part 1: Getting started
1. Download the [Forwarder pack for DSi SD Card](https://www.dropbox.com/s/t0qi1754i9o4388/DS%20Game%20Forwarder%20pack%20%28DSi%20SD%20Card%29.7z?dl=0)
1. Extract the contents of the `for SD card root` folder to the root of your DSi's SD card, and (if the folder exists)
1. Extract the contents of the `for SD Card root` folder to the root of your DSi's SD card, and (if the folder exists)
After you extract the pack for your card, you can edit "sd:/_nds/nds-bootstrap.ini" and change one of the settings.
- BOOST_CPU: If set to 1, TWL clock speed is used, so lags begone.
- SOUND_FREQ: If set to 1, sound will play at 48khz, instead of 32khz.
- LANGUAGE: If set to -1, the system language will be used.
- REGION: If set to -2, the DSiWare game's region will be used instead of the system's.
- BOOST_CPU: If set to 1, TWL clock speed is used, so lags begone
- SOUND_FREQ: If set to 1, sound will play at 48khz, instead of 32khz
- LANGUAGE: If set to -1, the system language will be used
- REGION: If set to -2, the DSiWare game's region will be used instead of the system's
### Part 2: Getting the AP fix files from TWiLight Menu++
If you already have TWiLight Menu++, skip to the next section.
{:.alert .alert-info}
1. Download the latest [TWiLight Menu++ version](https://github.com/DS-Homebrew/TWiLightMenu/releases). Only get the `TWiLightMenu-DSi.7z` file.
1. In the 7z file, go to "_nds", "TWiLightMenu", and "extras".
1. Drag the "apfix.pck" file to "sd:/_nds/ntr-forwarder/".
1. Download the latest [TWiLight Menu++ version](https://github.com/DS-Homebrew/TWiLightMenu/releases). Only get the `TWiLightMenu-DSi.7z` file
1. In the 7z file, go to "_nds", "TWiLightMenu", and "extras"
1. Drag the "apfix.pck" file to "sd:/_nds/ntr-forwarder/"
### Part 3: Forwarder3-DS
1. Open `Forwarder3DS.jar`
@ -93,7 +93,7 @@ If you already have TWiLight Menu++, skip to the next section.
1. If you're playing a hack/translation of a DSi-Enhanced game that has it's banner/title edited, find the banner for the game from [here](https://www.dropbox.com/sh/igr47pr0q5bh4p5/AAA9Dy8VOGfBLUA6KdLDSDW-a?dl=0), right click on the game in Forwarder3-DS, click `Import banner`, and click on the banner to use
1. If using a homebrew ROM, click on it, then clear the `Game title` and type the game's title
1. Click the floppy drive button to generate the forwarder
1. Copy the NDS file made by the application to your DSi SD Card
1. Copy the NDS file made by the application to your DSi SD card
### Part 4: Installing to the hiyaCFW DSi Menu
1. Copy `tmfh.nds` from the TMFH `.zip` file to the root of your SD card
@ -144,14 +144,14 @@ Untested:
- R4i3D NEW (Use R4iDSN template and pack)
Partially compatible:
- Ace 3DS+ (Game compatibility is bad, so saving/loading save file results in crashing.)
- Gateway Blue Card (Game compatibility is bad, so saving/loading save file results in crashing.)
- EX4DS (Game compatibility is bad, so saving/loading save file results in crashing.)
- R4iLS (Game compatibility is bad, so saving/loading save file results in crashing.)
- Cards with [www.r4isdhc.com.cn](http://www.r4isdhc.com.cn/) (Game compatibility is bad, so saving/loading save file results in crashing.)
- Ace 3DS+ (Game compatibility is bad, so saving/loading save file results in crashing)
- Gateway Blue Card (Game compatibility is bad, so saving/loading save file results in crashing)
- EX4DS (Game compatibility is bad, so saving/loading save file results in crashing)
- R4iLS (Game compatibility is bad, so saving/loading save file results in crashing)
- Cards with [www.r4isdhc.com.cn](http://www.r4isdhc.com.cn/) (Game compatibility is bad, so saving/loading save file results in crashing)
Incompatible:
- CycloDS (i)Evolution (Can autoboot ROMs, but it works differently than other flashcards.)
- CycloDS (i)Evolution (Can autoboot ROMs, but it works differently than other flashcards)
- (i)Edge (Unable to autoboot a .nds ROM)
- R4 Gold Pro ([www.r4i-gold.com](http://www.r4i-gold.com) / [www.r4i-gold.me](http://www.r4i-gold.me)) (YSMenu (not the forwarder process) bricks the card)
- R4i3D (2012)
@ -183,12 +183,12 @@ Incompatible:
- [R4iDSN / R4i Gold RTS / R4i Gold 3DS Plus](https://www.dropbox.com/s/j8nquh073k9y0h7/DS%20Game%20Forwarder%20pack%20%28R4iDSN%2C%20R4i%20Gold%20RTS%29.7z?dl=0)
- [Ace 3DS+ / Gateway Blue Card / R4iLS / R4iTT](https://www.dropbox.com/s/fd7dzhn8burcq02/DS%20Game%20Forwarder%20pack%20%28Ace3DS%2C%20GW%20Blue%20Card%2C%20R4iTT%29.7z?dl=0)
- [SC DSTWO](https://www.dropbox.com/s/pyyg0vq8b0nmhqd/DS%20Game%20Forwarder%20pack%20%28SC%20DSTWO%29.7z?dl=0)
1. Extract the contents of the `for Slot-1 microSD` folder to the root of your flashcard's microSD card, and (if the folder exists) the contents of the `for 3DS SD card` folder to the root of your 3DS's SD card.
1. Extract the contents of the `for Slot-1 microSD` folder to the root of your flashcard's microSD card, and (if the folder exists) the contents of the `for 3DS SD card` folder to the root of your 3DS's SD card
- What will be in each pack for loading ROMs:
- Original R4/M3 Simply - WoodR4 & YSMenu
- DSTT/R4i Gold/R4i-SDHC/R4 SDHC Dual-Core/R4 SDHC Upgrade/SC DSONE, Acekard 2(i)/M3DS Real/R4i-SDHC 1.4.x - YSMenu
- Acekard RPG, Ace 3DS+/Gateway Blue Card/R4iLS/R4iTT, R4iDSN/R4i Gold RTS - WoodR4
- After you extract the pack for your card, you can edit `sd:/_nds/ntr_forwarder.ini` to change the settings. This isn't possible for Acekard RPG, R4 DS, and R4i Gold RTS.
- After you extract the pack for your card, you can edit `sd:/_nds/ntr_forwarder.ini` to change the settings. This isn't possible for Acekard RPG, R4 DS, and R4i Gold RTS
- `NTRCLOCK`: If set to `0` or <kbd class="face">A</kbd> is held, the DSi boot screen will appear instead of the normal DS splash, and TWL clock speed is used, so lags begone
- `DISABLEANIMATION`: If set to `1` or <kbd class="face">B</kbd> is held, the DS/DSi boot screen is skipped
- `HEALTHSAFETYMSG`: If set to `1`, the boot screen's health and safety message will appear on the bottom screen, otherwise the bottom screen stays white with no health and safety message
@ -230,4 +230,4 @@ If you already have TWiLight Menu++, skip to the next section.
{% assign tab-flashcard = tab-flashcard | split: "////////" %}
{% assign tabs = tab-3ds-sd-card | concat: tab-dsi-sd-card | concat: tab-flashcard %}
{% include tabs.html index=0 tabs=tabs %}
{% include tabs.html index=0 tabs=tabs %}

View File

@ -11,15 +11,15 @@ description: Information about homebrew on the Nintendo DS
Developing Nintendo DS Homebrew typically uses devkitPro tools, such as devkitARM, libnds, and libfat. However, there is the possibility to branch out and use alternative software:
- **SD card libraries:** [DevkitPro](https://devkitpro.org/) recommends [libfat](https://github.com/devkitPro/libfat). [libslim](https://github.com/DS-Homebrew/libslim/) is recommended instead, as it allows usage of different partitions, quicker speeds, and non-blocking
- **Graphics libraries:** [easyGL2D](http://rel.phatcode.net/junk.php?id=117), which comes shipped with libnds, is recommended. However, [NightFox Lib](https://github.com/knightfox75/nds_nflib) can be used instead.
- **Entire toolchains:** [devkitARM](https://devkitpro.org/wiki/Getting_Started) and [libnds](https://libnds.devkitpro.org/) are recommended, as it includes DSi compatibility and has a larger ecosystem. However, [ToolchainGenericDS](https://bitbucket.org/Coto88/toolchaingenericds) is an option for flashcard-exclusive development.
- **SD card libraries:** [devkitPro](https://devkitpro.org/) recommends [libfat](https://github.com/devkitPro/libfat). [libslim](https://github.com/DS-Homebrew/libslim/) is recommended instead, as it allows usage of different partitions, quicker speeds, and non-blocking
- **Graphics libraries:** [easyGL2D](http://rel.phatcode.net/junk.php?id=117), which comes shipped with libnds, is recommended. However, [NightFox Lib](https://github.com/knightfox75/nds_nflib) can be used instead
- **Entire toolchains:** [devkitARM](https://devkitpro.org/wiki/Getting_Started) and [libnds](https://libnds.devkitpro.org/) are recommended, as it includes DSi compatibility and has a larger ecosystem. However, [ToolchainGenericDS](https://bitbucket.org/Coto88/toolchaingenericds) is an option for flashcard-exclusive development
To get started, [this GBATemp thread](https://gbatemp.net/threads/useful-resources-to-help-you-out-with-starting-to-make-nds-homebrew.580507/#post-9322674) has a lot of good resources for begginers. For more technical information on the DS(i), see [GBATEK](https://problemkaputt.de/gbatek-contents.htm).
To get started, [this GBAtemp thread](https://gbatemp.net/threads/useful-resources-to-help-you-out-with-starting-to-make-nds-homebrew.580507/#post-9322674) has a lot of good resources for begginers. For more technical information on the DS(i), see [GBATEK](https://problemkaputt.de/gbatek-contents.htm).
### Flashcards
DS mode flashcards are a slot-1 method of running Nintendo DS applications. Flashcards have the advantages of keeping console files and portable files separate, the ability to be used without modding your system and are usable on DS Phat/Lite consoles. However, unlike modding the actual console, there are multiple flashcards on the market, each with different kernel requirements. The kernel you use is the most important.
DS mode flashcards are a Slot-1 method of running Nintendo DS applications. Flashcards have the advantages of keeping console files and portable files separate, the ability to be used without modding your system and are usable on DS Phat/Lite consoles. However, unlike modding the actual console, there are multiple flashcards on the market, each with different kernel requirements. The kernel you use is the most important.
[There is a **work in progress** flashcard index](https://nightyoshi370.github.io/mm-github-pages-starter/), which has kernels, firmware, reviews and purchase links.
@ -49,22 +49,3 @@ ARGV is an information transmitter between two homebrew Nintendo DS applications
- The homebrew needs to be programmed in order to take advantage of it. For example, GBARunner2, NesDS, and GameYob all have ARGV implementation
- There also needs to have a way to set the ARGV variables. TWiLight Menu++ and HBMenu allow setting ARGV arguments
### Exploits
Below is a list of all types of exploits for the DSi.
#### NTR/NDS Mode Exploits
These are ARM9 exploits that takes over a NDS mode cartridge. These type of exploits are very limited since there's no SD or NAND access. They can be used to run a small payload. These exploits are almost useless.
#### DSi Enhanced Exploits
These are ARM9 exploits that take over a enhanced DSi mode cartridge. Unfortunately they don't have SD or NAND access, so you cannot use the SD card or downgrade. They can be used to gather console information and maybe find other vulnerabilities. These exploits can also be used for dslink, which can load homebrew apps in DSi-Mode via internet connections.
#### DSiWare Exploits
These are ARM9 exploits that take over a DSiWare title. They run in the same context that Enhanced games do, but with the addition of SD and NAND access. This exploits are valuable since can be used to downgrade the console firmware to older versions. However this doesn't allow any cartridge access.
#### ARM7 Exploits
These exploits take over the ARM7 processor. In the DSi these processor handles critical operations and cryptography operations, among other things. These exploits are extremely rare and there's no concrete targets. The DSi menu (The Launcher) is known to run in the ARM7 context. At the moment there's only one exploit known, RocketLauncher.
#### Bootcode Exploits
These exploits gain full SCFG_EXT access rights immediately after power-up (before even starting the launcher). These exploits are significantly rare and concrete targets can be the launcher's `title.tmd`. At the moment, Unlaunch is the only known exploit for this type of exploit.

View File

@ -10,8 +10,8 @@ description: Information related to retail DS games
### Anti-piracy
AP (short for anti-piracy) is a method used by developers to enforce legitimate purchases and prevent piracy. This can be circumvented either from the loader or the ROM itself.
- For nds-bootstrap's purposes, you can load an `.ips` file in order to circumvent said patches. This `.ips` file will be patched inside nds-bootstrap, so you can keep the ROM files intact. A pack of `.ips` files are automatically included with TWiLight Menu++.
- For Wood R4 purposes, these patches are included in the software itself. You will not need to modify the ROM itself.
- For nds-bootstrap's purposes, you can load an `.ips` file in order to circumvent said patches. This `.ips` file will be patched inside nds-bootstrap, so you can keep the ROM files intact. A pack of `.ips` files are automatically included with TWiLight Menu++
- For Wood R4 purposes, these patches are included in the software itself. You will not need to modify the ROM itself
In case there isn't a `.ips` file for your ROM or your software didn't patch your ROM, you can try directly modifying the ROM itself using [nds-scene tool](https://gbatemp.net/download/retrogamefan-nds-rom-tool-v1-0_b1215.35735/)
@ -26,9 +26,9 @@ Nintendo DS cartridges have 4 known save types:
- FRAM - Ferroelectric Random-Access Memory
- NAND - NOT-AND
Though rare, there are DS Cartridges with NAND based saves: WarioWare DIY & Jam with the Band (USA)/Daigasso Band Brothers
Though rare, there are DS Game Cards with NAND based saves: WarioWare DIY & Jam with the Band (USA)/Daigasso Band Brothers.
There are different formats to use depending on the loader, but nds-bootstrap uses the raw `.sav` format. If you use a different format, here is a website you can use to convert it: http://www.shunyweb.info/convert.php
There are different formats to use depending on the loader, but nds-bootstrap uses the raw `.sav` format. If you use a different format, here is a website you can use to convert it: http://www.shunyweb.info/convert.php.
### Assembly
Assembly language is any low-level programming language with a strong connection between the language's instructions and the processor's instructions. On the DS, assembly code comes in the form of either ARM or THUMB instructions, THUMB instructions being a subset of the ARM instructions. THUMB is useful to save memory bandwidth as it uses 16-bit instructions over the regular 32-bit instructions that ARM uses.
@ -37,7 +37,7 @@ You can find more information on assembly instructions, as well as a lot more te
### Card read DMA
Card DMA (stands for Direct Memory Access) is a more efficient way to read cartridge data than by software. When there isn't any data available, code can still execute. In software cartridge data reads, polling the register to see if there is new data wastes times. It is the preferred way of accessing data.
You can spot a game that uses dma via no$gba by enabling the DMA log on ARM9. A DMA access to the card uses AF000001 as the third parameter.
You can spot a game that uses DMA via no$gba by enabling the DMA log on ARM9. A DMA access to the card uses AF000001 as the third parameter.
- For example: `DMA2: 04100010 023C18C0 AF000001`
### Action Replay cheats
@ -49,7 +49,7 @@ Flashcards can take advantage of cheat codes by using cheat databases. Cheat fun
Homebrew/digital-based solutions can also take advantage of the cheat databases, the software currently available can use the following:
- [NitroHax](https://www.chishm.com/NitroHax) (`cheats.xml`)
- NitroHax lets you use cheats with real game cards from a flashcard. The engine used here loads the entire cheats.xml database into the Nintendo DS's limited RAM and tries to manage things from there. This imposes a serious limit on how many cheats you can have, as NitroHax will not load a cheats.xml file past 2.4 MB
- NitroHax lets you use cheats with real Game Cards from a flashcard. The engine used here loads the entire cheats.xml database into the Nintendo DS's limited RAM and tries to manage things from there. This imposes a serious limit on how many cheats you can have, as NitroHax will not load a cheats.xml file past 2.4 MB
- [NitroHax3DS](https://github.com/ahezard/NitroHax3DS/releases) ([usrcheat.dat fork](https://github.com/Epicpkmn11/NitroHax3DS/releases)) (`cheats.xml` or `usrcheat.dat`)
- NitroHax3DS is a version of NitroHax that runs from the system's SD card on DSi or 3DS. The original version uses cheats.xml with the same 2.4 MB limit as the original NitroHax, but there is also a fork that loads cheats from a usrcheat.dat database with no size limitation
- [TWiLight Menu++](https://github.com/DS-Homebrew/TWiLightMenu/releases) (`usrcheat.dat`)
@ -60,9 +60,9 @@ For the most complete cheat database, we recommend using the one made by DeadSku
Cheat codes generally have types 0 through F, and here is an (unfinished) description of them:
- The 0xE code type is a 32-bit code type that allows you to make multiple writes in many consecutive addresses all at once. Essentially, it is like the basic 32-bit RAM write code type (0x0), except this doesn't have addresses listed next the the values you want to write. Instead, the 0xE code type is programmed to automatically branch from a starting address, then determine the addresses to write to. From there, you just have to tack in the amount to write to in order for it to do the job.
It is known that cheat codes of this type usually do not work with nds-bootstrap currently.
- DeadSkullzJr is working on a more comprehensive list of cheat code descriptions, this section will link to that once it is ready.
- The 0xE code type is a 32-bit code type that allows you to make multiple writes in many consecutive addresses all at once. Essentially, it is like the basic 32-bit RAM write code type (0x0), except this doesn't have addresses listed next the the values you want to write. Instead, the 0xE code type is programmed to automatically branch from a starting address, then determine the addresses to write to. From there, you just have to tack in the amount to write to in order for it to do the job
- It is known that cheat codes of this type usually do not work with nds-bootstrap currently
- DeadSkullzJr is working on a more comprehensive list of cheat code descriptions, this section will link to that once it is ready
### Demonstration and Distribution Titles:
@ -72,73 +72,72 @@ Distribution titles are a slightly different situation in most cases, however de
Example ID:
`DIS-NTR-NTRJ-JPN`
`DIS` - Distribution
### Title Labels
Looking at the bottom of the title label shows the title ID along with other bits of information, for this situation we will use the following ID as an example:
NTR-NTRJ-XXX
- NTR-NTRJ-**XXX**
XXX represents the following:
AUS - Australia
CHN - China
DEN - Denmark
EUR - Europe (Miltilingual)
EUU - Europe (Dutch or Italian Only)
FRA - France
GER - Germany
HOL - Netherlands
ITA - Italian
JPN - Japan
KOR - Korea
NOE - Europe (German Only)
NOR - Norway
RUS - Russia
SPA - Spain
UKV - United Kingdom
USA - United States
**XXX** represents the following:
- AUS - Australia
- CHN - China
- DEN - Denmark
- EUR - Europe (Miltilingual)
- EUU - Europe (Dutch or Italian Only)
- FRA - France
- GER - Germany
- HOL - Netherlands -ITA - Italian
- JPN - Japan
- KOR - Korea
- NOE - Europe (German Only)
- NOR - Norway
- RUS - Russia
- SPA - Spain
- UKV - United Kingdom
- USA - United States
The last letter of the title ID itself represents the language of the title, we will use the last example as the title ID:
NTR-NTRX-JPN
- NTR-NTR**X**-JPN
X represents the following:
**X** represents the following:
A - World (doesn't count knowing only one thing used it)
C - Chinese (Simplified)
D - German
E - American English
F - French
G - Greek
H - Dutch
I - Italian
J - Japanese
K - Korean
M - Swedish
N - Norwegian
O - English (DSi Enhanced)
P - European Multilingual
Q - Danish
R - Russian
S - Spanish
T - English (DSi Enhanced)
U - Australian English
V - British English
W - Other languages (Varies)
X - Other languages (Varies)
Y - Other languages (Varies)
Z - Other languages (Varies)
- A - World (doesn't count knowing only one thing used it)
- C - Chinese (Simplified)
- D - German
- E - American English
- F - French
- G - Greek
- H - Dutch
- I - Italian
- J - Japanese
- K - Korean
- M - Swedish
- N - Norwegian
- O - English (DSi Enhanced)
- P - European Multilingual
- Q - Danish
- R - Russian
- S - Spanish
- T - English (DSi Enhanced)
- U - Australian English
- V - British English
- W - Other languages (Varies)
- X - Other languages (Varies)
- Y - Other languages (Varies)
- Z - Other languages (Varies)
In terms of the system identifiers:
NTR - Nintendo DS
TWL - Nintendo DSi
NTR - Nitro
TWL - Twilight
- NTR - Nitro - Nintendo DS
- TWL - Twilight - Nintendo DSi
DSi Enhanced:
Games with the "DSi Enhanced" functionality are present on some NTR based titles, it just means that the titles can take advantage of the DSi system in some way.
Games with the "DSi Enhanced" functionality are present on some NTR based titles, it just means that the titles can take advantage of the DSi system in some way.

View File

@ -9,58 +9,58 @@ description: DS(i) Games that have special properties
### List of DS games available as DSiWare
- Advance Wars: Days of Ruin/Dark Conflict
- DSiWare version exclusive to Japan, as "Famicom Wars DS: Ushinawareta Hikari".
- A patch that changes the Japanese files to the US English versions is available [here](https://www.dropbox.com/s/9spnmwpt3lhrxqv/famicom%20wars%20dsi%20%28eng%29.xdelta?dl=0).
- DSiWare version exclusive to Japan, as "Famicom Wars DS: Ushinawareta Hikari"
- A patch that changes the Japanese files to the US English versions is available [here](https://www.dropbox.com/s/9spnmwpt3lhrxqv/famicom%20wars%20dsi%20%28eng%29.xdelta?dl=0)
- Art Academy
- Split into First & Second Semesters.
- Split into First & Second Semesters
- Bejeweled Twist
- Some features removed.
- Some features removed
- Bomberman 2
- Multiplayer feature turned into a standalone title called "Bomberman Blitz".
- Multiplayer feature turned into a standalone title called "Bomberman Blitz"
- Bookworm
- Download Play feature removed.
- Icon is animated.
- Download Play feature removed
- Icon is animated
- Brain Challenge
- New features related to the DSi camera are added.
- Versus mode is removed.
- Many files are compressed for the game to fit within the DSiWare size limit.
- Icon is animated.
- New features related to the DSi camera are added
- Versus mode is removed
- Many files are compressed for the game to fit within the DSiWare size limit
- Icon is animated
- Electroplankton
- Each mode are turned into DSiWare.
- Each mode are turned into DSiWare
- Elite Forces: Unit 77
- Multiplayer added.
- Multiplayer added
- Master of Illusion/Magic Made Fun
- DSiWare version called "Master of Illusion Express" (USA), or "A Little Bit of... Magic Made Fun" (Europe).
- DSiWare version called "Master of Illusion Express" (USA), or "A Little Bit of... Magic Made Fun" (Europe)
- Need for Speed: Nitro
- DSiWare version called "Need for Speed: Nitro-X".
- Download Play feature and various music are removed.
- New police cars available.
- DSiWare version called "Need for Speed: Nitro-X"
- Download Play feature and various music are removed
- New police cars available
- Nintendogs: Lab & Friends
- DSiWare version exclusive to China.
- DSiWare version exclusive to China
- Phantasy Star 0
- A demo(?) version of the original game, called "Phantasy Star 0 Mini", exclusive to Japan.
- Icon is animated.
- A demo(?) version of the original game, called "Phantasy Star 0 Mini", exclusive to Japan
- Icon is animated
- Planet Puzzle League
- DSiWare version called "Puzzle League Express" (USA), or "A Little Bit of... Puzzle League" (Europe).
- Multiplayer removed.
- DSiWare version called "Puzzle League Express" (USA), or "A Little Bit of... Puzzle League" (Europe)
- Multiplayer removed
- Plants vs. Zombies
- Download Play feature, some achievements, and music video are removed.
- Includes exclusive minigame.
- Icon is animated.
- Download Play feature, some achievements, and music video are removed
- Includes exclusive minigame
- Icon is animated
- Tetris Party Deluxe
- DSiWare version called "Tetris Party Live".
- Field Climber, Shadow, Stage Racer, Sprint, Master Mode, Bombliss Mode are removed.
- Icon is animated.
- DSiWare version called "Tetris Party Live"
- Field Climber, Shadow, Stage Racer, Sprint, Master Mode, Bombliss Mode are removed
- Icon is animated
- True Swing Golf/Nintendo Touch Golf
- DSiWare version called "True Swing Golf Express" (USA), or "A Little Bit of... Nintendo Touch Golf" (Europe).
- The DSiWare version of the game does not include any Wi-Fi features, such as Local/Download Play or the in-game PictoChat function. It also features far less courses than the retail game.
- The game engine is improved.
- Challenge mode replaces Championship Tour of the retail game.
- DSiWare version called "True Swing Golf Express" (USA), or "A Little Bit of... Nintendo Touch Golf" (Europe)
- The DSiWare version of the game does not include any Wi-Fi features, such as Local/Download Play or the in-game PictoChat function. It also features far fewer courses than the retail game
- The game engine is improved
- Challenge mode replaces Championship Tour of the retail game
- WarioWare: Touched!
- Slot-2 features removed.
- Slot-2 features removed
- Zuma's Revenge!
- Multiplayer removed.
- Icon is animated.
- Multiplayer removed
- Icon is animated
Supports WiFi (WPA 1/2 included):
- Bomberman Blitz
@ -309,4 +309,4 @@ Currently, nds-bootstrap does not have Slot-2 emulation. Included are some possi
- Pokémon Diamond/Pearl/Platinum/HeartGold/SoulSilver-> Pokémon Battle Revolution
- Personal Trainer: Walking -> Mii Channel
- Ultimate Band -> Ultimate Band (Wii)
- WarioWare D.I.Y. -> WarioWare D.I.Y. Showcase
- WarioWare D.I.Y. -> WarioWare D.I.Y. Showcase