in

Juegos de 8 bits en un chip

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 maquina 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. ¿Quien 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.

Para comprender este enfoque, tenemos que recordar que una maquina 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).

Placa del MS Pac Man. Todo esto "cabe" dentro de un FPGA.

Programar un FPGA es algo que nadie aprende a hacer de un día para el otro, aunque cualquiera con las ganas suficiente 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, cuando 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 maquinas de videojuegos. Los FPGA son los 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 RA, 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 hard tendría un costo 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 suelen estar aún protegidas 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 utilizaras 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.

¿Es mejor la emulación por hardware que la emulación por software? No necesariamente. De hecho, se pueden hacer mas 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?

Reportar

¿Qué te pareció?

Escrito por Ariel Palazzesi

22 Comments

Leave a Reply
  1. Si porque no, pero cuando aparezcan seguro que sale otro diciendo que en el mismo aparato cabe mas, de hecho te imaginas una pequeña portatil con su propio SO y una infinidad de juegos metidos en una microSD de 8 GB? porque invertir dinero en otros sistemas? hay algo mas pequeño y con mas capacidad que una microSD? incluso podria llevar otra interna para usarla de ram, con un pequeño micro y un par de estas tarjetas se podria hacer una autentica maravilla en apenas unos cm…

  2. Excelente! Cuando tenga un poquito de tiempo voy a ver si armo algo… sería genial tener un pacman para disfrutarlo con mis amigos!

  3. hum.. lo que comparto es poder construir estos aparatillos de forma barata, sin embargo no es accesible a todo público. Otra cosa del artículo el "para jugar una partida de Pac Man necesitas un ordenador que cuesta cientos de euros.", actualmente la emulación por software te permite jugar dichos juegos en cualquier ordenador viejo.. aún recuerdo hace un poco mas de 10 años jugar Zaxxon en pcs viejos mediante un emulador en DOS

  4. Asombroso siempre he pensado que la Emulacion por hadware es mas efectiva que la de software pero como dicen mas arriba ambas con el software se evitan varios problemas como portabilidad y concentración de juegos como lo que dijo Dani.

    Bye.

    [OFF]

    NOTICIA:::

    Mexicano demuestra un “antes” del big bang

    http://www.milenio.com/node/497495

    [/OFF]

  5. Bueno, no es muy dificil sintetizar hardware en una fpga ( es la palabla que utilizan los entendidos del tema),
    me enseñaron en una semana los conceptos basicos y tuvimos q hacer un dado electronico , no es mas que C "modificado", con conceptos como la ejecucion de lineas en paralelo .
    Lo importante es como plantearlo

  6. Con un portatil iBook de 200 € funciona perfectamente. Si quieres hacer un mueble de recreatica con ese portatil dentro, está genial.

  7. yo los he probado en un pentium 3 de segunda q aqui en mi pais cuestan unos $35 +o- y corre muy bien incluso corre en pentium 2 ……

  8. ¡Genial!, Probare los juegos que hay en la pagina (con el SPARTAN 3E que tiene un profe en la uni) , alguien sabe donde puedo conseguirlas roms ya que no los dan en esa pagina pero con
    el codigo fuente de los juegos me conforma, buscare las roms para jugar. 😉

    Porcierto a los segidores de microcontroladores de NeoTeo sabian que con un FPGA se puede simular un Pic…..

    ¡saludos a todos!

  9. simular estos juegos en un PIC seria emulacion por software, ya que solo estarias programando, en cambio en un FPGA lo que creas es hardware, el lenguaje que se usa casi siempre es el VHDL, en el FPGA primero tendrias que crear unas memorias RAM, ROM, algun sumador, restador, contador, etc… todo lo tienes que crear tu, parece dificil, y lo es en parte, pero como siempre ya hay codigo con los bloques principales que se usan siempre. Lo que siempre he querido saber es cuanto estan estos chips FPGA, en el laboratorio de mi universidsad habian.

      • Si si , en fin.

        Mira tienes que compilarlos no son ROM’s ni nada, son el código fuente (creo no se nada de estas cosas) así como venían en los antiguos cartuchos, creo que son en C o C++, tendrás que preguntarle a algín experto en programación.

        Saludos.

  10. el que dijo que wakala pobre pendejo que sera sin eoso juegos no habria loq ue hay hoy dia debemos mucho a esos pioneros lastima que ya los arcades van cayendo pero ahi siguen

  11. Buen artículo. Recordar que la emulación por software nunca será lo precisa que puede ser una reproducción por fpga del harware original. Esto último nos asegura 100% de precisión, a diferencia del software que siempre tiene truquitos que aceleran la emulación a costa de precisión y fidelidad. Saludos!.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Via libre para el reactor de fusión europeo

Juegos Online de la Semana (29/07/10)