IOS history: Difference between revisions
m moar clean up |
mNo edit summary |
||
| Line 30: | Line 30: | ||
| 0.3, 1.3, 255.0 | | 0.3, 1.3, 255.0 | ||
| v3, v259, v65280 | | v3, v259, v65280 | ||
| | | Previous versions only had minimal drivers (lacking KD, WL, WD, SSL), and were probably used during manufacturing and/or updating. Replaced by a stub. | ||
| v65280 | | v65280 | ||
|- | |- | ||
Revision as of 13:44, 10 June 2009
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.
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 normally-unused IOS slots from being used (?) (IOS3, IOS4, IOS16, IOS254) or to prevent downgrading the system menu by disabling the IOS used by those menus (e.g. IOS10 (sic), IOS11, IOS20, IOS30, IOS40, IOS50).
| 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 | Previous versions only had minimal drivers (lacking KD, WL, WD, SSL), and were probably used during manufacturing and/or updating. Replaced by a stub. | 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 (stub) | v768 | |
| IOS11 | 0.10, v1.0 | v10, v256 (stub) | 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 (stub) | Initially used for Wii Backup Disc. The version on the Wii Backup Disc was infamously used by pirates, until System Menu 4.0 included this IOS as v512. | v512 |
| IOS17 | 2.0, 2.5, 2.6 | v512, v517, v518 | v512, v517, v518 | |
| IOS20 | 0.12, 1.0 | v12, v256 (stub) | Feb 22 2007 04:25:59 | v12, v256 |
| 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 |
| IOS22 | 3.4, 3.9, 3.10 | v772, v777, v780 | v777, v780 | |
| 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 |
| IOS30 | 4.13, 4.15, 4.16, 10.16, 11.0 (stub) | v1037, v1039, v1040, v2576, v2816 | Added USB Keyboard support. Used by many previous versions of the System Menu. | v1037, v1039, v1040, v2576, v2816 |
| 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 | |
| IOS33 | 4.16, 11.14, 11.16 | v1040, v2832, v2834 | v1040, v2832, v2834 | |
| IOS34 | 4.15, 12.15, 12.19 | v1039, v3087, v3091 | v1039, v3087, v3091 | |
| IOS35 | 4.16, 12.16, 12.20 | v1040, v3088, v3092 | v1040, v3088, v3092 | |
| IOS36 | 4.18, 12.18, 12.22 | v1042, v3090, v3094 | v1042, v3090, v3094 | |
| IOS37 | 8.22, 14.25, 14.28 | v2070, v3609, v3612 | First to fix the signature-checking function bug | v2070, v3609, v3612 |
| IOS38 | 14.19, 14.20 | v3609, v3610 | Introduced with Animal Crossing: City Folk. | v3610 |
| IOS40 | 9.17, 11.19, 12.0 (stub) | v2321, v2835, v3072 | Present in Korean system. | v3072 |
| IOS41 | 9.16, 11.19 | v2320, v2835 | Present in Korean system. | v2835 |
| IOS43 | 9.16, 11.19 | v2320, v2835 | Present in Korean system. | v2835 |
| IOS45 | 9.16, 11.9 | v2320, v2835 | Present in Korean system. | v2835 |
| IOS46 | 9.18, 11.11 | v2322, v2837 | Present in "Need for Speed Undercover" and in "Shin Chuukadaisen" Korean. | v2837 |
| IOS50 | 19.25, 20.0 (stub) | v4889, v5120 | Came with the November 17, 2008 update. Used by System Menu 3.4. | v4889, v5120 |
| IOS51 | 18.25, 19.0 (stub) | v4633, v4864 | Used by a previous Shop Channel. Released at same time as fixes to remaining fakesigning bugs. | v4633, v4864 |
| IOS52 | 22.29 | v5661 | Included with and used by Korean System Menu 3.5. | v5661 |
| IOS53 | 16.17, 20.29 | v4113, v5149 | Comes with Need for Speed Undercover. | v4113, v5149 |
| IOS55 | 18.25, 20.29 | v4633, v5149 | Comes with Need for Speed Undercover. Seems to have changes in the DI Module. | v4633, v5149 |
| IOS56 | 19.26 | v4890 | Used by the Wii Speak Channel 2.0. | v4890 |
| IOS60 | 24.30 | v6174 | Used by System Menu 4.0 | v6174 |
| IOS61 | 19.26 | 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. It's just copy of IOS9. | v2, v3 |