Doom On The NES

“But can it run Doom?” is perhaps the final test of hacking a platform. From calculators to thermostats, we’ve seen Doom shoehorned into a lot of different pieces of hardware. Many times we’re left scratching our heads at the mashup, and this is no exception.

[TheRasteri] wasn’t satisfied with the existing ports of Doom, so he decided to bring the classic game to a classic console, the NES. In the video embedded after the break, he helpfully points out the system requirements for running Doom, and compares them with the specifications of the NES. Spoilers: not nearly enough.

How did he manage the feat? Taking inspiration from Nintendo’s own SuperFX chip, he embedded a co-processor in the cartridge, and fed the video stream from the cartridge back into the NES. It might not be fair to call it a co-processor, since it’s a Raspberry Pi with thousands of times the processing power of the 6502 that powers the NES. The idea might seem familiar, and in fact it was partially inspired by [Tom7]’s similar hack last year.

Using a Cypress USB controller to feed the graphics bus, [TheRasteri] is able to run Doom on the Raspberry Pi, take the visuals from the game, and convert them into blocks of graphics the NES expects to load from the cartridge. The best trick is that he apparently managed to squeeze everything into a normal NES cartridge. He plans to release a build video on his channel, so keep an eye out.

Meanwhile, don’t forget to take a look at those calculators and thermostats we mentioned.

20 thoughts on “Doom On The NES

      1. If you read the article, you would know he’s sending the frame buffer output across USB to an FX2LP and onto the expansion connector. No HDMI involved.

        But, no… it’s still not running Doom.

  1. funny, the NES in the video has one controller plugged in and that isn’t even used to play the game.
    So although this is interesting from many technical point of views, I wouldn’t say that the videos shows that you can play the game on a NES. But that is a thing that’s not impossible to solve, so I’m looking out for the next video regarding this subject.

    1. I think Doom was one of those games that would run a kind of game demo if you left it just sitting on the main menu. If it plays with the original controller this would be very cool to me. The Pi cartridge would be pretty cool by itself, I’m imagining a bunch of games stored on it allowing you to basically have all you’re classic titles on one cartridge. Don’t know how easy it would be compared to this but still a neat idea.

      1. Exactly this. If you boot up the original doom that level and those actions are the original demo screen you see. You can search for the shareware version of doom on the internet archive and run it in your browser on the page if you want to see it for yourself.

  2. For those bashing this project… Stuffing clever and sometimes newer tech into NES carts was a common thing in actual commercial games. Not all carts were just 2 ROMs. Multiplexing different chips onto the bus according to bank registers was a common method of expansion. A few carts for various consoles did have full CPUs (as mentioned in the video). So I consider this just the same kind of hackery fast-forwarded a few decades. As far as I’m concerned, if you stick a stock-looking cart into an unmodified NES and it does something cool, that’s a win. Any commercial NES game manufacturer would have gladly done something like this if it were possible and cost effective at the time.

    1. Yes, one of the advantages of the cartridge format. Look at the early single-screen NES games compared to what it was running in its heyday. Not possible without the logic afforded by the mapper chips, extra ram, etc., that they started stuffing into cartridges. Still, this is a bit too much for my tastes. Making a high-quality game with perhaps an attiny (or two) for extra processing power would interest me more.

  3. I love all these, “NOT RUNNING DOOM” comments, I guess the SNES wasn’t running any of it’s numerous games with helper chips. If the system is playing the game from the cartridge, and isn’t modified in any way, then it is playing the game.

Leave a Reply to Jan Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.