Changes

Jump to navigation Jump to search
872 bytes added ,  23:07, 29 March 2015
Line 150: Line 150:  
===New3DS ARM9 kernel===
 
===New3DS ARM9 kernel===
 
The only actual code-difference for the Old3DS/New3DS ARM9-kernels' crt0, besides TWL AES / [[IO_Registers|0x10012000]] related code, is that the New3DS ARM9-kernel writes 0x1 to [[CONFIG_Registers|REG_EXTMEMCNT9]] in the crt0.
 
The only actual code-difference for the Old3DS/New3DS ARM9-kernels' crt0, besides TWL AES / [[IO_Registers|0x10012000]] related code, is that the New3DS ARM9-kernel writes 0x1 to [[CONFIG_Registers|REG_EXTMEMCNT9]] in the crt0.
 +
 +
===New3DS Process9===
 +
The following is all of the differences for Old3DS/New3DS Process9 with [[9.3.0-21|9.3.0-X]]:
 +
* The FIRM-launch code called at the end of the New3DS proc9 main() has different mem-range checks.
 +
* In the New3DS proc9, the v6.0/v7.0 keyinit function at the very beginning(before the original code) had additional code added for setting [[Flash_Filesystem|CTRNAND]] [[AES_Registers|keyslot]] 0x5, with keydata from .(ro)data.
 +
* In New3DS proc9, the functions for getting the gamecard crypto keyslots / NCCH keyslot can return New3DS keyslots when New3DS flags(NCSD/NCCH) are set.
 +
* The code/data for the binary near the end of arm9mem is slightly different, because of memory-region sizes.
 +
* The only difference in .(ro)data(besides the above code binary) is that the New3DS proc9 has an additional 0x10-byte block for the keyslot 0x5 keyY, see above.
    
== NATIVE_FIRM and SAFE_MODE_FIRM ==
 
== NATIVE_FIRM and SAFE_MODE_FIRM ==

Navigation menu