Wii system software
The Wii system software is a discontinued set of updatable firmware versions and a software frontend on the Wii home video game console. Updates, which could be downloaded over the Internet or read from a game disc, allowed Nintendo to add additional features and software, as well as to patch security vulnerabilities used by users to load homebrew software. When a new update became available, Nintendo sent a message to the Wii Message Board of Internet-connected systems notifying them of the available update.

Most game discs, including first-party and third-party games, include system software updates so that systems that are not connected to the Internet can still receive updates. The system menu will not start such games if their updates have not been installed, so this has the consequence of forcing users to install updates in order to play these games.  Some games, such as online games like Super Smash Bros. Brawl and Mario Kart Wii, contain specific extra updates, such as the ability to receive Wii Message Board posts from game-specific addresses; therefore, these games always require that an update be installed before their first time running on a given console.

Technology

IOS

The Wii's firmware has many active branches known as IOSes, thought by the Wii homebrew developers to stand for "Input Output Systems" or "Internal Operating Systems". The currently active IOS, also simply referred to as just "IOS," runs on a separate ARM926EJ-S processor, unofficially nicknamed Starlet. The patent for the Wii U shows a similar device which is simply named "Input/Output Processor". IOS controls I/O between the code running on the main Broadway processor and the various Wii hardware that does not also exist on the GameCube.

Except for bug fixes, new IOS versions do not replace existing IOS versions. Instead, Wii consoles have multiple IOS versions installed. All native Wii software (including games distributed on Nintendo optical discs, the System Menu itself, Virtual Console games, WiiWare, and Wii Channels), with the exception of certain homebrew applications, have the IOS version hardcoded into the software.

When the software is run, the IOS that is hardcoded gets loaded by the Wii, which then loads the software itself. If that IOS does not exist on the Wii, in the case of disc-based software, it gets installed automatically (after the user is prompted). With downloaded software, this should not theoretically happen, as the user cannot access the shop to download software unless the player has all the IOS versions that they require. However, if homebrew is used to forcefully install or run a piece of software when the required IOS does not exist, the user is brought back to the system menu.

Nintendo created this system so that new updates would not unintentionally break compatibility with older games, but it does have the side effect that it uses up space on the Wii's internal NAND Flash memory. IOSes are referred to by their number, which can theoretically be between 3 and 255, although many numbers are skipped, presumably being development versions that were never completed.

Only one IOS version can run at any given time. The only time an IOS is not running is when the Wii enters GameCube backward compatibility mode, during which the Wii runs a variant of IOS specifically for GameCube games, MIOS, which contains a modified version of the GameCube's IPL. Custom IOSes, called cIOSes, can be installed with homebrew. The main purpose of cIOS is to allow homebrew users to use other homebrew apps such as USB Loader GX (allows games stored in the WBFS file format to be run from a USB stick).

User interface
The system provides a graphical interface to the Wii's abilities. All games run directly on the Broadway processor, and either directly interface with the hardware (for the hardware common to the Wii and GameCube), or interface with IOS running on the ARM architecture processor (for Wii-specific hardware). The ARM processor does not have access to the screen, and therefore neither does IOS. This means that while a piece of software is running, everything seen on the screen (including the HOME button menu) comes from that software, and not from any operating system or firmware. Therefore, the version number reported by the Wii is actually only the version number of the System Menu. This is why some updates do not result in a change of the version number: the System Menu itself is not updated, only (for example) IOSes and channels. As a side effect, this means it is impossible for Nintendo to implement any functions that would affect the games themselves, for example an in-game system menu (similar to the Xbox 360's in-game Dashboard or the PlayStation 3's in-game XMB).

The Wii Menu (known internally as the System Menu) is the name of the user interface for the Wii game console, and it is the first thing to be seen when the system boots up. Similar to many other video game consoles, the Wii is not only about games. For example, it is possible to install applications such as Netflix to stream media (without requiring a disc) on the Wii. The Wii Menu let users access both game and no-game functions through built-in applications called Channels, which are designed to represent television channels. There are six primary channels: the Disc Channel, Mii Channel, Photo Channel, Wii Shop Channel, Forecast Channel and News Channel, although the latter two were not initially included and only became available via system updates. Some of the functions provided by these Channels on the Wii used to be limited to a computer, such as a full-featured web browser and digital photo viewer. Users can also use Channels to create and share cartoon-like digital avatars called Miis and download new games and Channels directly from the Wii Shop Channel. New Channels include, for example, the Everybody Votes Channel and the Internet Channel. Separate Channels are graphically displayed in a grid and can be navigated using the pointer capability of the Wii Remote. Users can also rearrange these Channels if they are not satisfied with how the Channels are originally organized on the menu.

Network features
The Wii system supports wireless connectivity with the Nintendo DS handheld console with no additional accessories. This connectivity allows players to use the Nintendo DS microphone and touch screen as inputs for Wii games. Pokémon Battle Revolution is the first example Nintendo has given of a game using Nintendo DS-Wii connectivity. Nintendo later released the Nintendo Channel for the Wii allowing its users to download game demos or additional data to their Nintendo DS.

Like many other video game consoles, the Wii console is able to connect to the Internet, although this is not required for the Wii system itself to function. Each Wii has its own unique 16-digit Wii Code for use with Wii's non-game features. With Internet connection enabled users are able to access the established Nintendo Wi-Fi Connection service. Wireless encryption by WEP, WPA (TKIP/RC4) and WPA2 (CCMP/AES) is supported. AOSS support was added in System Menu version 3.0.
As with the Nintendo DS, Nintendo does not charge for playing via the service; the 12-digit Friend Code system controls how players connect to one another. The service has a few features for the console, including the Virtual Console, WiiConnect24 and several Channels. The Wii console can also communicate and connect with other Wii systems through a self-generated wireless LAN, enabling local wireless multiplayer on different television sets. The system also implements console-based software, including the Wii Message Board. One can connect to the Internet with third-party devices as well.

The Wii console also includes a web browser known as the Internet Channel, which is a version of the Opera 9 browser with menus. It is meant to be a convenient way to access the web on the television screen, although it is far from offering a comfortable user interface compared with modern Internet browsers. A virtual keyboard pops up when needed for input, and the Wii Remote acts like a mouse, making it possible to click anywhere on the screen and navigate through web links. However, the browser cannot always handle all the features of most normal web pages, although it does support Adobe Flash, thus capable of playing Flash games. Some third-party services such as the online BBC iPlayer were also available on the Wii via the Internet Channel browser, although BBC iPlayer was later relaunched as the separate BBC iPlayer Channel on the Wii. In addition, Internet access including the Internet Channel and system updates may be restricted by the parental controls feature of the Wii.

Backward compatibility
The original designs of the Nintendo Wii console, more specifically the Wii models made pre-2011 were fully backward compatible with GameCube devices including game discs, memory cards and controllers. This was because the Wii hardware had ports for both GameCube memory cards, and peripherals and its slot-loading drive was able to accept and read the previous console's discs. GameCube games work with the Wii without any additional configuration, but a GameCube controller is required to play GameCube titles; neither the Wii Remote or the Classic Controller functions in this capacity. The Wii supports progressive-scan output in 480p-enabled GameCube titles. Peripherals can be connected via a set of four GameCube controller sockets and two Memory Card slots (concealed by removable flip-open panels). The console retains connectivity with the Game Boy Advance and e-Reader through the Game Boy Advance Cable, which is used in the same manner as with the GameCube; however, this feature can only be accessed on select GameCube titles which previously utilized it.

There are also a few limitations in the backward compatibility. For example, online and LAN features of certain GameCube games were not available since the Wii does not have serial ports for the Nintendo GameCube Broadband Adapter and Modem Adapter. The Wii uses a proprietary port for video output, and is incompatible with all Nintendo GameCube audio/video cables (composite video, S-Video, component video and RGB SCART). The console also lacks the GameCube footprint and high-speed port needed for Game Boy Player support. Furthermore, only GameCube functions were available and only compatible memory cards and controllers could be used when playing a GameCube game. This is due to the fact that the Wii's internal memory would not save GameCube data.

Because of the original device's backward compatibility with earlier Nintendo products players can enjoy a massive selection of older games on the console in addition to hundreds of newer Wii game titles. However, South Korean units lack GameCube backward compatibility. Also, the redesigned Wii Family Edition and Wii Mini, launched in 2011 and 2013 respectively, had this compatibility stripped out. Nevertheless, there is another service called Virtual Console which allow users to download older games from prior Nintendo platforms (namely the Nintendo Entertainment System, Super NES and Nintendo 64) onto their Wii console, as well as games from non-Nintendo platforms such as the Genesis and TurboGrafx-16.

List of additional Channels
This is a list of new Wii Channels released beyond the four initial Channels (i.e. Disc Channel, Mii Channel, Photo Channel and Wii Shop Channel) included in the original consoles. The News Channel and the Forecast Channel were released as part of system updates so separate downloads were not required. As of January 30, 2019, all channels listed below have been discontinued with the exception of the Wii Fit Channel and the Internet Channel.

History of updates 
System version 1.0 was released on launch day, and was designed mainly for offline use, as connecting to the internet would trigger an update prompt to install 2.0. For a while after that, the Wii received new features such as the Forecast Channel, as well as bug fixes.

Some of these updates also included fixes to block the early forms of homebrew, the first of which was an SSL issue in the Wii Shop Channel. Later in 2007, Nintendo added code to block the GameCube Action Replay, although this update was bundled with several other features in the 3.0 update.

A week after Wii Freeloader released, Nintendo released an update containing a new IOS with the bug exploited by Freeloader fixed, although this new IOS was not used by the Wii Menu. Later that year, Nintendo released a new Wii Menu that copied this fix to the IOS user by the Wii Menu. In addition, code was added to the Wii Menu to delete the primary homebrew entrypoint on every boot, although this code was very buggy and was easily bypassed. Nintendo also patched the hole used to extract the private encryption keys of the Wii, and finally made a small change to the Mii Channel to convince people to update.

Nintendo's next few updates made similar small changes to various channels, and one of them copied the fix for the previous IOS bug to every IOS, as well as a few other exploit fixes. A few weeks later, Nintendo ported these new fixes to every IOS, made a failed attempt to block a specific homebrew IOS, and made their second attempt at fixing the main homebrew entrypoint. This attempt at stopping the homebrew entrypoint was then superseded by a successful attempt in 2009, along with other IOS fixes, and some features.

Later that year, Nintendo released another homebrew-blocking update, but unlike the previous updates, it offered no new features; instead, it updated the Wii Shop Channel to require the new version. In addition to fixing homebrew bugs, it aggressively checks for the Homebrew Channel and deletes it if it is present, replaced several IOSes used by homebrew with nonfunctional versions, and updated a bootloader to overwrite the one used by homebrew, unexpectedly causing many consoles to refuse to boot. Two similar updates were then released throughout 2010, although the only attempts to stop Wii homebrew past that were in the Wii U's Wii Mode feature.

The final update delivered in PAL and American regions added support to transfer content to the Wii U. However, two updates were released in Japan past this point that only affected Dragon Quest X players, solely updating the IOS used by Dragon Quest X.

See also 
 Nintendo Wi-Fi Connection
 WiiConnect24
 Wii Shop Channel

Other gaming platforms from Nintendo:
 Nintendo 3DS system software
 Nintendo DSi system software
 Wii U system software
 Nintendo Switch system software

Other gaming platforms from the next generation:
 PlayStation 4 system software
 PlayStation Vita system software
 Xbox One system software

Other gaming platforms from this generation:
 PlayStation 3 system software
 PlayStation Portable system software
 Xbox 360 system software

References

External links 
Wii System Menu and Feature Updates
Site documenting all updates during an update and how they affect homebrew and other hacks

Wii
Game console operating systems
Proprietary operating systems