Seleccionar página

Los desarrolladores del emulador Dolphin GameCube/Wii han realizado ingeniería inversa en el Wii U GamePad, con las funciones del mando completamente simuladas en PC. Cuando escuchamos las noticias en Twitter, contactamos al desarrollador Pierre Bourdon para obtener más información. Al piratear el GamePad, razonamos que los desarrolladores tendrían amplia información sobre cómo funciona realmente el innovador controlador de Nintendo.

"Comenzamos a trabajar en el Wii U GamePad tan pronto como nosotros (yo y otros dos piratas informáticos) lo pusimos en nuestras manos", nos dice Bourdon. "El GamePad en realidad no es un dispositivo muy seguro (en comparación con la Wii U). El firmware del dispositivo se almacena en un Flash sin cifrar, lo que nos permitió aplicar ingeniería inversa al código binario con bastante facilidad. También utiliza casi el estándar 802.11n, que facilitó las cosas para experimentar en una PC".

El GamePad en sí no es tan complejo como la tableta Android más básica; esencialmente es un controlador de juego estándar, con una pantalla táctil y una tarjeta WiFi, junto con un chip decodificador para la transmisión de video entrante. Las entradas del controlador se transmiten a la Wii U a través del mismo canal WiFi (180 veces por segundo, nada menos), en contraste con el Bluetooth empleado por el Wiimote.

"Comenzamos nuestro trabajo rastreando un emparejamiento de Wii U/GamePad, suponiendo que las claves de encriptación WiFi se transferirían durante el emparejamiento. Resulta que el emparejamiento es (casi) WPS estándar [un protocolo de cifrado WiFi estándar], con solo un poco de ofuscación añadida a la criptografía", continúa Bourdon. "Modificamos wpa_supplicant/hostapd para que funcione con las cosas no estándar, y pudimos emparejar una PC con una Wii U de esa manera. Esto nos llevó menos de una semana; desde entonces, hemos dedicado nuestro tiempo a la ingeniería inversa de la costumbre". protocolo de comunicación utilizado entre la Wii U y el GamePad".

"El GamePad en realidad no es un dispositivo muy seguro (en comparación con la Wii U). El firmware del dispositivo se almacena en un Flash sin cifrar, lo que nos permitió aplicar ingeniería inversa al código binario con bastante facilidad".

Video de YouTube que muestra el GamePad simulado en PC: la culminación de una semana de piratería y meses de ingeniería inversa por parte de Pierre Bourdon y sus dos colegas.

Los protocolos de comunicación personalizados significan que podemos descartar las teorías anteriores de que Nintendo empleó el uso de la tecnología de transmisión de video Miracast de Broadcom para hacer funcionar el Wii U GamePad, aunque existen similitudes.

"El video se comprime con h.264 (perfil de referencia, por lo que no hay fotogramas B)", comparte Bourdon. "El audio generalmente no está comprimido, pero encontramos menciones de formatos de audio comprimidos en el firmware… Encontramos menciones de [Miracast] cuando comenzamos a trabajar en el GamePad, pero resultó ser falso. No hay Miracast en ninguna parte en ese GamePad. La transmisión de audio, video y entrada se realiza a través de protocolos personalizados".

El perfil básico h.264 descarta muchas de las técnicas de compresión más avanzadas empleadas por el códec, pero Nintendo lo compensa con un ancho de banda puro y sin procesar. Una captura de muestra de Wii U WiFi stream ofrece hasta 33 MB de datos capturados en 87 segundos, lo que nos da un promedio de alrededor de 3 Mbps. Esto es bastante lujoso para una transmisión de 858×480 a 60 cuadros por segundo, pero el video capturado aquí solo muestra los menús frontales de Wii U. Pierre Bourdon nos dice que la Wii U usa una tasa de bits variable, lo que significa que el ancho de banda aumenta según la complejidad de la imagen que tiene que codificar.

"Esta medida no incluye el audio. Aquí hay un gráfico del tamaño de fotograma a lo largo del tiempo en estos 33 MB", dice.

"A pesar del promedio de 3 Mbps, estamos viendo picos de entre 25 y 40 Mbps y una variación masiva en el ancho de banda que solo puede deberse a la codificación de tasa de bits variable".

Cómo se asignan 33 MB de datos en 87 segundos de video. Como puede ver, se usa una tasa de bits variable, escalando el rendimiento de datos para mantener la calidad de imagen en el GamePad.

A pesar del promedio de 3mbps, estamos viendo picos de entre 25 y 40mbps, y una variación masiva en el ancho de banda que solo puede deberse a la codificación de video h.264 con tasa de bits variable. Cuanto más compleja es la imagen, más información se requiere para mantener la calidad de la imagen, algo que Wii U parece más que capaz de transmitir con éxito a través de su enlace inalámbrico 802.11n.

"No lo he comprobado, pero creo que los picos son solo la Wii U que envía un I-frame grande (imagen completa/fotograma clave)", explica Bourdon. "Si promedias el ancho de banda en aproximadamente 10 cuadros, estos picos desaparecen en su mayoría. En el modo de funcionamiento normal, Wii U envía un cuadro I y luego solo cuadros P, a menos que la aplicación solicite enviar un cuadro I o no se haya recibido un cuadro correctamente por el GamePad (debido a la pérdida de paquetes)."

La confirmación de un codificador h.264 integrado en la Wii U (se cree que es parte del chip gráfico) es similar a los elementos del hardware que se encuentran tanto en la Xbox de próxima generación como en la PlayStation 4, por lo que hay la pequeña posibilidad de que las funciones de la nube se injerten en la Wii U, especialmente desde que Bourdon confirmó que la funcionalidad para admitir dos Wii U GamePads simultáneamente está integrada en el firmware.

"El flash del GamePad se puede actualizar, lo que significa que Nintendo puede agregar funcionalidad al controlador con el tiempo".

"No veo ninguna razón por la que no pueda enviar video/audio de GamePad a Internet (tanto Internet como GamePad pueden ser difíciles/imposibles)", ofrece Bourdon. "El firmware del chip que maneja la comunicación con el GamePad (llamado DRH) se puede actualizar, por lo que esto podría estar en los planes futuros de Nintendo. Sin embargo, solo especulaciones, no vimos nada en el firmware que indique que están planeando hacer esto ."

Pero, ¿qué pasa con las posibilidades de una emulación completa de Wii U, teniendo en cuenta el pedigrí del equipo de piratería? El trabajo realizado por Pierre Bourdon y sus colegas en el emulador Dolphin es notable [ Actualización: una aclaración rápida: los compañeros de equipo de Bourdon en el proyecto GamePad no están involucrados con Dolphin pero Pierre sí] y teníamos curiosidad sobre si la CPU compartida La herencia entre Wii y Wii U podría ofrecer algún tipo de ayuda para ejecutar el software de "próxima generación" de Nintendo en la PC.

"PowerPC es 'meh' para la emulación, no es difícil, no es fácil. Tener más núcleos para emular en realidad podría hacer que las cosas sean más fáciles de emular en mi opinión: significa que los juegos generalmente dependerán menos de la sincronización precisa", dice. "El mayor problema será la GPU: emular una GPU programable complicada es algo que creo que aún no se ha hecho, y podría ser muy difícil con API como DX y GL ocultando tantos detalles a los desarrolladores".