- Recreación de Zaxxon en ensamblador x86-64, ejecutándose directamente desde UEFI y con código abierto GPLv3.
- Retos resueltos: entrada sin lag (ratón/joystick), temporización precisa y motor gráfico tipo PPU con 128 FPS y sin sonido.
- Compilación con MASM x64 y enlace con MSVC; BOOTX64.EFI en EFI/BOOT/ de una partición GPT, con Secure Boot desactivado.

Hay proyectos que te hacen levantar la ceja y pensar: vaya, esto sí que es distinto. Inkbox Software se ha marcado un homenaje a la vieja escuela trayendo de vuelta un clásico isométrico de recreativa y haciéndolo arrancar directamente desde el firmware del PC, sin sistema operativo de por medio. Su reinterpretación de Zaxxon (1982) no se limita a ser una curiosidad: está íntegramente programada en ensamblador x86-64 y liberada como código abierto bajo licencia GPLv3.
Lo más llamativo no es solo el resultado, sino el camino. La filosofía del proyecto es “volver al metal”: dejar atrás las capas del sistema operativo, aprovechar el hardware sin intermediarios y demostrar que aún es posible construir una experiencia jugable pulida donde normalmente solo vemos utilidades de diagnóstico. Y sí, hay vídeo explicativo con una inmersión técnica larga y entretenida que cuenta cómo se gestó todo y qué piedras se encontraron por el camino.
UEFI como punto de arranque: por qué este experimento importa
La mayoría de experimentos lúdicos sobre UEFI se quedan en demos, juguetes técnicos o payloads que se cargan “dentro” del entorno de firmware. En cambio, aquí la apuesta es otra: la máquina arranca y lo primero que ves es el juego, sin pasar por un sistema operativo ni por un menú intermedio. Ese detalle marca la diferencia a nivel de complejidad y de experiencia de usuario.

UEFI es el reemplazo moderno de las viejas BIOS y, aunque dispone de servicios para entrada/salida, temporización y vídeo, no está pensado para ofrecer una experiencia de juego sofisticada. Eso obliga a sus autores a suplir carencias con ingeniería de bajo nivel: desde cómo leer controles en tiempo real hasta cómo dibujar a toda velocidad sin tearing ni latencias molestas.
El valor de la propuesta es doble. Por un lado, demuestra que el firmware puede ofrecer algo más que utilidades de configuración y test. Por otro, sirve de lección práctica sobre arquitectura de PC actual, timings, y diseño de motores gráficos minimalistas que no dependen de librerías “de lujo”.
Inkbox lo resume con una idea potente: estaban cansados de que el sistema operativo marcase el ritmo y los límites. Su respuesta fue programar en ensamblador, sin SO, para exprimir el hardware tal cual. No es un manifiesto anti-nada; es una declaración de libertad creativa, con el aliciente de que cualquiera puede examinar el código y bifurcarlo gracias a su licencia abierta.
Qué es Space Game for x64 y qué pretende
El proyecto lleva un nombre sencillo y descriptivo: Space Game for x64 es una recreación de Zaxxon para la plataforma x86_64 empaquetada como imagen UEFI. No hay emuladores de por medio ni un port “tradicional” que dependa de SDL, DirectX o similares: se trata de un binario BOOTX64.EFI que se carga como si fuese el sistema a arrancar.
Esto significa que, una vez lo preparas en un disco con partición EFI, el PC arranca derecho a la acción. No hay escritorio, no hay servicios en segundo plano, no hay gestores de ventanas ni controladores complejos: únicamente el firmware, el binario y tu hardware respondiendo al milímetro a lo que el ensamblador le pide.
Fiel al espíritu del original, la recreación conserva la estética isométrica y la sensación arcade de ocho bits. Para lograrlo, se ha construido una especie de motor que imita a un PPU (Picture Processing Unit) clásico, de esos que convertían limitaciones en estilo visual. Es un guiño técnico que, además, facilita un pipeline de render muy controlado.
En su repositorio público encontrarás el código fuente y las instrucciones para compilar, enlazar e iniciar el juego en hardware real. El conjunto está publicado bajo GPLv3, de modo que se puede estudiar, modificar y redistribuir bajo los términos de una licencia bien conocida en la comunidad de software libre.
Retos técnicos: entrada, temporización y vídeo sin red
Quien haya trasteado con UEFI sabe que su soporte de teclado, reloj y gráficos es utilitario, no “gamer”. El primer gran obstáculo fue la entrada. El teclado estándar de UEFI introduce un retardo interno que, para juegos, se siente torpe e impreciso. Ese lag rompe la inmediatez que exigen los arcades, así que Inkbox se buscó otra ruta: lectura de ratón/joystick para lograr una respuesta más viva y fluida.
El segundo desafío fue la temporización. Sin un sistema operativo que provea programadores de alta resolución, timers monotónicos bien mascados y planificadores de hilos mimados, hay que inventarse mecanismos estables para medir la latencia, cuadrar los frames y mantener la consistencia del motor del juego. El vídeo del proyecto se detiene con detalle en este punto, porque clavar los tiempos es la mitad de la jugabilidad.
En el frente gráfico, la solución pasa por un render que replica el comportamiento de un PPU retro. Se parte de un búfer base con resolución baja (256×256), suficiente para la estética tipo consola antigua, y de ahí se escala y compone la imagen final. El resultado es nítido y uniforme, con la coherencia estética que uno espera de un remake que respeta la identidad visual.
Superados esos baches, la demostración final luce suave como la seda: 128 FPS, animaciones fluidas y controles que responden al toque. Hay, eso sí, una ausencia deliberada: no se implementa sonido por ahora. Mejor una experiencia sólida en lo visual y lo jugable que dispersarse en demasiados frentes en la primera iteración.
Cómo se construye: herramientas de compilación y enlace
El código está escrito en ensamblador para 64 bits y se apoya en herramientas de Microsoft para el ensamblado y el enlace. Para ensamblar se usa Microsoft Macro Assembler (MASM) en modo x64, y el proceso de enlace corre a cargo del enlazador de Microsoft Visual C++ (MSVC Linker). No hay magia: son herramientas conocidas en el ecosistema Windows que producen un binario compatible con UEFI.
El resultado de la compilación es un ejecutable UEFI estándar: BOOTX64.EFI. Ese archivo es el que se debe colocar en la ruta de arranque esperada por el firmware: EFI/BOOT/, dentro de la partición del sistema EFI (ESP) de un disco con tabla de particiones GPT. Si vienes de Linux, macOS o Windows moderno, esta estructura te sonará.
La puesta en marcha es directa con un par de requisitos. Entra en la configuración del firmware y desactiva Secure Boot para evitar bloqueos por firmas. Luego, elige el disco donde has copiado el BOOTX64.EFI como dispositivo de arranque. Si todo está en su sitio, la máquina salta de inmediato al juego sin pasar por ningún cargador adicional.
Para quienes gusten de probar en distintos equipos, hay una ventaja clara: UEFI es un estándar ampliamente soportado en máquinas x86_64. Mientras tu hardware sea de 64 bits y tu firmware implemente UEFI, deberías poder probar el remake sin demasiadas ceremonias. Siempre ayuda verificar que el firmware permita desactivar el arranque seguro.
Escalado por hardware, depuración y otras opciones
Más allá de lo básico, el proyecto añade una idea muy interesante en rendimiento: un modo de “escalado por hardware” que aprovecha los otros procesadores de aplicación (los cores del sistema) para convertir el búfer del juego en un objetivo de 1024×1024 con rapidez. Es un pequeño tour de force de paralelización dentro del entorno UEFI: el juego dibuja en 256×256 y se multiplica la resolución final sin penalizar el frame rate.
Si prefieres simplicidad o tu equipo es modesto, puedes desactivar ese escalado. En ese caso, el programa vuelca el búfer 256×256 a pantalla tal cual, manteniendo el look más “píxel a píxel” y reduciendo la carga de cómputo. Según tus preferencias, puedes priorizar pureza visual o nitidez extra.
Para los curiosos que quieren ver “las tripas”, hay toggles pensados para el desarrollo. Existe una opción para mostrar las hitboxes (las cajas de colisión) que solo tiene sentido si el escalado por hardware está activo, ya que la superposición resulta más clara y manejable a resoluciones mayores.
También se puede activar un overlay de diagnóstico. El modo debug vuelca información en la consola, incluyendo detalles de la entrada de control y el recuento de columnas del motor de render. Si estás ajustando timings, latencias o precisión de lectura de dispositivos, estos datos son oro puro para entender qué está ocurriendo en cada frame.
Rendimiento y experiencia de juego
Lo que mejor define este experimento es cómo se siente al mando. La fluidez a 128 FPS y la respuesta sin inercias crean una sensación muy de recreativa: todo sucede en el momento exacto, sin que el sistema “piense” de más. Esa inmediatez es fruto del control milimétrico sobre el pipeline: menos capas, menos incertidumbre.
Aun con la ausencia de sonido, es un juego plenamente disfrutable. El énfasis está en la jugabilidad y la claridad visual, con una paleta, sprites y scroll que evocan la era de los ocho bits sin caer en filtros modernos ni postprocesados innecesarios. Si vienes por la nostalgia, te quedarás por el rendimiento.
La cuestión de la entrada merece un aplauso aparte. Evitar el teclado “estándar” de UEFI —por su delay incorporado— y optar por ratón/joystick no solo esquiva un problema, sino que refuerza la identidad arcade del remake. Se nota en la precisión al ajustar trayectorias y en cómo el juego tolera correcciones rápidas.
En equipos multicore actuales, el modo de escalado hace que la presentación a 1024×1024 sea inmediata. Repartir trabajo de escalar entre cores permite mantener la línea de 128 FPS sin sudar, mientras que en modo simple la estética “cruda” 256×256 ofrece esa textura retro sin concesiones.
Compatibilidad y disponibilidad
Uno de los puntos fuertes de esta propuesta es su alcance. El binario está pensado para ejecutarse en cualquier máquina x86_64 con UEFI, lo que cubre un espectro amplísimo de PCs de escritorio y portátiles contemporáneos. No se necesita un modelo específico ni una marca concreta; basta con cumplir el estándar y permitir el arranque del EFI sin trabas.
Si quieres trastear, la puerta está abierta. El repositorio “Space Game for x64” en GitHub incluye código, documentación y recursos para que puedas compilar y construir tu propia imagen. Quien ya esté cómodo con MASM y el enlazador de MSVC se sentirá como en casa; y quien no, tiene una escusa perfecta para aprender.
Licenciarlo bajo GPLv3 no es un detalle menor. Esa elección garantiza que el conocimiento vuelve a la comunidad, y que cualquier derivado mantendrá esa misma apertura. Para proyectos educativos o para laboratorios de ingeniería inversa, es un tesoro: puedes leer, modificar, comparar y medir sin restricciones privativas.
La historia detrás: motivación y aprendizajes
¿Por qué meterse en un jardín así? La motivación del autor es tan técnica como filosófica: quitarse el corsé del sistema operativo, reencontrarse con la programación a ras de hierro y recuperar la esencia arcade de “lo que ves es lo que hay”. Ese espíritu se traduce en decisiones de diseño sobrias y eficaces.
El vídeo que acompaña al proyecto es un plus. No es un tráiler, es una clase magistral de cómo lidiar con las limitaciones reales del firmware y cómo convertirlas en una experiencia jugable convincente. Quien haya sufrido con temporizadores, latencias y polling de dispositivos sabrá apreciar el nivel de detalle.
Hay aprendizaje por todas partes: desde la elección de dispositivos de entrada hasta el pipeline de dibujo y el escalado. Replicar el comportamiento de una PPU retro no solo es nostalgia; es una decisión pragmática que acota el problema, evita dependencias externas y da coherencia a la estética final.
Ese enfoque, por cierto, se traduce en un código que se puede leer y estudiar. Programar en ensamblador x86-64 hoy no es habitual, y menos aún con este grado de ambición lúdica. Precisamente por ello, el valor educativo del proyecto es enorme para quien quiera entender de verdad qué hace el hardware en cada instrucción.
Detalles prácticos para probarlo en tu equipo
Si te pica la curiosidad, el recorrido básico es este: compilas con MASM en 64 bits, enlazas con MSVC y obtienes el binario BOOTX64.EFI. Copias ese archivo a la partición EFI (ESP) de un disco con tabla GPT, respetando la ruta EFI/BOOT/, y preparas tu firmware para arrancar desde ese dispositivo con Secure Boot desactivado.
Algunos firmwares añaden su propia “personalidad”, así que toma nota. Puede que necesites forzar el orden de arranque o elegir el disco manualmente en un menú rápido de boot. Una vez sale el logo de UEFI del fabricante y salta el arranque, si la ruta está bien, entrarás directo al juego.
Para los ajustes de rendimiento, no hay misterio. Activa el escalado por hardware si quieres 1024×1024 con máxima nitidez y tienes cores de sobra; desactívalo si buscas la imagen 256×256 sin artificios. Si estás depurando, muestra las hitboxes y el panel de diagnósticos: verás al vuelo la entrada registrada y el recuento de columnas que maneja el motor.
Como nota de seguridad: desactivar Secure Boot es requisito para este binario. Recuerda revertir ese cambio si lo prefieres, una vez termines de jugar. No es un paso extraño en proyectos caseros UEFI, pero conviene tenerlo presente si trabajas en equipos de producción.
Más allá del juego: impacto y posibilidades
Quedarse solo con el guiño retro sería injusto. Este trabajo abre una conversación sobre lo que puede hacerse en UEFI con disciplina de ingeniería y objetivos claros. Hoy es un arcade clásico; mañana podría ser una utilidad gráfica avanzada, un entorno de test de hardware o experiencias interactivas que no dependan de instalar nada en disco.
Para la escena educativa, el atractivo es inmediato. Un repositorio en ensamblador bien comentado, que toca entrada, temporización, gráficos y paralelización ligera dentro de UEFI, es un material didáctico excepcional. Es difícil imaginar un laboratorio más clarificador para entender la arquitectura moderna de PC sin las capas del sistema operativo.
En la comunidad maker y retro, el efecto llamada también es claro. Volver a sentir el control total del pipeline engancha. Recupera el espíritu de “lo hago yo” de los 80 y lo trae a un terreno actual y estandarizado. Más de uno se animará a experimentar con su propio mini-engine UEFI a partir de estas bases.
Y para quienes solo quieren jugar un rato, la propuesta cumple con creces. Es rápido, es limpio y es sorprendente arrancar un PC y caer directamente en un clásico remozado sin ver un escritorio. Si te apetece una sesión arcade sin distracciones, es difícil pedir más.
Una idea que sobrevuela todo el proyecto es la de la autonomía. Cuando controlas cada instrucción, controlas la experiencia. No dependes de actualizaciones del SO, del programador de tareas o de los controladores. Hay costes —no hay sonido por ahora, no hay capas de comodidad—, pero a cambio obtienes un juguete técnico delicioso y un manifiesto de independencia creativa.
Entre las pequeñas perlas técnicas, destaca la gestión de entrada alternativa ante el teclado torpe de UEFI y el uso de los application processors para el escalado. Ese detalle de paralelización “ligera” dentro de firmware es un recordatorio de que el estándar ofrece más margen del que solemos explotar en el día a día.
Si te gusta bucear en fuentes y commits, pasarás un buen rato revisando la organización del proyecto, la claridad de las rutinas y cómo se resuelven casos borde. La decisión de compartir bajo GPLv3 asegura que nadie se guarda el as bajo la manga: lo que se aprende aquí circula y crece con las aportaciones de otros.
Al final, más que un simple port, es una declaración de intenciones envuelta en píxeles. Recupera una forma de programar y de jugar —sin anestesia ni arneses— que sigue teniendo encanto en 2025. Y lo hace con respeto al original y una ejecución técnica a la altura, arrancando donde nadie espera ver un juego: el propio firmware.
Redactor apasionado del mundo de los bytes y la tecnología en general. Me encanta compartir mis conocimientos a través de la escritura, y eso es lo que haré en este blog, mostrarte todo lo más interesante sobre gadgets, software, hardware, tendencias tecnológicas, y más. Mi objetivo es ayudarte a navegar por el mundo digital de forma sencilla y entretenida.