But Will It Run Doom?
To celebrate Gaming and Retro Tech Month here at Hackster, we rounded up the most interesting hardware projects that can, indeed, run Doom.
“But will it run Doom?” is a question older than many of our readers. While it is often asked in jest, the answer is a good indicator of hardware capability or a hacker’s prowess. Every PC made in the last 25 years can run Doom without issue, but the question is still interesting when applied to more unusual hardware. To celebrate Gaming and Retro Tech Month here at Hackster, we rounded up the most interesting hardware projects that can, indeed, run Doom.
Playing Doom in an old Mercedes
Many modern aftermarket stereo head units run Android, which gives car owners access to most apps as they sit behind the wheel. That means that it is easy to download a Doom app that runs on the infotainment screen. But YouTuber RND_ASH went a step further by tying his old Mercedes’s steering wheel controls into the Android head unit.
RND_ASH used an Arduino Uno board with a CAN bus shield to tap into his car’s communications. That let him intercept every message sent through CAN, including steering wheel control button presses. He was then able to pass those along to the Android head unit as input commands, which he can use to control Doomguy in the game.
Playing Doom on a household thermostat
Smart thermostats are popular these days and some models have quite large LCD displays. They also contain modern, powerful microcontrollers. You can see where this is going. YouTuber cz7 asm ported Doom to their Honeywell Prestige thermostat.
The Honeywell Prestige is a high-end thermostat with a color touchscreen and an STM32 microcontroller. As luck would have it, there is an STM32 port of the open source Chocolate Doom project. With a bit of work to get that working with the Prestige’s screen, cz7 asm had Doom running on the thermostat. They were even able to connect a gamepad to the thermostat’s USB port to make control easy.
Playing Doom on an FPGA
The cool thing about FPGA modules is that they can mimic any other digital hardware. People can, and do, replicate entire computers within FPGAs, for example. David Lima took advantage of an FPGA to act as a hardware accelerator for Doom.
This project utilizes an AMD-Xilinx Zynq UltraScale+ MPSoC ZCU102 development board, which features both an Arm-based MPSoC and an FPGA. The Arm processor runs Linux and Doom, while the FPGA handles hardware acceleration for the game.
Playing Doom on an unmodified NES
Doom first released in 1993 for PCs running MS-DOS. The original Nintendo Entertainment System (NES) hit the Japanese market 10 years earlier, in 1983, as the Famicom. It doesn’t have nearly enough power to run Doom. But TheRasteri used clever sleight-of-hand to get Doom running smoothly on a completely unmodified NES.
The “trick” here is that Doom isn’t actually running on the NES at all. Instead, it is running on a Raspberry Pi single-board computer crammed into an NES cartridge. The Raspberry Pi then injects the graphics output into the NES’s video buffer, so it shows up on the connected TV. The Raspberry Pi also reads controller commands from the NES. In practice, it is like playing Doom on an NES – even if it is a bit of a cheat.
Playing Doom on an oscilloscope
Oscilloscopes are fantastic instruments for makers and engineers. They let you examine the waveforms of electronic signals, which is useful for a wide range of tasks. And as Jason Gin found out, some oscilloscopes can also run Doom.
The oscilloscope in question is a Keysight InfiniiVision DSOX1102G digital model. Its software runs on top of Windows Embedded CE 6.0, though the desktop environment is supposed to remain hidden. Gin discovered that it was possible to access the desktop under certain conditions. From there, he was able to force the desktop open, which allowed him to install and play Doom.
Playing Doom Eternal on a Game Boy Color
Every other project in this article is running either the original Doom game or a ported version. This Game Boy Color, on the other hand, runs Doom Eternal – the 2020 release with exponentially higher hardware requirements. The Game Boy Color obviously doesn’t have enough power to run Doom Eternal, so Michael Darby had to utilize a “cheat” similar to that used in the NES above.
The cheat here is that only the Game Boy Color’s shell is original. Inside of that shell is a Raspberry Pi Zero W and a 2.2” TFT display from Adafruit. But even the Raspberry Pi isn’t powerful enough for Doom Eternal, which is why it runs on a separate gaming PC. Darby runs Moonlight on the Raspberry Pi, which lets him stream video output from the gaming PC to the Game Boy Color. Conversely, Moonlight sends control commands back to the gaming PC. With a low enough latency, it is like playing Doom Eternal on a Game Boy Color
Which of these projects is your favorite? What is the coolest hardware you’ve played Doom on? Let us know in the comments!