|Type||System Menu IOS|
|Status||Private Corporate IOS|
IOS4 was a very primitive IOS that was used by both the Startup Disc Menu and the System Menu used in the factory process. This IOS and the System Menu come preburnt at the factory, before any other discs are inserted.
IOS4 has code for USB, SD, the disc drive, and USB Ethernet, but does not have code for WiiConnect24 (which was added in IOS5), SSL, or WiFi.
Like IOS10 and older versions of IOS9, this IOS does not have a build tag.
U.S. update partitions are set to use this IOS in their TMD. Other regions are not yet known.
IOS3 and IOS4 are also the only two IOSes stubbed on the Wii mini, since most IOSes will hang on the Wii mini due to the WiFi module not responding.
The SDK version that uses IOS4 probably only supports 4:3 video; this is evident in the Wii Startup Disc's SDK, which most likely uses IOS4.
Unlike most IOSes, IOS4 seems to do some verification of the TMD to be loaded involving /sys/cert.sys when it starts up. The depth of this verification is not yet known, and it is not known why this code was removed from IOS9 and later.
Differences from other IOSes
- The kernel only allows 68 threads
- Threads are not stored at FFFE0000
- There is a /dev/sdio/WiFi device
- There is no /dev/sdio/slotw, although it appears that slotw may have been an equivalent of WiFi on the main host controller.
- The kernel unmaps boot0 later in its startup
Titles using this IOS
- Factory System Menu
- Drive Test Disc
- Startup Disc Menu
- Wii Startup Disc
- Update partitions
|Version||Signing bug?||/dev/flash access?||ES_Identify?||STM Release Exploit?||STM IOCTL overflow?||SDI register index bug?||Notes|
|v1||Yes||Yes||Yes||Yes||Yes||Yes||Used by older versions of the Factory System Menu and 0000. Uses CID 35016B91, which is -CAFE946F. 946F in decimal is 37999, which is most likely a global content ID similar to what the iQue Player had.|
|v3||Yes||Yes||Yes||Yes||Yes||Yes||Used in Startup Disc Menu and newer versions of the Factory System Menu. Present on launch-day Wiis. Uses CID 0.|
|v259||?||?||?||?||?||?||Preinstalled on Korean consoles. Also uses CID 0 (no build tag or $IOSVersion tags), probably reset for release.|
|v65280||No||No||No||N/A||N/A||N/A||Stub IOS released in 3.3rev03 and 3.5. Probably v65280 because different locations were unaware of the versions of IOS4 released. Uses content IDs 9-b, so there are 9 versions between v1 and v65280.|