Blog Personal.

Nintendo, Retro

Nintendo Leaks (II): Nintendo Wii

El siguiente trabajo de BroadOn para Nintendo después del iQue/BBPlayer fue trabajar en una parte del hardware de Nintendo Wii, aunque en realidad ellos son los que hicieron el diseño general y especialmente lo que diferencia Wii de Gamecube.

Tened en cuenta que al contrario que el iQue/BBPlayer la Wii si que fue lanzada en todo el mundo pero se trata de una consola que realmente no fue un salto generacional sino una iteración ampliamente mejorada de su antecesora que fue la Gamecube donde los únicos cambios sobre el hardware inicial los hizo BroadON por lo que esta gente hizo lo mismo que hizo con la Nintendo64 para crear el iQue pero para crear la Wii utilizando Gamecube como base.

Y aquí tengo que colocar un comentario que me habéis dejado en la entrada anterior que pone en situación el leak, el cual realmente no es tan sonado como los medios nos han querido hacer creer.

Ya han comentado unos de los autores de la scene de Wii sobre las filtraciones de los documentos y ha dicho que meh!.. que toda la documentación filtrada ya está documentada gracias a la ingeniería inversa e incluso esa documentación es más precisa que la oficial, solo ha servido para ver curiosidades como que al parecer Nintendo tenía planeado el poder usar Wiimote y nunchuck en los juegos de GameCube pero como sabemos al final no fue así.
https://twitter.com/marcan42/status/1258076270308425728

También ha comentado Extrems (uno de los autores del emulador de N64 en Wii) que la info sobre N64 ya estaba documentada en los «Oman Archives» desde hace 20 años.
https://gbatemp.net/threads/not64-update.333569/page-92#post-9045150

Así que no veremos avances en la scene por esta información filtrada, además que usarla puede conllevar a problemas de derechos de autor…

Hasta aquí mi reporte.

Y lo que dice es cierto, excepto que ya sabiamos que Nintendo tenía planes para lanzar el Wii Remote en Gamecube a través de referencias a diferentes patentes pero utilizando para ello el receptor del WaveBird.

El modelo final del mando que vimos en el mercado acabo utilizando una interfaz Bluetooth que no se encontraba en Gamecube. Lo que tenéis que tener en cuenta es que BroadON hizo en Gamecube el mismo tipo de cambios que realizo en N64 que fue tocar el Puente Norte y el Puente Sur, los cuales se encontraban en Gamecube en el chip Flipper para crear lo que en Wii se conoció como Hollywood.

BroadOn hizo un diseño donde los 24MB de memoria 1T-SRAM de la Gamecube original pasaban a ser un chip montado sobre el mismo sustrato que el Hollywood, internamente a la MEM1 la llamaron «Vegas» y en el leak hay documentos acerca de la fabricación por NEC de dicho diseño. Es decir, los ingenieros de BroadOn fueron la mente pensante de colocar la llamada MEM1 en el mismo encapsulado que el Hollywood, pero esto no requiere cambios en el Northtbridge.

Lo que si que requiere cambios es la sustitución de los 16MB de ultralenta A-RAM por unos 64MB GDDR3, esto requiere un cambio en la interfaz de memoria y el puente norte. Mucha gente piensa erroneamente que la A-RAM de Gamecube viene de Audio RAM cuando realmente viene de Auxiliary RAM y se puso ahí porque Nintendo quería una memoria intermedia enorme para paliar los tiempos de carga del formato óptico. Bien que el DSP de audio puede comunicarse con dicha memoria para no crear contención ni ocupar espacio de los 24MB de RAM en Gamecube pero el funcionamiento es muy parecido al de la memoria que tenías que colocar en el Doctor V64 para la Nintendo64.

Esto se hizo en Gamecube porque durante su desarrollo Nintendo se llego a plantear hacerla compatible hacía atrás con Nintendo64 adoptando una CPU de la gama MIPS aunque al final la CPU elegida fue un PowerPC, la idea inicial de Nintendo era llevar el 64DD a lo que iba ser Gamecube pero esto se cancelo tan rápidamente como aparecieron las tarjetas SD con la suficiente capacidad como para reemplazar los discos magnéticos del 64DD y este se confirmo en un fiasco comercial enorme.

Pero claro, Nintendo se olvido de ese concepto en Gamecube y la tarjeta SD fue una rareza. El caso es que en Wii, BroadON decidió añadir un segundo pozo de memoria, especialmente para dejarle más espacio de almacenamiento a la GX GPU y evitar la contención que había en Gamecube entre la CPU y la GX GPU, pero especialmente porque el chip utilizado para la A-RAM empezaba a ser escaso y con ello a aumentar de precio y Nintendo tenía que reemplazarlo de alguna manera tarde o temprano, sumadle las malas ventas de la consola y ya tenéis el motivo para Nintendo para renovar el hardware de Gamecube.

BroadON que había tenido experiencia con la distribución de contenido para el iQue fue la que en Diciembre de 2004 le propuso a Nintendo llevar a cabo la distribución de contenido a través de la red, lo que se conoce como ecommerce y que ahora es tan común, en uno de los documentos de esa fecha se puede leer una propuesta de BroadON a partir de la experiencia con la iQue a la que llamaron VGN (Videogame Network) que tenía que tener una serie de cualidades que no vimos en la llamada WiFi Connection de Nintendo.

  • Online Purchase: Trial Games, Rental Games, Permanent Games, Content Distribution.
  • Account Management
  • User Registration: Customer Support, Billing
  • Purchase Records

Directory and Switchboard Services

  • Buddy list
    Management
    Online Status Report
  • Hosted-Game Directory
    Search/Lookup
    Status Update
  • Scoreboards
    Switchboard
  • Access Rights

¿Que tiene de especial? En primer lugar que el servició que BroadON propuso tenia funcionalidades online como lista de puntuaciones comparadas pero sobretodo listas de amigos y no por los odiosos Friend Codes, es decir, la propia Nintendo dijo no a un servició que era mucho mejor a lo que tuvieron años después.

¿Más cosas a destacar? Bueno, BroadON propuso la implementación de juegos multijugador masivos por un lado y capacidades para el juego en LAN y por tanto en red local entre varias consolas. En realidad la capacidad de crear una red local ya se encontraba en el iQue pero BroadOn quería llevarlo a lo que iba a ser la iteración mejorada de Gamecube sin necesidad de un aparato intermedio como ocurría con el iQue para las partidas en jugador local.

Pero VGN como red online tenia que ser independiente de la plataforma y estrenarse en realidad con la siguiente entrega de Pokémon por aquel entonces que iba a ser Pokémon Esmeralda para Game Boy Advance y si, el servició de juego online que empezó en 2005 con Mario Kart DS iba a empezar en los planes originales a través de una versión online de Pokémon Esmeralda en GBA. ¿Curioso no?

Es decir, en Diciembre de 2004, lo que iba a ser Wii no estaba del todo concretado pese a que unos meses despues Satoru Iwata presento la forma de la consola y hablo de la Consola Virtual en el E3.

BroadON no diseño en ningún momento su hardware en torno a lo que iba a ser el Wii Remote que era un secreto guardado en Kyoto sino para paliar las carencias online de Gamecube y tener una plataforma de cara al juego online y la distribución digital, lo que me sorprende es que no se mencione que la propuesta original de BroadON era hacer una next gen o una mejora incremental mejor que la que tuvimos al final… ¿Como lo se? Por las referencias a una tal NNGC.

  • Peer-to-peer games (hosted or host-less)
  • Massive multiplayer online games
  • Turn-based or FPS games
  • Build for all kinds of platforms
  • GBA (no OS, single-threaded)
  • NNGC (fast processor, multi-threaded)
  • Server (SMP, multi-threaded)

Gamecube no tiene una CPU multihilo ni Wii tampoco… ¿Que CPU multihilo puede ser? Pues el mismo núcleo PowerPC que IBM licencio a Sony y Microsoft para Xbox 360 y PlayStation 3. No puede ser un PowerPC 970/G5 que es lo que utilizaba Apple en la época porque no es multi-hilo. La idea de proponer una CPU más potente que el diseño original no es de sorprender si tenemos en cuenta el cambio en el iQue. ¿El problema? Bueno, el problema es que esto rompía parcialmente la retrocompatibilidad directa de los juegos y se tenían que parchear por lo que Nintendo decidió optar por una versión a 90nm de la CPU de Gamecube para Wii.

La idea que Nintendo si que acepto de BroadOn fue la implementación de lo que acabo siendo el Starlet, pero en Diciembre de 2004 no sabían que CPU de proposito general iban a utilizar para ello. ¿Que es el Starlet? Algo que es ampliamente conocido por todos, es el encargado de manejar la E/S y la seguridad. Pues bien, inicialmente BroadON tenía dos arquitectura sobre la mesa:

  • MIPS R4K, la misma arquitectura que N64 y PSP
  • ARM926, el chip que al final escogieron.

El Starlet ejecuta un Sistema Operativo llamado IOS (no confundir con el de Apple) desde el que gestiona la seguridad (fue fácilmente reventada) y los periéricos así como las interfaces de E/S como son los puertos USB, las interfaces de red (WiFi y Bluetooth, la interfaz para la tarjeta SD y la Flash interna, el lector DVD. El Starlet no utiliza la MEM1 para gestionar los periféricos de la consola y tampoco utiliza un método IOMMU para gestionarlos desde el momento en que no comparten las mismas direcciones de memoria y el Starlet no accede a la MEM1 sino solamente a la MEM2.

Cuando arrancáis la consola y aparece el menú de Wii, el encargado de arrancar el sistema y pasarle el testimonio a la CPU del sistema (el núcleo PowerPC 750 llamado Broadway) es el Starlet, pero Wii no utiliza un sistema operativo multitarea que funcione en segundo plano, cuando cargamos un disco automáticamente se carga el Sistema Operativo incluido en el Disco en la MEM1 y se re-inicia de manera encubierta la consola y cuando pulsamos el botón Home en el juego no es un sistema operativo en segundo plano el que se ve, sino que es el propio juego corriendo su sistema operativo.

Esto que os puede parecer chocante no lo es, antes de la aparición de PlayStation 3 y Xbox 360 las consolas no tenían almacenamientos masivos ni tenian Sistemas Operativos complejos, cada juego tenía el Sistema Operativo en el disco y cuando iniciábamos la consola el sistema operativo se copiaba en parte de la RAM y cargaba el juego, pero ese sistema operativo no se tiene que confundir con el IOS, el cual se cargaba en paralelo para el Starlet.

El IOS del Starlet tenía diferentes versiones dependiendo de como se utilizará el hardware en cada juego. Pero Nintendo no distrubuía las actualizaciones del IOS y sus diferentes versiones en el disco de cada juego sino que distribuía el código vía actualizaciones de Wii a través de internet. Cada vez que saliamos de un juego o cargabamos uno se inicia el periodo de arranque y seguridad para comprobar que la aplicación estaba firmada. ¿El problema? Los hackers reventaron rápidamente la seguridad de la consola como todos sabemos y se convirtió en el festival de la piratería.

Pero lo más curioso es lo de la NAND Flash, la Gamecube original tiene un puerto donde se conecta el GameBoy Player y que curiosamente tiene la misma velocidad que la A-RAM en Gamecube, la cual como habréis deducido es una reminiscencia a la idea original de que Gamecube tenga que ir con cartuchos. Dicho puerto esta vetado para los juegos comerciales de Gamecube pero a propia Nintendo lo utilizo para el Game Boy Player demostrando que es un puerto de E/S totalmente funcional.

Dicho puerto no es accesible en Wii por el hecho que BroadON lo reemplazo colocando los 512MB de Memoria Flash que tiene la consola, en realidad sigue estando pero no hay interfaz externa porque dicho puerto ya esta ocupado. Pero eso le ha servido a la comunidad de las «copias privadas» es decir… arrr… para lanzar un adaptador para cargar juegos desde una tarjeta SD en Gamecube utilizando ese mismo puerto.

El otro puerto utilizado era el que en la Gamecube original era el del adaptador de red, en realidad eran dos puertos en vez de uno que BroadON por petición de Nintendo adapto para conectar las radios WiFi y Bluetooth, lo que llevo a no tener que depender del modulo de radio del Wavebird pero al mismo tiempo fue el punto en que nació Wii como una consola aparte a Gamecube pese a compartir buena parte del hardware ya que Gamecube no tenia interfaz Bluetooth pero hay que tener en cuenta que las radios WiFi y Bluetooth están en chips aparte alejados para evitar interferencias y problemas de funcionamiento.

Por lo que las únicas interfaces de E/S que BroadOn tuvo que añadir en el Hollywood fueron los puertos USB y el lector de tarjetas SD que no se encontraban dentro de las interfaces de E/S de Gamecube que re-aprovecharón. En todo caso la consola estuvo lista en pocos meses de desarrollo interno. Nintendo no se paso mucho tiempo rompiendose la cabeza diseñando la consola y tampoco BroadON al re-utlizar buena parte del hardware de Gamecube para ello. Y si os preguntais sobre la llamada NNGC, solo hay menciones a una CPU más potente pero no a un sistema gráfico más potente, es más, el nombre de Next Nintendo GameCube ya nos da pistas que la consola nació originalmente bajo el concepto de una especie de Gamecube Slim.

Esto es todo, tenéis el Discord y los comentarios de esta entrada para comentarla.

5 1 vote
Article Rating
2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Charli

El tema técnico con wii es decepcionante, se la jugaron todo a 1 con el mando, visto con el tiempo al final fue un acierto, competir con Sony y Microsoft de tu a tu era complicado y se desviaron a lo suyo.

Bob

Nunca habia imaginado hasta que grado reciclaron la placa de gamecube en wii. interesante y educativo jeje