Nintendo DS Cart Whitelist: Difference between revisions

Hallowizer (talk | contribs)
Header Structure: 0x04 is an RSA signature
Hallowizer (talk | contribs)
Basic File Structure: added basic info on NDHX and NDHI
Line 1: Line 1:
The '''Nintendo DS Cart Whitelist''' is a system title (HNHA / 0003000f484e4841) on DSi and 3DS TWL_MODE that contains a list of whitelisted DS carts. Other carts can be loaded if they have a valid RSA signature, which is how newer DS games load on DSi systems.
The '''Nintendo DS Cart Whitelist''' is a system title (HNHA / 0003000f484e4841) on DSi and 3DS TWL_MODE that contains a list of whitelisted DS carts. Other carts can be loaded if they have a valid RSA signature, which is how newer DS games load on DSi systems.


== Basic File Structure ==
== Format ==
The file consists in one header, a list of titles and a footer. Note: this page only covers the initial versions of the whitelist. Later versions also have NDHX and NDHI sections and have footer differences.
Newer versions of the file contain 3 sections: NDHT, NDHX, and NDHI. Older versions only contain NDHT.


=== Header Structure ===
=== Header ===
The header is 136 bytes.
The header is 136 bytes.
{| class="wikitable"
{| class="wikitable"
Line 14: Line 14:
| 0x00
| 0x00
| 4
| 4
| An ID (NDHT)
| Section type (NDHT, NDHX, NDHI)
|-
|-
| 0x04
| 0x04
| 0x80
| 0x80
| RSA signature of the entire NDHT section below this point.
| RSA signature of the entire section below this point.
|-
|-
| 0x84
| 0x84
| 4
| 4
| Number of titles in NDHT section
| Number of entries
|}
|}


=== Title Structure ===
=== NDHT entry ===
A title is 48 bytes.
NDHT entries correspond to titles and are 48 bytes. The NDHT section is always first.
 
{| class="wikitable"
{| class="wikitable"
|- style="background-color: #ddd;"
|- style="background-color: #ddd;"
Line 50: Line 51:
|}
|}


=== Footer Structure ===
=== NDHT footer ===
The footer is 24 bytes.
The NDHT footer is 24 bytes.
{| class="wikitable"
{| class="wikitable"
|- style="background-color: #ddd;"
|- style="background-color: #ddd;"
Line 60: Line 61:
| 0x00
| 0x00
| 24
| 24
| Unknown
|}
=== NDHX entry ===
{| class="wikitable"
|- style="background-color: #ddd;"
! Start
! Length
! Description
|-
| 0x00
| 0x1c
| Unknown
|}
=== NDHI entry ===
{| class="wikitable"
|- style="background-color: #ddd;"
! Start
! Length
! Description
|-
| 0x00
| 0x5c
| Unknown
| Unknown
|}
|}