Very simply, the DSi's stage2 is what loads and verifies the DSi home menu. DSiBrew explains it in depth: https://dsibrew.org/wiki/Stage2
These are the typical stage2s that behave like DSiBrew mentions:
Version | Works | Displays error | Unlaunch | Source | Hash (SHA1) |
---|---|---|---|---|---|
v2725-9336 (dev) | Yes | Yes | Yes | TwlIPL | A28B2CDC58613E47ACE482DC127255ED447A7B1D |
v2665-9336 (prod) | Yes | Yes | Yes | TwlIPL | 386389789BDBDFC216B0F245416F6E0F825D49B6 |
v2435-8325 (dev) | Yes | Yes | Yes | All release dev DSis | 894D75C09DFD481676C8E93FB33D4D5D61C5EA45 |
v2435-8325 (prod) | Yes | Yes | Yes | All release prod DSis | 447348EC5090125E33205EF2EBE600173760DCD6 |
v2262-8067 (dev) | Yes | No | No | PRE_IMPORT (factory firmware) | C2281409BB22F212D4CE2583DB92F38138D0AD50 |
v2262-8067 (prod) | Yes | No | No | PRE_IMPORT (factory firmware) | 3D832FB846F0D1B5CA7BE0F75FED3E8AA8E8EFBF |
v1935-7470 (dev) | Yes | Yes | No | TwlIPL | C88D8C7179A23E10E4FD1FC762E11C4D900F6EC5 |
v1935-7470 (prod) | Yes | Yes | No | TwlIPL | D18F3609FFAA35FBA0E7F7A8ED6ECB38B9205A35 |
vNONE-NONE (dev) | No | X4 prototype DSi | 9A1334CC96339FEAABC0682104E12BD46AB650A1 | vNONE-NONE (prod) | Yes | No | No | X6 prototype DSi | 967B1288F4C2D1EAAB2693E17DA7B9A5E551B1A3 | vNONE-NONE (dev) | Yes | No | No | TwlIPL | F4B8ADC6EE3A982BF0FD68C1105CE2376E91D429 | vNONE-NONE (dev) | No | No | Unknown | 0AB3F139AFA960983374A96EEC2FA00361BE1BF1 |
These are stage2s for the 3DS NATIVE_FIRM like shown on 3DBrew https://www.3dbrew.org/wiki/Memory_layout. Since these were designed for a 3DS, they will not boot a DSi. I have not done any testing yet.
Version | Works | Displays error | Unlaunch | Source | Hash (SHA1) |
---|---|---|---|---|---|
v2968-11370 (3DS) | N/A | N/A | Unknown | 1C4922786D7023E7CE5D8CD3E1D51F16345391D5 | |
v2869-10333 (3DS) | N/A | N/A | TwlIPL | 25D9C63740CF8ADE37B465F42B33350F5A115D20 |
This stage2- officially called "SDMC Launcher"- is designed to boot an SRL off of the root of the SD card. The SRL must be signed for the target console. SDMC Launcher's source code can be found at TwlIPL/trunk/build/nandfirm/sdmc-launcher
Version | Works | Displays error | Unlaunch | Source | Hash (SHA1) |
---|---|---|---|---|---|
2008/08/21 13:42:55 (dev) | Yes | N/A | N/A | TWL EVA | 6DE9FD40F11332417E302C048A82219B743EF03C |
2008/08/21 14:02:58 (prod) | Yes | N/A | N/A | TWL EVA | 1BA5D916898FEDCD4A166426DE5AC3B0059AF3DB |
This is a very different stage2. It is only made to print the boot time as a test. This is the source code ( source source)
void TwlMain( void )
{
OS_TPrintf( "\nNOR Boot time is %d msec.\n",
OS_TicksToMilliSecondsBROM32(OS_GetTick()));
OS_InitFIRM();
OS_TPrintf( "\nARM9 starts.\n" );
OS_TPrintf( "\nARM9 ends.\n" );
OS_Terminate();
}
Version | Works | Displays error | Unlaunch | Source | Hash (SHA1) |
---|---|---|---|---|---|
N/A | No | N/A | N/A | TwlIPL | CBD829032CEB6C3B387A102D426A4AEDA89255A3 |