Yes, you can play Doom on a Raspberry Pi Pico


The Windows version of the FPS game Doom was ported to the Raspberry Pi Pico, a device with just 2MB of flash memory.

Doom, a legendary 90s game released for MS-DOS, has been ported to Windows, Linux, and nearly every operating system, device, and console on the planet. Today, the Pi Pico joins that list.

Last January, Raspberry Pi released the Pico, a microcontroller powered by Raspberry Pi’s RP2040. The Pi Pico comes with 2MB of flash memory, while the RP2040 supports up to 16MB of memory. The company now sells reels of RP2040 chips for between 1 and 70 cents a piece.

The new port of Doom for Pico is the work of Graham Sanderson, Principal Software Engineer at Raspberry Pi, who led the software efforts behind the RP2040 and the Pico Software Development Kit (SDK).

He also worked on a port of the PC version of Doom for the Pico and posted some videos showing its port in action with full sound on a VGA-connected display.

Detailing his progress on Doom for RP2040, Graham Sanderson admits that the RP2040 is not the smallest platform on which Doom has been worn, but is probably the cheapest.

As Raspberry Pi maintainer Even Upton points out, there was a simpler Game Boy Advance version running on Pico, but Graham Sanderson’s port uses DOOM1.WAD files (.WAD is a file format for Doom on PC) original shareware with original sound. The Pico port of Doom also supports four-player network games via I2C.

Graham Sanderson managed to fit the executable and a 4MB compressed version of the DOOM1.WAD shareware into the Pico’s 2MB flash memory.

“Fitting an entire game into 2MB is hard work. Level data, music, and graphics are all compressed in original, custom ways. All level data and compressed graphics must be randomly accessed in flash memory, as there is no available RAM to compress even a single level of anything,” notes Graham Sanderson.

The end result is that the original shareware Doom for PC can be played from a Pi Pico with 2MB of flash memory and outputs to a VGA display controller. Ultimate Doom and Doom II are playable on an RP2040 with 8 MB of flash memory.

As Even Upton points out, Doom may seem like a “frivolous application”, but it has the merit of demonstrating how powerful the RP2040 can be in the hands of an experienced user. “It offers a lot of memory and integer computing performance; flexible I/O, used here to drive a VGA screen and an interface with a USB keyboard; and, most importantly, the ability to simultaneously drive each element of the chip without being manhandled,” he says.

Source: ZDNet.com





Source link -97