| BlkID
|
Size
|
Access Flags
|
Description
|
| 0x00000000
|
0x2
|
0xC
|
Config savegame version?
|
| 0x00010000
|
0x1
|
0xC
|
RTC compensation value
|
| 0x00020000
|
0x134
|
0xC
|
Codec
|
| 0x00030000
|
0x1
|
0xC
|
Leap Year Counter (read By PTM)
|
| 0x00030001
|
0x8
|
0xE
|
User time offset (read by CECD): displayed timestamp - rtc timestamp
|
| 0x00030002
|
0x8
|
0xC
|
Difference (in nanoseconds) between UTC server time and RTC time. Updated by the Friends sysmodule after every NASC login. Used by System settings to calculate the real current time according to the online play authentication server, in order to determine the user's actual age based on the given date of birth (related to COPPA, since this is used to check whether the user is at least 13 years old).
|
| 0x00040000
|
0x10
|
0xC
|
Touch calibration (read by HID)
|
| 0x00040001
|
0x1C
|
0xC
|
Analog Stick Calibration Param?(read by HID)
|
| 0x00040002
|
0x12
|
0xC
|
Gyroscope (read by HID)
|
| 0x00040003
|
0xC
|
0xC
|
Accelerometer (read by HID)
|
| 0x00040004
|
0x1C
|
0xC
|
CStick calibration data
|
| 0x00050000
|
0x2
|
0xC
|
Screen flicker
|
| 0x00050001
|
0x2
|
0xC
|
Backlight controls (u8 ABL_powersave_enable, u8 brightness_level) (read by GSP)
|
| 0x00050002
|
0x38
|
0xC
|
Backlight PWM (read by GSP)
|
| 0x00050003
|
0x20
|
0xC
|
Power saving mode (ABL) calibration (read by GSP)
|
| 0x00050004
|
0x20
|
0xC
|
Power saving mode (ABL) calibration (for legacy FIRM)
|
| 0x00050005
|
0x20
|
0xE
|
Stereo display settings (HWCAL block 0x470)
|
| 0x00050006
|
0x2
|
0xC
|
3D switching delay
|
| 0x00050007
|
0x4
|
0xC
|
?
|
| 0x00050008
|
0x10C
|
0xC
|
Power saving mode (ABL) extra config
|
| 0x00050009
|
0x8
|
0xC
|
new3DS only(?) backlight control (5th byte: auto-brightness enable)
|
| 0x00060000
|
0x96
|
0xC
|
??? (HWCAL block 0x500)
|
| 0x00070000
|
0x214
|
0xE
|
3D filters
|
| 0x00070001
|
0x1
|
0xE
|
Sound output mode (mono=0, stereo=1, surround=2)
|
| 0x00070002
|
0x8
|
0xE
|
Microphone echo cancellation params
|
| 0x00080000
|
0xC00
|
0xC
|
WiFi configuration slot 0
|
| 0x00080001
|
0xC00
|
0xC
|
WiFi configuration slot 1
|
| 0x00080002
|
0xC00
|
0xC
|
WiFi configuration slot 2
|
| 0x00090000
|
0x8
|
0xE
|
u64, Current local friend code. Updated by the friends sysmodule when a local friends account is loaded with FRDA:LoadLocalAccount accordingly.
|
| 0x00090001
|
0x8
|
0xE
|
u64, Local friend code base value. This value is sent by the friends sysmodule to the friends gameserver during NEX account creation and serves as a means to find PIDs (and thus "online" friend codes) for other consoles' that were registered using FRDA:AddFriendOffline when those console(s) hadn't yet registered with the friends services at the time. The lower 48 bits are from LocalFriendCodeSeed, and the upper 16 bits are from the LocalFriendCodeSeed counter (see below block, 0x90002). This value is initialized as described by the CFG module when the LocalFriendCodeSeed part is zero. Used by GenHashConsoleUnique.
|
| 0x00090002
|
0x4
|
0xE
|
u16, Local friend code counter. This value is initialized by the CFG module alongside block 0x90001 to two random bytes generated by PS:GenerateRandomBytes and also serves as a component of that block. It is incremented by PTM and stored in MCU storage when PTM save data is formatted. Once incremented, upon reboot, PTM will use the counter stored in MCU storage to update the local friend code base value (block 0x90001). After updating the relevant configuration blocks, PTM sets the storage area reserved for the counter to 0.
|
| 0x000A0000
|
0x1C
|
0xE
|
User Name
|
| 0x000A0001
|
0x2
|
0xE
|
Birthday (u8 month, u8 day)
|
| 0x000A0002
|
0x1
|
0xE
|
Language
|
| 0x000B0000
|
0x4
|
0xE
|
CountryInfo
|
| 0x000B0001
|
0x800
|
0xE
|
Country name in UTF-16, every 0x80-bytes is an entry for each language, in the order of the Language table below (not all entries are set)
|
| 0x000B0002
|
0x800
|
0xE
|
State name in UTF-16, every 0x80-bytes is an entry for each language
|
| 0x000B0003
|
0x4
|
0xE
|
Coordinates. A pair of s16 represents latitude and longitude, respectively. One need to multiply both value by 180/32768 to get coordinates in degrees
|
| 0x000C0000
|
0xC0
|
0xE
|
Parental Controls - Main data
|
| 0x000C0001
|
0x14
|
0xE
|
COPPACS restriction data
|
| 0x000C0002
|
0x200
|
0xE
|
Parental Controls - Registered e-Mail address and custom secret question
|
| 0x000D0000
|
0x4
|
0xE
|
u16 at offset 0x0: EULA Version which was agreed to. u16 @ 0x02: latest version
|
| 0x000E0000
|
0x1
|
0xE
|
? (related to SpotPass options in Internet Settings?)
|
| 0x000F0000
|
0x10
|
0xC
|
Debug configuration, read by NS on dev-units: on startup, NS does svcKernelSetState(6, 1, (u64)debug_flags & 1);
svcKernelSetState(6, 2, (u64)debug_flags & 2); (see here) where debug_flags is the u32 located at offset 0xC in this struct. Then it compares the u32 from +8 in this config-block with the APPMEMTYPE. When those don't match NS starts a FIRM-launch (with the same FIRM titleID as the currently running one) to boot into a FIRM with the APPMEMTYPE value from this config-block. The byte at offset 0x0 is related to the memtype as well.
|
| 0x000F0001
|
0x8
|
0xC
|
?
|
| 0x000F0003
|
0x1
|
0xC
|
Home Menu button disable
|
| 0x000F0004
|
0x4
|
0xC
|
The first u8 is the System-Model value, the last 3-bytes are unknown
|
| 0x000F0005
|
0x4
|
0xC
|
The first u8 indicates whether network updates are enabled (however, NIM only checks this flag with developer ENVINFO).
|
| 0x000F0006
|
0x28
|
0xC
|
In NIM, taken as a (hopefully null terminated) string used for the "X-Device-Token" http header field for NPNS url.
|
| 0x00100000
|
0x2
|
0xC
|
TWL EULA info ({bool agreed; u8 agreedVersion})
|
| 0x00100001
|
0x94
|
0xC
|
Stores Parental Restrictions PIN/Secret Answer and other info for TWL mode
|
| 0x00100002
|
0x1
|
0xC
|
TWL country code
|
| 0x00100003
|
0x10
|
0xC
|
TWL movable unique ID, used for DSiWare exports
|
| 0x00110000
|
0x4
|
0xC
|
The low u16 indicates whether the system setup is required, such as when the system is booted for the first time or after doing a System Format: 0 = setup required, non-zero = no setup required
|
| 0x00110001
|
0x8
|
0xC
|
TitleID of the menu to launch, used by NS on dev units (this block can be edited on dev units with Config)
|
| 0x00120000
|
0x8
|
0xC
|
Volume Slider Bounds (Read by HID and PTM)
|
| 0x00130000
|
0x4
|
0xE
|
If response is 0x100 then debug mode is enabled.
|
| 0x00150000
|
0x4
|
0xC
|
Clock Sequence (u16) used for generating UUIDs in ACT.
|
| 0x00150001
|
0x8
|
0xC
|
?
|
| 0x00150002
|
0x4
|
0xE
|
NFS (Nintendo Friend Server) Environment in the format %c%d. Set by the ACT sysmodule. Used in the NIM sysmodule for making the NPNS URL.
|
| 0x00160000
|
0x4
|
0xE
|
Unknown, first byte is used by config service-cmd 0x00070040. (Unknown whether the last 3-bytes are used)
|
| 0x00170000
|
0x4
|
0xE
|
Miiverse (OLV) access key
|
| 0x00180000
|
0x4
|
0xC
|
QTM Infrared LED related, can be 0 or 1
|
| 0x00180001
|
0x18
|
0xC
|
QTM calibration data
|
| 0x00190000
|
0x1
|
0xC
|
Unknown. NFC-module checks for value1/non-value1.
|