La NES puede “leer” juegos de SNES, pero no es nada sencillo

Eso es lo que ha conseguido Tom Murphy, apodado Tom7, gracias a realizar emulación inversa. La consola NES que ha utilizado no está modificada, y toda la “magia” se realiza a través del cartucho que inserta en la consola. Este cartucho cuenta con una placa muy especializada que Murphy pidió a China por 10 dólares, a la cual se le engancha una Raspberry Pi 3, la cual se encarga de realizar la emulación en sí de la SNES.

La Raspberry Pi sustituye a una parte del cartucho y se conecta a la NES a través de un chip EEPROM personalizado que le dice al sistema cómo procesar y mostrar todo el contenido gráfico que viene desde la Raspberry Pi 3. Así, lo único que se mantiene del cartucho original es el chip CIC para poder pasar la protección anticopia.

Esta emulación, sin embargo, no es perfecta. La Raspberry Pi tiene demasiada latencia para transmitir todas las instrucciones gráficas al procesador de la consola. Cuando la placa envía una descarga de instrucciones (180 nanosegundos después de generarlos), la NES ya está en la siguiente parte del ciclo de escritura y lectura.

El resultado final es mejorable, pero funciona

Por ello, Murphy tuvo que introducir un ciclo de retraso para compensar la latencia, obligándole a tener que predecir dónde se iban a enviar los datos. Esto lo soluciona, pero introduce un parpadeo y ruido en la imagen bastante incómodo, como podemos ver en el siguiente vídeo. En el 17:06 ejecuta Super Mario World en la NES, pero con una baja calidad gráfica.

Además de juegos, también es posible ejecutar vídeos o animaciones; y con un color mejor que el que podía mostrar la NES original gracias a poder cambiar la paleta de colores. Sin embargo, la NES (limitada a 432 colores) no puede mostrar los 32.768 colores posibles de la SNES (aunque sólo podía mostrar 256 a la vez). Por ello, la Raspberry Pi tiene que convertir muchos colores al más cercano que encuentre que la NES sí pueda reproducir.

El sonido también está más limitado, ya que la SNES tenía 8 canales y la NES sólo 4, por lo que sonaría raro. No obstante, Murphy asegura que sería posible hacerlo mediante otro cartucho con emulación inversa. De momento, este sistema no lleva sonido.

Todos los juegos emulados se ejecutan con el mando original de la NES, lo cual hace que algunos movimientos de juegos de la SNES no se puedan hacer al tener el mando menos botones.

 

Fuente: Ars Technica | adslzone