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.
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, 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-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.
|IOS Number||Minor(s)||Version Number(s)||Notes||NUS Availability||Status|
|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 Launch Wii Menu.||v520, v521||Active|
|IOS11||0.10, v1.0||v10, v256||Internal timestamp says Nov 14 2006 16:26:01||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 version of IOS16 was retracted from the Korean SOAP server not long after its posting for unknown reasons.||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||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||Present in Korean system.||v2835||Active|
|IOS43||9.16, 11.19||v2320, v2835||Present in Korean system.||v2835||Active|
|IOS45||9.16, 11.9||v2320, v2835||Present in Korean system.||v2835||Active|
|IOS46||9.18, 11.11||v2322, v2837||Present in "Need for Speed Undercover" and in "Shin Chuukadaisen" Korean.||v2837||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||Included with and used by Korean System Menu 3.5.||v5661||Active|
|IOS53||16.17, 20.29||v4113, v5149||Comes with Need for Speed Undercover.||v4113, v5149||Active|
|IOS55||18.25, 20.29||v4633, v5149||Comes with Need for Speed Undercover. Seems to have changes in the DI Module.||v4633, v5149||Active|
|IOS56||19.26||v4890||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||v6174||Active|
|IOS61||19.26||v4890||Used by the Wii Shop Channel update that came with System Menu 4.0||v4890||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 copy of IOS9.||v2, v3||Preventative|