Developer runs Doom level on an fpga only

The French developer Sylvain Lefebvre has developed what he calls a ‘Doom chip’. An fpga runs the E1M1: Hangar level of the game from 1993 completely hardware and without the need for a cpu or gpu.

Lefebvre shows the rendering of E1M1: Hangar on his screen explaining that the Doom level runs on a CycloneV from Intel subsidiary Altera in combination with sdram. “The algorithm is burned into the wiring, luts and flip-flops on an fpga,” reports the developer, who is also the developer of the IceSL modeler/slicer for 3D printing. The hardware implementation of the level does not use a CPU, opcodes or instruction counter.

The level is displayed at a resolution of 320×200 pixels at 60Hz. The developer reports that many issues with glitches and latency still need to be fixed, and he also wants the game to run at 70Hz. Doom originally ran at 35fps and was designed for a 70Hz refresh rate. Getting the textures right for the floor and ceiling on the one hand, and the walls on the other, was difficult according to Lefebvre because the calculations for this are different. He shows a debug view with different color areas with which he checks whether the calculations are correct.

The creator still has some leeway in improving and expanding the Doom level; he has only used thirty percent of the capacity of the fpga. For his work, he used documentation from Doom’s Game Engine Black Book, the Unofficial Doom Specs book, and the game’s original source code. He will also release the source code on Github in due course.