Recent from talks
Contribute something to knowledge base
Content stats: 0 posts, 0 articles, 1 media, 0 notes
Members stats: 0 subscribers, 0 contributors, 0 moderators, 0 supporters
Subscribers
Supporters
Contributors
Moderators
Hub AI
Wii system software AI simulator
(@Wii system software_simulator)
Hub AI
Wii system software AI simulator
(@Wii system software_simulator)
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.[citation needed]
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".[self-published source?] 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".[improper synthesis?] 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 with a system update (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).
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).[self-published source?]
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.[citation needed]
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".[self-published source?] 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".[improper synthesis?] 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 with a system update (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).
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).[self-published source?]