The Neo Geo Does Run DOOM After All

Demonstration of the DoomGeo port of Doom to the Neo Geo. (Credit: Sabino, GitHub)
Demonstration of the DoomGeo port of Doom to the Neo Geo. (Credit: Sabino, GitHub)

Perhaps the most ridiculous statement that anyone can make is that a computer system with clearly enough processing power ‘cannot run DOOM‘. This is why we accept the premise that a PDP-11 cannot run this game, but something on the order of a Neo Geo gaming console with its 68000 processor and for the time impressive GPU definitely ought to be able to.

The stated problem here is a lack of RAM for a framebuffer, with the CPU only having 64 kB to play with. This limitation now has seen two different approaches to try and circumvent it, as covered by [Modern Vintage Gamer].

The first project here is Doom64kB, which as the name suggests tries to somehow work with this system RAM limitation. It uses the Doom8088 port for the original IBM PC and similar Intel 8088-based systems. This had to massively reduce the feature list, including the lack of texture mapping for floors and ceiling, no saving or loading, and no music.

The other project is DoomGeo, which doesn’t try to bend the Neo Geo hardware to its will, but accepts the Neo Geo way of doing things: involving sprite strips, pre-baked graphics, fix-layer UI, and a minimum of runtime data. This of course drastically changes how the Doom game engine normally works, with its framebuffer-based rendering.

From this we can thus conclude that it’s not so much the processing power that limits where DOOM can run, but more of how framebuffer-friendly the system architecture is, yet with some ingenuity and a complete rewrite of the game engine even that is no major obstacle.

(Top image: Neo Geo AES console. Credit: Evan-Amos, Wikimedia)

15 thoughts on “The Neo Geo Does Run DOOM After All

  1. We kinda need a distinction between “it runs Doom” vs “You can play Doom on it”. (The first means the hardware runs the original game, the second means someone wrote a new engine that supports the Doom WAD level files)

    I.E. LibreOffice might open .xlsx files but you wouldn’t install it on a linux box and then say “It runs Excel”.

    1. heh i wanted a different distinction. “it runs doom” means you can demo doom to your geek friends. “you can play doom on it” means, you know, it’s fun, you can beat the levels and feel enjoyment while you do it. :)

      i was the original ttyquake guy and one of the limitations of that project is, you really couldn’t ‘play’ the game. it was recognizably quake, if you already knew the levels, but everything about it was clunky af. not fun

    1. Commentators were already noting that he was clearly baited people with that statement. Hence also my remarks in the introduction about how ridiculous of a statement that was.

      It’s really more of a ‘but at what cost’ kind of issue. The ‘no space for a framebuffer’ problem is, to his credit, still very real.

  2. Not familiar with the Neogeo hardware, but what about racing the beam? 64k is enough for over 60 lines of 320 RGB pixels each. You could render two 320×32 chunks of the screen, then alternate them as you count HBlanks, assuming the hardware allows that kind of control.

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.