Cuando la ingeniería se encuentra con la ironía, nacen proyectos como este: el desarrollador de Linux Matthew Garrett se inspiró en los hongos parásitos y le trasplantó un nuevo cerebro a una vieja Commodore Amiga — un Raspberry Pi que ahora solo hace una cosa: cargar Doom. Nada de AmigaOS, nada de multitarea — solo shooter, solo infierno, solo píxeles.
En el corazón del proyecto está la placa PiStorm, creada por el entusiasta Claude Schwarz. Se trata de un adaptador que conecta el bus GPIO de 40 pines del Raspberry Pi con el bus paralelo del Motorola 68000. Por un lado está la Pi; por el otro, los contactos compatibles con el procesador original de la Amiga. Entre ambos, un CPLD Altera MAX II actúa como puente lógico. Esto permite que la Raspberry se “incruste” en la placa madre de la Amiga y emule el comportamiento del CPU original, ejecutando código desde la ROM o la RAM.
Por defecto, esta configuración permite acelerar la máquina antigua, añadirle memoria, periféricos y mejorar el rendimiento. Pero Garrett optó por otro camino: no ampliar las capacidades de la Amiga, sino sustituir por completo su núcleo computacional, convirtiéndola en una carcasa física para un Linux monotarea. Todo el control reside en la Raspberry Pi, mientras que la Amiga funciona como “mundo exterior”: pantalla, puertos y funciones básicas de arranque.
Para ejecutar Doom, Garrett recurrió a Chocolate Doom — un popular port moderno del juego original — así como a ADoom, una versión clásica para Amiga lanzada en 1997 y posteriormente abandonada. En lugar de iniciar AmigaOS, el sistema arranca directamente en el juego. Sin embargo, esto no fue posible sin superar ciertos obstáculos arquitectónicos.
Descubrió que sin iniciar Kickstart — el firmware que proporciona funciones básicas de arranque y gestión de memoria — la Amiga quedaba en un estado extraño. Como explica Garrett, “no puedes escribir en RAM si no se está ejecutando código, pero no puedes ejecutar código si no se le ha dicho al procesador dónde encontrarlo”. Un clásico círculo vicioso. En los modelos Amiga 1000, Kickstart se cargaba desde disquete; en versiones posteriores, estaba en la ROM. En ambos casos, era crucial para la inicialización.
La solución fue emplear una función poco documentada que superpone el contenido de la ROM en la dirección cero, saltándose la rutina habitual de arranque. Garrett comenta con sarcasmo que “es una de esas funciones que normalmente no te preocupan si haces las cosas como una Amiga normal... pero yo acabé aquí por malas decisiones de vida”. Al activar esa opción y enviar una señal de reinicio al bus, logró finalmente acceder a la memoria RAM y desbloquear la Amiga.
El resultado es un sistema que arranca directamente en Doom sin pasar por AmigaOS, aunque con algunas limitaciones: la imagen presenta artefactos gráficos, el sonido no funciona y la estabilidad es imperfecta. Aun así, el juego se muestra en la pantalla original de la Amiga, aunque toda la lógica computacional fue reemplazada por un computador Linux de placa única.
El nombre del proyecto — Cordoomceps — es una referencia al género de hongos cordyceps, que en la naturaleza infectan y controlan el cuerpo de las hormigas para cumplir su ciclo biológico. De forma similar, la Raspberry bajo Linux “posee” el cuerpo de la Amiga para cumplir un único propósito: ejecutar Doom. No es aceleración, ni emulación, ni modernización: es una infección digital.
Garrett lo resume con humor: ahora tiene una versión de Doom ligeramente inestable y sin sonido, que se ejecuta en una Amiga sin cargar sistema operativo, con un cerebro completamente reemplazado — y probablemente cualquier mejora futura “solo lo empeorará todo”.
El proyecto está disponible al público: el informe detallado puede leerse en su blog, y el código fuente fue publicado en GitLab bajo licencia GNU GPL v2.