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.

28 thoughts on “Porting DOOM To A Forgotten Apple OS

  1. A/UX was Unix based. So it is unix, with a gui.

    Microsoft had their version of Unix in 1980, Xenix. It had to have a different name for legal reasons, but they bought rights to the Unix source code.

  2. “In the distant past of the ’90s they were still kind of clunky computers”

    Some people might argue with that statement, and point out that Macs of the 90s, around the time System 7 came out, had the most elegant, simple, and user-friendly interfaces of probably any computer, at any point in time. Those people would be correct.

    1. Yeah, that remark surprised me. The Mac UI was a shining example of rigorous and consistent design where everything followed the same internal logic and nothing was ambiguous. The Human Interface Group in Apple did an amazing job and all app development followed their guidelines…

      …until one of the updates gave Quicktime Player a brushed metal appearance and a volume control which was more interested in looking like a physical dial than actually being usable, and all that design work got thrown out the window.

      1. Same here. I worked for Jef Raskin in the 80’s. I am frustrated no end today with new additions to OS X that break the UI rules. I guess they want everything to be like the phones, which break the rules a lot. Back then, there was nothing out there like the Mac OS. Every detail was “right”. MS could not even get cursor coordinates right. If anyone would like a full set of NIB diskettes with AIX and MPW…. (I wonder why MPW was not mentioned for building the game?)

    2. Thank you both ;-)

      This is exactly my experience with Mac Systems 7 – 9 – compared to the other OSes of that time (!).

      I think the problem (again) is the age of the authors… people who have actively witnessed IT development since the 70’s and can therefore see everything in context, are dying out… That is the natural course of things.

    3. Got a file you don’t want?

      Drag it to the trash can and it’s deleted.

      Want to eject a floppy full of data you don’t want to lose?

      Drag it to the trash can.

      Wait, what?

      1. Even worse with MacOS 1.x/MFS running on a Mac 128K: one of the 3rd party external hard drives connected via one of the DE-9 serial ports, and depended on booting from a floppy to mount. The desktop drive icon was a floppy, and if you tossed the icon into the trash to unmount it like you would a floppy, the file system was trashed too.

        1. Apple’s hard drive connected through the serial port “it’s good enough”. Which is why there were the third party drives that requiredinternal modifications.

          And on the subsequent Macs, an SCSI connector.

      2. That was singularly the dumbest thing the Pre-OSX systems did. Fortunately there was a keyboard shortcut that everyone used instead of the drag. Select the disk icon, and type -e for eject.

    4. No.
      It was just better than the callosal pigfukc that followed. Made Windows 3.0 look good.

      Emulated code in your network stack and filesystem? That’s some high performance, world class software engineering there. Which is ignoring Apples comical failed attempts at making a real OS at the time.

      As to user interfaces…even _Blender_ has fans…Stockholm syndrome. Listen to them…next they’ll be extoling the virtues of JCL and emacs.

    1. Do you want to compile code natively on Mac OS 7, or do you want to run code natively on Mac OS 7?

      If you just want to run the code, then try cross compiling on a more modern host machine. Retro68 is a gcc based SDK that can output MacBinary images, might be a good starting point. Build on a modern linux system, then copy the binary to the target machine.

  3. This was really cool for me to see. I was the originating author of MacX which first released in 1989 on MacOS and soon after on A/UX,. I joined the A/UX group soon after, making that group the home of MacX continuing development for both operating systems.

    This game as shown is running in MacX, which allowed the X11 client program to make graphical requests of the MacX server. This drew pixels into an off screen buffer and frequently updated the screen using MacOS CopyBits API. This isn’t the fastest way to draw, but it gets the job done and provides excellent compatibility. I would bet this isn’t why the frame rate is so low. I suspect they’re running X11 protocol synchronously without all of its pipelining for performance or else the game is just slow to draw. X11 APIs are not all that inefficient when used properly.

  4. I recall MacX performance being pretty bad even for the time, eXodus from White Pine (?) was much faster.
    Minor nitpick: As noted in the source post, NeXTSTEP never ran X11, it used Display PostScript.

  5. >>>Macs of the 90s, around the time System 7 came out, had the most elegant, simple, and user-friendly interfaces of probably any computer, at any point in time. Those people would be correct.

    I have to disagree. I found the Mac OS of the time to compare poorly with Amiga Workbench, which had greater flexibility and had more than one mouse button by default.

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.