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…
Popular Upgrades:
Beyond the Hardware:
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.
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 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 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.
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:
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.
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.