CONFIG9 Registers: Difference between revisions
No edit summary |
|||
Line 26: | Line 26: | ||
|- | |- | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| | | CFG_DEBUGCTL | ||
| 0x10000004 | | 0x10000004 | ||
| 4 | | 4 | ||
Line 35: | Line 35: | ||
| 0x10000008 | | 0x10000008 | ||
| 1 | | 1 | ||
| TwlProcess9 | | Boot9, Process9, TwlProcess9 | ||
|- | |- | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| [[# | | [[#CFG_CARDCTL|CFG_CARDCTL]] | ||
| 0x1000000C | | 0x1000000C | ||
| 2 | | 2 | ||
| | | Process9 | ||
|- | |- | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| | | [[#CFG_CARDSTATUS|CFG_CARDSTATUS]] | ||
| 0x10000010 | | 0x10000010 | ||
| 1 | | 1 | ||
| | | Process9 | ||
|- | |- | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| | | CFG_CARDCYCLES0 | ||
| 0x10000012 | | 0x10000012 | ||
| 2 | | 2 | ||
| | | Boot9, Process9 | ||
|- | |- | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| | | CFG_CARDCYCLES1 | ||
| 0x10000014 | | 0x10000014 | ||
| 2 | | 2 | ||
| | | Boot9, Process9 | ||
|- | |- | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
Line 134: | Line 128: | ||
On New 3DS, the above is instead done by the [[FIRM#New_3DS_FIRM|Kernel9 loader]]. In addition to using the OTP data for initializing the TWL console-unique keys, the Kernel9 loader will generate the decryption key for NATIVE_FIRM. The final keyslot for NATIVE_FIRM is preserved, so that at a non-reset FIRM launch, the keyslot can be reused, since the OTP would then be inaccessible. | On New 3DS, the above is instead done by the [[FIRM#New_3DS_FIRM|Kernel9 loader]]. In addition to using the OTP data for initializing the TWL console-unique keys, the Kernel9 loader will generate the decryption key for NATIVE_FIRM. The final keyslot for NATIVE_FIRM is preserved, so that at a non-reset FIRM launch, the keyslot can be reused, since the OTP would then be inaccessible. | ||
== CFG_SYSPROT11 == | == CFG_SYSPROT11 == | ||
Line 169: | Line 161: | ||
|} | |} | ||
== | == 0x10000008 == | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
! Bit | ! Bit | ||
! Description | ! Description | ||
! Used by | |||
|- | |- | ||
| 1-0 | | 1-0 | ||
| Gamecard active controller select (0=NTRCARD, 1=?, 2= | | ? | ||
| | |||
|- | |||
| 3-2 | |||
| AES related? Value 3 written after write to AES_CTL. | |||
| Boot9, Process9, TwlProcess9 | |||
|- | |||
| 31-4 | |||
| Reserved | |||
| | |||
|} | |||
== CFG_CARDCTL == | |||
{| class="wikitable" border="1" | |||
! Bit | |||
! Description | |||
! Used by | |||
|- | |||
| 1-0 | |||
| Gamecard active controller select (0=NTRCARD, 1=?, 2=CTRCARD0, 3=CTRCARD1) | |||
| Process9 | |||
|- | |- | ||
| 8 | | 8 | ||
| ? | | Enable gamecard eject IRQ, maybe? | ||
| Process9 | |||
|} | |} | ||
Depending on the gamecard controller that has been selected, one of the following gamecard registers will become active: | Depending on the gamecard controller that has been selected, one of the following gamecard registers will become active: | ||
* Selecting NTRCARD will activate the register space at [[NTRCARD|0x10164000]]. | * Selecting NTRCARD will activate the register space at [[NTRCARD|0x10164000]]. | ||
* Selecting | * Selecting CTRCARD0 will activate the register space at [[CTRCARD|0x10004000]]. | ||
* Selecting | * Selecting CTRCARD1 will activate the register space at [[CTRCARD|0x10005000]]. | ||
== | == CFG_CARDSTATUS == | ||
{| class="wikitable" border="1" | |||
! Bit | |||
! Description | |||
! Used by | |||
|- | |||
| 0 | |||
| Cartridge-slot empty (0=inserted, 1=empty) | |||
| Process9 | |||
|- | |||
| 3-2 | |||
| ? | |||
| Process9 | |||
|} | |||
== CFG_EXTMEMCNT9 == | == CFG_EXTMEMCNT9 == | ||
This register is New3DS-only | This register is New3DS-only. | ||
{| class="wikitable" border="1" | |||
! Bit | |||
! Description | |||
! Used by | |||
|- | |||
| 0 | |||
| Hide extended ARM9 memory (0=hidden, 1=shown) | |||
| Kernel9 (New3DS) | |||
|- | |||
| 31-1 | |||
| Reserved | |||
| | |||
|} | |||
== CFG_MPCORECFG == | == CFG_MPCORECFG == |