Doom Comes To The Pi Pico

It is with a sense of inevitability that we can confirm somebody has managed to make Doom work on the diminutive RP2040-based Raspberry Pi Pico microcontroller board.

Running the '90s first-person shooter game on hardware ranging from ATMs to pregnancy testers is very much a badge of honor for hardcore tinkerers and the surprise is perhaps not so much that the RP2040 hardware is up to the job, but that it has taken so long for someone to do it. After all, it is just over a year since the board first arrived.

A quick glance at online stores shows that the Pico is currently not made of unobtainium and actually in stock at outlets.

At first glance the RP2040 does not look like the most constrained of platforms to which to port a minimalist version of Doom, but it is certainly one of the cheapest (assuming one has all the necessary dongles to attach to the bare board to bring forth the visuals and soundtrack). Getting the full experience running, however... well, that's certainly a challenge.

Pi Pico

Pi Pico

The port was performed by Graham Sanderson and the full shareware game (DOOM1.WAD) is playable on a vanilla Pi Pico (with 2MB of flash storage). "RP2040 boards with 8M should be able to play at least the full Ultimate Doom and DOOM II WADs," he said.

The graphics run at the classic 320x200 resolution through VGA. Multiplayer apparently works (sadly, we couldn't test that) as does the sound, music, and, most importantly for your awful-at-shooters writer, so do the cheats.

While the two CortexM0+ CPUs should make for enough horsepower, the 264K of RAM is a headache, particularly when one considers how much is needed for display buffers and the desire to avoid swapping too much into the comparatively slower flash storage. 2M of flash also meant some novel compression techniques were needed in order to get everything in place.

"A straight RP2040 compile of the Chocolate Doom source code off which RP2040 Doom is based requires 300K of static mutable data, and a minimum of about another 700K for dynamic allocation," said Sanderson. "The math clearly does not add up."

Hence trade-offs and shunting data into flash while keeping things balanced to ensure performance is not hit.

Indeed, Sanderson claims the game rocks along usually between 30-35 FPS. Not figures to light up the eyes of someone who has just dropped a four-figure sum on a gaming rig, but more than plenty for those of us that remember squinting at a postage stamp-sized square of action on an Amstrad ALT386SX.

In true enthusiast style, Sanderson developed the port in his free time, over the course of six months (complete with the inevitable hiatuses when it got a bit hard) and the result is both an impressive demonstration of what the microcontroller can do and an education in efficient programming.

While Sanderson did not use code from the other minimalist Doom ports out in the wild, he did give credit to Chocolate Doom and iD Software.

Now, if only some of that creative genius could be applied to the industry's supply chain problems. Then perhaps the Pi 4 Model B might join the Pico in non-unobtainium status. ®

RECENT NEWS

From Chip War To Cloud War: The Next Frontier In Global Tech Competition

The global chip war, characterized by intense competition among nations and corporations for supremacy in semiconductor ... Read more

The High Stakes Of Tech Regulation: Security Risks And Market Dynamics

The influence of tech giants in the global economy continues to grow, raising crucial questions about how to balance sec... Read more

The Tyranny Of Instagram Interiors: Why It's Time To Break Free From Algorithm-Driven Aesthetics

Instagram has become a dominant force in shaping interior design trends, offering a seemingly endless stream of inspirat... Read more

The Data Crunch In AI: Strategies For Sustainability

Exploring solutions to the imminent exhaustion of internet data for AI training.As the artificial intelligence (AI) indu... Read more

Google Abandons Four-Year Effort To Remove Cookies From Chrome Browser

After four years of dedicated effort, Google has decided to abandon its plan to remove third-party cookies from its Chro... Read more

LinkedIn Embraces AI And Gamification To Drive User Engagement And Revenue

In an effort to tackle slowing revenue growth and enhance user engagement, LinkedIn is turning to artificial intelligenc... Read more