IOS history: Difference between revisions

From WiiBrew
Jump to navigation Jump to search
Yossi (talk | contribs)
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
| 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.
| 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