The Wii U’s operating system is very well designed, and has had many updates to fix some of the problems with it when it launched in the United States and around the world. It is based on Nintendo’s proprietary software, which is sadly closed source, and the only way to really interact with the OS of the Wii U is to get a Source Development Kit, or SDK. One of the major problems that the Wii U had when it launched was the overhead time between context switches. You would be on the main menu of the console, and go to start up an application. Sometimes this would take 30-45 seconds to start the app, which in today’s smartphone, always-connected, world is just not okay. It would take about the same time when switching to another process, when a game is suspended. This has been fixed through updates, but when the console first launched, that was a major drawback.
When the console launched, it had a huge update right out the box that updated the system software to 2.0.0. This update added a lot of features that make the Wii U unique, like Miiverse, Wii backwards compatibility, Nintendo Tvii, and Wii U Chat. The look of the OS is very clean, with each app taking up a block on the screen of the TV (think of a channel), with a total of 15 blocks per page, and 7 pages. The OS can either be controlled by a Wii Remote, or the Gamepad screen or buttons.
When you start up the console, the OS loads a main page, where you can select the user that you want to be, or make a new one. This allows you to keep save data and other things separate from one another. The main screen allows you to keep a password on your profile, to protect it from outside sources. Once you log in to the system, the WaraWara plaza will be shown on the TV screen, while the apps and games will be shown on the Gamepad screen. The WaraWara plaza is what integrates Miiverse into the OS, meaning you can see what games people are talking about, what games are popular, and just some really cool artwork from time to time. You can switch the display of the Gamepad and TV at will, as well.
The OS itself is based on IOS-code, which stands for Internal Operating System. It runs on a separate CPU called the “Input/Output” processer. This uses an ARM-based processor to run the system software and the OS. It also controls the game code that runs on the main CPU, which is an IBM Power 7 based processor. Since the operating system runs on a separate CPU, this means that the OS does not take up resources from the main CPU, so 100% of it can be dedicated to the games software. “The controller of the gamepad is tied to the console and runs on the same microprocessor as the main system software.” (http://wiiudaily.com/wii-u-operating-system/) While an application or game is running, the OS is put in a standby state, so that the software can utilize 100% of the RAM.
The operating system has a whole gig of RAM dedicated to it, which is where the process execution comes into play. So, let’s say you are playing a game, and you want to go to the Internet or check Miiverse, Nintendo’s social network for the Wii U and 3DS. Well, just hit the HOME button on the Gamepad, and you’ll be allowed to pick between six different things. You can choose to go to Miiverse, the Internet, the Nintendo eShop, a Friends List, Nintendo Tvii, and a Download Management section. The game will stay in a suspended state while you visit any one of these things. You can also change controller settings, close the software, or look at a digital manual for the game. The HOME menu also shows various battery levels of the connected controllers, and the date and time.
Another great thing about the Wii U’s OS is the Auto-Update feature, which allows games to download even when the system is off, as long as it has a stable connection to WiFi. The Wii U also allows many different forms of I/O devices. It allows you to store data on external hard-drives (up to 2 TB), SD cards, and the main memory of the console itself (either 8 GB or 32 GB). In Wii mode, you only have access to 512 MB of flash memory storage, although this can be expanded through use of an SD card (up to 32 GB).
The microprocessor, or CPU, used in the Nintendo Wii U is the Espresso. It is a 32-bit microprocessor, and was designed by IBM. It is joined by a GPU from AMD on a MCM, which stands for multi-chip module, manufactured by Renesas. The maximum clock rate of the Espresso is 1.24 GHz. (http://en.wikipedia.org/wiki/Espresso_(microprocessor)) This microprocessor is power architecture based, with three cores actually on a single chip. This reduces power consumption and it increases speed. The CPU and graphics processor are placed onto a single substrate, in order to reduce complexity, increase communication speed between the two chips, reduce power consumption even more, and finally to reduce space and cost required. It also reduces the memory latency between processes, games, and applications. Each core can also output up to 3 instructions per clock, using superscalar parallelism. One last thing to note is that the architecture is based on Broadway, the microprocessor used in the Wii console.
In addition to the hardware I’ve already talked about, the Wii U also has a secondary custom chip that handles undisclosed tasks, which are handled when the console is sleeping or during gameplay. These tasks could be an automatic download or an update for your console, for example. The maximum bandwidth of the DDR3 system memory is 12.8 GB/s. The GPU also features 35 MB eDRAM cache memory. Since the architecture of the memory allows the GPU and CPU to access both the main DDR3 memory pool and the eDRAM cache memory pool, this removes the need for separate memory pools. (http://en.wikipedia.org/wiki/Wii_U)
The storage capacity of Wii U games are set at 25 GB. The Wii U reads the discs at 22 MB/s, which would reduce loading times. Again, it has a 2 GB of RAM in the console, 1 GB for game access, and the other for the OS. This is because it needs to be able to stream gameplay to the gamepad screen, even if the TV display is off. Latency is a thing that needed to be taken care of, because if there was any hint of delay between the input from the user and the display on the screen, there would be a problem. (http://bgr.com/2012/09/13/nintendo-wii-u-hardware-specs-revealed/)
Talking about the gamepad itself, it operates concurrently with the system software and is the main way to interface with the OS. It provides either a touch based or button based control scheme to select different games and applications, all on a nice screen. The display is handled by sending smaller images of the GPU of the Wii U console to the gamepad screen, using compression, wireless transfer, and display on the LCD monitor. The Wii U rapidly compresses the data, and once the data is built up to a packet-size that can be sent, it is then sent to the Wii U Gamepad. (http://iwataasks.nintendo.com/interviews/#/wiiu/gamepad/0/1) From my experience with the console, there has been no latency or any overhead with using the gamepad screen over the TV screen.
One of the biggest features of the Wii U OS is its integration with Nintendo’s social network, Miiverse. The biggest draw of Miiverse is the communities that you can join, where other people and you can post pictures from your gameplay experiences, pictures that you draw, or just text posts. These posts can be Yeah!’d which is similar to a Like on Facebook. You can also have followers on Miiverse, so whenever you post something, people will know about it. A really nice feature of Miiverse is that spoilers for games aren’t just shown; they are hidden, at the poster’s discretion. This is not only integrated on the Wii U, however. It has also been integrated with smartphones, tablets, and even the Nintendo 3DS handheld.
The current version of the operating system is 4.1.0. The only thing 4.1.0 did for the OS was to improve system stability, and other adjustment to the OS. The biggest recent update to the OS was 4.0.0, and it added a whole slew of new features for a lot of applications. For example, Wii games could now be output to the Wii U gamepad screen, although you cannot control the games with the gamepad controller, you have to use an outside control method, like a Wii Remote or a Wii Classic Controller Pro. Another example of a significant change is automatic software downloads, which means you will be able to receive automatic downloads of certain free games or demos through Nintendo’s SpotPass feature. (http://en.wikipedia.org/wiki/Wii_U_system_software)
Like most modern gaming operating systems, the Wii U OS can connect wirelessly to the Internet to perform a variety of tasks. This is the only way to access Miiverse, the Nintendo eShop, or receive notifications from Nintendo about new and upcoming software. This is all done through the Nintendo Network. On the Nintendo Network, each user has a unique ID associated with their purchases, and how they appear online. The problem with this as of now, is that the ID is tied to the hardware, so if you lose your console, you lose your games unless you send in the machine. The future of the network is looking to emulate Apple/Android success with having a single architecture across various devices. Nintendo is looking to separate the Nintendo Network ID’s from hardware entirely, so that if you lose games on your system, purchases will be backed up and tied to your account. (http://www.escapistmagazine.com/news/view/131812-Nintendo-Will-Separate-Nintendo-Network-IDs-From-Hardware)
One features of the operating system that I haven’t talked about yet is that the Wii U can output the same or different screen on the TV as the gamepad. This concept of gameplay is called asymmetric gameplay, where you have your main display on the television, and a map, inventory, or other display on the gamepad screen. Most developers use the Gamepad in interesting ways, and the asymmetric style of gameplay is very fun for multiplayer experiences, like when one person is invisible on the Gamepad screen and the television players have to find them. Asymmetric gameplay is used in most of the Wii U software, especially if it involves a party game, or a primarily multiplayer experience.
All in all, the Wii U operating system has a lot of great features that make it stand out from its competitors, the Xbox One and the PS4. The operating system started out with a load of problems, but through constant updates and work, they have all been smoothed out to create a great experience. The overhead for context switching between processes was very slow at first, but now, it runs very smooth and fast. The main features of the OS are the automatic download, Miiverse, and suspended software processes. I love how you can pause a game, and then check Miiverse for help on a certain part if you get stuck. This is due to the fact that the OS has a gigabyte of RAM associated with it. Adding a social network to an OS was a very risky move by Nintendo, but it has paid off, since it is very popular with Wii U owners around the world. The hardware of the Wii U is less advanced, yes, than the Xbox One or the PS4, but it remains the only next-gen console to be completely backwards compatible with last-generation software and applications. It is the only console to use a Power PC microprocessor, while the competition uses x86 architecture, which is the reason that the Xbox One and PS4 are not backwards compatible with Xbox 360 or PS3 software. So, to wrap up, the Wii U OS started off with a lot of problems, but it has now been fixed, and it now is a lot better.