FPGA: Consolas antiguas reproducidas 1:1

Mister FPGA conectada y con el conector inalámbrico de mando

Explicación

Voy a intentar explicarlo desde un punto de vista práctico sin entrar en detalles técnicos para que se entienda mejor.

FPGA es un dispositivo programable que contiene bloques de lógica, es decir, imaginaros un lienzo en blanco donde, por programación puedes reproducir un circuito real 1:1 con todas sus características, todas sus puertas lógicas, incluso latencias entre componentes.

Esto nos lleva a la posibilidad de reproducir hardware antiguo cuyo funcionamiento será "exactamente igual" que en la consola original. Lo pongo entre comillas porque para que sea exactamente igual deberia ser exactamente igual, es decir, en el mundo analógico, si usas por ejemplo un altavoz distinto nunca se va a escuchar igual, pero bueno, ya es hilar muy fino, podriamos decir que es exactamente igual.

MiSTer. Características

Hay distintas placas FPGA, pero nos vamos a centrar en MiSTer, que parece que es la más mantenida por la comunidad, y si, esta es un poco la clave, la gran comunidad que hay detrás manteniendo, creando y mejorando los núcleos.

La maquinita es una pasada, tienes salida HDMI y fundamental, analógica (VGA, RGB)... Hay componentes para acoplar y conectar mandos originales, tiene unos puertos con conexión USB pero que realmente no es USB, sino un puerto con baja latencia para evitar input lag si lo tuviera.

En este caso los juegos los añadiremos con ROMs, aunque como en proyectos comerciales podríamos añadir conectores de cartuchos pero sería un poco más incomodo ir cambiando los conectores.

Núcleos

Cuando decimos núcleos nos referimos a la reproducción del hardware de una consola en FPGA, como comentábamos es como un lienzo en blanco, entonces cuando cargamos un núcleo es como si tuvieramos el hardware real en el FPGA, y tenemos núcleos de casi todas las consolas y ordenadores retro conocidos, NES, SNES, Megadrive, Atari, NEO GEO, MegaCD, Atari, ZX Spectrum... Os dejo el link del proyecto donde podéis ver todo lo que incluye.

Además lo podéis adquirir ya todo montadito en Antonio Villena por unos 325 €.

Proyectos comerciales

Seguro que los conocéis, un proyecto que tiene muy buenos acabados y que tiene mucho éxito es Analogue. Este proyecto en el interior es FPGA, pero le han añadido el puerto de conexión de cartuchos originales.
Super NT Analogue con un juego de Super Nintendo

Los acabados son muy buenos, pero lo que no me gusta de este proyecto es que solo suele llevar un núcleo, algunos productos, como la super nt, solo tienen salida HDMI, y son bastante caros.

FPGA vs Emulación

Como hemos dicho el FPGA reproduce 1:1 el hardware de una consola (o cualquier circuitería), pero la emulación también por software, entonces, ¿dónde está la diferencia?

En software es difícil emular cosas como la latencia entre componentes físicos, pero lo más importante, es que tenemos limitadas las cosas que pueden suceder simultáneamente, podemos hacer que se ejecuten muy rápido, pero simultáneamente dependeremos de los núcleos del procesador y la prioridad que este nos asigne, y esto hace que no funcionen los juegos igual igual que en la consola original y esto se va anotar más en consolas que requieran mayor rendimiento.

Imágenes de xataka y techradar.

Comentarios