Doom on nRF5340 - Blogs - Nordic Blog - Nordic DevZone

submited by
Style Pass
2021-06-22 21:30:03

During the development of nRF5340 - a chip that may power your next headphones or gaming mouse - an important question came up: can it run the classic game Doom? A fully functional version of the game, with little to no compromises? To run smoothly, Doom required an Intel 486 processor running at 66MHz. The application processor of the nRF5340 can run at 128MHz, the multiplier is single-cycle and access to most of RAM and NVM is single-cycle (with cache enabled). So we should have more than enough processing power. But Doom required 8MB of RAM. The nRF5340 application core has only 512kB of internal RAM. It could be a challenge.

Despite the idea that Doom runs on everything, it's surprisingly hard to find an uncompromising yet minimal port of Doom targeted at memory constrained devices. It looked like we'd have to do most of that work ourselves.

The first question was how to load the game data. All of the data necessary to play Doom is stored in a file called a WAD file. We copied this file to a microSD card, put it in an SD card breakout board, hooked it up to the nRF5340 and used the block device library in the nRF SDK to access the file. This part was easy.

Leave a Comment