Por qué los FPGA son asombrosos para la emulación de juegos retro

Una colección de gabinetes de juegos de arcade antiguos en una habitación oscura.
Ambiente1/Shutterstock.com

El uso de FPGA para replicar sistemas de videojuegos clásicos es una práctica que ha ido cobrando fuerza desde hace algunos años, pero ¿en qué se diferencian estos proyectos de la emulación de software estándar? ¿Vale la pena el alto precio de entrada para la mayoría de los usuarios?

¿Qué significa FPGA?

FPGA significa matriz de puertas programables en campo, un tipo de circuito integrado que se puede reconfigurar después de la fabricación. A diferencia de un chip de computadora tradicional, los FPGA usan bloques lógicos programables e interconexiones que se pueden reconfigurar para adaptarse a una variedad de propósitos diferentes.

En esencia, un FPGA se puede reprogramar para actuar como cualquier tipo de circuito digital. Esto se puede hacer una y otra vez simplemente cargando una nueva configuración en la RAM para emular un tipo diferente de chip. Mientras que los FPGA más antiguos usaban diagramas de circuitos, los nuevos usan programación basada en texto para describir el comportamiento.

Primer plano de un circuito integrado Xilinx FPGA.
Remus Rigo/Shutterstock.com

Estos chips tienen una amplia variedad de usos diferentes, particularmente en aceleración de IA y aprendizaje automático . Microsoft se asoció con Intel para mejorar la búsqueda de Bing utilizando la familia de FPGA Arria de Intel . Se utilizan en sistemas de procesamiento de señales e imágenes y tienen un papel único para ayudar a los diseñadores a probar conceptos en las primeras etapas de desarrollo.

Dado que los FPGA se pueden reprogramar para que se comporten como diferentes tipos de circuitos una y otra vez, también son perfectos para la emulación de hardware de videojuegos. En lugar de ejecutar un emulador en el software, los FPGA emulan efectivamente diferentes sistemas de videojuegos a nivel de hardware.

¿Cómo funciona la emulación del sistema FPGA?

La emulación de FPGA requiere que alguien escriba un «núcleo» para el hardware que reproduzca el comportamiento del hardware original. Este proceso a menudo implica la ingeniería inversa del hardware original e incluso el «desencapsulado», en el que se quita la cubierta protectora de un disipador de calor integrado para revelar el troquel del interior.

Relacionado:  Cómo apagar todos los sensores de su teléfono Android con un solo toque

Esto permite la inspección visual del circuito integrado para ayudar en la producción de un núcleo FPGA funcional. Este delicado proceso involucra el uso de químicos como ácido sulfúrico y acetona, calor, respiradores y mucha paciencia. Luego se toman imágenes de referencia y los núcleos se escriben en un lenguaje de descripción de hardware (HDL) que puede ser interpretado por un FPGA.

El proceso de aprendizaje, ingeniería inversa y escritura de un núcleo FPGA puede llevar meses y mucha dedicación. Sorprendentemente, muchos de estos núcleos se ponen a disposición de forma gratuita en aras de la preservación del hardware. Los núcleos generalmente se lanzan en un estado beta para que puedan mejorarse y el desarrollo puede durar años.

A pesar de emular el hardware original, la emulación de FPGA todavía es propensa a errores, al igual que la emulación de software. Los núcleos se actualizan regularmente a medida que se implementan más correcciones y cambios en la búsqueda de una emulación de hardware perfecta.

¿Qué beneficios tiene FPGA?

La emulación de hardware FPGA es lo más parecido a jugar en un sistema original, por lo que brinda una experiencia auténtica. Esto puede incluir peculiaridades que estaban presentes en el hardware original, suponiendo que el núcleo proporcione una réplica 1:1 del original. Los problemas como la latencia que pueden estar presentes con los emuladores de software se resuelven ya que la emulación se lleva a cabo en un nivel mucho más bajo (de hardware).

El hardware original puede ser poco confiable, especialmente a medida que envejece. Reproducir la forma en que se comportan los circuitos originales con un FPGA es una forma de preservar el hardware original y se puede implementar una y otra vez. Cuando estos proyectos se hacen de código abierto , cualquiera puede beneficiarse de ellos siempre que posea el hardware FPGA de requisito previo.

Un Commodore Amiga A500 vintage sobre un fondo blanco.
Susan Edmondson/Shutterstock.com

Para la mayoría de las personas, es más práctico tener una sola pieza de hardware que se pueda reprogramar sobre la marcha. El hardware original puede ser costoso, ocupa espacio y puede ser difícil de encontrar en el caso de computadoras raras y tableros de juegos. Este hardware no se está volviendo más joven, y dado que la producción cesó hace mucho tiempo, puede ser difícil repararlo o reemplazarlo.

Dado que el sistema se emula a nivel de hardware, los sistemas deberían poder interactuar con casi cualquier hardware diseñado para esa plataforma. Esto incluye cartuchos originales, periféricos y accesorios que no necesariamente se tuvieron en cuenta cuando se escribió el núcleo.

Relacionado:  Cómo obtener protectores de pantalla cinematográficos 4K de Apple TV en Mac

Esto es diferente de los emuladores de software que deben tener en cuenta los diversos dispositivos que el operador desea utilizar (como una pistola de luz, por ejemplo).

MiSTer: emulación de hardware FPGA para el hogar

MiSTer FPGA es un proyecto FPGA de código abierto dedicado a la emulación y preservación de consolas, computadoras domésticas y máquinas recreativas. Es el proyecto más exitoso de su tipo, con cientos de núcleos disponibles y en desarrollo activo.

El único componente «requerido» para ejecutar un MiSTer FPGA es el DE10-Nano, un pequeño dispositivo similar a Raspberry Pi que alberga un sistema en chip Cyclone V. La placa se puede expandir con RAM adicional, un concentrador USB y expansiones de entrada/salida que agregan funcionalidad como salida VGA, salida SCART o salida JAMMA para gabinetes de arcade.

DE-10 Nano FPGA
Terasic Inc

Para comenzar, necesitará un DE10-Nano , un estuche y algo de refrigeración. Para una emulación más avanzada, se requiere una expansión de RAM. Puede ampliar su configuración de MiSTer FPGA para adaptarla a su propósito previsto utilizando módulos complementarios de revendedores como MiSTer Addons  o Ultimate MiSTer . A continuación, deberá  configurar su tarjeta SD con la última versión de MiSTer .

El proceso es más complicado que el uso de emuladores «tradicionales», pero aún requiere archivos de datos y ROM como un emulador de software. Si eres un entusiasta que quiere una experiencia comparable al hardware original, no hay nada mejor que MiSTer. Para otros, es un gran gasto lograr algo que se puede hacer de forma gratuita a través de la emulación de software .

Bolsillo analógico: emulación de hardware FPGA sobre la marcha

El Analogue Pocket es una computadora de mano portátil multisistema que utiliza la emulación FPGA para interactuar con los cartuchos originales de Game Boy, Game Boy Color y Game Boy Advance. También hay adaptadores de cartucho adicionales para los sistemas Game Gear, Neo Geo Pocket, Atari Lynx y TurboGrafx-16.

FPGA portátil de bolsillo analógico
Término análogo

El sistema es compatible con los avances modernos, como la capacidad de suspender el juego al dormir la consola. El Pocket tiene una hermosa pantalla que recrea características como patrones de cuadrícula de píxeles y efectos de retroiluminación LCD. También se puede conectar a una base (se vende por separado) para reproducirlo en un televisor a través de HDMI .

Relacionado:  Cómo tomar una captura de pantalla en iPhone sin una vista previa en miniatura

A $ 219.99, es una hermosa computadora de mano que atraerá a cualquiera que tenga una buena colección de cartuchos originales. No hay capacidad para cargar ROM desde el software, pero Analogue Pocket es compatible con cualquier flashcart que funcione con el hardware original.

Los inconvenientes de los FPGA para juegos retro

El mayor inconveniente de usar FPGA para jugar juegos retro es el precio. Los emuladores de software modernos se ejecutan en casi cualquier dispositivo, desde computadoras antiguas hasta teléfonos inteligentes. La mayoría son gratuitos y muchos son proyectos totalmente de código abierto. Algunos han pasado por décadas de desarrollo y son altamente configurables.

MiSTer FPGA y Analogue Pocket son pasatiempos costosos. El proyecto MiSTer, en particular, podría costar fácilmente más de $ 500 con suficientes complementos, y si bien es un gran valor en comparación con una sola placa de arcade o una computadora doméstica rara, es difícil de vender para cualquiera que no esté buscando pixel- emulación perfecta.

Paquete MiSTer preconfigurado
MiSTerAddons.com

La disponibilidad también es una preocupación. Al momento de escribir este artículo en febrero de 2022, el DE-10 Nano está agotado en todas partes y el Analogue tiene una lista de espera de un año para el próximo lote de consolas Pocket. Las cosas empeoran por la escasez mundial de semiconductores y los revendedores que cobran precios exorbitantes en los sitios web de los revendedores.

La emulación de software y el hardware moderno han avanzado hasta un nivel en el que muchos jugadores ocasionales no notarán la diferencia entre un emulador de software y el hardware original. Los proyectos de FPGA como MiSTer y Pocket están dirigidos directamente a los entusiastas. El precio y la disponibilidad deberían mejorar con el tiempo, por lo que el futuro de la emulación a nivel de hardware de FPGA es muy brillante.

Otras formas de emular a los clásicos

Hay formas más baratas y fáciles de entrar en la emulación en este momento. Es muy probable que el dispositivo que está utilizando para leer esto pueda ejecutar un emulador de múltiples sistemas como RetroArch .

Una de las máquinas emuladoras domésticas de mejor valor en este momento es la Xbox Series S (o Series X), que se puede encontrar con relativa facilidad y se usa para ejecutar una gran cantidad de núcleos RetroArch . Si está buscando algo portátil, consulte los últimos emuladores portátiles con tecnología de Linux y Android en su lugar .