Stage1
Revision as of 23:20, 13 October 2022 by Hallowizer (talk | contribs) (Hallowizer moved page Boot0 to Stage1: commonly used name)
The first stage of the DSi's bootloader lives in ROM, presumably on the CPU die. It loads further encrypted+signed stages from NAND flash, starting with a plaintext offset table in the sector at offset 0x200.
Not much is known about this bootloader yet, but it presumably knows how to:
- Initialize the encryption hardware
- Read the contents of NVRAM
- Initialize both LCDs
- Read blocks (but not files) from the NAND flash
- Perform some variety of integrity check on all data it reads (signature, CRC, ?)
- Display basic hexadecimal error codes
- Possibly factory-programming the NAND flash?
- Might also do basic power-on self test of peripherals
Known error codes:
Error Code | Description |
---|---|
0000FE00 | Error communicating with NAND chip. (It's missing, CLK is shorted, etc.) |
0000FEFC | Integrity error in first block of Stage 2 (address at 0x220) |
0000FEFD | Integrity error in second block of Stage 2 (address at 0x230) |
0000FEFE | Boot sector integrity error (Sector 0x200 not valid), or error in NVRAM contents. |