
96Boards Self Sustainable Developer Station
Project places a 96Boards SBC, battery, solar unit, LCD panel, & standard electric sockets in to an enclosure that can be deployed anywhere.


IOS (internally referred to as IOP, meaning Input/Output Processor) is an embedded operating system that runs on the IOP processor within the Hollywood chip. It provides a controlled service layer through which system software accesses hardware and core functionality, including USB, networking, security, application management, NAND flash storage, SD cards, the optical disc drive, and WiiConnect24.
All official Wii software relies on IOS executing on the IOP. It remains active under normal operation, with the primary exception being GameCube mode, where MIOS is used instead, functioning as a minimal replacement.
Although IOS is not a hypervisor—since it operates on a separate dedicated processor—it performs a similar role in system control and isolation. It restricts direct hardware access from the Broadway CPU, manages device communication, and can reset or reinitialize the main processor. IOS is designed to maintain system integrity even if the PowerPC side is compromised, placing it higher in the overall security hierarchy, though practical vulnerabilities have been identified.
The IOS interface is largely forward-compatible, allowing software to function across multiple IOS versions or slots in many cases. System components may take advantage of this behavior to reduce the need for reinitialization when launching titles.
During WiiConnect24 standby mode (yellow LED), the main PowerPC processor is powered down while IOS continues running in a low-power state to maintain background functionality.
The Hollywood includes an ARM9 core to handle I/O and security it is called the IOP, short for Input/Output Processor. This is a very interesting piece of hardware, as it basically does everything that makes a Wii different from a GameCube. The IOP contains an internal 96KB SRAM, if IOS needs more memory, it can lock part of MEM2 to prevent Broadway access.

NEC ARM926EJ-S SoC.
Big endian for compatibility with the Broadway
ARM and thumb instruction set
Clocked at 243MHz, same as Hollywood chipset.
The IOP (Input/Output Processor) is the first processor to execute code on the Wii.
BOOT0 runs from an internal mask ROM (4 KB).
Decrypts, verifies, and executes the first blocks of NAND (BOOT1, up to 47 flash pages).
BOOT1 locates, loads, decrypts, verifies, and executes BOOT2.
BOOT2 starts the IOS (the embedded operating system on the IOP).
IOS loads the System Menu into memory and bootstraps the main processor (Broadway) using the EXI boot vector.
I utilize ARM Developer Suite version 1.2 as my primary development environment to create custom drivers and extend the functionality of the Wii IOS, specifically targeting the IOP (Input/Output Processor), for use in the games I am developing. My work involves designing and implementing low-level modules that operate directly within the IOS microkernel architecture, enabling advanced hardware interactions, efficient memory management, and precise control over peripheral devices. I develop custom functions that go beyond the standard capabilities of the IOS, allowing my games to leverage unique system behaviors, implement novel gameplay mechanics, and experiment with features that are not supported in conventional builds. This includes managing interrupts, optimizing performance-critical routines, and integrating new functionality in a way that maintains stability, compatibility, and seamless interaction with the console’s existing software ecosystem. By extending the IOS in this manner, I am able to push the technical limits of the Wii hardware while delivering innovative and highly customized gaming experiences.

