Difference between revisions of "IOS History"

From WiiBrew
Jump to navigation Jump to search
m (2835 is not 2385, removed NFS: Undercover System Menu message, revised IOS16 a bit.)
(Added the interesting fact that switching to IOS2 loads sysmenu IOS, and that highlighted versions are not available on NUS.)
 
(92 intermediate revisions by 30 users not shown)
Line 1: Line 1:
This page is intended to track changes in [[IOS]] ( the operating system that runs on [[Starlet]]) such as: added features, bug fixes, etc.
+
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.
 
It will also cover what different minor versions are known to exist.
  
 +
=== Overview ===
 
The Title ID of the IOSes follow this convention "00000001-000000xx" where xx is the IOS number in hexadecimal.
 
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.
+
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.
  
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 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.
+
=== Placeholders ===
 +
As of late 2008, Nintendo has been replacing some versions of IOS with small non-functional "place holder" IOSes. This is to prevent the reuse of the IOS "slot" for software other than official Nintendo Software which utilized that IOS number.
 +
Nintendo can come back at a later date if necessary and "reuse" an IOS slot at their own discretion by simply increasing the version number of the title and replacing it with a functional IOS once again. These IOSes have been marked as '''Mothballed''' on the table denoting that Nintendo may have planned on reusing them during the Wii's lifetime.
  
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).
+
== Version Table ==
 +
Highlighted versions are not available on NUS.
  
 
{| class="wikitable"
 
{| class="wikitable"
!width="10%" |Major
+
!width="10%" |IOS Number
 
!width="10%" |Minor(s)
 
!width="10%" |Minor(s)
 
!width="20%" |Version Number(s)
 
!width="20%" |Version Number(s)
 
!width="40%" |Notes
 
!width="40%" |Notes
 
!width="20%" |NUS Availability
 
!width="20%" |NUS Availability
 +
!width="20%" |Status
 +
|-
 +
| IOS1 ([[boot2]])
 +
| 0.0, 0.1, 0.2, 0.3, 0.4
 +
| <mark>v0</mark>, <mark>v1</mark>, <mark>v2</mark>, <mark>v3</mark>, v4
 +
| The title ID where IOS1 would be is used by boot2, so the only "IOS" in slot 1 is boot2.
 +
| v4
 +
| Used for non-IOS purposes
 +
|-
 +
| IOS2 ([[System Menu]])
 +
| ?
 +
| ?
 +
| 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.
 +
| ?
 +
| Used for non-IOS purposes
 
|-
 
|-
 
| [[IOS3]]
 
| [[IOS3]]
| 255.0
+
| 0.7.6, 255.0
| v65280
+
| <mark>v1798</mark>, <mark>v65280</mark>
| Non-functional "stub"?
+
| Despite the version being 0.7.6 as seen in the SDK, the titleid is IOS3. IOS in beta used the IOS0 title id, then as it neared release they changed to IOS3. Later on it changed to IOS4 which is the first one that got shipped at retail. IOS3 is used in the factory and comes preinstalled as a stub on some wiis because of it; later version is a stub. The older version is lost but we know it exists because SDK.
 
| Unavailable
 
| Unavailable
 +
| Mothballed
 
|-
 
|-
 
| [[IOS4]]
 
| [[IOS4]]
| 0.3, 1.3, 255.0
+
| 0.1, 0.3, 1.3, 255.0
| v3, v259, v65280
+
| <mark>v1</mark>, <mark>v3</mark>, <mark>v259</mark>, 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 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 was used on Korean Wiis at some point, although it is unknown what, if any, purpose it served. 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
 
| v65280
 +
| Mothballed
 +
|-
 +
| [[IOS5]]
 +
| 255.0
 +
| <mark>v65280</mark>
 +
| We only know it exists because it's listed in the SDK. The IOS5 going around the internet is a modded version of [[IOS21]] and is not real, the legit IOS5 will probably never be found. IOS with the same titleid exists as stub on some Wiis, probably same situation as IOS3 above where it's used for factory titles or possibly due to the aforementioned hack distributed under the IOS5 title ID.
 +
| Lost
 +
| Never Released
 +
|-
 +
| [[IOS6]]
 +
| ?
 +
| ?
 +
| We only know it exists because it's listed in the SDK. Will probably never be found.
 +
| Lost
 +
| Never Released
 +
|-
 +
| [[IOS7]]
 +
| ?
 +
| ?
 +
| We only know it exists because it's listed in the SDK. Will probably never be found.
 +
| Lost
 +
| Never Released
 +
|-
 +
| [[IOS8]]
 +
| ?
 +
| ?
 +
| We only know it exists because it's listed in the SDK. Will probably never be found.
 +
| Lost
 +
| Never Released
 
|-
 
|-
 
| [[IOS9]]
 
| [[IOS9]]
| 2.4, 2.6, 2.8, 2.9
+
| 0.1, 2.1, 2.4, 2.6, 2.8, 2.9, 4.10
| v516, v518, v520, v521
+
| <mark>v1</mark>, <mark>v513</mark>, <mark>v516</mark>, <mark>v518</mark>, v520, v521, v778, v1034
| Has only one LED pattern: blinking. First "normal" IOS version.
+
| Has only one LED pattern: blinking. First "normal" IOS version. Used by [[System Menu 1.0]] and launch games. v513 is a lost pre-release version, listed in SDK. Version 1's internal timestamp is Aug 22 2006 13:46:28.  v518 was at some point found on Korean Wiis.
| v520, v521
+
| v520, v521, v778, v1034
 +
| Active
 
|-
 
|-
 
| [[IOS10]]
 
| [[IOS10]]
| 3.0
+
| ?, 3.0
| v768
+
| <mark>?</mark>, v768
|  
+
| First "stub" IOS. Origin of the shared contents used by all subsequent "stub / mothballed" IOSes. Used as a System Menu IOS on devkits and used by the Japanese version of [[System Menu 1.0]].
 
| v768
 
| v768
 +
| Mothballed
 
|-
 
|-
 
| [[IOS11]]
 
| [[IOS11]]
 
| 0.10, v1.0
 
| 0.10, v1.0
 
| v10, v256
 
| v10, v256
| Internal timestamp says Nov 14 2006 16:26:01
+
| Internal timestamp says Nov 14 2006 16:26:01. Used by [[System Menu 2.0]].
 
| v10, v256
 
| v10, v256
 +
| Mothballed
 
|-
 
|-
 
| [[IOS12]]
 
| [[IOS12]]
| 0.6, 0.11, 0.12
+
| 0.6, 0.11, 0.12, 1.13, 2.13
| v6, v11, v12
+
| v6, v11, v12, v269, v525, v526
|  
+
| 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
+
| v6, v11, v12, v269, v525, v526
 +
| Active
 
|-
 
|-
 
| [[IOS13]]
 
| [[IOS13]]
| 0.10, 0.15, 0.16
+
| 0.10, 0.15, 0.16, 1.11, 4.7
| v10, v15, v16
+
| v10, v15, v16, v273, v1031, v1032
|  
+
| Used by the "All Regions" title of News, Weather & Photo 1.0 Channels
| v10, v15, v16
+
| v10, v15, v16, v273, v1031, v1032
 +
| Active
 
|-
 
|-
 
| [[IOS14]]
 
| [[IOS14]]
| 1.1, 1.6, 1.7
+
| 1.1, 1.6, 1.7, 2.8, 4.7
| v257, v262, v263
+
| <mark>v257</mark>, v262, v263, v520, v1031, v1032
 
|  
 
|  
| v262, v263
+
| v262, v263, v520, v1031, v1032
 +
| Active
 
|-
 
|-
 
| [[IOS15]]
 
| [[IOS15]]
| 1.1, 1.2, 1.3, 1.4, 1.9, 1.10
+
| 1.1, 1.2, 1.3, 1.4, 1.9, 1.10, 2.11, 4.7
| v257, v258, v259, v260, v265, v266
+
| v257, v258, v259, v260, v265, v266, v523, v1031, v1032
 
| Contains NAND BOOT PROGRAM (AKA NANDloader) -- this was probably accidental
 
| Contains NAND BOOT PROGRAM (AKA NANDloader) -- this was probably accidental
| v257, v258, v259, v260, v265, v266
+
| v257, v258, v259, v260, v265, v266, v523, v1031, v1032
 +
| Active
 
|-
 
|-
 
| [[IOS16]]
 
| [[IOS16]]
 
| 1.1, 2.0
 
| 1.1, 2.0
| v257, v512
+
| <mark>v257</mark>, v512
| 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. It is now a stub not unlike IOS3, IOS4 and retired System Menu IOSes which Nintendo no longer uses for their products.
+
| Initially used for [[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 [https://wii.marcan.st/wiimpersonator/reports/wii/KOR/20090327-080013.log was retracted] from the Korean SOAP server 2 days after [https://wii.marcan.st/wiimpersonator/reports/wii/KOR/20090325-100223.log its original posting] for unknown reasons. The [[System Menu 4.1]] update for Korea [https://wii.marcan.st/wiimpersonator/reports/wii/KOR/20090730-041014.log added it back], along with stubbing IOS52.
 
| v512
 
| v512
 +
| Mothballed
 
|-
 
|-
 
| [[IOS17]]
 
| [[IOS17]]
| 2.0, 2.5, 2.6
+
| 2.0, 2.5, 2.6, 4.7
| v512, v517, v518
+
| v512, v517, v518, v775, v1031, v1032
 
|  
 
|  
| v512, v517, v518
+
| v512, v517, v518, v775, v1031, v1032
 +
| Active
 
|-
 
|-
 
| [[IOS20]]
 
| [[IOS20]]
 
| 0.12, 1.0
 
| 0.12, 1.0
| v12, v256
 
| Feb 22 2007 04:25:59
 
 
| v12, v256
 
| v12, v256
 +
| Feb 22 2007 04:25:59 Used by [[System Menu 2.2]].
 +
| v12, v256
 +
| Mothballed
 
|-
 
|-
 
| [[IOS21]]
 
| [[IOS21]]
| 2.2, 2.5
+
| 2.2, 2.5, 2.6, 2.7, 2.10, 2.13, 4.14
| v514, v515, v516, v517, v522, v525
+
| v514, v515, v516, v517, v522, v525, v782, v1038, v1039
 
| Contains NAND BOOT PROGRAM. Most debugging messages are removed. Most common for third-party titles.
 
| Contains NAND BOOT PROGRAM. Most debugging messages are removed. Most common for third-party titles.
| v514, v515, v516, v517, v522, v525
+
| v514, v515, v516, v517, v522, v525, v782, v1038, v1039
 +
| Active
 
|-
 
|-
 
| [[IOS22]]
 
| [[IOS22]]
| 3.4, 3.9
+
| 3.4, 3.9, 3.10, 4.13, 5.13
| v772, v777, v780
+
| <mark>v772</mark>, v777, v780, v1037, v1293, v1294
 
|  
 
|  
| v777, v780
+
| v777, v780, v1037, v1293, v1294
 +
| Active
 
|-
 
|-
 
| [[IOS28]]
 
| [[IOS28]]
| 5.8, 5.12
+
| 5.8, 5.12, 5.13, 6.14, 7.14
| v1288, v1292, v1293
+
| <mark>v1288</mark>, v1292, v1293, v1550, v1806, v1807
| Starting with IOS28, firmware is divided into 15 modules.  Added some ioctls to [[/dev/es]].
+
| Starting with IOS28, firmware is divided into 15 modules.  Added some ioctls to [[:/dev/es]].
| v1292, v1293
+
| v1292, v1293, v1550, v1806, v1807
 +
| Active
 
|-
 
|-
 
| [[IOS30]]
 
| [[IOS30]]
| 4.15, 4.16, 11.0
+
| 4.13, 4.15, 4.16, 10.16, 11.0
 
| v1037, v1039, v1040, v2576, v2816
 
| 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.
+
| Added USB Keyboard support. Used by many previous versions of the System Menu.
 
| v1037, v1039, v1040, v2576, v2816
 
| v1037, v1039, v1040, v2576, v2816
 +
| Mothballed
 
|-
 
|-
 
| [[IOS31]]
 
| [[IOS31]]
| 4.15, 4.16, 12.16
+
| 4.13, 4.15, 4.16, 10.16, 12.16, 12.20, 13.21, 14.23
| v1037, v1039, v1040, v2576, v3088, v3092
+
| v1037, v1039, v1040, v2576, v3088, v3092, v3349, v3607, v3608
| Now contains a backport of the IOS37 hash comparison bugfix.
+
| Used by News/Weather/Photo 1.1 channel
| v1037, v1039, v1040, v2576, v3088, v3092
+
| v1037, v1039, v1040, v2576, v3088, v3092, v3349, v3607, v3608
 +
| Active
 
|-
 
|-
 
| [[IOS33]]
 
| [[IOS33]]
| 4.16, 11.16
+
| 4.16, 11.14, 11.16, 12.19, 14.23
| v1040, v2832, v2384
+
| v1040, v2832, v2834, v3091, v3607, v3608
 
|  
 
|  
| v1040, v2382, v2384
+
| v1040, v2832, v2834, v3091, v3607, v3608
 +
| Active
 
|-
 
|-
 
| [[IOS34]]
 
| [[IOS34]]
| 4.15, 12.15
+
| 4.15, 12.15, 12.19, 13.20, 14.23
| v1039, v3087, v3091
+
| v1039, v3087, v3091, v3348, v3607, v3608
 
|  
 
|  
| v1039, v3087, v3091
+
| v1039, v3087, v3091, v3348, v3607, v3608
 +
| Active
 
|-
 
|-
 
| [[IOS35]]
 
| [[IOS35]]
| 4.16
+
| 4.16, 12.16, 12.20, 13.21, 14.23
| v1040, v3088, v3092
+
| v1040, v3088, v3092, v3349, v3607, v3608
|  
+
|
| v1040, v3088, v3092
+
| v1040, v3088, v3092, v3349, v3607, v3608
 +
| Active
 
|-
 
|-
 
| [[IOS36]]
 
| [[IOS36]]
| 4.18, 12.18
+
| 4.18, 12.18, 12.22, 13.23, 14.23
| v1042, v3090, v3094
+
| v1042, v3090, v3094, v3351, v3607, v3608
|  
+
| Used by Mario Kart Wii (non-Korean) and Super Smash Bros Brawl (non-Korean)
| v1042, v3090, v3094
+
| v1042, v3090, v3094, v3351, v3607, v3608
 +
| Active
 
|-
 
|-
 
| [[IOS37]]
 
| [[IOS37]]
| 8.22, 14.25
+
| 8.22, 14.25, 14.28, 22.30
| v2070, v3609, v3612
+
| v2070, v3609, v3612, v3869, v5662, v5663
 
| First to fix the [[Signing bug|signature-checking function bug]]
 
| First to fix the [[Signing bug|signature-checking function bug]]
| v2070, v3609, v3612
+
| v2070, v3609, v3612, v3869, v5662, v5663
 +
| Active
 
|-
 
|-
 
| [[IOS38]]
 
| [[IOS38]]
| 14.19
+
| 14.19, 14.20, 16.27
| v3609, v3610
+
| <mark>v3609</mark>, v3610, v3867, v4123, v4124
| Introduced with ''Animal Crossing: City Folk''. Not yet analyzed but may have something to do with WiiSpeak.
+
| Used by Animal Crossing: City Folk (non-Korean)
| v3610
+
| v3610, v3867, v4123, v4124
 +
| Active
 
|-
 
|-
 
| [[IOS40]]
 
| [[IOS40]]
|  
+
| 9.17, 11.19, 12.0
| v2321, v2835, v3072
+
| <mark>v2321</mark>, <mark>v2835</mark>, v3072
 
| Present in Korean system.
 
| Present in Korean system.
 
| v3072
 
| v3072
 +
| Mothballed
 
|-
 
|-
 
| [[IOS41]]
 
| [[IOS41]]
|  
+
| 9.16, 11.19, 12.19, 13.20, 14.22
| v2320, v2835
+
| <mark>v2320</mark>, v2835, v3091, v3348, v3606, v3607
 
| Present in Korean system.
 
| Present in Korean system.
| v2835
+
| v2835, v3091, v3348, v3606, v3607
 +
| Active
 
|-
 
|-
 
| [[IOS43]]
 
| [[IOS43]]
|  
+
| 9.16, 11.19, 12.19, 13.20, 14.22
| v2320, v2835
+
| <mark>v2320</mark>, v2835, v3091, v3348, v3606, v3607
 
| Present in Korean system.
 
| Present in Korean system.
| v2835
+
| v2835, v3091, v3348, v3606, v3607
 +
| Active
 
|-  
 
|-  
 
| [[IOS45]]
 
| [[IOS45]]
|  
+
| 9.16, 11.9, 12.19, 13.20, 14.22
| v2320, v2835
+
| <mark>v2320</mark>, v2835, v3091, v3348, v3606, v3607
 
| Present in Korean system.
 
| Present in Korean system.
| v2835
+
| v2835, v3091, v3348, v3606, v3607
 +
| Active
 
|-  
 
|-  
 
| [[IOS46]]
 
| [[IOS46]]
|  
+
| 9.18, 11.21, 12.21, 13.22, 14.22
| v2322, v2837
+
| <mark>v2322</mark>, v2837, v3093, v3350, v3606, v3607
| Present in "Need for Speed Undercover" and in "Shin Chuukadaisen" Korean.
+
| Used by Korean Mario Kart Wii. Present in "Need for Speed Undercover" and in "Shin Chuukadaisen" Korean.
| v2837
+
| v2837, v3093, v3350, v3606, v3607
 +
| Active
 +
|-
 +
| [[IOS48]]
 +
| 16.27
 +
| v4123, v4124
 +
| Used by Korean Animal Crossing: City Folk. Bundled with [[System Menu 4.3]]K provides the same features as [[IOS38]] but has a newer SDI module and an FFSP vs FFS module.
 +
| v4123, v4124
 +
| Active
 
|-
 
|-
 
| [[IOS50]]
 
| [[IOS50]]
| 19.25
+
| 19.25, 20.0
 
| v4889, v5120
 
| v4889, v5120
 
| Came with the November 17, 2008 update. Used by [[System Menu 3.4]].
 
| Came with the November 17, 2008 update. Used by [[System Menu 3.4]].
 
| v4889, v5120
 
| v4889, v5120
 +
| Mothballed
 
|-
 
|-
 
| [[IOS51]]
 
| [[IOS51]]
| 18.25
+
| 18.25, 19.0
 
| v4633, v4864
 
| v4633, v4864
 
| Used by a previous Shop Channel. Released at same time as fixes to remaining fakesigning bugs.
 
| Used by a previous Shop Channel. Released at same time as fixes to remaining fakesigning bugs.
 
| v4633, v4864
 
| v4633, v4864
 +
| Mothballed
 
|-
 
|-
 
| [[IOS52]]
 
| [[IOS52]]
|  
+
| 22.29, 23.0
| v5661
+
| v5661, v5888
| Included with and used by Korean [[System Menu 3.5]].
+
| Included with and used by [[System Menu 3.5]] for Korean Wiis.
| v5661
+
| v5661, v5888
 +
| Mothballed
 
|-
 
|-
 
| [[IOS53]]
 
| [[IOS53]]
 +
| 16.17, 20.29, 21.30, 22.30
 +
| v4113, v5149, v5406, v5662, v5663
 
|  
 
|  
| v4113, v5149
+
| v4113, v5149, v5406, v5662, v5663
| Comes with Need for Speed Undercover.
+
| Active
| v4113, v5149
 
 
|-
 
|-
 
| [[IOS55]]
 
| [[IOS55]]
|  
+
| 18.25, 20.29, 21.30, 22.30, 22.31
| v4633, v5149
+
| v4633, v5149, v5406, v5662, v5663
| 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.
+
| Seems to have changes in the DI Module.
| v4633, v5149
+
| v4633, v5149, v5406, v5662, v5663
 +
| Active
 
|-
 
|-
 
| [[IOS56]]
 
| [[IOS56]]
 +
| 19.26, 20.26, 21.29, 22.29
 +
| v4890, <mark>v5146</mark>, v5405, v5661, v5662
 +
| 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, 21.51, 22.29, 23.30
 +
| v5404, v5661, v5918, v5919
 +
| Contains new or updated modules "OHCI0 USB USB_HID USB_HUB USB_MSC USB_VEN ETH"
 +
| v5404, v5661, v5918, v5919
 +
| Active
 +
|-
 +
| [[IOS58]]
 +
| 23.30, 24.31
 +
| <mark>v5918</mark>, v6175, v6176
 +
| Comes with the game "Your Shape" to allow the USB camera to work.
 +
| v6175, v6176
 +
| Active
 +
|-
 +
| [[IOS59]]
 
|  
 
|  
| v4890
+
| <mark>v6689</mark>, <mark>v7207</mark>, v8737, v9249
| Runs under the Wii Speak Channel 2.0.
+
| Used by titles that require WFS functionality, such as Dragon Quest X and the USB Repair Channel.
| v4890
+
| v8737, v9249
 +
| Active
 
|-
 
|-
 
| [[IOS60]]
 
| [[IOS60]]
|  
+
| 24.30, 25.0
| v6174
+
| v6174, v6400
| Used by [[System Menu 4.0]]
+
| Used by [[System Menu 4.0]] and [[System Menu 4.1]]
| v6174
+
| v6174, v6400
 +
| Mothballed
 
|-
 
|-
 
| [[IOS61]]
 
| [[IOS61]]
|  
+
| 19.26, 21.29, 22.29
| v4890
+
| v4890, v5405, v5661, v5662
| Used by the [[Wii Shop Channel]] update that came with [[System Menu 4.0]]
+
| Used by the [[Wii Shop Channel]] update that came with [[System Menu 4.0]], [[System Menu 4.1|4.1]] and [[System Menu 4.2|4.2]] Also used by [[Photo Channel]] 1.1 v3+
| v4890
+
| 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
 +
| v6943, v6944
 +
| Used by [[System Menu 4.3]]
 +
| v6943, v6944
 +
| Active
 +
|-
 +
| [[IOS222]]
 +
| 255.0
 +
| v65280
 +
| Piracy prevention.
 +
| v65280
 +
| Preventative
 +
|-
 +
| [[IOS223]]
 +
| 255.0
 +
| v65280
 +
| Piracy prevention.
 +
| v65280
 +
| Preventative
 +
|-
 +
| [[IOS249]]
 +
| 255.0
 +
| v65280
 +
| Piracy prevention.
 +
| v65280
 +
| Preventative
 +
|-
 +
| [[IOS250]]
 +
| 255.0
 +
| v65280
 +
| Piracy prevention.
 +
| v65280
 +
| Preventative
 
|-
 
|-
 
| [[IOS254]]
 
| [[IOS254]]
| 12.16
+
| 0.2, 0.3, 1.04, 255.0
| v2, v3
+
| v2, v3, v260, v65280
| Distributed along with all System Menus since [[System Menu 3.4]] as a quick fix for [[PatchMii]]. It's just copy of IOS9.
+
| Distributed along with all System Menus since [[System Menu 3.4]] as a quick fix for [[PatchMii]]. It's just a copy of IOS9. As Nintendo releases new versions of IOS9 this title will also receive updates.-ex IOS9 v521 corresponds to v3 of IOS254.
| v2, v3
+
| v2, v3, v260, v65280
 +
| Preventative
 +
|-
 +
| IOS256 ([[BC]])
 +
| 0.0, 0.1, 0.2, 0.4, 0.5, 0.6
 +
| <mark>v0</mark>, <mark>v1</mark>, v2, v4, v5, v6
 +
| Much like IOS1, IOS256 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
 +
| <mark>v0</mark>, <mark>v1</mark>, v4, v5, v8, v9, v10
 +
| 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
 
|}
 
|}
 +
{{Navbox IOS|skipCat=true}}
 +
[[Category:IOS]]

Latest revision as of 00:03, 15 April 2021

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.

Overview

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).

Placeholders

As of late 2008, Nintendo has been replacing some versions of IOS with small non-functional "place holder" IOSes. This is to prevent the reuse of the IOS "slot" for software other than official Nintendo Software which utilized that IOS number. Nintendo can come back at a later date if necessary and "reuse" an IOS slot at their own discretion by simply increasing the version number of the title and replacing it with a functional IOS once again. These IOSes have been marked as Mothballed on the table denoting that Nintendo may have planned on reusing them during the Wii's lifetime.

Version Table

Highlighted versions are not available on NUS.

IOS Number Minor(s) Version Number(s) Notes NUS Availability Status
IOS1 (boot2) 0.0, 0.1, 0.2, 0.3, 0.4 v0, v1, v2, v3, v4 The title ID where IOS1 would be is used by boot2, so the only "IOS" in slot 1 is boot2. v4 Used for non-IOS purposes
IOS2 (System Menu) ? ? 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. ? Used for non-IOS purposes
IOS3 0.7.6, 255.0 v1798, v65280 Despite the version being 0.7.6 as seen in the SDK, the titleid is IOS3. IOS in beta used the IOS0 title id, then as it neared release they changed to IOS3. Later on it changed to IOS4 which is the first one that got shipped at retail. IOS3 is used in the factory and comes preinstalled as a stub on some wiis because of it; later version is a stub. The older version is lost but we know it exists because SDK. 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 was used on Korean Wiis at some point, although it is unknown what, if any, purpose it served. 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 We only know it exists because it's listed in the SDK. The IOS5 going around the internet is a modded version of IOS21 and is not real, the legit IOS5 will probably never be found. IOS with the same titleid exists as stub on some Wiis, probably same situation as IOS3 above where it's used for factory titles or possibly due to the aforementioned hack distributed under the IOS5 title ID. Lost Never Released
IOS6 ? ? We only know it exists because it's listed in the SDK. Will probably never be found. Lost Never Released
IOS7 ? ? We only know it exists because it's listed in the SDK. Will probably never be found. Lost Never Released
IOS8 ? ? We only know it exists because it's listed in the SDK. Will probably never be found. Lost Never Released
IOS9 0.1, 2.1, 2.4, 2.6, 2.8, 2.9, 4.10 v1, v513, v516, v518, v520, v521, v778, v1034 Has only one LED pattern: blinking. First "normal" IOS version. Used by System Menu 1.0 and launch games. v513 is a lost pre-release version, listed in SDK. 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 First "stub" IOS. Origin of the shared contents used by all subsequent "stub / mothballed" IOSes. Used as a System Menu IOS on devkits and used by the Japanese version of System Menu 1.0. v768 Mothballed
IOS11 0.10, v1.0 v10, v256 Internal timestamp says Nov 14 2006 16:26:01. Used by System Menu 2.0. v10, v256 Mothballed
IOS12 0.6, 0.11, 0.12, 1.13, 2.13 v6, v11, v12, v269, v525, v526 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 v10, v15, v16, v273, v1031, v1032 Used by the "All Regions" title of News, Weather & Photo 1.0 Channels v10, v15, v16, v273, v1031, v1032 Active
IOS14 1.1, 1.6, 1.7, 2.8, 4.7 v257, v262, v263, v520, v1031, v1032 v262, v263, v520, v1031, v1032 Active
IOS15 1.1, 1.2, 1.3, 1.4, 1.9, 1.10, 2.11, 4.7 v257, v258, v259, v260, v265, v266, v523, v1031, v1032 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 for 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, 4.7 v512, v517, v518, v775, v1031, v1032 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.5, 2.6, 2.7, 2.10, 2.13, 4.14 v514, v515, v516, v517, v522, v525, v782, v1038, v1039 Contains NAND BOOT PROGRAM. Most debugging messages are removed. Most common for third-party titles. v514, v515, v516, v517, v522, v525, v782, v1038, v1039 Active
IOS22 3.4, 3.9, 3.10, 4.13, 5.13 v772, v777, v780, v1037, v1293, v1294 v777, v780, v1037, v1293, v1294 Active
IOS28 5.8, 5.12, 5.13, 6.14, 7.14 v1288, v1292, v1293, v1550, v1806, v1807 Starting with IOS28, firmware is 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 many previous versions of the System Menu. v1037, v1039, v1040, v2576, v2816 Mothballed
IOS31 4.13, 4.15, 4.16, 10.16, 12.16, 12.20, 13.21, 14.23 v1037, v1039, v1040, v2576, v3088, v3092, v3349, v3607, v3608 Used by News/Weather/Photo 1.1 channel v1037, v1039, v1040, v2576, v3088, v3092, v3349, v3607, v3608 Active
IOS33 4.16, 11.14, 11.16, 12.19, 14.23 v1040, v2832, v2834, v3091, v3607, v3608 v1040, v2832, v2834, v3091, v3607, v3608 Active
IOS34 4.15, 12.15, 12.19, 13.20, 14.23 v1039, v3087, v3091, v3348, v3607, v3608 v1039, v3087, v3091, v3348, v3607, v3608 Active
IOS35 4.16, 12.16, 12.20, 13.21, 14.23 v1040, v3088, v3092, v3349, v3607, v3608 v1040, v3088, v3092, v3349, v3607, v3608 Active
IOS36 4.18, 12.18, 12.22, 13.23, 14.23 v1042, v3090, v3094, v3351, v3607, v3608 Used by Mario Kart Wii (non-Korean) and Super Smash Bros Brawl (non-Korean) v1042, v3090, v3094, v3351, v3607, v3608 Active
IOS37 8.22, 14.25, 14.28, 22.30 v2070, v3609, v3612, v3869, v5662, v5663 First to fix the signature-checking function bug v2070, v3609, v3612, v3869, v5662, v5663 Active
IOS38 14.19, 14.20, 16.27 v3609, v3610, v3867, v4123, v4124 Used by Animal Crossing: City Folk (non-Korean) v3610, v3867, v4123, v4124 Active
IOS40 9.17, 11.19, 12.0 v2321, v2835, v3072 Present in Korean system. v3072 Mothballed
IOS41 9.16, 11.19, 12.19, 13.20, 14.22 v2320, v2835, v3091, v3348, v3606, v3607 Present in Korean system. v2835, v3091, v3348, v3606, v3607 Active
IOS43 9.16, 11.19, 12.19, 13.20, 14.22 v2320, v2835, v3091, v3348, v3606, v3607 Present in Korean system. v2835, v3091, v3348, v3606, v3607 Active
IOS45 9.16, 11.9, 12.19, 13.20, 14.22 v2320, v2835, v3091, v3348, v3606, v3607 Present in Korean system. v2835, v3091, v3348, v3606, v3607 Active
IOS46 9.18, 11.21, 12.21, 13.22, 14.22 v2322, v2837, v3093, v3350, v3606, v3607 Used by Korean Mario Kart Wii. Present in "Need for Speed Undercover" and in "Shin Chuukadaisen" Korean. v2837, v3093, v3350, v3606, v3607 Active
IOS48 16.27 v4123, v4124 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 for Korean Wiis. v5661, v5888 Mothballed
IOS53 16.17, 20.29, 21.30, 22.30 v4113, v5149, v5406, v5662, v5663 v4113, v5149, v5406, v5662, v5663 Active
IOS55 18.25, 20.29, 21.30, 22.30, 22.31 v4633, v5149, v5406, v5662, v5663 Seems to have changes in the DI Module. v4633, v5149, v5406, v5662, v5663 Active
IOS56 19.26, 20.26, 21.29, 22.29 v4890, v5146, v5405, v5661, v5662 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, 21.51, 22.29, 23.30 v5404, v5661, v5918, v5919 Contains new or updated modules "OHCI0 USB USB_HID USB_HUB USB_MSC USB_VEN ETH" v5404, v5661, v5918, v5919 Active
IOS58 23.30, 24.31 v5918, v6175, v6176 Comes with the game "Your Shape" to allow the USB camera to work. v6175, v6176 Active
IOS59 v6689, v7207, v8737, v9249 Used by titles that require WFS functionality, such as 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 v6174, v6400 Mothballed
IOS61 19.26, 21.29, 22.29 v4890, v5405, v5661, v5662 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.1 v3+ 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 v6943, v6944 Used by System Menu 4.3 v6943, v6944 Active
IOS222 255.0 v65280 Piracy prevention. v65280 Preventative
IOS223 255.0 v65280 Piracy prevention. v65280 Preventative
IOS249 255.0 v65280 Piracy prevention. v65280 Preventative
IOS250 255.0 v65280 Piracy prevention. v65280 Preventative
IOS254 0.2, 0.3, 1.04, 255.0 v2, v3, v260, v65280 Distributed along with all System Menus since System Menu 3.4 as a quick fix for PatchMii. It's just a copy of IOS9. As Nintendo releases new versions of IOS9 this title will also receive updates.-ex IOS9 v521 corresponds to v3 of IOS254. 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 Much like IOS1, IOS256 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 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