Wii system software
The Wii system software is a set of updatable firmware versions and a software frontend on the Wii, a 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, which resides within the Hollywood GPU. 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, 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 with a system update. 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.
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, or interface with IOS running on the ARM architecture processor. 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 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 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.The Wii 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. It has four pages, each with a 4:3 grid, and each displaying the current time and date. Available applications, known as "channels", are displayed and can be navigated using the pointer capability of the Wii Remote. The grid is customizable; users can move channels among the menu's 48 customizable slots. By pressing the plus and minus buttons on the Wii Remote users can scroll across accessing empty slots. 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 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.
Home Menu
Accessed with the Wii Remote's Home button, the Home Menu displays information about the controller currently being used, and allows the user to configure certain options. At the bottom of the menu screen, the battery life of all connected controllers is displayed. Below that is a bar labeled Wii Remote Settings. Selecting it brings users to an options screen where they can control the audio output volume, rumble settings, and reconnect the controllers, for example to connect Wii Remotes through one-time synchronization. Depending on when the Home Menu is accessed, a different number of buttons are displayed.Wii Menu: No matter when the menu is accessed, the Wii Menu button will always be present. Selecting this will exit a game or a Wii Menu channel and return the player to the Wii Menu, where users can choose another channel. When playing certain Virtual Console titles, with the exception of the Nintendo 64 and Neo Geo, this will also create a suspend point.
Reset: In applications and games, the Reset button is available. This performs a soft reset of that particular application, for example returning a game to its title screen or the loading screen of a Wii Menu channel, the same as what would happen if the player were to press the console's physical reset button.
Operations Guide: On Wii Menu channels, including the News Channel, Forecast Channel, Internet Channel, Everybody Votes Channel, certain WiiWare titles and Virtual Console titles, the Operations Guide button appeared on the Home Menu. The guide accessed acts as an instruction manual for the game being played.
The Home Menu can be compared to the Xbox 360's in-game menu, or the PlayStation 3's mid-game XMB. It may be accessed under most circumstances during Wii operation, which pauses the on-screen action. Otherwise, a "home" symbol with a no symbol on it appears onscreen. It is also inaccessible during Nintendo GameCube play, as the Wii Remote cannot control Nintendo GameCube software.
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 and WPA2 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 web 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 files. 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.