In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

/shared2/sys/SYSCONF

From WiiBrew
Jump to navigation Jump to search

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
??? 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