Getting Down to the Business of Hacking Doom

All the cool kids are hacking Doom onto obscure hardware platforms, and building this Doom business card will teach you to do the same.

nickbild
12 months ago Gaming
Playing Doom on a custom business card (📷: Robert Sheldon)

Firing up Doom to defeat hordes of demons and undead humans is as easy as can be — a software port for a modern computer will do the job just fine, and there are always DOS emulators and vintage computers for an even more authentic experience. But Doom isn’t just about playing the game, it is also a yardstick by which hackers are measured. Oh, you play Doom on a computer, do you? How ordinary. Someone with a more refined palate, such as myself, only plays it on a toothbrush or an NES. And that is only when I’m not actually playing an AI that is pretending to be Doom.

But how exactly does one go about running Doom on odd and tiny hardware platforms? The game may be over 30 years old at this point, but even still, the system requirements are much higher than what many of these platforms have available — the required 4 MB of RAM, in particular, is hard to come by. And then there are different processor instruction set architectures and display and audio drivers to deal with. Where would one even get started?

An early prototype (📷: Robert Sheldon)

All of this can feel quite overwhelming, which is enough to cause many people to throw in the towel before they even get started. But as software engineer and serial hacker Robert Sheldon recently demonstrated, the best way to learn is to take it one small step at a time. To learn the basics, without getting overwhelmed by the specifics of an obscure and undocumented hardware platform, Sheldon developed a custom hardware platform to run Doom. This device takes the form of a business card, and if you go through the process of building one, you will find yourself much better equipped to squeeze the game onto other platforms in the future.

The hardware is fairly simple, being designed around the Raspberry Pi RP2040 microcontroller. An LCD display, flash memory, and a handful of supporting components round out the build. While the RP2040 has more than enough processing horsepower, it comes up far short of the game’s memory requirements. Fortunately, a port for this microcontroller has already been developed with optimizations that allow it to run. Sheldon “borrowed” this code, then extended it to work with the LCD display (the stock version outputs video via HDMI).

The circuit is fairly simple (📷: Robert Sheldon)

There are a number of other details, to be sure, but nothing too scary. The remainder of the build is mainly run-of-the-mill PCB design and assembly. The project write-up also provides quite a lot of detail, so if you have a decent amount of experience in the world of electronics, at least as a seasoned hobbyist, you should be able to reproduce the work without too much trouble.

A business card running Doom looks like it would be fun to play with, and it would certainly capture a lot of attention, but that is not really the end goal of this project. When you finish the first step, you will be equipped to go off and do bigger and better things. What are you going to hack Doom onto next?

nickbild

R&D, creativity, and building the next big thing you never knew you wanted are my specialties.

Latest Articles