Doom runs on anything, so they say. We’ve seen it run on a pregnancy test, oscilloscope and ebook reader. But footage released by Texas-based coder Graham Sanderson of the original 2.5D demon-blasting FPS; running on the Raspberry Pi Pico proves that our favorite $4 micro controller has the power to “rip and tear” through other boards.
The code in question originates with Chocolate Doom, a historically accurate source port of the game. The problem with getting an accurate game of Doom out of a Pico, however, is the storage. With 2MB of flash on the board; the 4MB WAD file that comprises the original shareware Doom’s levels is going to need to be significantly compressed. And wow; Sanderson’s GitHub write up of his project goes into quite some detail on this subject; it’s a good read if you’re into variable byte-count integers and Huffman coding. Or even if you’re not, as there’s a whole lot of detail about how Doom works in there too.
Sanderson notes that an 8MB version of the Pico (Pimoroni’s Tiny 2040 and Adafruit’s Feather RP2040 for example) could run Doom II and Ultimate Doom too, should you not have had enough of ‘90s demon-blasting. There are more videos on Sanderson’s YouTube channel, which are well worth watching.