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.

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.

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.

As of late 2008, Nintendo has been replacing some versions of IOS with "stubs" -- small IOSes that do not seem to be functional. This is most likely an attempt to prevent vulnerable versions of IOS from being installed (see e.g. IOS254).

Major Minor(s) Version Number(s) Notes NUS Availability
IOS3 255.0 v65280 Non-functional "stub"? Unavailable
IOS4 0.3, 1.3, 255.0 v3, v259, v65280 Only has minimal drivers; possibly used during manufacturing and/or updating, broken into 3 pieces 2 of which are now shared contents as of Oct. 23rd update. v65280
IOS9 2.4, 2.6, 2.8, 2.9 v516, v518, v520, v521 Has only one LED pattern: blinking. First "normal" IOS version v520, v521
IOS10 3.0 v768 v768
IOS11 0.10, v1.0 v10, v256 Internal timestamp says Nov 14 2006 16:26:01 v10, v256
IOS12 0.6, 0.11, 0.12 v6, v11, v12 v6, v11, v12
IOS13 0.10, 0.15, 0.16 v10, v15, v16 v10, v15, v16
IOS14 1.1, 1.6, 1.7 v257, v262, v263 v262, v263
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
IOS16 1.1, 2.0 v257, v512 Initially used for Wii Backup Disc. Older versions were infamously used by pirates, but System Menu 4.0 included this IOS as v512 and is now a stub not unlike IOS3, IOS4 and retired Menu and Virtual Console IOSes which Nintendo no longer uses for their products. v512
IOS17 2.0, 2.5, 2.6 v512, v517, v518 v512, v517, v518
IOS20 0.12, 1.0 v12, v256 Feb 22 2007 04:25:59 v12, v256
IOS21 2.2, 2.5 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
IOS22 3.4, 3.9 v772, v777, v780 v777, v780
IOS28 5.8, 5.12 v1288, v1292, v1293 Starting with IOS28, firmware is divided into 15 modules. Added some ioctls to /dev/es. v1292, v1293
IOS30 4.15, 4.16, 11.0 v1037, v1039, v1040, v2576, v2816 Added USB Keyboard support. Used by many previous versions of the System Menu. Now contains a backport of the IOS37 hash comparison bugfix. v1037, v1039, v1040, v2576, v2816
IOS31 4.15, 4.16, 12.16 v1037, v1039, v1040, v2576, v3088 Now contains a backport of the IOS37 hash comparison bugfix. v1037, v1039, v1040, v2576, v3088
IOS33 4.16, 11.16 v1040, v2832, v2384 v1040, v2382, 2384
IOS34 4.15, 12.15 v1039, v3087, 3091 v1039, v3087, 3091
IOS35 4.16 v1040, v3088, v3092 v1040, v3088, v3092
IOS36 4.18, 12.18 v1042, v3090, v3094 v1042, v3090, v3094
IOS37 8.22, 14.25 v2070, v3609, v3612 First to fix the signature-checking function bug v2070, v3609, v3612
IOS38 14.19 v3609, v3610 Introduced with Animal Crossing: City Folk. Not yet analyzed but may have something to do with WiiSpeak. v3610
IOS40 v2321, 2385 Present in Korean system. 2385
IOS41 v2320, 2385 Present in Korean system. 2385
IOS43 v2320, 2385 Present in Korean system. 2385
IOS45 v2320, 2385 Present in Korean system. 2385
IOS46 v2322, 2387 Present in "Need for Speed Undercover" and in "Shin Chuukadaisen" Korean. 2387
IOS50 19.25 v4889 Came with the November 17, 2008 update. Used by System Menu 3.4 v4889
IOS51 18.25 v4633 Used by a previous Shop Channel. Released at same time as fixes to remaining fakesigning bugs. v4633
IOS52 v5661 Included with and used by Korean System Menu 3.5. 5661
IOS53 v4113, v5149 Comes with Need for Speed Undercover. (Installation from NfS Undercover-disc keeps System Menu 3.3 and does not(!) install System Menu 3.4 when system had 3.3 before) v4113, v5149
IOS55 v4633, v5149 Comes with Need for Speed Undercover. Seems to have changes in the DI Module. Loading the game with geckoos produces error #002. It can be an update for the new wireless USB Driving Wheel from Logitech, supported only by Need for Speed: Undercover. (Installation from NfS Undercover-disc keeps System Menu 3.3 and does not(!) install System Menu 3.4 when system had 3.3 before) v4633, v5149
IOS56 v4890 Runs under the Wii Speak Channel 2.0. v4890
IOS60 v6174 Used by System Menu 4.0 v6174
IOS61 v4890 Used by the Wii Shop Channel update that came with System Menu 4.0 v4890
IOS254 12.16 v2, v3 Distributed along with all System Menus since System Menu 3.4 as a quick fix for PatchMii, copy of IOS9 v2, v3