− | '''IOS''' is the Wii operating system running on the Starlet coprocessor. It handles different tasks and is responsible for most of the console's functions.<ref>http://wiibrew.org/wiki/IOS</ref> This article lists different slots that IOS uses, and the details behind those slots. | + | '''IOS''' is the Wii's operating system running on the [[IOP]] (Starlet) ARM9 core inside the [[Hollywood]] package, developed by [[BroadOn]]. It handles I/O and security tasks, providing hardware access to the [[Broadway]] as well as serving as a barebones 'hypervisor' for the system upholding content licensing restrictions. This article lists all of the known IOS versions, and their details/differences. |
− | * You may notice that all retail IOSes have "64" in the filename, and some development IOSes have "128" in the filename; this signifies the MEM2 size that the IOS is configured to run on. MEM2 is the Wii's larger main memory, not present in the GameCube, and while retail units have a 64MB MEM2, certain development units ([[NDEV]] and [[RVT-H Reader]]) have a 128MB MEM2; as such, IOSes built to run on these units have "128" in their filename, and IOSes built for 64MB development kits and retail units have "64" in their filename. | + | * You may notice that all retail IOSes have "64" in the filename, and some development IOSes have "128" in the filename; this signifies the [[MEM2]] size that the IOS is configured to run on. MEM2 is the Wii's larger main memory, not present in the GameCube, and while retail units have a 64MB MEM2, certain development units ([[NDEV]] and [[RVT-H Reader]]) have a 128MB MEM2; as such, IOSes built to run on these units have "128" in their filename, and IOSes built for 64MB development kits and retail units have "64" in their filename. |
| ** IOSes use two different version number schemes; one is used for retail IOSes and is seen on Nintendo's update servers and discs, and another is used for development IOSes and possibly internal purposes. As such, all retail IOSes in the folder use one scheme, and all development IOSes use another. As quoted from Wiibrew: "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." The "IOS-64-v" format is used for retail IOSes, and "firmware.64/128.(hex version number).(major version)" is used for development IOSes. | | ** IOSes use two different version number schemes; one is used for retail IOSes and is seen on Nintendo's update servers and discs, and another is used for development IOSes and possibly internal purposes. As such, all retail IOSes in the folder use one scheme, and all development IOSes use another. As quoted from Wiibrew: "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." The "IOS-64-v" format is used for retail IOSes, and "firmware.64/128.(hex version number).(major version)" is used for development IOSes. |
| *** Development IOSes are similar to retail IOSes, however they use the development encryption keys in place of the real ones, meaning that they will only handle development-signed content, which retail IOSes will not handle. It should be noted that since the development private RSA key is public information (or rather, developer information which has been leaked), it is possible to sign arbitrary content and install it with development IOSes. | | *** Development IOSes are similar to retail IOSes, however they use the development encryption keys in place of the real ones, meaning that they will only handle development-signed content, which retail IOSes will not handle. It should be noted that since the development private RSA key is public information (or rather, developer information which has been leaked), it is possible to sign arbitrary content and install it with development IOSes. |
− | |Three versions of IOS4 have been released; v3, v259, and a stub identical to the IOS3 stub described above. An additional version, IOS4v1, is also known to exist. v3 was the 'original' version of IOS4, and has been found through 3 different sources; the development version present in the SDK's "swupdate403" package (available in the Development section), the version present on the Startup Disc NAND, and the version that was included with early Wiis and not overwritten until the October 2008 update. No retail games or applications used IOS4 due to it being a very limited and "barebones" IOS lacking what would come to be basic functionality, however it could be considered to be the earliest released IOS as v3 was distributed on Wiis, and for unknown reasons was even available on NUS for some time. As with how IOS3 was the primary development IOS before IOS4's release, IOS4 was used as the primary development IOS for a period of time in August-September 2006 before IOS9 was ready for developer use. As such, any Wii software built around that time typically uses IOS4, however the only available examples of this are the Startup Disc Menu and various unreleased factory tools that are known to use IOS4 from their TMD. For unknown reasons, Nintendo continued to include the IOS4 updater package (intended for updating a development kit from IOS3) with their development tools for years past when IOS4 was in use; this makes the development version of IOS4 readily available. IOS4-v1's existence is known due to remnants of it being found in the Startup Disc NAND, however not much else about it is known; since IOS4-v3 was considered finalized enough to be put on NUS, it can be assumed that this was simply an unfinished version of the IOS. As mentioned previously, IOS4-v3 was shipped intact on early Wiis; it is not known if this was intentional, or if it was only ever intended to be used for factory purposes and was not overwritten. Regardless, in October 2008, Nintendo released IOS4-v65280, a useless stub intended to overwrite all existing copies of IOS4. This stub was also preinstalled on Wiis around the same time as the IOS3 stub being preinstalled, indicating that IOS4 continued to be used for factory purposes. IOS4-v259 is by far the most mysterious version of this IOS, and very little about it is known; it has been said that it is a Korean IOS and was used on Korean Wiis at some point for unknown purposes, however further details at this point are scarce; it's not even currently known if the IOS is legitimate or not. This file will be updated if anything new surfaces. | + | |Three versions of IOS4 have been released; v3, v259, and a stub identical to the IOS3 stub described above. An additional version, IOS4v1, is also known to exist. v3 was the 'original' version of IOS4, and has been found through 3 different sources; the development version present in the SDK's "swupdate403" package (available in the Development section), the version present on the Startup Disc NAND, and the version that was included with early Wiis and not overwritten until the October 2008 update. No retail games or applications used IOS4 due to it being a very limited and "barebones" IOS lacking what would come to be basic functionality, however it could be considered to be the earliest released IOS as v3 was distributed on Wiis, and for unknown reasons was even available on NUS for some time. As with how IOS3 was the primary development IOS before IOS4's release, IOS4 was used as the primary development IOS for a period of time in August-September 2006 before IOS9 was ready for developer use. As such, any Wii software built around that time typically uses IOS4, however the only available examples of this are the Startup Disc Menu and various unreleased factory tools that are known to use IOS4 from their TMD. For unknown reasons, Nintendo continued to include the IOS4 updater package (intended for updating a development kit from IOS3) with their development tools for years past when IOS4 was in use; this makes the development version of IOS4 readily available. IOS4-v1's existence is known due to remnants of it being found in the Startup Disc NAND, however not much else about it is known; since IOS4-v3 was considered finalized enough to be put on NUS, it can be assumed that this was simply an unfinished version of the IOS. As mentioned previously, IOS4-v3 was shipped intact on early Wiis; it is not known if this was intentional, or if it was only ever intended to be used for factory purposes and was not overwritten. Regardless, in October 2008, Nintendo released IOS4-v65280, a useless stub intended to overwrite all existing copies of IOS4. This stub was also preinstalled on Wiis around the same time as the IOS3 stub being preinstalled, indicating that IOS4 continued to be used for factory purposes. IOS4-v259 is by far the most mysterious version of this IOS, and very little about it is known; it has been said that it is a Korean IOS and was used on Korean Wiis at some point for unknown purposes, however further details at this point are scarce; it's not even currently known if the IOS is legitimate or not. |