Difference between revisions of "CONFIG9 Registers"

From 3dbrew
Jump to navigation Jump to search
Line 56: Line 56:
  
 
== 0x10010000 ==
 
== 0x10010000 ==
NATIVE_FIRM writes value 1 here when a FIRM launch begins.
+
Initially this is value zero. NATIVE_FIRM writes value 1 here when a FIRM launch begins. The [[Legacy_FIRM_PXI|LGY]] FIRM writes value 3 here when handling PXI command 0x00020080(first TWL PXI command), it also writes value 7 here when handling PXI command 0x00030080(first AGB PXI command). This register can be read to determine what "mode" the system is running under: hard-boot, FIRM launch, or TWL/AGB FIRM.
  
 
== REG_UNITINFO ==
 
== REG_UNITINFO ==
 
This 8-bit register is value zero for retail, non-zero for dev/debug units.
 
This 8-bit register is value zero for retail, non-zero for dev/debug units.

Revision as of 08:54, 15 February 2014

Registers

NAME PHYSICAL ADDRESS WIDTH
? 0x10000000 1
? 0x10000001 1
? 0x10000004 4
REG_CARDCONF 0x1000000C 2
? 0x10000010 1
? 0x10010000 4
REG_UNITINFO 0x10010010 1


REG_CARDCONF

Bit Description
1-0 Gamecard active controller select (0=NTRCARD, 1=?, 2=CTRCARD1, 3=CTRCARD2)
8 ?

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 0x10164000.
  • Selecting CTRCARD1 will activate the register space at 0x10004000.
  • Selecting CTRCARD2 will activate the register space at 0x10005000.

Hidden bootrom off-switch

ARM9 bootrom 0xFFFF8000+ is disabled by writing 1 to (u8*)0x10000000 and 1 to (u8*)0x10000001?

0x10010000

Initially this is value zero. NATIVE_FIRM writes value 1 here when a FIRM launch begins. The LGY FIRM writes value 3 here when handling PXI command 0x00020080(first TWL PXI command), it also writes value 7 here when handling PXI command 0x00030080(first AGB PXI command). This register can be read to determine what "mode" the system is running under: hard-boot, FIRM launch, or TWL/AGB FIRM.

REG_UNITINFO

This 8-bit register is value zero for retail, non-zero for dev/debug units.