No solemos hablar por aquí de retrogaming porque claro, si ya solemos hablar demasiado de cómics del pasado como para ponernos a hablar de juegos de Spectrum que solo se pasó M’Rabo en 2002. Pero quieras que no yo le doy bastante a los emuladores y recopilatorios que van saliendo por aquí y allá, con lo que cuando empezaron a salir estas consolas FPGA empecé a rascarme la cabeza. Pero mejor no nos adelantamos a los acontecimientos y empezamos por el principio…
Vamos a ver, para jugar al Duke Nukem 2 (1993) hasta ahora había dos formas: tirar de emuladores o montarse un 486, un ordenador de principios de los 90 con sus periféricos y sus cositas, algo que en realidad es bastante más complicado de lo que uno se puede imaginar, porque aunque no existe con los ordenadores la vergonzosa especulación que se ha dado en las consolas durante los últimos diez años -hace quince podías encontrar juegos y consolas tiradísimos de precio, pero ahora todo el mundo es coleccionista- conseguir componentes en buen estado de conservación es un pelín jodido, sobre todo si pretendes usar un sintetizador midi como el Roland MT-32 y no una simple Sound Blaster 16. La mayor parte de la gente pues eso, nos conformábamos con el emulador y tira millas, que quieras que no cada vez son más precisos y no requieren jugársela en ebay y demás servicios de subastas.
También hay que reconocerle a la Roland MT32 que sonaba la mar de bien, pero lanostalgia tira mucho y la mía va más por el PC Speaker…
Pero las cosas empezaron a cambiar bastante últimamente. De repente empezaron a aparecer reproducciones de consolas que usaban cartuchos originales, primero tirando de emulación y luego de FPGA, y claro, más de un profano como yo empezamos a rascarnos la cabeza porque no sabíamos que cuernos era un Field Programmable Gate Array y por qué supuestamente era tan maravilloso, porque su emulación no era emulación si no simulación y qué cuernos nos importaba a nosotros. Y seguramente alguno de vosotros con conocimientos técnicos sería más experto en explicar lo que es una FPGA, pero como aquí solo estamos M’Rabo y yo, supongo que me toca a mi explicarlo todo. Y lo voy a hacer de la forma más friki y chapucera: con mutantes.
Un emulador sería Mística, y una FPGA sería Warlock, el de los Nuevos Mutantes. Los poderes de Mística simulan el aspecto y la voz de otra persona, por un poner Superman, pero no sus poderes, por lo que Mística no podría volar. Mientras que Warlock puede tener el aspecto de Superman y volar como Superman. Así, tu puedes usar tu teléfono Android para emular una Master System de los 80, pero ese emulador no puede funcionar a la misma frecuencia que la máquina original al milímetro con lo que acaba haciendo es hacer una aproximación por tanteo, lanzándole las instrucciones lo más rápido posible hasta que encajan en la velocidad del original. Los programadores de emuladores, siendo conscientes de que esto puede crear discordancias con el original, cambios de velocidad y demás, van introduciendo apaños de sincronización en el código hasta que acaban más o menos consiguiendo una velocidad parecida a la del original, haciendo que el usuario medio apenas se de cuenta de la diferencia entre unos y otros. Pero claro, ¿que pasa si ese juego emulado lo juega alguien que se conoce el juego original como la palma de su mano?
Que si el emulador está realmente depurado tampoco notará tanta diferencia. No hay que olvidar que, aunque un emulador sea tan bueno como los de Byuu -el Reed Richards de la emulación- y simule chip a chip toda la máquina original, la precisión con la que mimetiza el original depende de hasta dónde quieran llegar los programadores. El hecho de que casi todos los emuladores modernos hayan pasado de ser «propietarios» a de código abierto como MAME, con lo que cualquiera puede seguir el trabajo de emulación donde lo dejó el anterior programador cuando se cansó, se ha traducido en que los emuladores actuales sean tremendamente precisos y de una calidad más que buena. Pero claro, algunos siguen queriendo más. Y ahí es donde entran las FPGA.
Las primeras FPGA que he conocido son las de Analog, que trataban de vendernos a un precio un tanto caro -400 euros para arriba- reproducciones de la Nintendo NES, Megadrive o Super Nintendo. Se vendían como reproducciones 1/1 del original, y lo cierto es que al ser el propio hardware el que simulaba el trasto original, es mucho más fácil llegar a un nivel de simulación casi perfecto. Internet está repleto de videos comparando el hardware original con el emulador y la versión FPGA, y normalmente es la FPGA la que se aproxima más al original. Aun así no os engañeis, si el emulador es realmente bueno -y a estas alturas tenemos emuladores muy pero que muy buenos- puede llegar a ser idéntico al original, solo que habrá seguido una ruta mucho más larga y tortuosa. Pero claro, vivimos en la era del «lo quiero ya y ahora», por lo que si el personal estaba dispuesto a gastarse una morterada de billetes en hardware original, también gastará en esas réplicas de consolas. Y así le iba de bien el negocio a Analog hasta que el código abierto llegó también a las FPGA…
Porque claro, el avance de las FPGAs ha venido ligada a usos científicos, médicos y militares, y según su importancia ha ido aumentando en esos campos, la necesidad de tener gente preparada para programarlas ha ido aumentando exponencialmente. Por eso, Intel, Xilinx y demás fabricantes de FPGAs han empezado a hacer versiones «baratas» para universidades y estudiantes que, en cuanto han tenido en las manos por cosa de 100$ un trasto con estas capacidades, han corrido a buscar la forma en la que hacer correr en ellas videojuegos. Y así es como empezaron a aparecer FPGAs open source basadas en hardware «para estudiantes» como MiST, MiSTica o MiSTer y que podían ejecutar con bastante precisión ordenadores de 8 bits como los primeros Apple, MSX, Spectrum, Commodore 64… La cosa ha ido evolucionando durante los últimos cinco años y, a medida que se han ido lanzando placas «educativas» más y más potentes, estos proyectos han mutado hasta poder adaptar máquinas de 16 bits como Megadrive, Super Nintendo, Neo Geo y hasta ordenadores 486 con los que jugar al famoso Duke Nukem 2, con vistas a futuro de saltar a recreativas como las placas CPS2 de Capcom, Playstation y demás.
El hecho de que proyectos como la MiSTer FPGA -la FPGA de moda actualmente, de código abierto y basada en la «placa educativa» Terasic DE10 Nano- sean de código abierto se traduce en que haya un montón de gente trabajando para ella y adaptando multitud de sistemas a la vez, desde consolas portátiles como la serie Gameboy hasta la Jaguar y ordenadores bastante poco conocidos fuera de su barrio como el Acorn Archimedes. Sin embargo, el hecho de que dependan de la potencia de la placa en la que se basan se traduce en que cada vez que se pasa a una placa más potente se deben de pasar todos los proyectos al nuevo hardware, el viejo hardware se abandona paulatinamente y el consumidor debe de soltar 100 o 200 euros en el nuevo trasto y los posibles accesorios, mientras que con los emuladores a estas alturas ya tienes las espaldas más o menos cubiertas con todo lo que no sea hardware de los últimos 10 años. Pero dejémonos de zarandajas, para nosotros como usuarios de a pie que si acaso jugamos un rato con el movil al Puzzle Bobble, ¿realmente merecen la pena las FPGAs?
El que los emuladores puedan teóricamente hacer lo mismo no quiere decir que lo estén haciendo. Porque la generación de consolas japonesas de 8 y 16 bits ahora mismo tiene una emulación envidiable en casi todos sus juegos, pero si que es cierto que es un trabajo que no está ni mucho menos terminado, y que en muchos casos las FPGAs lo tienen hecho casi desde el principio; una vez la descripción del hardware original está hecha, casi cualquier juego puede funcionar en ella sin ningún problema -a menos que el juego lleve sus propios chips especiales, claro-. En el caso de los emuladores y al funcionar «por tanteo», si el programador no trabajaba la emulación chip por chip y tomaba atajos, luego tenía que ir parcheando juego por juego y así es como los primeros pasos de cualquier emulador tienen largas listas de compatibilidad documentando si tal juego se puede jugar hasta el final, fallos gráficos y jugables y demás.
Así, lo primero que vamos a notar al usar una FPGA es que el ritmo del juego original «lo clava»; no es nada raro que aquella recreativa que nos pasábamos con los ojos cerrados de críos en emulador se nos de fatal y de repente en una FPGA se nos vuelva a dar de maravilla. Sin embargo, hay varios juegos y plataformas concretas cuyos emuladores están trabajados hasta tal nivel que la diferencia con una FPGA y el hardware original es inapreciable. Es más, plataformas tan versátiles como la Mister FPGA van a hacer posible que muchos programadores puedan perfeccionar sus emuladores sin recurrir al hardware original, que con lo caro que se está poniendo todo esto gracias a la especulación va a estar más que justificado.
Aquí comprobando las diferencias entre MAME, FPGA y la recreativa original.
En resumen, la mayor parte de las veces no vas a notar la diferencia entre emulador y FPGA a menos que te conozcas el hardware original al dedillo, con lo que el desembolso que pueden suponer estas plataformas -estamos hablando de ciento y pico euros la placa, otros 60 un módulo de RAM para hacer funcionar la placa de Neo Geo y luego desde 50 hasta 150 en una placa IO para poder conectarle al cacharro mandos USB, monitores CRT y demás, con lo que algunos se están gastando trescientos y pico euros en el mamotreto entero- no lo vería yo justificable a menos que te apasione mucho el material. Y aun así lo dicho, el proyecto está en desarrollo y muchos de los componentes se van actualizando año a año, con lo que si quieres estar a la última te va a costar. Y eso por no hablar de que si no te vale usar un mando USB de hoy en día y eres uno de esos locos por usar periféricos de las consolas originales, te puedes acabar gastando 70 dólares en un adaptador universal y más todavía en los mandos… O también puedes más práctico y gastarte 100 dólares en la DE10-Nano, adosarle un hub USB y un disipador y ponerte a jugar a juegos de Megadrive en tu monitor HDMI como si no hubiera un mañana. Por no hablar de que siempre puedes seguir con los emuladores y no gastarte un céntimo. Es lo bueno de todo esto, cada uno disfruta estos cacharros como le da la gana.