IOS/Versions
This list only covers IOS releases for the Wii (RVL) platform. IOS bringup with an emulator is covered in RVL_EMU, and IOS bringup with a separate ARM board is covered in Versa.
Note: All 0.x releases have the title ID corresponding to IOS3, and as such can be referred to as versions of IOS3 even though their major version number is 0.
Note: Listed in order of build date where possible.
IOS List | |||||
---|---|---|---|---|---|
IOS | Description | ||||
0.0 (2006-03-09) | First release of IOS for RVL. This IOS was distributed as an image of 5 NAND blocks written using minimon with JTAG and debug boot using the Barnacle. Includes a simple test ELF tested on NDEV2 (which was still in early development at the time). | ||||
0.1 (2006-03-12) | Fixes ISFS Resource Manager to support Broadway applications using MEM1 (Napa) address space, as well as fixing a bug in the exception handler. The release also includes a PPC program to overwrite the first 5 NAND blocks with images stored on a host PC. Includes PPC NAND/ISFS tests. | ||||
0.2 (2006-03-13) | It is unknown what changes this release had from 0.1. | ||||
0.5 (2006-03-24) | Version numbers 0.3 and 0.4 excluded for unknown reasons. This release is described as a "Special Release for 64 MB GDDR3", with testing being performed on a single NDEV1 with 64MB GDDR (possibly considered a PP board). This release also adds bad block traversal in boot1 and includes a THP player demo. | ||||
0.6 (2006-04-15) | This release is the first to include full support for both 64 and 128MB memory sizes, with full dynamic detection. It also supports detection of Hollywood revisions 1.1x and 1.21 via DI straps, as well as disabling Napa refresh for ES1.21 systems and enabling the D-Cache in IOP. | ||||
0.6.1 | Mentioned in readme | ||||
0.6.5 | Mentioned in readme | ||||
0.7.5 RC1 (2006-05-26) | This release finalizes the boot sequence, introducing a new boot1 and boot2 as well as moving IOS onto the main data area of the NAND SFFS instead of being kept on the system area with boot1/2. As such, this release is now installed using a SWUpdate program rather than NAND flashing, although NAND flashing is still required to upgrade from a previous version. This release also adds support for Hollywood ES2.01, updated SD and USB drivers, a DI driver with crypto support, updated TCP/IP and USB Ethernet drivers, an updated ES component, updated boot info and support for new events to be used by STM. Additional changes to OS, DI, ISFS, TCP/IP and USB were made as well. | ||||
0.7.6 RC1 (2006-06-02) | Updated ES, USB, TCP/IP, DI, SDI (SD card/WiFi interface), and the arm-elf-merge tool. This is the first release to add support for ES play restrictions. | ||||
0.7.6 RC2 | 0.7.6 RC3 is a bug fix version of this release. | ||||
0.7.6 RC3 (2006-06-09) | Updated OS, ES, DI, SDI, and TCP/IP. Added the ability to specify an IOS version for a disc partition. | ||||
0.7.6 RC4 | It is unknown what changes this release had from 0.7.6 RC3. | ||||
0.7.7 RC1 | It is unknown what changes this release had from 0.7.6 RC3. | ||||
4.0.0 (IOS4v0)
2006-07-08 |
Release candidate for IOS4. Has changes including full support for GameCube compatibility mode with included MIOS and the ability to publish GameCube NAND titles (which was never used by Nintendo). | ||||
4.0.1 (IOS4v1) 2006-07-20 | Changes including the DVD-Video support flag in TMD becoming functional. | ||||
4.0.2 (IOS4v2)
2006-07-31 |
Changes including support for Hynix NAND flash and thread count increased to 68. | ||||
4.0.3 (IOS4v3)
2006-08-10 |
Bugfix release. Notably used by the Startup Disc Menu and Revolution SDK 2.1. | ||||
IOS4v259 | Unknown version of IOS4 found on Korean Wiis. | ||||
IOS4v65535 | Stub IOS | ||||
9.0.0 (IOS9v0) 2006-08-13 | Release candidate for IOS9. Has improved ES launch time, 100 threads, 24 sockets, new FS API and other changes/bugfixes. This release is notable for improving the ES launch time by disabling ticket/TMD verification on NAND title launch, causing one of the Wii's largest security holes which was exploited repeatedly by hackers throughout the Wii's lifecycle for persistent system modifications and code execution. | ||||
9.0.1 (IOS9v1) | Present on Wii Startup Disc console NAND and possibly used by the Wii Startup Disc, also possibly a version number change of IOS9v0 or another IOS. | ||||
9.1.0 (IOS9) 2006-08-31 | Bugfix release. | ||||
12.0.0
(IOS12v0) 2006-10-25 |
Bugfix release. IOS12 is not the first IOS as has been mistakenly believed due to a build tag. | ||||
18.0.0 (IOS18v0)
2007-02-07 |
Release candidate for IOS18. Bugfix release. | ||||
18.0.2
(IOS18) |
Unknown | ||||
18.3.0
(IOS18) 2007-04-04 |
Bugfix release. | ||||
30.4.0
(IOS30) 2007-04-13 |
Bugfix release. | ||||
IOS9v513 | |||||
IOS9v516 | Used by Wii System Menu v1.0 (except Japanese version) | ||||
IOS4 | |||||
IOS5 | IOS5 is the first in a series of mysterious IOSes only known to exist through their being referenced in a series of SDK DDF files in the extended SDK. These DDF files only include the IOS version numbers and title IDs, and as such no further details are known, however it can be assumed that IOS5-8 were all early internal development versions of IOS9, as there is no evidence of them being distributed to developers. IOS5 in particular is notable for allegedly being included as a stub on some Wiis; if this is true, it is possible that it is used for a factory tool on certain Wiis just as with IOS3. However, this IOS5 stub is currently not available. There is also a version of IOS21 using the IOS5 title ID (or at least filename, things haven't been very throughly tested), however it is most likely an unofficial fake and has no relation to the actual IOS5. | ||||
IOS6 | IOS6 is another IOS only known through its mention in DDF files. Nothing else is known. This IOS does not have a "noFW" DDF, only a "FW" DDF. | ||||
IOS7 | Same as IOS6. | ||||
IOS8 | Same as above, but this IOS does not have a noFW DDF like IOS5. This IOS is mentioned in a SDK document, specifically being mentioned in the documents for a Wi-Fi library confirming that version 8.2.3 (v515) existed as of October 5, 2006 and was installed through a standard NDEV update program. As such, it was likely used for networking functionality during the late phases of the Wii's development. | ||||
IOS9 | |||||
IOS10 | IOS10 was used around the same time as IOS9 as essentially a development variant of IOS9, and was even compatible with both the devkit and retail system menus from that time. A stub of it exists on some retail Wiis with an odd version number, which allegedly came from an update; however, it's unclear why this stub was distributed as the functional version of this IOS should never have reached retail Wiis at any point. Apparently, the stub IOS10 was also the first stub IOS ever released, and the origin of the standard stub IOS dummy contents. | ||||
IOS11 | IOS used by System Menu 2.0 and possibly 2.1, dated Nov 14 2006. v256 is a stub, it's unknown why. | ||||
IOS13 | Used by some early channels (Photo 1.0/Mii), as well as being set in the TMD for the dummy Forecast/News Channels. | ||||
IOS14 | Generic IOS. | ||||
IOS15 | Notable for containing "NANDloader" (aka the NAND BOOT PROGRAM), a development tool, likely by accident; it was also used by an old homebrew app known as Trucha Bug Restorer. Other than that, it is a generic IOS. | ||||
IOS16 | IOS16 is an IOS which was distributed only on the update partition of the Wii Backup Disc versions 1.30 and 1.31, and possibly other internal repair discs as well. The exact reasoning for this IOS's existence is unknown, since it's essentially just IOS15 with very minor changes; regardless, the IOS is notable for being non-retail and also for being used for hacking purposes after the 4.0 update patched all other IOSes, as IOS16 was leaked from a scene release of the Wii Backup Disc but Nintendo failed to release a stub update until after modders already began to use it. v512 is a stub created for said reasons. It's unknown what Nintendo did for repair discs after IOS16 got stubbed, however since the stub isn't max version, it's possible they just patched it and bumped the version number, or stopped using it entirely. Notably, not long after the stub was posted to NUS, it was removed from the Korean NUS, then readded at the same time as the System Menu 4.1 update. It is possible that there was internal uncertainty over if the IOS slot was used for other purposes in some Korean Wiis as with IOS4, or other such uncertainty over internal titles and their IOS usage. | ||||
IOS17 | Used by some early games, such as Super Paper Mario. | ||||
IOS20 | IOS used by System Menu 2.2, dated Feb 22 2007. As with IOS11, v256 is a stub. | ||||
IOS21 | IOS commonly used by third party games. | ||||
IOS22 | The earliest version of this IOS was only distributed through early disc updates and was never put on NUS; otherwise, it's a generic IOS. | ||||
IOS28 | Notable for being the first IOS to introduce a new codebase where all functionality is split up into modules; previously, the internal structure was much more flat and simplistic. It also added some functionality to the ES module. | ||||
IOS30 | IOS used by System Menu 3.0 through 3.4, and was the first IOS to add USB keyboard support. v2816 is a stub, which is odd considering its version number does not resemble the typical stub version number which is usually 256, 512 or max version. Back when it was being used for new System Menu versions, each new menu version brought a new version of the IOS, and it was otherwise not updated. | ||||
IOS31 | Used by the current versions of some channels such as Forecast/News/Mii/Photo 1.1. | ||||
IOS33 | Generic IOS. | ||||
IOS34 | Generic IOS. At some point around late 2009, it was the main IOS used by the then-latest version of the HackMii Installer as long as the IOS had not been modified. | ||||
IOS35 | Generic IOS, used by several games such as Super Mario Galaxy and one of the Call of Duty games. | ||||
IOS36 | Notable for being used by several prolific first-party games such as Mario Kart Wii and Brawl (aside from the Korean versions of said games, which use other IOSes; the Korean version of Mario Kart Wii uses IOS46, but it's unknown IOS version Korean Brawl uses), as well as being frequently used by homebrew. Notably, no development version of it has been found, despite development versions of IOS35 and 37 being common. It's possible that this IOS was used only by Nintendo internally, and specific external studios to which it was given privately, as it was used for both first and third party games. The reason is unknown, since it doesn't seem to have any noteworthy functionality and even its networking capabilities were also possible with other IOSes which were released to developers at the time. Its Korean counterpart, as suggested previously, is IOS46. | ||||
IOS37 | Known for being the first IOS branch to fix the signing bug on March 21, 2008, before it was deployed to all active IOSes in an update on October 28, 2008. Used by some WiiWare and older Guitar Hero/Rock Band games. | ||||
IOS38 | Used by Animal Crossing: City Folk (aside from the Korean version which uses IOS48, presumably the Korean counterpart to this IOS); notable for being one of the few IOSes to support Wii Speak. Along with IOS55, it is required and installed by the Wii Speak Channel. | ||||
IOS40 | Notable for being used by the Korean version of System Menu 3.3 (the first System Menu release in Korea); v2835 is missing, v2321 (the earliest version) is not on NUS and was found extracted from a console, and, oddly, a stub version v3072 was released on NUS for unknown reasons. It's currently unknown if this IOS was exclusive to Korea or not. | ||||
IOS41 | Used by Korean Wiis. It's unknown if this IOS was exclusive to Korean Wiis or not. | ||||
IOS43 | Same as above. | ||||
IOS45 | Same as above. | ||||
IOS46 | Used by Korean Mario Kart Wii, as opposed to IOS36 which is used in other versions of Mario Kart Wii; it's possible that, like the below IOS48, the 4* series was meant to provide Korean counterparts to international IOSes, and IOS46 was the Korean counterpart to IOS36. This IOS is also present in and possibly used for the Korean versions of "Need for Speed Undercover" and "Shin Chuukadaisen". | ||||
IOS48 | Used by Korean Animal Crossing: City Folk, and bundled with the Korean version of System Menu 4.3. Presumably the Korean counterpart to IOS38, as both IOSes are used primarily for Animal Crossing. In addition, it appears to include mostly the same features as IOS38, except for a newer SDI module and a FFSP instead of a FFS module. It is unknown if it includes Wii Speak support like IOS38. | ||||
IOS50 | System Menu 3.4 IOS, first released with the update on November 17, 2008. Stubbed with v5120. | ||||
IOS51 | IOS for the shop channel released with 3.4, released at the same time as the aforementioned October 23, 2008 update which patched the fakesigning bug in most IOSes. Stubbed with v4864 as part of the System Menu 4.0 update. | ||||
IOS52 | IOS for the Korean-exclusive System Menu 3.5, introduced along with it. It's unknown why this System Menu version exists, or this IOS. Stubbed with v5888. | ||||
IOS53 | Used by assorted WiiWare and disc games, such as New Super Mario Bros. Wii and Big Beach Sports 2. According to WiiBrew, it was initially distributed alongside IOS55 with numerous third-party games. Monster Hunter Tri reportedly needs v5406 to work. | ||||
IOS55 | IOS used often by newer disc games, including changes in the DI module, Wii Speak support, and support for Logitech USB steering wheels. It was frequently either used or required but not used by games due to its wide array of features; the Wii Speak Channel required and installed it along with IOS38, although it's unknown which one was actually set in the channel's TMD. One particularly notable example of a game which requires it is The Conduit, a Wii game which uses Wii Speak and requires the IOS as a result. It is also required by Need for Speed: Undercover, presumably due to its USB steering wheel peripheral. It is also used by first party games, including Wii Sports Resort. It is notable for causing behavior where, if a game which requires the IOS, but does not specify it in its TMD is launched without the IOS being present, Error 002 will trigger. In addition, Monster Hunter Tri reportedly needs v5406 to work. | ||||
IOS56 | Used by some games such as Club Penguin: Game Day and Super Mario Galaxy 2, in addition to the Wii Speak Channel 2.0 (indicating Wii Speak support), and Wii Shop Channel v20 released on September 7, 2010. v5146 was never uploaded to NUS, and is only available on discs. | ||||
IOS57 | Added additional USB drivers for USB 1.1, HID devices, hubs, Ethernet, and mass storage devices; was allegedly never used in any games, but was updated 3 times. | ||||
IOS58 | IOS including support for USB 2.0 and USB camera through the CAM Module; was apparently only ever used in one commercial game (Your Shape from Ubisoft) as well as being bundled with the System Menu 4.3 update for unknown reasons, but was/is very widely used by homebrew due to being considered the most "modern" IOS because of its USB2.0 support. Is used by the HBC as of 1.0.8, and is the automatic IOS of most modern homebrew. It should be noted that the first version of the IOS, v5918, was only available on the Your Shape game disc, and the first version to be uploaded to NUS was v6175. Another update, v6176, was released later. This version was only available to third-parties through special request. | ||||
IOS59 | Used only by Dragon Quest X, an MMORPG for the Wii notable for featuring off-disc game storage and network updates, features also not seen by any other Wii game. This IOS facilitates those features by adding modules for installing and handling content on an external USB drive, the only IOS to feature official support for this. It should be noted that WFS, the USB filesystem which this IOS handles, is an early version of the filesystem later used for Wii U USB devices, and that the earliest publicly available implementation of it is present in v6689 of this IOS, the first version of it which was present in the beta test for Dragon Quest X. v7201 was the first final version available on the final Dragon Quest X game disc, but was not uploaded to NUS. However, v9249, and possibly v8737, are present on NUS. It is also used for the USB Repair Channel associated with Dragon Quest X. | ||||
IOS60 | System Menu 4.0/4.1 IOS, containing 15 content parts in addition to the ticket and TMD. Stubbed with v6400. "FreeTheBugged" is a patched version of some type, possibly to restore the signing bug. | ||||
IOS61 | Used by some channels such as Photo Channel 1.1 v3 and higher, and older versions of the HBC (1.0.7 and earlier) before IOS58 was adopted. Formerly used by the versions of the Wii Shop Channel included with System Menus 4.0 through 4.2. | ||||
IOS62 | Released along with Wii Shop v21, but is not used by it; instead, it's used for the both the Wii U Transfer and Wii System Transfer Tool. Released November 6, 2012, before the Wii U launch date. | ||||
IOS70 | System Menu 4.2 IOS, first to include functionality that can determine if a Korean system has been region changed, which is used by System Menu 4.2 to brick these consoles by displaying Error 003. Breaks Preloader installation, although Priiloader fixed this. Stubbed with v6912. A "FreeTheBugged" version is also present. | ||||
IOS80 | System Menu 4.3 IOS. Likely includes the same region change protection as IOS70, and is likely overall similar to it. | ||||
IOS202 | Old Hermes cIOS used for USB support in old media player apps. Was never stubbed by Nintendo. | ||||
IOS222 | Hermes cIOS used primarily for piracy. Stubbed by Nintendo with v65280, which was bundled with 4.2. | ||||
IOS223 | Same as above. | ||||
IOS224 | Same as above. | ||||
IOS236 | A copy of IOS36 with patches applied, used for hacking purposes with older hacking methods. No Nintendo stub exists. | ||||
IOS249 | Common slot for cIOS, including Waninkoko and d2x. Stubbed as with 222/223. | ||||
IOS250 | Same as above. | ||||
IOS251 | Same as above. | ||||
IOS254 | Formerly used by an old hacking tool known as PatchMii as a temporary IOS and always used for BootMii as an IOS, Nintendo replaced it with a copy of IOS9 under v2 with the 3.4 update, then continued to give the IOS periodic updates that were just copies of the new versions of IOS9; this behavior is extremely odd, and was not used for any other IOS, so it's unknown why this was done or why IOS9 was chosen. Was eventually stubbed normally as with the other cIOSes with the 4.3 update. In addition to PatchMii, BootMii as an IOS also installs into the slot, with some versions of BootMii using v31338 and others using v65281. | ||||
IOS255 | Unknown, believed to be a leftover IOS created by the xyzzy key dumper. |