Line 84:
Line 84:
! Description
! Description
|-
|-
−
| 0 (Wii bank) || 0x000 (0x00 * 4) || 0x14 bytes || Wii boot1 SHA-1 hash.
+
| 0 (Wii bank) || 0x000 (0x00 * 4) || 0x14 bytes || Wii boot1 SHA-1 hash
|-
|-
−
| 0 (Wii bank) || 0x014 (0x05 * 4) || 0x10 bytes || Wii common key.
+
| 0 (Wii bank) || 0x014 (0x05 * 4) || 0x10 bytes || Wii common key
|-
|-
−
| 0 (Wii bank) || 0x024 (0x09 * 4) || 0x04 bytes || Wii NG ID.
+
| 0 (Wii bank) || 0x024 (0x09 * 4) || 0x04 bytes || Wii NG ID
|-
|-
−
| 0 (Wii bank) || 0x028 (0x0A * 4) || 0x1D bytes || Wii NG private key.
+
| 0 (Wii bank) || 0x028 (0x0A * 4) || 0x1C bytes || Wii NG private key
|-
|-
−
| 0 (Wii bank) || 0x044 (0x11 * 4) || 0x14 bytes || Wii NAND HMAC (overlaps with NG private key).
+
| 0 (Wii bank) || 0x044 (0x11 * 4) || 0x14 bytes || Wii NAND HMAC (overlaps with NG private key)
|-
|-
−
| 0 (Wii bank) || 0x058 (0x16 * 4) || 0x10 bytes || Wii NAND key.
+
| 0 (Wii bank) || 0x058 (0x16 * 4) || 0x10 bytes || Wii NAND key
|-
|-
−
| 0 (Wii bank) || 0x068 (0x1A * 4) || 0x10 bytes || Wii RNG key.
+
| 0 (Wii bank) || 0x068 (0x1A * 4) || 0x10 bytes || Wii RNG key
|-
|-
−
| 0 (Wii bank) || 0x078 (0x1E * 4) || 0x08 bytes || Unknown.
+
| 0 (Wii bank) || 0x078 (0x1E * 4) || 0x08 bytes || Unknown (padding)
|-
|-
−
| 1 (Wii U bank) || 0x080 (0x20 * 4) || 0x04 bytes || Security level flag.
+
| 1 (Wii U bank) || 0x080 (0x20 * 4) || 0x04 bytes || Security level flag
−
Retail: 0x90000000; Debug: 0x88000000; Factory: 0x00000000.
+
Retail: 0x90000000; Debug: 0x88000000; Factory: 0x00000000
Flag 0x40000000 causes an error in boot0.
Flag 0x40000000 causes an error in boot0.
Flag 0x80000000 means the console type has been programmed.
Flag 0x80000000 means the console type has been programmed.
Line 109:
Line 109:
If both retail and debug flags are set, boot0 will throw an error.
If both retail and debug flags are set, boot0 will throw an error.
|-
|-
−
| 1 (Wii U bank) || 0x084 (0x21 * 4) || 0x04 bytes || Some flag for IOStrength configurations.
+
| 1 (Wii U bank) || 0x084 (0x21 * 4) || 0x04 bytes || IOStrength configuration flags
−
Flag 0x00008000 sets register 0x0D8001E0.
+
Flag 0x00008000 sets register LT_IOSTRENGTH_CTRL0.
−
Flags 0x00000008, 0x00000080, 0x00000800, 0x00002000 set register 0x0D8001E4.
+
Flags 0x00000008, 0x00000080, 0x00000800, 0x00002000 set register LT_IOSTRENGTH_CTRL1.
Should be 0x00000000 in retail units.
Should be 0x00000000 in retail units.
|-
|-
−
| 1 (Wii U bank) || 0x088 (0x22 * 4) || 0x04 bytes || Pulse length for SEEPROM manual CLK.
+
| 1 (Wii U bank) || 0x088 (0x22 * 4) || 0x04 bytes || Pulse length for SEEPROM manual CLK
Should be 0x00000000 in retail units (defaults to 0xFA in boot0).
Should be 0x00000000 in retail units (defaults to 0xFA in boot0).
|-
|-
−
| 1 (Wii U bank) || 0x08C (0x23 * 4) || 0x04 bytes || Unknown (0x00010000).
+
| 1 (Wii U bank) || 0x08C (0x23 * 4) || 0x04 bytes || Unknown (0x00010000)
|-
|-
−
| 1 (Wii U bank) || 0x090 (0x24 * 4) || 0x10 bytes || Wii U Starbuck ancast key.
+
| 1 (Wii U bank) || 0x090 (0x24 * 4) || 0x10 bytes || Wii U Starbuck ancast key
|-
|-
−
| 1 (Wii U bank) || 0x0A0 (0x28 * 4) || 0x10 bytes || Wii U SEEPROM key.
+
| 1 (Wii U bank) || 0x0A0 (0x28 * 4) || 0x10 bytes || Wii U SEEPROM key
|-
|-
−
| 1 (Wii U bank) || 0x0B0 (0x2C * 4) || 0x10 bytes || Unknown.
+
| 1 (Wii U bank) || 0x0B0 (0x2C * 4) || 0x10 bytes || Unknown (unused)
|-
|-
−
| 1 (Wii U bank) || 0x0C0 (0x30 * 4) || 0x10 bytes || Unknown.
+
| 1 (Wii U bank) || 0x0C0 (0x30 * 4) || 0x10 bytes || Unknown (unused)
|-
|-
−
| 1 (Wii U bank) || 0x0D0 (0x34 * 4) || 0x10 bytes || vWii common key.
+
| 1 (Wii U bank) || 0x0D0 (0x34 * 4) || 0x10 bytes || vWii common key
|-
|-
−
| 1 (Wii U bank) || 0x0E0 (0x38 * 4) || 0x10 bytes || Wii U common key.
+
| 1 (Wii U bank) || 0x0E0 (0x38 * 4) || 0x10 bytes || Wii U common key
|-
|-
−
| 1 (Wii U bank) || 0x0F0 (0x3C * 4) || 0x10 bytes || Unknown.
+
| 1 (Wii U bank) || 0x0F0 (0x3C * 4) || 0x10 bytes || Unknown (unused)
|-
|-
−
| 2 (Wii U bank) || 0x100 (0x40 * 4) || 0x10 bytes || Unknown.
+
| 2 (Wii U bank) || 0x100 (0x40 * 4) || 0x10 bytes || Unknown (unused)
|-
|-
−
| 2 (Wii U bank) || 0x110 (0x44 * 4) || 0x10 bytes || Unknown.
+
| 2 (Wii U bank) || 0x110 (0x44 * 4) || 0x10 bytes || Unknown (unused)
|-
|-
−
| 2 (Wii U bank) || 0x120 (0x48 * 4) || 0x10 bytes || Key to encrypt/decrypt SSL RSA key.
+
| 2 (Wii U bank) || 0x120 (0x48 * 4) || 0x10 bytes || Key to encrypt/decrypt SSL RSA key
|-
|-
−
| 2 (Wii U bank) || 0x130 (0x4C * 4) || 0x10 bytes || Key to encrypt seeds for USB storage keys.
+
| 2 (Wii U bank) || 0x130 (0x4C * 4) || 0x10 bytes || Key to encrypt/decrypt seeds for USB storage keys
|-
|-
−
| 2 (Wii U bank) || 0x140 (0x50 * 4) || 0x10 bytes || Unknown.
+
| 2 (Wii U bank) || 0x140 (0x50 * 4) || 0x10 bytes || Unknown
|-
|-
−
| 2 (Wii U bank) || 0x150 (0x54 * 4) || 0x10 bytes || Wii U XOR key.
+
| 2 (Wii U bank) || 0x150 (0x54 * 4) || 0x10 bytes || Wii U XOR key
|-
|-
−
| 2 (Wii U bank) || 0x160 (0x58 * 4) || 0x10 bytes || Wii U RNG key.
+
| 2 (Wii U bank) || 0x160 (0x58 * 4) || 0x10 bytes || Wii U RNG key
|-
|-
−
| 2 (Wii U bank) || 0x170 (0x5C * 4) || 0x10 bytes || Wii U SLC (NAND) key.
+
| 2 (Wii U bank) || 0x170 (0x5C * 4) || 0x10 bytes || Wii U SLC (NAND) key
|-
|-
−
| 3 (Wii U bank) || 0x180 (0x60 * 4) || 0x10 bytes || Wii U MLC (eMMC) key.
+
| 3 (Wii U bank) || 0x180 (0x60 * 4) || 0x10 bytes || Wii U MLC (eMMC) key
|-
|-
−
| 3 (Wii U bank) || 0x190 (0x64 * 4) || 0x10 bytes || Key to decrypt SEEPROM devkit key.
+
| 3 (Wii U bank) || 0x190 (0x64 * 4) || 0x10 bytes || Key to encrypt/decrypt SHDD key
|-
|-
−
| 3 (Wii U bank) || 0x1A0 (0x68 * 4) || 0x10 bytes || Key to encrypt DRH WLAN data.
+
| 3 (Wii U bank) || 0x1A0 (0x68 * 4) || 0x10 bytes || Key to encrypt/decrypt DRH WLAN data
|-
|-
−
| 3 (Wii U bank) || 0x1B0 (0x6C * 4) || 0x30 bytes || Unknown.
+
| 3 (Wii U bank) || 0x1B0 (0x6C * 4) || 0x30 bytes || Unknown (unused)
|-
|-
−
| 3 (Wii U bank) || 0x1E0 (0x78 * 4) || 0x14 bytes || Wii U SLC (NAND) HMAC.
+
| 3 (Wii U bank) || 0x1E0 (0x78 * 4) || 0x14 bytes || Wii U SLC (NAND) HMAC
|-
|-
−
| 3 (Wii U bank) || 0x1F4 (0x7D * 4) || 0x0C bytes || Unknown.
+
| 3 (Wii U bank) || 0x1F4 (0x7D * 4) || 0x0C bytes || Unknown (padding)
|-
|-
−
| 4 (Wii U bank) || 0x200 (0x80 * 4) || 0x10 bytes || Unknown.
+
| 4 (Wii U NG bank) || 0x200 (0x80 * 4) || 0x10 bytes || Unknown (unused)
|-
|-
−
| 4 (Wii U bank) || 0x210 (0x84 * 4) || 0x0C bytes || Unknown
+
| 4 (Wii U NG bank) || 0x210 (0x84 * 4) || 0x0C bytes || Unknown (unused)
|-
|-
−
| 4 (Wii U bank) || 0x21C (0x87 * 4) || 0x04 bytes || The USB key seed in SEEPROM must start with this u32.
+
| 4 (Wii U NG bank) || 0x21C (0x87 * 4) || 0x04 bytes || Wii U NG ID
|-
|-
−
| 4 (Wii U bank) || 0x220 (0x88 * 4) || 0x20 bytes || vWii NG private key?
+
| 4 (Wii U NG bank) || 0x220 (0x88 * 4) || 0x20 bytes || Wii U NG private key
+
Only 0x1E bytes are used.
|-
|-
−
| 4 (Wii U bank) || 0x240 (0x90 * 4) || 0x20 bytes || Unknown.
+
| 4 (Wii U NG bank) || 0x240 (0x90 * 4) || 0x20 bytes || Wii U private key for NSS device certificate
+
Only 0x1E bytes are used.
|-
|-
−
| 4 (Wii U bank) || 0x260 (0x98 * 4) || 0x10 bytes || Wii U RNG seed (only the first 0x04 bytes are used).
+
| 4 (Wii U NG bank) || 0x260 (0x98 * 4) || 0x10 bytes || Wii U OTP RNG seed
+
Only the first 0x04 bytes are used.
|-
|-
−
| 4 (Wii U bank) || 0x270 (0x9C * 4) || 0x10 bytes || Unknown.
+
| 4 (Wii U NG bank) || 0x270 (0x9C * 4) || 0x10 bytes || Unknown (unused)
|-
|-
−
| 5 (Wii U bank) || 0x280 (0xA0 * 4) || 0x04 bytes || Wii U/vWii Root-CA version (0x00000012)?
+
| 5 (Wii U certificate bank) || 0x280 (0xA0 * 4) || 0x04 bytes || Wii U root certificate MS ID
+
Always 0x00000012.
|-
|-
−
| 5 (Wii U bank) || 0x284 (0xA1 * 4) || 0x04 bytes || Wii U/vWii Root-CA MS (0x00000003)?
+
| 5 (Wii U certificate bank) || 0x284 (0xA1 * 4) || 0x04 bytes || Wii U root certificate CA ID
+
Always 0x00000003.
|-
|-
−
| 5 (Wii U bank) || 0x288 (0xA2 * 4) || 0x04 bytes || Unknown.
+
| 5 (Wii U certificate bank) || 0x288 (0xA2 * 4) || 0x04 bytes || Wii U root certificate NG key ID
|-
|-
−
| 5 (Wii U bank) || 0x28C (0xA3 * 4) || 0x40 bytes || Wii U/vWii Root-CA signature?
+
| 5 (Wii U certificate bank) || 0x28C (0xA3 * 4) || 0x3C bytes || Wii U root certificate NG signature
|-
|-
−
| 5 (Wii U bank) || 0x2CC (0xB3 * 4) || 0x14 bytes || Unknown.
+
| 5 (Wii U certificate bank) || 0x2C8 (0xB2 * 4) || 0x18 bytes || Unknown (unused)
|-
|-
−
| 5 (Wii U bank) || 0x2E0 (0xB8 * 4) || 0x20 bytes || Unknown (locked out by boot1).
+
| 5 (Wii U certificate bank) || 0x2E0 (0xB8 * 4) || 0x20 bytes || Unknown (locked out by boot1)
|-
|-
−
| 6 (Wii SEEPROM bank) || 0x300 (0xC0 * 4) || 0x60 bytes || Old Wii SEEPROM certificate data.
+
| 6 (Wii certificate bank) || 0x300 (0xC0 * 4) || 0x04 bytes || Wii root certificate MS ID
+
Always 0x00000002.
|-
|-
−
| 6 (Wii SEEPROM bank) || 0x360 (0xD8 * 4) || 0x20 bytes || Old Wii SEEPROM signature?
+
| 6 (Wii certificate bank) || 0x304 (0xC1 * 4) || 0x04 bytes || Wii root certificate CA ID
+
Always 0x00000001
|-
|-
−
| 7 (Misc bank) || 0x380 (0xE0 * 4) || 0x20 bytes || Unknown (locked out by boot1).
+
| 6 (Wii certificate bank) || 0x308 (0xC2 * 4) || 0x04 bytes || Wii root certificate NG key ID
|-
|-
−
| 7 (Misc bank) || 0x3A0 (0xE8 * 4) || 0x10 bytes || boot1 key (locked out by boot0).
+
| 6 (Wii certificate bank) || 0x30C (0xC3 * 4) || 0x3C bytes || Wii root certificate NG signature
|-
|-
−
| 7 (Misc bank) || 0x3B0 (0xEC * 4) || 0x10 bytes || Unknown (locked out by boot0, not used).
+
| 6 (Wii certificate bank) || 0x348 (0xD2 * 4) || 0x10 bytes || Wii Korean key
|-
|-
−
| 7 (Misc bank) || 0x3C0 (0xF0 * 4) || 0x20 bytes || Empty.
+
| 6 (Wii certificate bank) || 0x358 (0xD6 * 4) || 0x08 bytes || Unknown (unused)
|-
|-
−
| 7 (Misc bank) || 0x3E0 (0xF8 * 4) || 0x10 bytes || Unknown.
+
| 6 (Wii certificate bank) || 0x360 (0xD8 * 4) || 0x20 bytes || Wii private key for NSS device certificate
+
Only 0x1E bytes are used.
|-
|-
−
| 7 (Misc bank) || 0x3F0 (0xFC * 4) || 0x0C bytes || ASCII tag (unknown meaning).
+
| 7 (Misc bank) || 0x380 (0xE0 * 4) || 0x20 bytes || Unknown (locked out by boot1)
|-
|-
−
| 7 (Misc bank) || 0x3FC (0xFF * 4) || 0x04 bytes || JTAG status.
+
| 7 (Misc bank) || 0x3A0 (0xE8 * 4) || 0x10 bytes || boot1 key (locked out by boot0)
+
|-
+
| 7 (Misc bank) || 0x3B0 (0xEC * 4) || 0x10 bytes || Unknown (locked out by boot0, unused)
+
|-
+
| 7 (Misc bank) || 0x3C0 (0xF0 * 4) || 0x20 bytes || Empty
+
|-
+
| 7 (Misc bank) || 0x3E0 (0xF8 * 4) || 0x04 bytes || Empty
+
|-
+
| 7 (Misc bank) || 0x3E4 (0xF9 * 4) || 0x04 bytes || OTP version and revision
+
|-
+
| 7 (Misc bank) || 0x3E8 (0xFA * 4) || 0x08 bytes || OTP date code
+
|-
+
| 7 (Misc bank) || 0x3F0 (0xFC * 4) || 0x08 bytes || OTP version name string
+
|-
+
| 7 (Misc bank) || 0x3F8 (0xFE * 4) || 0x04 bytes || Empty
+
|-
+
| 7 (Misc bank) || 0x3FC (0xFF * 4) || 0x04 bytes || JTAG status
Set to 0xE1 in retail.
Set to 0xE1 in retail.
If bit 0x80 is set, JTAG is disabled.
If bit 0x80 is set, JTAG is disabled.
|-
|-
|}
|}