IOS History

From WiiBrew
Jump to navigation Jump to search

This page is intended to track changes in IOS ( the operating system that runs on Starlet) such as: added features, bug fixes, etc. It will also cover what different minor versions are known to exist.

Overview

The Title ID of the IOSes follow this convention "00000001-000000xx" where xx is the IOS number in hexadecimal. The "IOS number" is best thought of as a "Major" version number for the firmware, and probably corresponds to a specific version of Nintendo's (proprietary) SDK -- for example, the version of the SDK used to compile Zelda: Twilight Princess probably was tailored to run on IOS9.

In general, IOSx0 is used for the system menu (IOS20, IOS30, IOS40, IOS50, IOS60). IOSx1 seems to be used for Nintendo channels (e.g. IOS31, IOS51, IOS61).

Each IOS has a 16-bit "version number" in its TMD; this version number is seen in decimal form in the filenames of IOS WADs on update partition (e.g. "IOS9-64-v516.wad" for version 516 (decimal)). Converted to hex, that 516 becomes 0x0204, and can be read as "2.4" -- IOS9, version 2.4.

As a rule, an existing IOS will never have new features added to it, to protect binary compatibility. This means that any updates for existing IOSes are only meant to fix bugs -- generally, security bugs.

Future of IOS

As of late 2008, Nintendo has been replacing some versions of IOS with small non-functional "place holder" IOSes. This is to prevent the reuse of the IOS "slot" for software other than official Nintendo Software which utilized that IOS number. Nintendo can come back at a later date if necessary and "reuse" an IOS slot at their own discretion by simply increasing the version number of the title and replacing it with a functional IOS once again. These IOSes have been marked as "Mothballed" on the table denoting that they could quite possibly be reused in the future if Nintendo decides to do so.

Version Table

IOS Number Minor(s) Version Number(s) Notes NUS Availability Status
IOS3 255.0 v65280 Non-functional "stub" Unavailable Mothballed
IOS4 0.3, 1.3, 255.0 v3, v259, v65280 Previous versions only had minimal drivers (lacking KD, WL, WD, SSL), and were probably used during manufacturing and/or updating. 1st Version Timestamp is Aug 10, 2006. Replaced by a stub. v65280 Mothballed
IOS9 2.4, 2.6, 2.8, 2.9 v516, v518, v520, v521 Has only one LED pattern: blinking. First "normal" IOS version. Used by System Menu 1.0. v520, v521 Active
IOS10 3.0 v768 v768 Mothballed
IOS11 0.10, v1.0 v10, v256 Internal timestamp says Nov 14 2006 16:26:01. Used by System Menu 2.0. v10, v256 Mothballed
IOS12 0.6, 0.11, 0.12 v6, v11, v12 Earliest Known IOS: June 4, 2006. v6, v11, v12 Active
IOS13 0.10, 0.15, 0.16 v10, v15, v16 v10, v15, v16 Active
IOS14 1.1, 1.6, 1.7 v257, v262, v263 v262, v263 Active
IOS15 1.1, 1.2, 1.3, 1.4, 1.9, 1.10 v257, v258, v259, v260, v265, v266 Contains NAND BOOT PROGRAM (AKA NANDloader) -- this was probably accidental v257, v258, v259, v260, v265, v266 Active
IOS16 1.1, 2.0 v257, v512 Initially used for Wii Backup Disc. The version on the Wii Backup Disc was infamously used by pirates, until System Menu 4.0 mothballed this IOS as of v512. The mothballed stub version was retracted from the Korean SOAP server not long after its posting for unknown reasons. As of the System Menu 4.1 update for Korea, it is back. v512 Mothballed
IOS17 2.0, 2.5, 2.6 v512, v517, v518 v512, v517, v518 Active
IOS20 0.12, 1.0 v12, v256 Feb 22 2007 04:25:59 Used by System Menu 2.2. v12, v256 Mothballed
IOS21 2.2, 2.5, 2.6, 2.7, 2.10, 2.13 v514, v515, v516, v517, v522, v525 Contains NAND BOOT PROGRAM. Most debugging messages are removed. Most common for third-party titles. v514, v515, v516, v517, v522, v525 Active
IOS22 3.4, 3.9, 3.10 v772, v777, v780 v777, v780 Active
IOS28 5.8, 5.12, 5.13 v1288, v1292, v1293 Starting with IOS28, firmware is divided into 15 modules. Added some ioctls to /dev/es. v1292, v1293 Active
IOS30 4.13, 4.15, 4.16, 10.16, 11.0 v1037, v1039, v1040, v2576, v2816 Added USB Keyboard support. Used by many previous versions of the System Menu. v1037, v1039, v1040, v2576, v2816 Mothballed
IOS31 4.13, 4.15, 4.16, 10.16, 12.16, 12.20 v1037, v1039, v1040, v2576, v3088, v3092 v1037, v1039, v1040, v2576, v3088, v3092 Active
IOS33 4.16, 11.14, 11.16 v1040, v2832, v2834 v1040, v2832, v2834 Active
IOS34 4.15, 12.15, 12.19 v1039, v3087, v3091 v1039, v3087, v3091 Active
IOS35 4.16, 12.16, 12.20 v1040, v3088, v3092 v1040, v3088, v3092 Active
IOS36 4.18, 12.18, 12.22 v1042, v3090, v3094 v1042, v3090, v3094 Active
IOS37 8.22, 14.25, 14.28 v2070, v3609, v3612 First to fix the signature-checking function bug v2070, v3609, v3612 Active
IOS38 14.19, 14.20 v3609, v3610 Introduced with Animal Crossing: City Folk. v3610 Active
IOS40 9.17, 11.19, 12.0 v2321, v2835, v3072 Present in Korean system. v3072 Mothballed
IOS41 9.16, 11.19 v2320, v2835, v3091 Present in Korean system. v2835, v3091 Active
IOS43 9.16, 11.19 v2320, v2835, v3091 Present in Korean system. v2835, v3091 Active
IOS45 9.16, 11.9 v2320, v2835, v3091 Present in Korean system. v2835, v3091 Active
IOS46 9.18, 11.11 v2322, v2837, v3093 Present in "Need for Speed Undercover" and in "Shin Chuukadaisen" Korean. v2837, v3093 Active
IOS50 19.25, 20.0 v4889, v5120 Came with the November 17, 2008 update. Used by System Menu 3.4. v4889, v5120 Mothballed
IOS51 18.25, 19.0 v4633, v4864 Used by a previous Shop Channel. Released at same time as fixes to remaining fakesigning bugs. v4633, v4864 Mothballed
IOS52 22.29 v5661, v5888 Included with and used by System Menu 3.5 for Korean Wiis. v5661, v5888 Mothballed
IOS53 16.17, 20.29 v4113, v5149 v4113, v5149 Active
IOS55 18.25, 20.29 v4633, v5149 Seems to have changes in the DI Module. v4633, v5149 Active
IOS56 19.26, 20.26 v4890, v5146 Used by the Wii Speak Channel 2.0. v4890 Active
IOS57 21.51 v5404 Contains new or updated modules "OHCI0 USB USB_HID USB_HUB USB_MSC USB_VEN ETH" v5404 Active
IOS60 24.30 v6174 Used by System Menu 4.0 and System Menu 4.1 v6174 Active
IOS61 19.26 v4890 Used by the Wii Shop Channel update that came with System Menu 4.0 v4890 Active
IOS70 Used by System Menu 4.2 Active
IOS254 12.16 v2, v3 Distributed along with all System Menus since System Menu 3.4 as a quick fix for PatchMii. It's just a copy of IOS9. As Nintendo releases new versions of IOS9 this title will also receive updates.-ex IOS9 v521 corresponds to v3 of IOS254. v2, v3 Preventative