Sign Up
Romhack.me connects you to ROM Hackers around the world.

NDS ROM Header

Here is the format of a typical NDS ROM.

Offset - Length - Description
0x0 - 0xC - ROM Title
0xC - 0x4 - ROM Code
0x10 - 0x2 - Maker Code
0x12 - 0x1 - Device Code
0x13 - 0x1 - Encryption Seed
0x14 - 0x1 - File Length Type
0x15 - 0x9 - Reserved (00 00 00 00 00 00 00 00 00)
0x1E - 0x1 - ROM Version
0x1F - 0x1F - Internal Flags
0x20 - 0x4 - ARM9 Offset
0x24 - 0x4 - ARM9 Entry Address (RAM)
0x28 - 0x4 - ARM9 Load Address (RAM)
0x2C - 0x4 - ARM9 Length
0x30 - 0x4 - ARM7 Offset
0x34 - 0x4 - ARM7 Entry Address (RAM)
0x38 - 0x4 - ARM7 Load Address (RAM)
0x3C - 0x4 - ARM7 Length
0x40 - 0x4 - File Name Table Offset
0x44 - 0x4 - File Name Table Length
0x48 - 0x4 - File Allocation Table Offset
0x4C - 0x4 - File Allocation Table Length
0x50 - 0x4 - ARM9 Overlay Offset
0x54 - 0x4 - ARM9 Overlay Length
0x58 - 0x4 - ARM7 Overlay Offset
0x5C - 0x4 - ARM7 Overlay Length
0x60 - 0x4 - Normal Card Control Register Settings
0x64 - 0x4 - Secure Card Control Register Settings
0x68 - 0x2 - Secure Area CRC16
0x6E - 0x2 - Secure Transfer Timeout
0x70 - 0x4 - ARM9 Autoload Address (RAM)
0x74 - 0x4 - ARM7 Autoload Address (RAM)
0x78 - 0x8 - Secure Disable
0x80 - 0x4 - ROM Length
0x84 - 0x4 - Header Length (0x4000 bytes)
0x88 - 0x38 - Reserved
0xC0 - 0x9C - Nintendo Logo
0x15C - 0x2 - Nintendo Logo CRC16
0x15E - 0x2 - Header CRC16
0x160 - 0x4 - Debug Offset
0x164 - 0x4 - Debug Length
0x168 - 0x4 - Debug Address (RAM)
0x16C - 0x? - Debug Reserved (Length is Debug Length)

I hope you found this useful!

  likes this.