Changes

264 bytes added ,  17:51, 5 January 2017
no edit summary
Line 26: Line 26:  
|-
 
|-
 
| style="background: green" | Yes
 
| style="background: green" | Yes
| CFG_DEBUGUNIT
+
| 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_CARDCONF|CFG_CARDCONF]]
+
| [[#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
  −
| ?
  −
| 0x10000011
  −
| 1
  −
|
   
|-
 
|-
 
| 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.
  −
It is not possible to set any other bits.
      
== CFG_SYSPROT11 ==  
 
== CFG_SYSPROT11 ==  
Line 169: Line 161:  
|}
 
|}
   −
== CFG_CARDCONF ==
+
== 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=CTRCARD1, 3=CTRCARD2)
+
| ?
 +
|
 +
|-
 +
| 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 CTRCARD1 will activate the register space at [[CTRCARD|0x10004000]].
+
* Selecting CTRCARD0 will activate the register space at [[CTRCARD|0x10004000]].
* Selecting CTRCARD2 will activate the register space at [[CTRCARD|0x10005000]].
+
* Selecting CTRCARD1 will activate the register space at [[CTRCARD|0x10005000]].
   −
== 0x10000010 ==
+
== CFG_CARDSTATUS ==
When a gamecard isn't inserted, this register value is 0x01.
+
{| 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. Only bit0 is writable: 0 = disable New3DS ARM9 memory at 0x08100000 size 0x80000, 1 = enable.
+
This register is New3DS-only.
   −
This bit is set by New3DS ARM9-kernel crt0.
+
{| class="wikitable" border="1"
 
+
!  Bit
The data in this extended memory doesn't change when disabling the memory, then re-enabling the memory. Reading this extended memory while disabled results in zeros.
+
!  Description
 +
!  Used by
 +
|-
 +
| 0
 +
| Hide extended ARM9 memory (0=hidden, 1=shown)
 +
| Kernel9 (New3DS)
 +
|-
 +
| 31-1
 +
| Reserved
 +
|
 +
|}
    
== CFG_MPCORECFG ==
 
== CFG_MPCORECFG ==