Difference between revisions of "Memory"

From DSiBrew
Jump to navigation Jump to search
(Added note on a ptr that points to the settings struct.)
m (fix link)
 
(6 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{Stub}}
+
{| class="wikitable" border="1"
 
+
|-
This page contains information for various structures stored in RAM and elsewhere.
+
!  Address
The .nds header is located at 0x02fffe00.
+
!  Size
 +
!  Description
 +
|-
 +
|  0x02fffe00
 +
|  0x160
 +
|  ntrheader
 +
|-
 +
|  0x02ffe000
 +
|  0x1000
 +
|  [[NDS_Format|twlheader]]
 +
|-
 +
|  0x02000400
 +
|  0x128
 +
|  Default RAM twlconfig address
 +
|-
 +
|  0x02fffdfc
 +
|  4
 +
|  Ptr to RAM twlconfig
 +
|}
  
RAM System settings are normally located at 0x02000400. This struct is pointed to by the ptr at 0x02fffdfc. Structure format:(Sections in this structure not listed here are zero, sample data is included in descriptions.)
+
RAM twlconfig is loaded to this addr by launcher/sysmenu from [[nand:/shared1/TWLCFG0.dat]].
{| border="1" cellpadding="3" cellspacing="0"
+
RAM twlconfig structure format:
 +
{| class="wikitable" border="1"
 
! Offset  !!  Size !! Description
 
! Offset  !!  Size !! Description
 
|-
 
|-
 
| 0x0 || 0x1 || Unknown, bit 3 is set when wireless comms are enabled, clear when comms are disabled(0x0f)
 
| 0x0 || 0x1 || Unknown, bit 3 is set when wireless comms are enabled, clear when comms are disabled(0x0f)
 
|-
 
|-
| 0x3 || 0x1 || Unknown(0x01)
+
| 0x3 || 0x1 || Unknown
 
|-
 
|-
 
| 0x5 || 0x1 || Country code, same as Wii country codes
 
| 0x5 || 0x1 || Country code, same as Wii country codes
 
|-
 
|-
| 0x6 || 0x3 || Unknown, byte at 0x6 might be related to country code?(Offset 0x6 US: 0x01 Canada: 0x02 Offset 0x7: 0x09 0x74)
+
| 0x6 || 0x3 || Unknown, byte at 0x6 might be related to country code?(Offset 0x6 US: 0x01 Canada: 0x02)
 
|-
 
|-
| 0xa || 0x2 || u16 unknown(0x33d)
+
| 0xa || 0x2 || u16 unknown
 
|-
 
|-
| 0x10 || 0x1 || Byte unknown(0x01)
+
| 0x10 || 0x1 || Flags? When bit0 is set, EULA was accepted, when clear it wasn't accepted.
 
|-
 
|-
 
| 0x1a || 0x2 || Unknown, language code?(0x70e for English, 0x20f for French)
 
| 0x1a || 0x2 || Unknown, language code?(0x70e for English, 0x20f for French)
Line 28: Line 47:
 
| 0x46 || 0x2 || Bytes for birthday, month and day, respectively
 
| 0x46 || 0x2 || Bytes for birthday, month and day, respectively
 
|-
 
|-
| 0x48 || 0x10 || UTF-16 nickname, max 8 characters
+
| 0x48 || 0x10 || UCS-2 nickname, max 8 characters
 
|-
 
|-
| 0x5e || 0x38 || UTF-16 message, max 28 characters
+
| 0x5e || 0x38 || UCS-2 message, max 28 characters
 
|-
 
|-
| 0x94 || 0x1 || Years of age for the first restricted rating?(Parental controls fields are all zero when not in use)
+
| 0x94 || 0x1 || Parental controls flags?(Parental controls fields are all zero when not in use)
 
|-
 
|-
| 0x9b || 0x1 || Unknown(0x01)
+
| 0x9b || 0x1 || Unknown
 
|-
 
|-
 
| 0x9c || 0x1 || Years of age for the highest permitted rating?
 
| 0x9c || 0x1 || Years of age for the highest permitted rating?
 
|-
 
|-
| 0x9e || 0x1 || Unknown(0x06)
+
| 0x9e || 0x1 || Unknown
 
|-
 
|-
 
| 0xa1 || 0x4 || Parental Controls PIN(ASCII)
 
| 0xa1 || 0x4 || Parental Controls PIN(ASCII)
 
|-
 
|-
| 0xa6 || 0x40 || UTF-16 Parental Controls secret answer for PIN reminder, max 32 characters
+
| 0xa6 || 0x40 || UCS-2 Parental Controls secret answer for PIN reminder, max 32 characters
 
|}
 
|}

Latest revision as of 05:21, 20 December 2022

Address Size Description
0x02fffe00 0x160 ntrheader
0x02ffe000 0x1000 twlheader
0x02000400 0x128 Default RAM twlconfig address
0x02fffdfc 4 Ptr to RAM twlconfig

RAM twlconfig is loaded to this addr by launcher/sysmenu from nand:/shared1/TWLCFG0.dat. RAM twlconfig structure format:

Offset Size Description
0x0 0x1 Unknown, bit 3 is set when wireless comms are enabled, clear when comms are disabled(0x0f)
0x3 0x1 Unknown
0x5 0x1 Country code, same as Wii country codes
0x6 0x3 Unknown, byte at 0x6 might be related to country code?(Offset 0x6 US: 0x01 Canada: 0x02)
0xa 0x2 u16 unknown
0x10 0x1 Flags? When bit0 is set, EULA was accepted, when clear it wasn't accepted.
0x1a 0x2 Unknown, language code?(0x70e for English, 0x20f for French)
0x30 0x10 Unknown
0x44 0x1 Favorite color
0x46 0x2 Bytes for birthday, month and day, respectively
0x48 0x10 UCS-2 nickname, max 8 characters
0x5e 0x38 UCS-2 message, max 28 characters
0x94 0x1 Parental controls flags?(Parental controls fields are all zero when not in use)
0x9b 0x1 Unknown
0x9c 0x1 Years of age for the highest permitted rating?
0x9e 0x1 Unknown
0xa1 0x4 Parental Controls PIN(ASCII)
0xa6 0x40 UCS-2 Parental Controls secret answer for PIN reminder, max 32 characters