Doom en una prueba de embarazo y en Coreboot
El tema de los ports siempre ha generado cierto interés en la comunidad del tipo de que sea, dígase videojuegos (consola a computadora), tambien de aplicaciones (sistema a sistema), funciones, utilidades, etc.
Y esto es debido a que ya sea por liberación por parte del código de interés o ingeniería inversa, muchos han logrado portar aplicaciones, juegos, características, etc hacia una plataforma de su interés.
Pero en este caso hablaremos sobre un juego, que en lo particular ya a este punto me parece bastante interesante, pues el hecho de que sea uno de los juegos con más ports tiene (o al menos que yo conozco) y es que nadie imaginó ver juegos portados a hardware como una prueba de embarazo.
Este juego no es otro que Doom, que se lanzó en 1993 y cambió el panorama de los juegos de disparos tras su lanzamiento.
La persona detrás de este gran logro, es conocido como Foone Turing, el programador de profesión descubrió cómo jugar a Doom en una prueba de embarazo. El interés de Foone Turing parece haber despertado hace unas semanas cuando otro usuario de Twitter mostró la parte interna de una prueba de embarazo, que se reduce al hardware mínimo necesario para interpretar una tira reactiva, como una tira de prueba de muy bajo consumo autómata de tareas.
Sin embargo, las pruebas más equipadas tienen una pantalla LCD de un solo color, lo que significa que también tienen entradas para estas pantallas. Alguien lo suficientemente curioso y con un buen conocimiento del material podría hacer la conexión, por así decirlo.
Yesterday I had a lot of retweets and reddit posts and such for playing Doom on a pregnancy test.
But as I explained then, it wasn’t really PLAYING on a pregnancy test, it was just a video being played back, not an interactive game.Well, now it is. It’s Pregnancy Test Doom! pic.twitter.com/Nrjyq07EVv
— foone (@Foone) September 7, 2020
Al igual que Marc Verdiell, un especialista en hardware antiguo, a Turing le gusta jugar con tecnología que no parece encajar. La prueba de embarazo que ordenaron tiene una pantalla LCD que tiene solo cuatro símbolos y está codificada para hacer una cosa: mostrar señales como un reloj de arena y la palabra «EMBARAZADA». En la primera prueba que intentó Turing, el chip interno estaba completamente codificado, como un instalador de CD-ROM de solo lectura.
Turing luego eliminó los elementos de la pantalla LCD y el chip de computadora codificado. Probó varios OLED diminutos, antes de decidirse por un microcontrolador y una pantalla de Adafruit que podían caber en el diminuto espacio de la caja de la prueba de embarazo. (Adafruit, un fabricante de hardware de microcomputadoras con sede en Manhattan, ha fabricado dos generaciones de su microcontrolador Trinket).
El aspecto es familiar no solo para los jugadores regulares, sino también para muchos usuarios de Windows 95. Turing trajo el juego a la pantalla desde un hardware externo y usó un método de representación de gráficos llamado «tramado» para traducir los coloridos gráficos del juego en una forma simplificada y texturizada. OLED de un solo color. Pero no se trataba de jugar el juego, solo de reproducir imágenes de video en una pantalla con forma de prueba de embarazo.
Después de muchos retoques, Turing finalmente conectó la cadena correcta de entradas y periféricos para convertir la pantalla de prueba de embarazo en una verdadera máquina Doom. Incluso el pequeño teclado bluetooth tiene solo unos pocos centímetros de ancho.
Cabe mencionar que hasta el momento sobre la prueba de embarazo, técnicamente no ejecuta Doom en su hardware original, pero una prueba de embarazo hecha de manera diferente podría y Turing estaría decidido a averiguarlo.
Otra de las plataformas a donde se ha portado doom recientemente no es más ni menos que en el proyecto coreboot, el cual es un proyecto de software libre de arranque. Su objetivo es reemplazar los BIOS propietarios que se encuentran en la mayoría de las computadoras con un sistema cuya función exclusiva es cargar un sistema operativo moderno de 32 o 64 bits Los
Los desarrolladores de Coreboot anunciaron Coreboot 4.17 con varias placas base compatibles nuevas, el soporte GRUB2 además de SeaBIOS como carga útil y varias mejoras de código de bajo nivel también. Además, es posible ejecutar el juego Doom en Coreboot 4.17.
CoreDOOM es el puerto del juego Doom que se ejecuta bajo Coreboot. Este es un port de Doomgeneric, un proyecto que hace que el juego Doom sea fácilmente portátil al solo requerir la implementación de un puñado de funciones en torno a la presentación de imágenes, eventos de teclado, ticks y otras funciones básicas, pero sin soporte de sonido, etc. La carga útil de coreDOOM se procesa en el búfer de fotogramas lineales de Coreboot y carga los archivos de datos del juego WAD desde el CBFS a la ROM del sistema.
Ha sido probado bajo QEMU y en hardware real para aquellos que quieren jugar este juego clásico ejecutándose directamente en el firmware del sistema Coreboot como carga útil.
Una copia de coreDOOM está en un árbol mientras que el desarrollo se realiza a través de coreDOOM en GitHub. Hasta ahora, solo se admiten teclados PS/2, y se espera compatibilidad con teclados USB más adelante. No hay soporte para guardar juegos, ya que se ejecuta desde la ROM flash de arranque del sistema, y el soporte de formato de video es limitado.