Line 5:
Line 5:
| type = menu
| type = menu
| status = private
| status = private
+
| stubvariant = 2008
}}
}}
+
'''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 [[IOS]]es 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.
−
'''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.
+
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
+
* 0000
−
{| class="wikitable"
+
== Version history ==
−
|-
+
{{IOS version history|
−
! Version
+
{{IOS version|v1|none|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.}}
−
! [[Signing bug]]?
+
{{IOS version|v3|none|Used in Startup Disc Menu and newer versions of the Factory System Menu. Present on launch-day Wiis. Uses CID 0.}}
−
! ES_Identify / [[:/dev/flash]]?
+
{{IOS version|v259|?|Preinstalled on Korean consoles. Also uses CID 0 (no build tag or $IOSVersion tags), probably reset for release.}}
−
! [[STM Release Exploit]]?
+
{{IOS version|v65280|stub|[[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.}}
−
! Notes
+
}}
−
|-
−
| v1
−
| Yes
−
| Yes
−
| ?
−
| Used by the Factory System Menu and 0000.
−
|-
−
| v3
−
| Yes
−
| Yes
−
| ?
−
| Used in Startup Disc Menu
−
|-
−
| v259
−
| N/A
−
| N/A
−
| N/A
−
| [[Stub IOS]] preinstalled on Korean [[RVL-CPU-20]] consoles.
−
|-
−
| v65280
−
| N/A
−
| N/A
−
| N/A
−
| [[Stub IOS]] released in [[3.3rev03]] and [[3.5]].
−
|}
{{Navbox IOS}}
{{Navbox IOS}}