IOS history
This is an old revision of this page, as edited by Galaxy (talk | contribs) at 09:19, 19 May 2009. It may differ significantly from the current revision. |
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, v3092 | Now contains a backport of the IOS37 hash comparison bugfix. | v1037, v1039, v1040, v2576, v3088, v3092 |
IOS33 | 4.16, 11.16 | v1040, v2832, v2384 | v1040, v2382, v2384 | |
IOS34 | 4.15, 12.15 | v1039, v3087, v3091 | v1039, v3087, v3091 | |
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, v2385, v3072 | Present in Korean system. | v3072 | |
IOS41 | v2320, v2385 | Present in Korean system. | v2835 | |
IOS43 | v2320, v2385 | Present in Korean system. | v2835 | |
IOS45 | v2320, v2385 | Present in Korean system. | v2835 | |
IOS46 | v2322, v2837 | Present in "Need for Speed Undercover" and in "Shin Chuukadaisen" Korean. | v2837 | |
IOS50 | 19.25 | v4889, v5120 | Came with the November 17, 2008 update. Used by System Menu 3.4. | v4889, v5120 |
IOS51 | 18.25 | v4633, v4864 | Used by a previous Shop Channel. Released at same time as fixes to remaining fakesigning bugs. | v4633, v4864 |
IOS52 | v5661 | Included with and used by Korean System Menu 3.5. | v5661 | |
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 |