Running DOOM On An Atari ST

Atari ST desktop with Doom shortcut

If you grew up with a beige Atari ST on your desk and a faint feeling of being left out once Doom dropped in 1993, brace yourself — the ST strikes back. Thanks to [indyjonas]’s incredible hack, the world now has a working port of DOOM for the Atari STe, and yes — it runs. It’s called STDOOM, and even though it needs a bit of acceleration or emulation to perform, it’s still an astonishing feat of retro-software necromancy.

[indyjonas] did more than just recompile and run: he stripped out chunks of PC-centric code, bent GCC to his will (cheers to Thorsten Otto’s port), and shoehorned Doom into a machine never meant to handle it. That brings us a version that runs on a stock machine with 4MB RAM, in native ST graphics modes, including a dithered 16-colour mode that looks way cooler than it should. The emotional punch? This is a love letter to the 13-year-old Jonas who watched Doom from the sidelines while his ST chugged along faithfully. A lot of us were that kid.

Sound is still missing, and original 8MHz hardware won’t give you fluid gameplay just yet — but hey, it’s a start. Want to dive in deeper? Read [indyjonas]’ thread on X.

22 thoughts on “Running DOOM On An Atari ST

  1. Great work. I do remember that DOOM was available on the STE (we only had an STFM, but did upgrade the RAM, but never realised that conversion had basically made it an STE so we would lament not being able to play DOOM due to our lack of understanding)

    1. Uh, why would you want to use the GEM APIs in Doom? The AES API is for UI elements and the VDI API is for vector graphics. Yes, you could use VDI to blit bitmaps, but with Doom you probably want to directly write to the framebuffer.

      1. Because what we got here is similar (akin) to bragging about playing Doom on Windows, when it’s in reality just a DOS/mode13h version running on top of Windows.
        (Or some pseudo Win16 app that bypasses Windows environment through dispdib.dll file.)

        The direct-write to framebuffer strips the OS or hardware of any intelligence. It’s like bypassing the OS, altogether.
        Could have been a booter game just as well.

        In the Windows world, using GDI, WinG, Scitech’s WinDirect would have been a nice try, at least.

        I’m writing it this way because GDI/VDI bear some resemblance.

        1. There is no point in using a high level graphics API when the hardware is too slow even with direct hardware access. Native Windows games also (used to) directly access the framebuffer with DirectDraw.

          1. The Atari ST’s Rainbow TOS had blitter support.
            Later routines such as NVDI had better performance than stock VDI.
            TOS/GEM could support ET-4000AX via drivers.. The list goes on.

          2. The VDI calls to copy bitmaps (109 and 121) are useless for rendering textures. They can’t deform images during blitting. The blitter has the same limitation. And there is no benefit in copying the new screen contents from an off-screen buffer to the framebuffer if you can instead simply change the register with the start address of the framebuffer. There is even an XBIOS call to do that if you insist on using OS functions.

            Are there any other VDI calls that you want to use to speed up Doom?

  2. Isn’t the Amiga Doom better than the Atari ST? I always liked the Amiga more; but Commodore-Atari should have combined to survive the 90s. Quite Amazed that the ST could do it; I think only later ST models could if they have like a 68020-30 CPU.

    1. Hi, the 68040 is fine for such things, I think. It’s roughly comparable to a 486SX.
      Amiga 2000 had a CPU slot for such accelerator boards, I think.
      The 68060 is a bit of a hot shot, but also an alternative.

      On Atari ST side, a Mega STE is recommended in general.
      It can run CPU at 16 MHz vs 8 MHz, if memory serves.
      An 68010 is a simple upgrade path and can accelerate loops.

    2. “I always liked the Amiga more”

      Personally, I like the Amiga for DTP/color and the Atari ST for hi-res graphics/mono.

      Bsck in the 80s, the Atari ST was like an alternative to the Macintosh, just quicker with higher fidelity.
      Running MacOS (System) via Aladin/Magic Sac/Spectre128 gave access to first class software (on big screen).
      It also allowed exchanging data with PC DOS platform.

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.