When you get a new device like the Raspberry Pi Pico, the first thing you should do is install Linux. The second thing is to install Doom. That’s exactly what veteran developer Graham Sanderson did.
Aiming to match the experience of the original game, limited to 2Mb of data, and outputting to a VGA display, you’re probably thinking that this is nonsense. “16-bit FPS classic Doom on a $1 RP2040 chip?”
The developer – a long-term collaborator of Raspberry Pi Foundation’s Eben Upton – has slimmed down the version of Doom, losing next to nothing from the original without stripping anything back. It’s quite an achievement.
In short, this is one of the best retro projects around, one that you can replicate thanks to the guide on Sanderson’s GitHub.
- Ultimate Doom and Doom II are playable on 8M devices.
- 320x200x60 VGA output (really 1280x1024x60).
- 9 Channel OPL2 Sound at 49716Hz.
- 8 Channel Stereo Sound Effects.
- I2C networking for up to 4 players.
- Save/Load of games.
- All cheats supported.
- Demos from original WADs run correctly.
- USB Keyboard Input support.
- All end scenes, intermissions, help screens etc. supported.
- Good frame rate; generally 30-35+ FPS.
- Uses 270Mhz overclock (requires flash chip that will run at 135Mhz).
The video above demonstrates the classic Doom shareware version (DOOM1.WAD) running on a Raspberry Pi Pico. The device is hooked up to a VGA monitor, with sound connected via fly-wires.
Here’s a direct screen capture from the Pico.
If you’ve got a spare Pico knocking about the place, having an instant-on version of classic Doom you can play when you want sounds like a retro project for the weekend.
Gaming since 1984, retro gaming since 2004. Contributes to Linux Format magazine and MakeUseOf.com.