Can it run DOOM: A 30th Anniversary
Thirty years ago on December 10, 1993 the video game Doom was released by id Software. Perhaps like me, this is just another way you realize you’re getting old. Nevertheless, getting Doom up and running on any and all possible hardware is a tradition in the computer engineering world, and at PHYTEC our software engineers were not going to pass up that opportunity. Wanna hear how we got Doom running on our phyCORE-AM62x dev kit? But first, some history…
Pioneering PC Gamers
- Graphics Cards: While integrated graphics were available, dedicated cards like the ATI VGA Wonder and Tseng Labs ET4000 ruled the roost. These cards offered limited 3D capabilities, allowing for basic polygonal graphics and texture mapping.
- Memory: 4MB to 8MB of RAM was the standard, but demanding games like Doom benefited greatly from upgrades. Installing additional RAM modules could significantly improve frame rates and gameplay smoothness.
- Storage: Hard drives were becoming more common, offering faster loading times and larger storage capacities compared to floppy disks. HDDs ranging from 100MB to 500MB were popular choices among gamers.
Popular Upgrades:
- Overclocking: Pushing the CPU and RAM beyond their stock clock speeds was a popular way to squeeze out additional performance. However, this often resulted in overheating and stability issues, requiring careful monitoring and cooling solutions.
- Memory Upgrades: Adding more RAM was a straightforward and effective way to improve gaming performance. Jumping from 4MB to 16MB could significantly impact frame rates and overall system responsiveness.
- Sound Cards: While many motherboards offered basic onboard audio, dedicated cards like the Sound Blaster Pro and Creative Labs GameBlaster provided richer audio experiences, immersing players further into the game world – essential for a full gaming experience blowing through blood-spattered dungeons to the knock-off riffs of bands like Metallica, Pantera, and ACDC found in the first release of Doom.
- Accelerator Cards: These specialized add-ons aimed to offload graphics processing from the CPU, improving performance in 3D games. Examples included the 3dfx Voodoo Graphics card and Orchid Righteous 3D, offering a significant edge for serious gamers.
Beyond the Hardware:
- Software Optimizations: Memory managers and disk caches could be fine-tuned to improve performance, squeezing every bit of power out of existing hardware.
- Game Patches: Developers often released patches that optimized their games for specific hardware configurations, improving compatibility and frame rates.
- Creative Solutions: Sharing resources and configuration tips within the early gaming community was commonplace, as enthusiasts sought innovative ways to maximize their gaming experience.
Despite the limited hardware capabilities, developers and gamers alike pushed the boundaries for the immersive and powerful gaming experiences we enjoy today. It was a period of immense creativity and resourcefulness and the spirit of innovation and experimentation during this era continues to inspire gamers and developers alike, reminding us that the journey towards the future of gaming starts with a single, pixelated step.
PHYTEC Doom Stories
Craig Day, Director of Engineering
Craig started out with a Tandy 1000 as his first PC and remembers being so into Doom that he was playing night after night into the wee hours of morning. By 1994, running Doom on his 386-based system was not cutting it and he soon upgraded to the 486. With a sparkle in his eye he recalls setting up LAN parties, and for anyone too young to know what a LAN party is – it’s literally hauling 50-100lbs of equipment (Giant monitor, heavy tower, keyboard, mouse, joystick etc.) to a central location and connecting all your PCs via 10 Mb coaxial network cables. Don’t forget to terminate those ends or it wont work!
Hoan Nguyen, Mechanical & Test Engineer
Hoan prompts us to picture this: It’s 1994, and you, the ultimate video game nerd, are perched in front of your cutting-edge Pentium (i586) PC, which boasts a staggering 2 Megabytes of RAM – basically a technological marvel of its time. Armed with your trusty keyboard and mouse, you plunge headfirst into the pixelated chaos navigating the labyrinth corridors of Hell with the finesse of a caffeinated ninja. Your Pentium processor is working harder than a chef at an all-you-can-eat buffet, bravely churning out graphics that were mind-blowing in the ’90s. Yup, that was me as a fifth year student in college, ignoring my studies and embarking on an epic journey into the digital abyss known as Doom. Who needs sleep when you’ve just single-handedly saved the world from pixelated doom?
“Kill them all and let God sort them out!”
Christian Waidner, Product Manager
Christian recalls:
I started my gaming “career” on a Commodore C16 my dad bought us (yes, I’m that old).
Afterwards of course an Amiga, playing every game available from Gianna Sisters to Wing Commander.
We met for a lot of networking sessions, carrying loads of equipment, but it was fun!
I remember Doom being one of the first games to support 3D acceleration and as a student I drove miles for a used voodoo graphics accelerator card, just to play that game.
Can it Run Doom?
It’s well known on the internets, a running gag/measure of engineering prowess to see if you can get Doom running on a myriad of questionably appropriate devices. Check out canitrundoom.org if you don’t believe me, or even if you do, it’s worth a look for the LOLs. Just be careful… you might end up down a NSFW rabbit hole full of F-bombs and splattered blood. But then again, if you’re into Doom you’ll probably feel right at home!
Early PHYTEC miniMODULs were populated with Philips 8051-compatible (P80C552, P8xC592) microcontrollers. In 1994 one of PHYTEC’s early ventures into Embedded Processing was with the 16-bit Infineon (Siemens) C167CR processor, running at 20 MHz with a 144-pinout. Our first System On Module (SOM), the PCM-001 was based on the Motorola/Freescale MPC555 processor and had the following specs:
- 20 MHz,
- 256 KB external Burst-SRAM,
- no external Flash,
- 448 KB on-chip Flash
- 4 KB external EEPROM
70 SOMs later we speak in GHz instead of MHz and Gigabytes rather than Kilobytes. The phyCORE-AM62x (PCM-071) has a Quad-core Arm Cortex-A53, up to 4GB DDR4, up to 128GB eMMC, Gigabit Ethernet. It can definitely run Doom.
To get Doom running on the phyCORE-AM62x, PHYTEC Software engineer Garrett Giordano created a meta-layer for our Yocto build system. He wrote a recipe to cross compile the Chocolate-Doom engine from source for our AM62x’s architecture and had it deploy the engine inside an AM62x BSP, alongside an open source version of Doom called Freedoom. Once the engine was compiled and deployed, the last step was to launch the game to a display. Conveniently our BSP is set up to run XWayland as the desktop system. This made it much easier to get it running, as he was able to launch Doom in X11 mode and simply direct it to the LVDS display.
Luckily, Chocolate-Doom’s setup utility recognized the USB Game Pad by default and that was it! You can check out Garrett’s meta-layer here.
According to Intel.com, the minimum spec requirements to play Cyberpunk 77 are as follows:
OS: Windows 10
CPU: Intel® Core™ i7-4790 or better
RAM: 12GB of system memory
Graphics card: NVIDIA GeForce GTX 1060, NVIDIA GeForce GTX 1660 Super, or AMD Radeon RX 590
Storage: At least 70GB of available space; SSD recommended
So next time you’re casually playing games like Halo, Warhammer, Call of Duty, Destiny, or Cyberpunk 77 and complaining about lag, remember what all of us old gamers went through to get you there.
Tell us your Doom story
I started this blog with the intent of gathering a plethora of nerdy stories about upgrading DOS systems and gathering around with friends to blast gorey monsters and shoot powerful weapons, you know, the way we used to hang out back in the day – a LAN party or around a gaming console, until someone got hit in the head with a controller or dropped an F-bomb and the motherfigure sent us all outside to play in the rain. Maybe it never rained where you grew up, maybe you were more into Chutes and Ladders, but either way – if you have a story to share about upgrading your system to play some special game – we want to hear about it!
What cool thing have you gotten running on an embedded device? Whether it is a Raspberry Pi, Arduino, or even a PHYTEC device, let us know on social media.
Ready to get started?
Let’s go! Learn more about PHYTEC SOMs