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
|}
|}