El mérito de los emuladores de hardware antiguo mediante software es innegable. Verdaderas maravillas como MAME hacen posible que las nuevas generaciones puedan disfrutar de juegos de hace 30 años en sus ordenadores. Sin embargo, no es la única forma de hacerlo. Los FPGA, unos chips “programables”, permiten emular el hardware de una máquina arcade completa utilizando un puñado de componentes. ¿Te interesa?

Actualmente estamos viviendo una especie de “fiebre retro”. Por todos lados surgen comunidades virtuales o foros específicos para los amantes de los ordenadores antiguos, coleccionistas de calculadoras viejas, de tarjetas “chip” de teléfono de hace 20 años, o cualquier cosa que tenga ese inconfundible “toque retro” que tanto nos gusta. Los juegos de vídeo, por supuesto, no son la excepción. ¿Quién no querría tener en la sala de su casa un par de máquinas recreativas con juegos tan famosos como “Pac Man” o “Donkey Kong”? Sin embargo, este tipo de hardware antiguo es caro, voluminoso y difícil de conseguir. Los emuladores por software, como MAME (Multiple Arcade Machine Emulator), hacen un excelente trabajo simulando la electrónica de estas máquinas y permiten que un ordenador moderno pueda hacerle creer a los programas originales (copiados de las ROMs reales de aquellas máquinas) que están corriendo en el hardware de siempre. Pero como decíamos antes, hay otra forma de hacer esto.

Qué es un FPGA

Para comprender este enfoque, tenemos que recordar que una máquina arcade, como los viejos “fichines”, no es otra cosa que un montón enorme de circuitos integrados digitales que, gracias a las buenas artes de un microprocesador modesto (un 6502 o Z80, por ejemplo) es capaz de ejecutar un programa contenido en una ROM (Read Only Memory). Volviendo a MAME, un emulador por software “imita” toda esta circuitería para que el programa funcione en un ordenador completamente distinto. Pero el precio a pagar es demasiado alto: para jugar una partida de Pac Man necesitas un ordenador que cuesta cientos de euros. La emulación por hardware, a pesar de lo que puede parecer, es mucho más barata y eficiente. El secreto se encuentra en una clase de chips llamados Field Programmable Gate Array (FPGA).

Juegos de 8 bits en un chip
Placa del MS Pac Man. Todo esto “cabe” dentro de un FPGA.
Juegos de 8 bits en un chip
Juegos de 8 bits en un chip

De las recreativas a los ordenadores completos

Programar un FPGA es algo que nadie aprende a hacer de un día para el otro, aunque cualquiera con las ganas suficientes y una conexión a internet puede hacerlo en un par de meses. Pero para disfrutar de la emulación por hardware ni siquiera hace falta eso. Hay sitios, como FPGA Arcade, que nos proporcionan bajo licencias de código abierto los programas necesarios para que podamos emular casi cualquier recreativa, incluyendo las más antiguas, como “Asteroids”, que utilizaban gráficos vectoriales. En realidad, cuanto más viejo es el hardware a emular, más sencillo resulta el programa del FPGA, ya que hay menos cantidad de chips para simular, y estos son incluso menos sofisticados. ¿Interesante, verdad?

Pero no solo se puede emular máquinas de videojuegos. Los FPGA son lo suficientemente potentes como para poder recrear ordenadores completos, como los Commodore, Sinclair o incluso los MSX. Por ejemplo, “One Chip MSX” es un proyecto que nos permite disponer —siempre utilizando uno de estos potentes FPGA— de un ordenador MSX2 con 256 kB de RAM, conexión PS/2, 2 puertos de joystick MSX, 2 slots de cartuchos, lector de tarjetas SD y MMC, salida de video compuesto, S-VHS y VGA, y 32 MB de SDRAM. Semejante cacharro es capaz de correr los programas originales de estas máquinas, incluso aquellos que están grabados en los viejos “cartuchos”.

La modalidad “Open Source” es fundamental para que este tipo de desarrollo sea popular. Si el código necesario para emular el “Space Invaders” costase lo que cobra un ingeniero para desarrollarlo, la emulación por hardware tendría un coste prohibitivo. Pero gracias al trabajo “comunitario” de muchos programadores, el resto de los mortales podemos disponer de estas verdaderas maravillas prácticamente gratis. Por supuesto, no hay que olvidar que tal como ocurre con los emuladores por software, el contenido de las antiguas ROMs suele estar aún protegido por derechos de autor que no han caducado. Eso significa que cuando descargues el programa para grabar en el FPGA seguramente la ROM no estará incluida, y deberás conseguirla por tus propios medios. La forma 100% legal de hacer esto es ser el propietario de una verdadera máquina arcade, y “bajar” el contenido de su(s) ROM(s) a un fichero que luego utilizarás como gustes. Hay quien dice que algunos usuarios inescrupulosos incluso han llegado a descargar ROMs de sitios dedicados a los emuladores, pero nos cuesta creerlo.

¿Emulación por software o por hardware?

¿Es mejor la emulación por hardware que la emulación por software? No necesariamente. De hecho, se pueden hacer más o menos las mismas cosas con ambas herramientas. Pero el uso de FPGA permite construir dispositivos pequeños, baratos y portátiles que seguramente en el futuro serán muy populares. ¿No te parece?

Visita