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
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
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!