El subsistema I/O de esta consola es un cambio de juego (si me permites el juego de palabras). Ahora las interfaces están controladas por un único módulo que también se ocupará de la seguridad. Estoy hablando del Starlet.
El co-procesador oculto
El Starlet no es más que una CPU ARM926EJ-S conectada a la mayoría de los componentes internos de esta consola. Reside dentro del Hollywood, funciona a 243 MHz (igual que el Hollywood) y contiene también su propia ROM y RAM. Por lo tanto, puedes considerar al Starlet un ordenador independiente que funciona junto a la CPU principal.

Diagrama principal de la arquitectura de la Wii. Observe cómo Starlet es capaz de controlar la mayor parte del I/O e incluso ocultar algunos del Broadway.
El núcleo es similar al utilizado en la Nintendo DS, salvo por la inclusión de dos añadidos "especiales":
- Una "J" en su nombre de modelo, que denota la inclusión de Jazelle: una unidad dedicada que ejecuta Bytecode Java de 8 bits. Los programas Java seguirían dependiendo de la máquina virtual (conocida como "JVM"), pero algunos opcodes podrían ejecutarse directamente desde la CPU. En general, esto podría acelerar la ejecución del código Java compilado.
- Una unidad de gestión de memoria (MMU) dedicada para habilitar la memoria virtual. Útil para sistemas operativos de uso general.
Estas mejoras son un poco "raras", ya que no se utilizan en la Wii. No obstante, Nintendo seleccionó ese núcleo para el Starlet. Esto me recuerda al primer iPhone (2G), que también incluía una CPU ARM con Jazelle (también desperdiciada).
Si te lo estás preguntando, Jazelle nunca tuvo éxito. Después de algunas iteraciones, se descubrió que Java Bytecode simplemente funcionaba mejor en el software. Más tarde, ARM sucedió a Jazelle con "Thumb-2EE" y, en el momento de escribir este artículo (junio de 2021), ambas unidades han sido retiradas.

I/O externos en la Wii.
La oscura & y pequeña ranura frontal es un lector de tarjetas SD.
Más adelante, esta "CPU de I/O" se encarga de arbitrar el acceso entre muchos I/O y el Broadway, y al hacerlo también se ocupa de la seguridad (que decide si permite el acceso o no). Esto es especialmente crucial cuando se trata de conceder acceso a la NAND, por ejemplo, que es donde se almacenan el sistema operativo principal y los datos del usuario.
El chip también hereda algunas tecnologías de ARM, como la arquitectura de bus de microcontroladores avanzados (AMBA), un protocolo que facilita la comunicación entre dispositivos mediante un conjunto de buses especializados.
Dicho esto, Nintendo ha cableado el I/O de forma que hace uso de dos buses AMBA :
- El Bus AHB (bus AMBA de alto rendimiento): como su nombre indica, está diseñado para comunicaciones de alta velocidad. Aquí lo encontramos:
- La interfaz NAND: accede a 512 MB de la NAND Flash que almacenan el sistema operativo y los datos de usuario.
- Dos interfaces Secure Digital Input Output (SDIO): SDIO es un protocolo diseñado principalmente para acceder a una tarjeta SD, pero en este caso se utiliza una segunda para controlar también el módulo Wi-Fi (802.11 b/g).
- Un controlador USB 2.0: sirve de interfaz para dos tomas USB externas y una tarjeta hija Bluetooth 2.0 interna.
- Un módulo SHA-1 y AES: Reservado para tareas de seguridad (más detalles en la sección Anti-Piratería).
- El Bus APB (Bus Periférico Avanzado): este está restringido a componentes de bajo rendimiento, incluyendo:
- La interfaz de la unidad de discos: conecta el lector de discos.
- La interfaz serie: conecta los mandos de GameCube.
- La interfaz externa (EXI): Esta ya la hemos visto antes. Se comunica con otro hardware de GameCube, utilizado para la retrocompatibilidad.
Manteniendo la compatibilidad

Wii usando equipamiento de GameCube .
La Wii mantiene total compatibilidad con los juegos de la GameCube aunque el sistema de I/O haya cambiado drásticamente. Esto se debe a que el Starlet puede ser reprogramado cuando un juego de GameCube se ejecuta virtualmente para remapear el I/O, dejándolo igual que la GameCube original esperaría encontrar.
Además, el chip Real-Time Clock incluye alguna ROM de repuesto que almacena fuentes de mapa de bits (el conjunto latino y japonés) utilizadas por los juegos de GameCube; y SRAM para guardar ajustes relacionados con IPL.