Porting DOOM To A Forgotten Apple OS

Apple hasn’t always had refined user experiences in their operating systems. In the distant past of the ’90s they were still kind of clunky computers that were far from the polished, high-end consumer machines of the modern era. That wasn’t all that Apple offered back then, though. They had a long-forgotten alternative operating system that was called A/UX designed for government applications, and [Keriad] is here to show us this relic operating system and port DOOM to it.

A/UX was designed in the pre-PowerPC days when Macintosh computers ran on Motorola 68000 chips. Luckily, [Keriad] has a Mac Quadra 800 with just such a chip that is still fully-functional. DOOM was developed with the NeXTSTEP operating system which can run on old Macs thanks to another tool called MacX which allows X11 applications to run on Mac. A version of gcc for A/UX was found as well and with the source code in hand they were eventually able to compile a binary. There were several hiccups along the way (including the lack of sound) but eventually DOOM was running on this forgotten operating system.

The main problem with the build in the end, besides the lack of sound, is that the game only runs at 2 – 3 frames per second. [Keriad] speculates that this is due to all of the compatibility layers needed to compile and run the game at all, but it’s still impressive. As far as we know, [Keriad] is the first person to port DOOM to this OS, although if you’re looking for something more straightforward we would recommend this purpose-built Linux distribution whose sole task is to get you slaying demons as quickly as possible.

A Linux Distribution For DOOM

If you’ve gone further into the Linux world than the standard desktop distributions like Ubuntu or Fedora, you have undoubtedly come across some more purpose-built distributions. Some examples are Kali for security testing, DragonOS for software-defined radio, or Hannah Montana Linux for certain music fans. Anyone can roll their own Linux distribution with the right tools, including [Shadly], who recently created one which only loads enough software to launch the 1993 classic DOOM.

The distribution is as simple as possible and loads no bloat other than what’s needed to launch the game. It loads the Linux kernel and the standard utilities via BusyBox, then runs fbDOOM, which is a port of the game specifically designed to run on the Linux framebuffer with minimal dependencies. After most of that, the only thing left is to use GRUB to boot the distribution, and in just a moment, Doomguy can start slaying demons. The entire distribution is placed into a bootable ISO file that can be placed on any bootable drive.

As far as DOOM hacks go, we’re used to seeing the game running on hardware it was never intended for like the NES  or on an office phone. This one, on the other hand, gives us a little more insight into just how little is needed for a full-fledged Linux distribution, as long as what you need to do is relatively straightforward.

Continue reading “A Linux Distribution For DOOM

Barely HDMI Display Gets A Steampunk-Inspired Enclosure

It’s an interesting question: What does one do for a follow-up to building the world’s worst HDMI display? Simple — stick it in a cool steampunk-inspired case and call it a day.

That seems to have been [mitxela]’s solution, and please don’t take our assessment as a knock on either the original build or this follow-up. [mitxela] himself expresses a bit of wonder at the attention garnered by his “rather stupid project,” which used the I2C interface in an HDMI interface to drive a tiny monochrome OLED screen. Low refresh rate, poor resolution — it has everything you don’t want in a display, but was still a cool hack that deserved the attention it got.

The present work, which creates an enclosure for the dodgy display, is far heavier on metalworking than anything else, as the video below reveals. The display itself goes in a small box that’s machined from brass, while the HDMI plug gets a sturdy-looking brass housing that makes the more common molded plastic plug look unforgivably flimsy — hot glue notwithstanding. Connecting the two is a flexible stalk, allowing it to plug into a computer’s HDMI port and giving the user the flexibility to position the nearly useless display where it can be seen best.

But again, we may be too harsh in our judgment; while DOOM is basically unplayable on the tiny display, “Bad Apple!!” is quite watchable, especially when accompanied by [mitxela]’s servo-controlled MIDI music box. And since when has usability been a criterion for judging a hack’s coolness, anyway?

Continue reading “Barely HDMI Display Gets A Steampunk-Inspired Enclosure”

DOOM Comes To The RP2040

To the point of being a joke, it seems like DOOM is adapted to run on everything these days. So it was only natural that we would see it ported to the RP2040 by [Graham Sanderson], the tiny chip powering the Raspberry Pi Pico.

You might be thinking, what’s different about this port? There have been 55 articles about DOOM here on Hackaday, showing it running on everything from web checkboxes to desk phones. The RP2040 has 256 K of RAM, two decently clocked processor cores, and 2 MB of flash, so it’s not the most constrained platform ever to have DOOM run it. But [Graham] also set some very lofty goals: all nine levels needed to be playable, faithful graphics and music, multiplayer, and it would output to VGA directly. It should play just like the original. DOOM has a demo that is stored as a sequence of input events. They form excellent regression tests as if the character gets stuck or doesn’t make it to the end; then you’re not accurate according to the original code.

There are two big problems right out the gate. First, a single level is larger than the 2 MB storage that the RP2040 has. And to drive the 320×200 display, you either need to spend a lot of your CPU budget racing the beam or allocate a vast amount of RAM to framebuffers, making level decompression much harder.

A default compression scheme wouldn’t cut it because it needed a high compression ratio and random access since decompressing into RAM wasn’t an option. However, carefully optimizing and compressing the different data structures yielded great results. Save game files are given a similar treatment to ensure they fit into the remaining flash after all the levels (34k).

The result is fantastic, and it supports DOOM, Ultimate DOOM, and DOOM II. The write-up goes into far more detail than we could here; enjoy the read. If you decide to make a day trip to the depths of Hell on your own Pi Pico, be sure to let us know in the comments.

Continue reading DOOM Comes To The RP2040″

Pocket-Sized Doom Is Actually Playable

It used to be that you needed a well-equipped expensive new beige-box PC if you wanted to play Doom at all. Now, you can do so in a form factor with a footprint smaller than a credit card, as demonstrated by this nifty little build from Adafruit.

The build relies on the Retro-Go firmware for ESP32 devices, which can emulate a range of machines, from the Nintendo NES and Game Boy to the NEC PC Engine, Atari Lynx, and, yes, Doom itself. It can even run Doom mods, via the WAD architecture used by the game.

It was a simple matter of porting Retro-Go to run on the tiny QT Py ESP32 Pico board, and everything fell into place. With six tactile buttons, it’s capable of not just running Doom, but running it at full playable speeds including that classic soundtrack. The 1.3″ 240×240 screen looks surprisingly crisp and does a great job of displaying the game while keeping everything readable.

It’s one of the smaller Doom-capable portables we’ve seen; we reckon you could stuff this in the change pocket in your jeans if you tried hard enough. We’ll never quite get over seeing the world’s most loved FPS running on commercial kitchen hardware, though. Video after the break.

Continue reading “Pocket-Sized Doom Is Actually Playable”

Rat playing DOOM

Rats Learn To Play DOOM In This Automated VR Arena

When we run an article with “DOOM” in the title, it’s typically another example of getting the venerable game running on some minimalist platform. This DOOM-based VR rig for rats, though, is less about hacking DOOM, and more about hacking the rats.

What started as a side project for [Viktor Tóth] has evolved into quite a complex apparatus. At the center of the rig is an omnidirectional treadmill comprised of a polystyrene ball about the size of a bowling ball. The ball is free to rotate, with sensors detecting rotation in two axes — it’s basically a big electromechanical mouse upside down. The rat rides at the top of the ball, wearing a harness to keep it from slipping off. A large curved monitor sits right in front of the rat to display the virtual environment, which is a custom DOOM map.

With the VR rig built, [Viktor] worked on automating the training. A treat dispenser provides the proper motivation, while powered drive wheels engage with the ball to nudge the rat if it gets stuck in the virtual world. [Viktor] says he has trained three rats — [Romero], [Carmack], and [Tom] — to walk down a straight hallway using this automated method. As for the meat of the game — shooting monsters — [Viktor] has that covered too, with a sensor that detects when a rat rears up on its hind legs to register a shot.

Total training time to get the rats to the point seen in the video was about six weeks, and [Viktor] reports the whole thing cost him about $2000. That’s a lot of time and money, but the results are pretty interesting. If you’re more interested in minimalist DOOM builds, we understand — check out DOOM on a lightbulb, or a thermostat, or even a GPS.

Continue reading “Rats Learn To Play DOOM In This Automated VR Arena”

Play Doom Or GTA V With Your Own Custom Controller And Xbox Emulator

[Arnov] is bringing his own custom-made controller to the party and it is sure to impress. The design appears to have been inspired by the Xbox controller layout. Two joysticks for fine control of game characters, 4 face buttons, and two shoulder buttons. He opted for all through-hole components to make the assembly easier. No messing with tiny surface mount components here. We really appreciate the detail given to the silkscreen and the homage paid to a staple of retro gaming.

We were pretty impressed with how smoothly the controller translated to the game. He mentioned that was a huge improvement over his previous design. His original design had buttons instead of joysticks, but switching to joysticks gave him much better in-game control. That could also have a lot to do with the Xbox controller emulator running the background, but still.

Given that gift-giving season is upon us, you could really impress the video game enthusiast in your life with this as a custom gift. You could even run Retro games like Doom if you hook it up to a RetroPie. That ought to get a few people’s attention.

Continue reading “Play Doom Or GTA V With Your Own Custom Controller And Xbox Emulator”