/shared2/sys/SYSCONF
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. In the case of a BIGARRAY, the value begins with a be u16 specifying the length of the data, in bytes, which follows. In the case of a SMALLARRAY, the value begins with a u8 specifying the length.
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 |
---|---|
BIGARRAY | 1 |
SMALLARRAY | 2 |
BYTE | 3 |
SHORT | 4 |
LONG | 5 |
LONGLONG or DOUBLE | 6 |
BOOL | 7 |
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 | ? | ? | ? | ? |
DEV.CTC | ? | ? | ? | ? |
DEV.DSM | BYTE | 1 | 0 Disabled, 1 Enabled, 2 Debug | Drive saving (used for NDEV) |
DVD.CNF | ? | ? | ? | ? |
WWW.RST | ? | ? | ? | WWW Restriction |
NET.CNF | ? | ? | ? | ? |
NET.CFG | ? | ? | ? | ? |
NET.CTPC | LONG | 4 | ? | Net Content Restrictions ("Content Parental Control"?) |
NET.WCFG | LONG | 4 | ? | WC24 Configuration flags |