Tech

Doom on the Neo Geo Becomes the ‘Impossible’ Port That Just Works

Published

on


Longtime owners of the Neo Geo AES have watched countless other platforms receive Doom ports over the decades. The console always looked like a strong candidate on paper, with its fast 68000 processor and graphics hardware built for fast sprite handling. Yet the 64 kilobytes of RAM available to the main CPU kept creating a hard stop for anyone who tried a straight conversion. A fresh project shows the limitation was never as final as it once seemed.



SNK designed the Neo Geo with the goal of making as much visual impact as possible with the limited memory they had available, and boy did they succeed. It’s a console that really excels when developers know how to give it well-organized sprites and tile data rather than expecting it to draw things on the fly. Classic Doom, on the other hand, builds its environment one vertical strip at a time, transmitting it all to the screen from a large framebuffer, but that approach is far too memory intensive, and the Neo Geo simply cannot keep up.


NEOGEO AES+ Anniversary Edition
  • Legendary video game console reborn
  • 1:1 replica of the original console from the 90s
  • Unmistakable and uncompromising arcade-grade build

Miguel Sabino figured out a way around this by starting the DoomGeo project on a standard computer with a bunch of conversion tools. These programs consume a Doom WAD file before spitting it out in a format that the Neo Geo can understand. Walls become strips of sprite graphics, along with all of the background elements and animations, because they are all pre-baked and ready to go, rather than having to be created on the fly. In the end, all of this is squeezed onto the cartridge as neat little tables and sprite banks.


Once the ROM boots up, the 68000 CPU’s primary function is to update the sprite control blocks rather than going in and filling in a whole framebuffer pixel by pixel. The hardware sprite system then places, scales, and layers all of those strips to create a great first-person perspective. Floors and ceilings are handled by pre-baked planes that scroll and tilt as they move, while the fixed tile layer houses the entire heads-up display, which includes the status bar, the marine’s face, key indications, and ammo counters. They kept memory demands low by breaking things up this way, yet the game still looks and plays well.


The current build will support every original weapon, including your fist, rocket launcher, and BFG. Monsters have several rotation frames, ensuring that they always face the player in the correct manner while moving about. Doors open, secrets are tucked away, floors that will damage you do exactly that, and the AI inside keeps the enemies on their toes. Even the collision checks take into account the player’s height and step height, ensuring that the movement seems completely natural. A solid 16×16 homemade map becomes the major showpiece, with some experimental paths that can even capture a full-on E1M1 level from the original Doom for testing, and, of course, there’s the audio conversion for the YM2610 sound chip, which is still on the to-do list.


Doom64KB, an even more stripped-down project, takes a completely different approach. It’s based on an older low-memory PC port, and it reduces features even further to fit under the same 64k RAM limit. Floors and ceilings lose their texture maps, music is removed, saving and loading are no longer possible, and only a few particular maps may be played, but hey, it works, even if it sacrifices much of the original experience in the process.


Both of these projects emphasize one basic point: the Neo Geo’s processor and sprite hardware were never the issue. The big challenge was making Doom’s original graphics model to fit within that small memory footprint. These recent initiatives have ultimately overcome that barrier by shifting the heavy lifting to the pre-processing stage and allowing the current sprite system to perform its job, all without the need for additional RAM or custom hardware.
[Source]

Source link

Advertisement

You must be logged in to post a comment Login

Leave a Reply

Cancel reply

Trending

Exit mobile version