Edidoom: Intel Edison Running Doom

Other Boards Technology
Edidoom: Intel Edison Running Doom
YouTube player

Proving that the Intel Edison is really a full Pentium-class PC, Lutz has successfully ported Doom to the tiny board. For those who aren’t quite as old as I am and are unfamiliar with the classic title, Doom literally blew away gamers in 1993 with a combination of fast paced action and, for the time, mind-blowing graphics. To port Doom to the Edison, Lutz had to solve to two major issues: driving a TFT display and outputting sound.

Solving the Video Output

Wiring of the TFT to an Intel Edison
Wiring of the TFT to an Intel Edison

Writing a driver for the display proved to be the largest effort, as no existing software provided fast enough solutions for hooking up this TFT display to the Edison. The starting point was the Arduino example code from Adafruit, described in their tutorial (8-bit wiring version). This together with custom code to quickly set the output pins on the Edison, based on the internals from Intel’s MRAA library proved successful.


Solving the Sound Output

Audio Out Circuit
Audio Out Circuit

The sound solution proved to be much easier than video output, thanks to a Make: tutorial by Jon Thompson on advanced Arduino sound synthesis. Once Lutz got a few tips and tricks from the article, successfully modifying the design to suite the Edison and Doom’s specific 11025 8-bit samples per second wasn’t insurmountable.

One of the best things about the project is that Lutz has made the graphics code and sound code available to the rest of us. Check out the repositories and let us know if you’ve been able to repeat this great Edison project in the comments. We’d love to see a schematic for the entire build!


2 thoughts on “Edidoom: Intel Edison Running Doom

  1. Jason Wright says:

    Is this supposed to be impressive?

    Take a look at Doom running on the VoCore, a smaller chip without a massive breakout board.

    The LCD is hooked up with SPI so the frame rate is at least eight times slower than it could be if I could find 8 gpio for a parallel hookup. Also, I bothered to scale the screen so it fills the LCD which also slows down drawing compared to just cropping the bottom 40 lines!


    Oh and here it is running on a tiny Nokia 6100 LCD to show that the limiting factor is the SPI bus pushing pixels to an LCD. (I had to slow it down to reach this speed)


  2. nicknormal says:

    Game still scares the bejeebus out of me!

Comments are closed.

Discuss this article with the rest of the community on our Discord server!

I love to tinker and write about electronics. My days are spent building projects and working as a Technical Editor for MAKE.

View more articles by David Scheltema