Play DOOM On Seven-Segment Displays

Getting DOOM to run on a computer it was never meant to run on is a fun trope in the world of esoteric retro computers. By now we’ve seen it run on everything from old NES systems to microwaves, treadmills, and basically anything with a computer inside of it. What we don’t often see are the displays themselves being set up specifically to run the classic shooter. This build might run the game itself on ordinary hardware, but the impressive part is that it’s able to be displayed on this seven-segment display.

This build makes extensive use of multiplexers to drive enough seven-segment displays to use as a passable screen. There are 1152 seven segment digits arranged in a 48 by 24 array, powered by a network of daisy-chained MAX7219 chips. A Python script running on a Raspberry Pi correlates actual image data with the digit to be displayed on each of the segments, and the Raspberry Pi sends all of that information out to the screen. The final result is a display that’s fast enough and accurate enough to play DOOM in a truly unique way.

There is much more information available about this project on their project page, and they have made everything open source for those who wish to follow along as well. The project includes more than just the ability to play DOOM, too. There’s a built-in video player and a few arcade programs programmed specifically to make use of this display. Perhaps one day we will also see something like this ported to sixteen-segment displays instead of the more common seven-segment.

Recreating DOOM On A Homebrew 8-Bit CPU

[James Sharman] has been working away on a 8-bit CPU of his own design. Naturally, with his computing device largely functional, the obvious question was asked: can it run DOOM? [James’] latest video explores this question, showing just how close he was able to get.

[James’] 8-bit pipelined CPU also has its own UART, VGA adapter, and sound adapter all built up on discrete components on various PCBs. There’s also a custom interface for a SNES controller as an input device. However, it’s fundamentally well below the specs that DOOM originally required at launch. His 8-bit CPU runs at just 4 MHz, with 64 KB of RAM. This compares poorly to the 32-bit, 33 MHz Intel 386 chips and 4 MB of RAM originally recommended to run the game.

In lieu of running the real thing, [James] demonstrated the limitations of his machine by coding his own demo, nicknamed Doomed. It’s able to average 19 fps video output at a resolution of 80×60, and consists of over 5,000 lines of hand-written assembly code. Fundamentally, it’s a basic 3D engine not dissimilar to Wolfenstein 3D, though without any actual gaming interactions involved.

[James] could have simply stated the machine won’t run DOOM. However, trying to get something similar up and running was a useful learning experience, and in his own words, highly satisfying. This attitude of pushing on in the face of adversity is what propels many other DOOM porting efforts.

Continue reading “Recreating DOOM On A Homebrew 8-Bit CPU”

DOOM Runs On The EMFCamp Tidal Badge

If it’s got a chip and a screen, someone’s trying to run DOOM on it. The latest entry in this fad is from [Phil Ashby], who figured out how to get the game running on the EMFCamp Tidal Badge as seamlessly as possible.

The badge is based on the ESP32-S3. It’s the latest version of the ESP32, which can run the iconic shooter pretty easily. However, [Phil] set himself a trickier challenge. He wanted to port DOOM to the badge while having it remain compatible with the MicroPython platform already on it. Plus, he wanted to be able to distribute it easily with the TiDAL Hatchery, a platform for sharing apps for the badge.

In the end, it took some deft hacking to make the game run on a microcontroller platform that isn’t really set up for running “applications.” It took some tricks to scale the video output and get the colors right, of course, but it’s there and working.

The state of the art is now so advanced that they managed to port DOOM into DOOM so you can DOOM while you DOOM. Video after the break.

Continue reading DOOM Runs On The EMFCamp Tidal Badge”

Porting DOOM But In The Opposite Direction

DOOM was first released for MS-DOS, and is one of the pillar titles of the broader first-person-shooter genre. It’s also become a bit of a meme for being ported to any and every weird platform under the sun. Now, a group of developers in Costa Rica have found a way to flip that joke around – by porting an old mobile DOOM game back to the PC.

The game in question is DOOM RPG, made for BREW and Java-compatible phones in 2005. A group named GEC.inc has taken that game and ported it to Windows, outlining their work on the Doomworld forums. As with many such projects, the port is freely available, but doesn’t include the raw game files themselves due to copyright. You’ll have to find the gamedata yourself, and combine it with the files the group published on the forum to get it to work on a modern PC.

For those that have missed the turn-based role playing game based in the DOOM universe (Doomiverse?), today is a good day. No longer must you pine for your ancient, crusty Java smartphone of yesteryear. Now you can play the game on a less awful platform, and listen to the unique and compelling MIDI-esque soundtrack.

Doom ports are hot right now, whether it’s to forgotten Apple OSes or Sega arcade hardware. Video after the break.

Continue reading “Porting DOOM But In The Opposite Direction”

Even DOOM Can Now Run DOOM!

For years now, the standard test of any newly hacked piece of hardware has been this: can it run DOOM? id Software’s 1993 classic first-person shooter has appeared on everything, but here’s one from [kgsws] that’s a bit special. It’s DOOM, running inside DOOM itself.

So how has this feat been achieved? There’s a code execution exploit inside the original DOS DOOM II executable, and that has been used to run the more modern Chocolate Doom within the original. It appears as an in-game texture, giving an odd effect as if it’s being watched in a cinema.

The video below the break shows the game-in-game in action, but the real value lies in its in-depth description of the exploit, that takes us through some of the inner workings of the game and ably explains what’s going on. It finishes up with a specially made cinema WAD in which to play DOOM-in-DOOM, and even Hexen-in-DOOM. Pick up your trusty chainsaw, it’s going to be a long night.

Continue reading “Even DOOM Can Now Run DOOM!”

DOOM Ported To Sega Naomi Arcade Hardware

Porting DOOM to new hardware and software platforms is a fun pastime for many in the hacker scene. [DragonMinded] noticed that nobody had ported the game to the Sega Naomi arcade hardware, and set about doing so herself.

The port builds on work by [Kristoffer Andersen] who built a framebuffer port of DOOM previously. It’s available pre-compiled, complete with the shareware WAD for those eager to load it up on their own Naomi arcade cabinets.

Unlike some limited ports that only give the appearance of a functional version of DOOM, this port is remarkably complete. Loading, saving, and options menus are all present and accounted for, as well as directional sound and even WAD auto-discovery. With that said, there’s only 32 KB of space for save games on the Naomi hardware, so keep that in mind if you find yourself playing regularly.

We love a good DOOM port, whether it’s on an arcade machine, an old forgotten Apple OS, or even a UFI module.

Continue reading DOOM Ported To Sega Naomi Arcade Hardware”

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

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

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.

Continue reading DOOM? In Your BIOS? More Likely Than You Think!”