Difference between revisions of "IOS history"
(Didn't even finish the last edit somehow, finished it now)
|(One intermediate revision by the same user not shown)|
|Line 66:||Line 66:|
| ?, 3.0
| ?, 3.0
| <mark>?</mark>, v768
| <mark>?</mark>, v768
| Used by the Japanese version of [[System Menu 1.0]].
Revision as of 05:35, 10 October 2021
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, IOS40, IOS50, IOS60, IOS70). 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-64-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 small non-functional stub IOSes. This is so that they do not need to port security fixes to unused IOS slots, or in some cases, prevent private IOSes from being leaked and installed for older exploits, as ES refuses to install a title if an already-installed copy has a higher version number. Such IOSes have been marked as Mothballed.
A few IOSes above slot 200 were also stubbed in the 4.2 update, namely those commonly used by pirates. Nintendo's intentions are unclear, but they seem to have been attempting to overwrite the cIOS. However, this was trivially bypassed with version 65535 (most stubs, including the anti-cIOS ones, use version 65280). These IOSes have been marked as Preventative.
Highlighted versions are not available on NUS.
|IOS Number||Minor(s)||Version Number(s)||Notes||NUS Availability||Status|
|IOS2 (System Menu)||0.0, 0.1, 0.33, 0.64, 0.66, 0.97, 0.128, 0.130, 0.162, 0.192, 0.193, 0.194, 0.224, 0.225, 0.226, 1.0, 1.1, 1.2, 1.32, 1.33, 1.34, 1.70, 1.96, 1.97, 1.98, 1.128, 1.129, 1.130, 1.134, 1.160, 1.161, 1.162, 1.192, 1.193, 1.194, 1.198, 1.224, 1.225, 1.226, 1.230, 2.0, 2.1, 2.2, 2.6||v0, v1, v33, v64, v66, v97, v128, v130, v162, v192, v193, v194, v224, v225, v226, v256, v257, v258, v288, v289, v290, v326, v352, v353, v354, v384, v385, v386, v390, v416, v417, v418, v448, v449, v450, v454, v480, v481, v482, v486, v512, v513, v514, v518||The title ID used by the System Menu is what IOS2 would be, so the System Menu is in the IOS2 slot. Note that this is the only time a non-ARM binary is placed in an IOS slot. Switching to this slot loads the System Menu IOS.||v97, v128, v130, v162, v192, v193, v194, v224, v225, v226, v256, v257, v258, v288, v289, v290, v352, v353, v354, v384, v385, v386, v390, v416, v417, v418, v448, v449, v450, v454, v480, v481, v482, v486, v512, v513, v514, v518||Used for non-IOS purposes|
|IOS3||255.0||v65280||IOS3 is found as a stub on RVL-CPU-20 consoles, and appears to be used by newer versions of the 122E disc. The version number used by 122E is unknown.||Unavailable||Mothballed|
|IOS4||0.1, 0.3, 1.3, 255.0||v1, v3, v259, v65280||Previous versions only had minimal drivers (lacking KD, WL, WD, SSL), and were used during manufacturing. v3's timestamp is Aug 10, 2006; it was used by the Prelaunch System Menu present on pre-launch kiosk Wiis that shipped without a full System Menu. v259 is a stub found on some Korean Wiis. v1's existence is known through remnants in the Startup Disc NAND. v65280 is a stub; at one point, v3 was on CDN, likely by accident, but it was replaced with the stub version.||v65280||Mothballed|
|IOS5||255.0||v65280||The IOS5 going around the internet is a modded version of IOS21 and is not real, the legit IOS5 will probably never be seen. An IOS with the same title ID exists as a stub on some Wiis, probably for repair discs, much like IOS16||Unavailable||Mothballed|
|IOS9||0.1, 2.1, 2.4, 2.6, 2.8, 2.9, 3,10, 4.10, 5.10||v1, v513, v516, v518, v520, v521, v778, v1034, v1290||Has only one LED pattern: blinking. Used by System Menu 1.0 and launch games. v513 is a lost pre-release version. Version 1's internal timestamp is Aug 22 2006 13:46:28. v518 was at some point found on Korean Wiis.||v520, v521, v778, v1034||Active|
|IOS10||?, 3.0||?, v768||Used by the Japanese version of System Menu 1.0. Fixed an AOSS bug that was in IOS9.||v768||Mothballed|
|IOS11||0.10, 1.0||v10, v256||Internal timestamp says Nov 14 2006 16:26:01. Used by System Menu 2.0 and 2.1.||v10, v256||Mothballed|
|IOS12||0.6, 0.11, 0.12, 1.13, 2.13, 2.14, 3.14||v6, v11, v12, v269, v525, v526, v782||This IOS has an internal date of June 4, 2006; this would make it the earliest known IOS, however it appears that this is merely when a related source tree (possibly not even for this specific IOS) was created, not the actual build date of the binary for any publicly released version of this IOS.||v6, v11, v12, v269, v525, v526||Active|
|IOS13||0.10, 0.15, 0.16, 1.11, 4.7, 4.8, 5.8||v10, v15, v16, v273, v1031, v1032, v1288||Used by the "All Regions" titles of News, Forecast & Photo 1.0 Channels.||v10, v15, v16, v273, v1031, v1032||Active|
|IOS14||1.1, 1.6, 1.7, 2.8, 4.7, 4.8, 5.8||v257, v262, v263, v520, v1031, v1032, v1288||v262, v263, v520, v1031, v1032||Active|
|IOS15||1.1, 1.2, 1.3, 1.4, 1.9, 1.10, 2.11, 4.7, 4.8, 5.8||v257, v258, v259, v260, v265, v266, v523, v1031, v1032, v1288||Contains NAND BOOT PROGRAM (AKA NANDloader) - this was probably accidental.||v257, v258, v259, v260, v265, v266, v523, v1031, v1032||Active|
|IOS16||1.1, 2.0||v257, v512||Initially used by the 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 stub version was retracted from the Korean SOAP server 2 days after its original posting for unknown reasons. The System Menu 4.1 update for Korea added it back, along with stubbing IOS52.||v512||Mothballed|
|IOS17||2.0, 2.5, 2.6, 3.7, 4.7, 4.8, 5.8||v512, v517, v518, v775, v1031, v1032, v1288||v512, v517, v518, v775, v1031, v1032||Active|
|IOS20||0.12, 1.0||v12, v256||Feb 22 2007 04:25:59. Used by System Menu 2.2.||v12, v256||Mothballed|
|IOS21||2.2, 2.3, 2.4, 2.5, 2.10, 2.13, 3.14, 4.14, 4.15, 5.15||v514, v515, v516, v517, v522, v525, v782, v1038, v1039, v1295||Contains NAND BOOT PROGRAM. Most debugging messages are removed. Most commonly used for third-party titles.||v514, v515, v516, v517, v522, v525, v782, v1038, v1039||Active|
|IOS22||3.4, 3.9, 3.12, 4.13, 5.13, 5.14, 6.14||v772, v777, v780, v1037, v1293, v1294, v1550||v777, v780, v1037, v1293, v1294||Active|
|IOS28||5.8, 5.12, 5.13, 6.14, 7.14, 7.15, 8.15||v1288, v1292, v1293, v1550, v1806, v1807, v2063||Starting with IOS28, firmware got divided into 15 modules. Added some ioctls to /dev/es.||v1292, v1293, v1550, v1806, v1807||Active|
|IOS30||4.13, 4.15, 4.16, 10.16, 11.0||v1037, v1039, v1040, v2576, v2816||Added USB Keyboard support. Used by System Menu 3.0, 3.1, 3.2 and 3.3.||v1037, v1039, v1040, v2576, v2816||Mothballed|
|IOS31||4.13, 4.15, 4.16, 10.16, 12.16, 12.20, 13.21, 14.23, 14.24, 15.24||v1037, v1039, v1040, v2576, v3088, v3092, v3349, v3607, v3608, v3864||Used by regional titles for the News and Forecast Channels.||v1037, v1039, v1040, v2576, v3088, v3092, v3349, v3607, v3608||Active|
|IOS33||4.16, 11.14, 11.16, 12.19, 14.23, 14.24, 15.24||v1040, v2832, v2834, v3091, v3607, v3608, v3864||v1040, v2832, v2834, v3091, v3607, v3608||Active|
|IOS34||4.15, 12.15, 12.19, 13.20, 14.23, 14.24, 15.24||v1039, v3087, v3091, v3348, v3607, v3608, v3864||v1039, v3087, v3091, v3348, v3607, v3608||Active|
|IOS35||4.16, 12.16, 12.20, 13.21, 14.23, 14.24, 15.24||v1040, v3088, v3092, v3349, v3607, v3608, v3864||v1040, v3088, v3092, v3349, v3607, v3608||Active|
|IOS36||4.18, 12.18, 12.22, 13.23, 14.23, 14.24, 15.24||v1042, v3090, v3094, v3351, v3607, v3608, v3864||Used by many games/titles. A lot of Homebrew used to rely on this IOS.||v1042, v3090, v3094, v3351, v3607, v3608||Active|
|IOS37||8.22, 14.25, 14.28, 15.29 22.30, 22.31, 23.31||v2070, v3609, v3612, v3869, v5662, v5663, v5919||First IOS to fix the signature-checking function bug.||v2070, v3609, v3612, v3869, v5662, v5663||Active|
|IOS38||14.25, 14.26, 15.27, 16.27, 16.28, 17.28||v3609, v3610, v3867, v4123, v4124, v4380||Used by Animal Crossing: City Folk (non-Korean).||v3610, v3867, v4123, v4124||Active|
|IOS40||9.17, 11.19, 12.0||v2321, v2835, v3072||Only used on Korean Wiis by System Menu 3.3K. v3072 is a stub.||v3072||Mothballed|
|IOS41||9.16, 11.19, 12.19, 13.20, 14.22, 14.23, 15.23||v2320, v2835, v3091, v3348, v3606, v3607, v3863||Used in Korean system.||v2835, v3091, v3348, v3606, v3607||Active|
|IOS43||9.16, 11.19, 12.19, 13.20, 14.22, 14.23, 15.23||v2320, v2835, v3091, v3348, v3606, v3607, v3863||Used in Korean system.||v2835, v3091, v3348, v3606, v3607||Active|
|IOS45||9.16, 11.9, 12.19, 13.20, 14.22, 14.23, 15.23||v2320, v2835, v3091, v3348, v3606, v3607, v3863||Used in Korean system.||v2835, v3091, v3348, v3606, v3607||Active|
|IOS46||9.18, 11.21, 12.21, 13.22, 14.22, 14.23, 15.23||v2322, v2837, v3093, v3350, v3606, v3607, v3863||Used by Korean "Mario Kart Wii". Present in "Need for Speed: Undercover" (Korean) and in "Shin Chuuka Taisen: Michael to Meimei no Bouken" (Korean).||v2837, v3093, v3350, v3606, v3607||Active|
|IOS48||16.27, 16.28, 17.28||v4123, v4124, v4380||Used by Korean "Animal Crossing: City Folk". Bundled with System Menu 4.3K. Provides the same features as IOS38, but has a newer SDI module and an FFSP vs FFS module.||v4123, v4124||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, 23.0||v5661, v5888||Included with and used by System Menu 3.5 (exclusive to Korean Wiis).||v5661, v5888||Mothballed|
|IOS53||16.17, 20.29, 21.30, 22.30, 22.31, 23.31||v4113, v5149, v5406, v5662, v5663, v5919||v4113, v5149, v5406, v5662, v5663||Active|
|IOS55||18.25, 20.29, 21.30, 22.30, 22.31, 23.31||v4633, v5149, v5406, v5662, v5663, v5919||Seems to have changes in the DI Module.||v4633, v5149, v5406, v5662, v5663||Active|
|IOS56||19.26, 20.26, 21.29, 22.29, 22.30, 23.30||v4890, v5146, v5405, v5661, v5662, v5918||Used by the Wii Speak Channel 2.0 and some games. Used by the Wii Shop Channel update as of Sept. 7, 2010.||v4890, v5405, v5661, v5662||Active|
|IOS57||21.28, 22.29, 23.30, 23.31, 24.31||v5404, v5661, v5918, v5919, v6175||Contains new/updated modules "OHCI0, USB, USB_HID, USB_HUB, USB_MSC, USB_VEN, ETH".||v5404, v5661, v5918, v5919||Active|
|IOS58||23.30, 24.31, 24.32, 25.32||v5918, v6175, v6176, v6432||Comes with the game "Your Shape" to allow the USB camera to work. First and only IOS to support USB 2.0.||v6175, v6176||Active|
|IOS59||26.33, 28.33, 34.33, 36.33||v6689, v7201, v8737, v9249||Used by titles that require WFS functionality (Dragon Quest X and the USB Repair Channel).||v8737, v9249||Active|
|IOS60||24.30, 25.0||v6174, v6400||Used by System Menu 4.0 and System Menu 4.1. First IOS to support SDHC.||v6174, v6400||Mothballed|
|IOS61||19.26, 21.29, 22.29, 22.30, 23.30||v4890, v5405, v5661, v5662, v5918||Used by the Wii Shop Channel update that came with System Menu 4.0, 4.1 and 4.2. Also used by Photo Channel 1.1b. v5918 is the only IOS version exclusive to newer RVL-101 units, as IOS61 is missing on the vWii.||v4890, v5405, v5661, v5662||Active|
|IOS62||25.30||v6430||Used by the Wii U Transfer Tool, to allow it to change its UID (this version specifically whitelists that). The vWii versions (not listed here) have different whitelists.||v6430||Active|
|IOS70||26.31, 27.00||v6687, v6912||Used by System Menu 4.2.||v6687, v6912||Mothballed|
|IOS80||27.31, 27.32, 28.32||v6943, v6944, v7200||Used by System Menu 4.3.||v6943, v6944||Active|
|IOS254||0.2, 0.3, 1.04, 255.0||v2, v3, v260, v65280||Distributed along with all System Menus since 3.4 as a quick fix for PatchMii. It's just a copy of IOS9. As Nintendo released new versions of IOS9 this title also received updates.-ex v3 of IOS254 corresponds to IOS9 v521. v260 and v65280 are stubs.||v2, v3, v260, v65280||Preventative|
|IOS256 (BC)||0.0, 0.1, 0.2, 0.4, 0.5, 0.6||v0, v1, v2, v4, v5, v6||IOS slot 256 is used for BC, which is responsible for loading MIOS.||v2, v4, v5, v6||Active|
|IOS257 (MIOS)||0.0, 0.1, 0.4, 0.5, 0.8, 0.9, 0.10||v0, v1, v4, v5, v8, v9, v10||IOS slot 257 is used for MIOS, the IOS used in GameCube mode. Its main purpose is to allow the PowerPC to directly access GameCube hardware. Note that the MIOS binary contains both ARM and PowerPC code.||v4, v5, v8, v9, v10||Active|