DOOM? In Your BIOS? More Likely Than You Think!

Screenshot of the EFI shell, showing doom.wad and doom.efi in 'ls' command output, and then doom.efi being loaded

We’ve seen hackers run DOOM on a variety of appliances, from desk phones to pregnancy tests. Now, the final frontier has been conquered – we got DOOM to run on an x86 machine. Of course, making sure we utilize your PC hardware to its fullest, we have to forego an OS. Here are two ways you can run the classic shooter without the burden of gigabytes of bloated code in the background.

[nic3-14159] implemented this first version as a payload for coreboot, which is an open-source BIOS/UEFI replacement for x86 machines. Some might say it’s imperfect — it has no sound support, only works with PS/2 keyboards, and exiting the game makes your computer freeze. However, it’s playable, and it fits into your BIOS flash chip.

But what if your computer hasn’t yet been blessed with a free BIOS replacement? You might like this UEFI module DOOM port instead, originally made by [Warfish] and then built upon by [Cacodemon345]. To play this, you only need to compile the binary and an UEFI shell, then use the “Load EFI Shell” option in your UEFI menu – something that’s widely encountered nowadays. This version also lacks sound, but is a bit more fully featured due to all the facilities that UEFI provides for its payloads.

Of course there’s far more efficient ways to slay demons on your computer, but even if they aren’t necessarily practical from a gaming standpoint, these two projects serve as decent examples of Coreboot and UEFI payloads. BIOS replacements like coreboot take up so little space, we’ve even seen Windows 3.1 fit alongside coreboot in the BIOS chip. Wondering what UEFI is, even? Here’s a primer for you. And, if you don’t mind the exceptional bloat of a stripped-down Linux install, here’s a Linux image built from the ground up to run DOOM specifically.

We thank [WiFiCable] for sharing this with us!

25 thoughts on “DOOM? In Your BIOS? More Likely Than You Think!

  1. Note that the pregnancy test doom wasn’t really true in the strict sense, it didn’t run on the pregnancy test’s hardware. The test in question had an LCD that wasn’t the normal single-purpose custom design, instead a matrix display. The hack was getting doom to run on such a small screen, it never really involved the pregnancy test.

        1. That is not what I am doing. The intro is tangibly non-serious, and refers to a project that used clickbait. That is tangential involvement of clickbait for non-clickbait purposes, and not something that irritates people in the way you describe.

          1. Yet here we are, irritated just the same. Jokes that have to be made at the expense of technical accuracy aren’t likely to go over well with this audience.

          2. Please do not use that stupid clickbait pregnancy test doom in an article ever again.

            The first round of coverage of that was misleading enough without subsequent rounds.

          3. This entire article in itself is clickbait too. It’s full of misleading fact errors. Let’s make some things clear. UEFI IS NOT A BIOS. Doom DOES NOT run on your bios and never has. The case this terrible article describes is a port made for UEFI, which is an RTOS in itself, deliberately made to run programs on. It takes very little effort to port Doom for it. Your BIOS (legacy) would be an entirely different challenge and completely platform specific, and in most cases impossible altogether. Claiming that this runs on your BIOS is like claiming that you built the WTC and then showing a picture of your sandbox…

          4. Please don’t do it again: this is why I visit Hackaday and not other sites.
            Please resist the temptation and turn Hackaday into one of those sites…

      1. it’s a legendary game, fondly remembered by generations, and it has quite a few outstanding technical aspects that sure help the popularity! I haven’t played the original DOOM either, but the sheer power behind this game is worth respecting.

        1. There was a PC Gamer cover disc circa 1999-2000 that included full versions of several ‘classic’ games, like Star Control 2, X-COM and more. Any of the games that used copy protection schemes like looking up stuff in the manual were patched to remove them, and included the manuals and other printed material as PDFs.

          Even ID Software got in on the CD by generously providing the shareware version of the original DOOM.

          Next to the other companies giving away FULL copies of select old games, ID just came off as greedy.

      2. Wow. I remember taking classes in “Banyan Vines” in ’94, which had been bought by Novell, which also had acquired DR-DOS, they were trying to push it’s use in place of MS-DOS, at the same time Nicrosoft was moving on with Windows. My class marveled that DOOM could be played on a network. I believe here were some arcade games that could be played over a network, but they were all after-the-fact kludges. I’d say not knowing Doom is to be ignorant of PC computer history. The technology was easy to take for granted after Window95 and the “World Wide Web” coming into its own (apart from more general “internet” history). Sorry, but I’m going to look skeptically at anything else you post from now on…

        1. There’s no reason to play doom if you haven’t already at this point. first person shooters are an evolution from wolfenstein 3d onwards, each got more features. doom gave you a fake 3d, but later games gave you puzzles and furniture to break. it was the best gamers had at the time on limited hardware, and since it was shareware and cross platform too, easy to obtain legally.

      1. UEFI (not BIOS, we don’t have that anymore) runs on the CPU. Before the BIOS runs, when you first start the machine, the southbridge (x86 cpu) runs the very first configuration setups before the main CPU is even powered.

    1. hehe yes! I’ve created this – is a product link, but is fully open-source, with complete PCB files available for anyone to order. I do use tri-state buffers in there, and switch both CS and MOSI – seen people get burned by some SPI chips not tri-stating MOSI themselves. Tested and works wonderfully.. BIOS dual-boot ^__^

  2. PC booter games for the IBM PC and PC/XT (and compatible enough 4.77Mhz 8088 CPU clones) were often called “bare metal” because they didn’t use an operating system.

    Running a game in/from the BIOS is even closer to “bare metal” than those PC booter games.

    PC speaker sound can be pretty good, look up what was done with the predecessor to Wolfenstein 3D, Catacomb 3D and the updated version, Catacomb Abyss, not done by the founders of Id Software.

    1. I tried to do a UEFI port of Doom a bunch of years ago but set it aside when I ran into issues with floating point numbers.

      At the same time, I was trying to old PC speaker PWM hack used in some old DOS games. I kind of got it working but it wasn’t reliable. Because UEFI doesn’t support interrupt natively, I used the event and callback system to load the appropriate register with the next sample. The issue is that because of the way the spec was written at the time, your notification was only guaranteed to fire after the time you specified elapsed but without an upper bound on when it could be called. Other higher priority events in the system would mess with the timing and I’d get garbage.

      Figuring I couldn’t get that working within the framework of UEFI I figured I’d learn how to wake an AP and set it up to drive the PC speaker. But that was too ambitious for my skills at the time and I never got very far in that project.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.