Digital Parasite: A Raspberry Pi Hacks an Amiga to Only Play Doom
When engineering meets irony, projects like this are born: Linux developer Matthew Garrett, inspired by parasitic fungi, has grafted a new brain into a vintage Commodore Amiga—a Raspberry Pi whose sole purpose is to launch Doom. No AmigaOS, no multitasking—just a shooter, pure hell, and raw pixels.
At the heart of the setup lies the PiStorm board, developed by enthusiast Claude Schwarz. It acts as an adapter, linking the 40-pin GPIO header of the Raspberry Pi to the Motorola 68000 parallel bus. On one end, the Pi; on the other, contacts compatible with the Amiga’s processor. Bridging them is an Altera MAX II CPLD, functioning as a logical interface. This enables the single-board computer to “invade” the system board and emulate the original CPU’s behavior, including executing code from ROM or RAM.
By default, such a configuration enhances the aging machine with increased memory, peripherals, and performance. But Garrett took a different route—not to augment the Amiga, but to wholly replace its computational core, turning it into a hardware shell for a single-tasking Linux machine. All control resides with the Raspberry Pi, while the Amiga serves merely as an interface: screen, ports, and basic initialization.
To run Doom, Garrett employed Chocolate Doom—a modern, faithful port of the original game—as well as the antiquated ADoom, an Amiga port first released in 1997 and later abandoned. Instead of booting into AmigaOS, the system launches straight into the game. But achieving this required overcoming substantial architectural hurdles.
It turned out that without initiating Kickstart—the firmware responsible for basic boot functions and memory access—the Amiga entered a peculiar state. Garrett discovered that “you can’t write anything to RAM until code is running, and code can’t run until the CPU is told where it is.” A classic catch-22. On the Amiga 1000, Kickstart was loaded from floppy disk; later models had it embedded in ROM. In all cases, it was critical for system initialization.
The solution lay in exploiting a poorly documented feature that overlays ROM contents onto address zero—bypassing the usual boot sequence. Garrett wryly notes, “This is a feature you’re not supposed to care about if you’re booting Kickstart like a normal Amiga… but I made bad life choices.” Once activated, he pulsed the reset line on the bus—finally unlocking access to RAM and breathing life into the Amiga.
The result is a machine that boots directly into Doom, bypassing AmigaOS entirely, albeit with a few limitations: visual artifacts, no sound, and some instability remain. Nonetheless, the game renders on the Amiga’s display, even though the computational logic has been wholly replaced by a single-board Linux computer.
The project is aptly named Cordoomceps, a nod to the Cordyceps genus of parasitic fungi that take control of ants’ bodies to propagate their own agenda. Similarly, the Linux-powered Pi commandeers the Amiga’s body solely to run Doom. It’s not acceleration, emulation, or modernization—it’s digital infection.
Garrett concludes with a touch of dark humor: he now owns a slightly buggy, soundless version of Doom that launches on an Amiga without booting its operating system, with its brain fully replaced—and, in his words, “future updates will probably just make it worse.”
The project is available publicly: a detailed write-up is posted on Garrett’s personal website, and the source code is hosted on GitLab under the GNU GPL v2 license.