Difference between revisions of "DSi cartridge header"

From DSiBrew
Jump to navigation Jump to search
Line 131: Line 131:
 
|  0x300
 
|  0x300
 
|  20
 
|  20
|  ARM9 hash
+
|  ARM9 (with encrypted secure area) SHA1 HMAC hash
 
|-
 
|-
 
|  0x314
 
|  0x314
 
|  20
 
|  20
|  ARM7 hash
+
|  ARM7 SHA1 HMAC hash
 
|-
 
|-
0x328
+
...
 +
|  ...
 +
|  ...
 +
|-
 +
|  0x350
 
|  20
 
|  20
|  ARM9i hash
+
|  ARM9i (decrypted) SHA1 HMAC hash
 
|-
 
|-
0x33C
+
0x364
 
|  20
 
|  20
|  ARM7i hash
+
|  ARM7i (decrypted) SHA1 HMAC hash
 
|-
 
|-
 
|  ...
 
|  ...
Line 151: Line 155:
 
|  0xE00
 
|  0xE00
 
|  0x180
 
|  0x180
|  Reserved and unchecked region, always zero
+
|  Reserved and unchecked region, always zero. Used for passing arguments in debug environment.
 
|-
 
|-
 
|  0xF80
 
|  0xF80

Revision as of 01:17, 8 December 2009

OFFSET SIZE DESCRIPTION
0x000 12 Game Title
0x00C 4 Gamecode
0x010 2 Makercode
0x012 1 Unitcode
0x013 1 Encryption seed select
0x014 1 Devicecapacity
0x015 9 Reserved
0x01E 1 ROM Version
0x01F 1 Autostart
0x020 4 ARM9 rom offset
0x024 4 ARM9 entry address
0x028 4 ARM9 load address
0x02C 4 ARM9 size
0x030 4 ARM7 rom offset
0x034 4 ARM7 entry address
0x038 4 ARM7 load address
0x03C 4 ARM7 size
... ... Fill me in
0x1B8 4 ARM7 SCFG EXT mask (controls which devices to enable)
0x1BC 4 ...
0x1C0 4 ARM9i rom offset
0x1C4 4 ?
0x1C8 4 ARM9i load address
0x1CC 4 ARM9i size
0x1D0 4 ARM7i rom offset
0x1D4 4 ?
0x1D8 4 ARM7i load address
0x1DC 4 ARM7i size
... ... ...
0x230 8 Title ID
... ... ...
0x300 20 ARM9 (with encrypted secure area) SHA1 HMAC hash
0x314 20 ARM7 SHA1 HMAC hash
... ... ...
0x350 20 ARM9i (decrypted) SHA1 HMAC hash
0x364 20 ARM7i (decrypted) SHA1 HMAC hash
... ... ...
0xE00 0x180 Reserved and unchecked region, always zero. Used for passing arguments in debug environment.
0xF80 0x80 RSA signature

The first 0xE00 bytes of the SRL header is signed with an 1024-bit RSA signature.