If you're interested in building processors and other components from scratch, James Sharman on YouTube is an excellent starting point. Sharman has been working on an 8-bit processor for more than two years, and as expected, his followers bombarded him with "the" question: Can it run Doom? In reality, Sharman's design is far below the minimum necessary to unleash the infernal hordes, but when it comes to an adaptation, well…
Doom's minimum requirements talk about a 386 processor or higher, 4 MB of RAM, a VGA graphics card, and a hard drive with enough space to store its files. In practice, the game needs much more firepower… unless the user accepts a screen the size of a postage stamp.
Fortunately, projects like FastDoom exist that make more efficient use of humble hardware, and the community has released truly incredible ports, but the underlying question is: How low can we go? James Sharman on YouTube decided to explore the answer with his 8-bit processor, and this is the result:
Doom on 8 bits, a hardware problem
Sharman's initial comparison is blunt: The Intel 386 is a 32-bit processor with an average frequency of 33 MHz, while his chip reaches 8 bits and runs at 4 MHz. The RAM difference is equally gigantic, with 4 megabytes versus 64 kilobytes. The initial image of Doomguy firing has a resolution of 320 by 200 pixels at 8 bits, taking up a total of 62.5 kilobytes, so it barely fits in memory. Sharman also mentions the Super NES version of Doom: That console is 16-bit, but Doom uses the Super FX coprocessor.
His alternative is a special demo written in assembler called Doomed. At first glance it seems like a hybrid between Windows' 3D Maze screensaver and the classic Wolfenstein 3D, but it's more than five thousand lines of code, and it reaches an impressive 19 FPS at a resolution of 80 x 60 pixels. What sounded ridiculous at first ended up becoming a very satisfying exercise for Sharman, and for all of us. Maybe the original Doom won't run on his hardware, but it definitely served as a source of inspiration.
Source: Hackaday