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

Changes

Jump to navigation Jump to search
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. 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.
+
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:
58

edits

Navigation menu