Difference between revisions of "/shared2/sys/SYSCONF"
(Updated info, removed duplicate, added Motion Plus flag) |
(Move *ARRAY length info into the "Types" table) |
||
Line 1: | Line 1: | ||
The SYSCONF contains many Wii system settings. | The SYSCONF contains many Wii system settings. | ||
− | The format of the file is fairly simple. Its size is 0x4000, and it contains a header that reads "SCv0", followed by the number of settings in the file (be u16), and then a list of offsets of each setting (be u16). Each setting (aka "Item") contains first a u8, specifying the type of the value, and the length of the name. The low-order 5 bits specify the length of the name, minus one. The high-order three bits specify the type of the value, as given by the table below. This is followed by a name, in ASCII, then a value | + | The format of the file is fairly simple. Its size is 0x4000, and it contains a header that reads "SCv0", followed by the number of settings in the file (be u16), and then a list of offsets of each setting (be u16). Each setting (aka "Item") contains first a u8, specifying the type of the value, and the length of the name. The low-order 5 bits specify the length of the name, minus one. The high-order three bits specify the type of the value, as given by the table below. This is followed by a name, in ASCII, then a value. |
Last 4 bytes of the file read "SCed". | Last 4 bytes of the file read "SCed". | ||
Line 10: | Line 10: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | ! Name | + | ! Name |
− | ! Value | + | ! Value |
+ | ! Size | ||
+ | ! Note | ||
|- | |- | ||
− | | BIGARRAY | + | | BIGARRAY |
− | | 1 | + | | 1 |
+ | | varies | ||
+ | | 2 bytes of length, followed by <code>$n</code> bytes of data | ||
|- | |- | ||
− | | SMALLARRAY | + | | SMALLARRAY |
− | | 2 | + | | 2 |
+ | | varies | ||
+ | | 1 byte of length, followed by <code>$n</code> bytes of data | ||
|- | |- | ||
− | | BYTE | + | | BYTE |
− | | 3 | + | | 3 |
+ | | 1 byte | ||
+ | | | ||
|- | |- | ||
− | | SHORT | + | | SHORT |
− | | 4 | + | | 4 |
+ | | 2 bytes | ||
+ | | | ||
|- | |- | ||
− | | LONG | + | | LONG |
− | | 5 | + | | 5 |
+ | | 4 bytes | ||
+ | | | ||
|- | |- | ||
| LONGLONG | | LONGLONG | ||
− | | 6 | + | | 6 |
+ | | 8 bytes | ||
+ | | | ||
|- | |- | ||
− | | BOOL | + | | BOOL |
− | | 7 | + | | 7 |
+ | | 1 byte | ||
+ | | 0 is <code>false</code>, anything else is <code>true</code> (most commonly 1) | ||
|} | |} | ||
+ | |||
+ | Note that both BIGARRAY and SMALLARRAY store the length minus one in the beginning. A length of 0x06 means that 7 bytes of data follow. The name "ARRAY" need not indicate the actual content type; most settings store an application defined structure in them. | ||
Some settings from the file: | Some settings from the file: |
Revision as of 19:31, 29 July 2017
The SYSCONF contains many Wii system settings.
The format of the file is fairly simple. Its size is 0x4000, and it contains a header that reads "SCv0", followed by the number of settings in the file (be u16), and then a list of offsets of each setting (be u16). Each setting (aka "Item") contains first a u8, specifying the type of the value, and the length of the name. The low-order 5 bits specify the length of the name, minus one. The high-order three bits specify the type of the value, as given by the table below. This is followed by a name, in ASCII, then a value.
Last 4 bytes of the file read "SCed".
Conventions for adding or removing settings to the file are currently unknown, but shouldn't be too hard to determine--although that's not necessarily a useful function.
Types
Name | Value | Size | Note |
---|---|---|---|
BIGARRAY | 1 | varies | 2 bytes of length, followed by $n bytes of data
|
SMALLARRAY | 2 | varies | 1 byte of length, followed by $n bytes of data
|
BYTE | 3 | 1 byte | |
SHORT | 4 | 2 bytes | |
LONG | 5 | 4 bytes | |
LONGLONG | 6 | 8 bytes | |
BOOL | 7 | 1 byte | 0 is false , anything else is true (most commonly 1)
|
Note that both BIGARRAY and SMALLARRAY store the length minus one in the beginning. A length of 0x06 means that 7 bytes of data follow. The name "ARRAY" need not indicate the actual content type; most settings store an application defined structure in them.
Some settings from the file:
BT Settings
Name | Type | Size | Values | Description |
---|---|---|---|---|
BT.DINF | BIGARRAY | 0x460 | Bluetooth IDs | List of Wiimotes "synced" to the system |
BT.CDIF | BIGARRAY | ? | ? | {{{5}}} |
BT.SENS | LONG | 4 | 0-4? | Wiimote sensitivity setting |
BT.BAR | BYTE | 1 | 0,1 | Sensor bar position (0:bottom) |
BT.SPKV | BYTE | 1 | varies | Wiimote speaker volume |
BT.MOT | BYTE | 1 | 0,1 | Wiimote motor on/off |
IPL Settings
Name | Type | Size | Values | Description |
---|---|---|---|---|
IPL.IDL | SMALLARRAY | 2 | 0,1;0,1 | Shutdown mode and idle LED mode |
IPL.UPT | BYTE | 1 | 2,? | Update Type |
IPL.NIK | SMALLARRAY | 0x16 | utf16be string, including trailing NUL | Console Nickname |
IPL.AR | BYTE | 1 | 0,1 | Aspect ratio setting. 0: 4:3 1: 16:9 |
IPL.SSV | BYTE | 1 | 0,1 | Screen Saver off/on (burn-in reduction) |
IPL.LNG | BYTE | 1 | 0,1 | System Language, see conf.c for some values |
IPL.SADR | BIGARRAY | 0x1007 | lots | "Simple Address" Contains some region info |
IPL.CB | LONG | 4 | ?? | Counter Bias -- difference between RTC and local time, in seconds |
IPL.PC | SMALLARRAY | 0x50 | string | Parental Control password/setting |
IPL.CD | BOOL | 1 | bool | Config Done flag -- has initial setup been performed? |
IPL.CD2 | BOOL | 1 | bool | Config2 Done flag -- has network setup been performed? |
IPL.EULA | BOOL | 1 | bool | EULA Done flag -- has EULA been acknowledged? |
IPL.PGS | BYTE | 1 | 0,1 | Use Progressive Scan |
IPL.E60 | BYTE | 1 | 0,1 | Use EuRGB60 (PAL6) |
IPL.SND | BYTE | 1 | 0-2 | Sound setting |
IPL.DH | BYTE | 1 | ? | Display Offset (Horiz) |
IPL.INC | LONG | 4 | ? | "Installed Channel App Count" |
IPL.ARN | ? | ? | ? | ? |
IPL.FRC | LONG | 4 | ? | "Free Channel App Count" |
IPL.SADR values: Offset 0 is a Country Code and offset 1 seems to be a more localized region code.
Misc Settings
Name | Type | Size | Values | Description |
---|---|---|---|---|
DEV.BTM | BYTE | 1 | 0 Production, 1 Development | Bootmode (used for NDEV) |
DEV.VIM | BYTE | 1 | ? | ? |
DEV.CTC | BYTE | 1 | 0 | ? |
DEV.DSM | BYTE | 1 | 0 Disabled, 1 Enabled, 2 Debug | Drive saving (used for NDEV) |
DVD.CNF | ? | ? | ? | ? |
WWW.RST | BYTE | 1 | ? | WWW Restriction |
NET.CNF | ? | ? | ? | ? |
NET.CFG | ? | ? | ? | ? |
NET.CTPC | LONG | 4 | ? | Net Content Restrictions ("Content Parental Control"?) |
NET.WCFG | LONG | 4 | ? | WC24 Configuration flags |
MPLS.MOVIE | BYTE | 1 | 0 Watched, 1 Not Watched | Wii Motion Plus Tutorial Movie |