Super DOOM - Chocolate DOOM on Super NES

Discussion of hardware and software development for Super NES and Super Famicom. See the SNESdev wiki for more information.
Forum rules
  • For making cartridges of your Super NES games, see Reproduction.
User avatar
elseyf
Posts: 85
Joined: Sat Dec 01, 2012 4:10 am

Super DOOM - Chocolate DOOM on Super NES

Post by elseyf »

For background on the cortex-accelerator, see here: cortex-accelerator - A new Super NES co-processor

This is a port of Chocolate DOOM running on the Super NES:
super-doom-chocolate-doom-on-super-nes-v0-wleamedhe2kf1.jpeg
This port is based on Graham Sandersons port for the RP2040: https://github.com/kilograham/rp2040-doom

On a PAL console (because that is what I have at hand), the port is running at 256x200 pixel resolution at about 16 fps. It does not implement double buffering (yet), so there are tears in the screen as it is transfered over 3 frames. There is no scaling of graphics. To fit them, I just crop the frame buffer to the target size.

If I used the original SNES DOOM resolution of 216x144, the game would run at 30 fps on NTSC consoles and 25 fps PAL consoles, needing 2 transfers to VRAM while in forced blanking.

A camera capture of the game running on a PAL SNES:
https://youtube.com/shorts/ix66n5_9bdA? ... IiESTxlWd0

Intro and demo running:
https://youtu.be/vD3Lyl0TKyA?si=2U01FbgczDMtiXVe

After making a new revision of the cortex-accelerator hardware, DOOM2 now runs on Super NES:
cortex-accelerator - New revision running DOOM2 on Super NES
Screenshot_20250912_133925_Gallery.png
Here is some gameplay of the first level of DOOM2 on SNES:
cortex-accelerator - DOOM2 running on Super NES: Playing MAP01: Entryway

Edit: YouTube links work again
You do not have the required permissions to view the files attached to this post.
Last edited by elseyf on Sat Sep 13, 2025 6:28 am, edited 5 times in total.
Zonomi
Posts: 79
Joined: Wed May 09, 2007 12:45 pm

Re: Super DOOM - Chocolate DOOM on Super NES

Post by Zonomi »

The Youtube channel where the video was hosted has been banned
User avatar
elseyf
Posts: 85
Joined: Sat Dec 01, 2012 4:10 am

Re: Super DOOM - Chocolate DOOM on Super NES

Post by elseyf »

Yes, unfortunately Youtube thought this was spam and deactivated my account. I have appealed their decision and wait for their answer. I will look into hosting the videos somewhere else.

Edit:
I have now uploaded them to Google Drive.
SNES AYE
Posts: 370
Joined: Mon Nov 07, 2022 11:28 am

Re: Super DOOM - Chocolate DOOM on Super NES

Post by SNES AYE »

I have a couple of questions:

Is your SNES version of Doom running in 8bpp, 4bpp, or another mode?

Could you run a version in 2bpp mode—similar to how it might be done for the NES using your chip—to reduce the color depth and potentially increase the frame rate?

Just a couple of things I’m curious about.
I am neurodivergent, so if any of my posts unintentionally upset you, I apologize.
User avatar
elseyf
Posts: 85
Joined: Sat Dec 01, 2012 4:10 am

Re: Super DOOM - Chocolate DOOM on Super NES

Post by elseyf »

It uses mode 3 BG1 at 8bpp.

You could probably lower the depth of pixels, but it would not look faithful.
SNES AYE
Posts: 370
Joined: Mon Nov 07, 2022 11:28 am

Re: Super DOOM - Chocolate DOOM on Super NES

Post by SNES AYE »

elseyf wrote: Wed Aug 20, 2025 12:13 pm It uses mode 3 BG1 at 8bpp.

You could probably lower the depth of pixels, but it would not look faithful.
I’m just sharing some thoughts here, so feel free to take it all in the enthusiastic and wishful spirit intended.

That’s always going to be the trade-off: more visual fidelity versus performance. The more colors you use, the closer it looks to the original game (since all these versions are essentially just streaming the original). But reducing the aesthetics could allow for more faithful screen sizes and frame rates.

Do you have the NES version of Doom running yet? I imagine that would be a good reference point for the kind of visual fidelity a 2bpp SNES version could achieve, especially since the SNES’s 2bpp mode is actually more capable than the NES’s in at least some respects: much higher color gamut; any potential sprite-based elements, like the gun in the official SNES Doom, could use the full 4bpp 15-bit colors; potential use of HDMA for adjusting the main backdrop color per scanline, possible use of color math?; can store many more 2bpp tiles in VRAM for instant access; etc.

It would be really cool to see Doom running in 8bpp, 4bpp, and 2bpp on the SNES—maybe even with an option to switch between them on the cartridge. That would create something like the “graphics vs. performance mode” options we see on modern consoles and PCs, letting players choose based on personal preference.
I am neurodivergent, so if any of my posts unintentionally upset you, I apologize.
User avatar
Dwedit
Posts: 5257
Joined: Fri Nov 19, 2004 7:35 pm

Re: Super DOOM - Chocolate DOOM on Super NES

Post by Dwedit »

I don't think anyone wants to bother with trying to run Doom in a 2bpp mode on a SNES. 8bpp mode mimics the DOS version's VGA graphics, which is what the game was designed for.
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!
SNES AYE
Posts: 370
Joined: Mon Nov 07, 2022 11:28 am

Re: Super DOOM - Chocolate DOOM on Super NES

Post by SNES AYE »

Dwedit wrote: Thu Aug 21, 2025 8:21 am I don't think anyone wants to bother with trying to run Doom in a 2bpp mode on a SNES. 8bpp mode mimics the DOS version's VGA graphics, which is what the game was designed for.
I can only speak for myself, but I’d definitely be interested in seeing it. If you mean in terms of anyone actually developing a 2bpp version, I suspect you’re right—there’s certainly nothing to suggest otherwise at this point.
I am neurodivergent, so if any of my posts unintentionally upset you, I apologize.
User avatar
elseyf
Posts: 85
Joined: Sat Dec 01, 2012 4:10 am

Re: Super DOOM - Chocolate DOOM on Super NES

Post by elseyf »

DOOM2 is now running on SNES, see first post
User avatar
Nikku4211
Posts: 613
Joined: Sun Dec 15, 2019 1:28 pm
Location: Bronx, NY

Re: Super DOOM - Chocolate DOOM on Super NES

Post by Nikku4211 »

Dwedit wrote: Thu Aug 21, 2025 8:21 am I don't think anyone wants to bother with trying to run Doom in a 2bpp mode on a SNES. 8bpp mode mimics the DOS version's VGA graphics, which is what the game was designed for.
Besides, if Doom was running at 60 FPS, it'd be less faithful than if it was running in 30 FPS. Vanilla and Chocolate Doom are capped at 35 FPS and 30 is very close to that.

So 2BPP would definitely not be worth it for Doom. Maybe if you were to make another 3D game with a Flipnote style, it'd fit. Just not Doom.
I have an ASD, so empathy is not natural for me. If I hurt you, I apologise.
User avatar
elseyf
Posts: 85
Joined: Sat Dec 01, 2012 4:10 am

Re: Super DOOM - Chocolate DOOM on Super NES

Post by elseyf »

There is DOOM on NES, it honestly does not look too bad. However, I think this cartridge changes the palette mid rendering, ie. while a row of pixels is rendered on NES, which to my knowledge is not possible on SNES. You could only update the palette in hblank.
Anyways, like it was pointed out before, anything other than 8bpp just looks bad and would not do justice for running DOOM on contemporary hardware.
93143
Posts: 1914
Joined: Fri Jul 04, 2014 9:31 pm

Re: Super DOOM - Chocolate DOOM on Super NES

Post by 93143 »

elseyf wrote: Sun Sep 14, 2025 1:23 amHowever, I think this cartridge changes the palette mid rendering, ie. while a row of pixels is rendered on NES, which to my knowledge is not possible on SNES. You could only update the palette in hblank.
No, you can do it. It requires some careful timing and hardware exploitation, and doesn't work for every scenario.

But it's irrelevant because Doom is a 256-colour game, so you don't need to change anything. (Not to mention that a full-range 8bpp image with arbitrary colour placement is one of the scenarios the trick doesn't work in...)
User avatar
elseyf
Posts: 85
Joined: Sat Dec 01, 2012 4:10 am

Re: Super DOOM - Chocolate DOOM on Super NES

Post by elseyf »

Interesting. Is there documentation about how to do it?

For DOOM, using 8bpp is the easiest method, just mapping the DOOM palette to a 8bpp background.
However, it is not feasable to display a full 256x224 8bpp frame due to VRAM bandwith limitations.

I was thinking whether it might be more feasable to use lower bpp and then change colors mid rendering to get the same fidelity like a 8bpp background, but at a higher framerate. That might also benefit something like an FMV game.

If I remember correctly, this was basically how the intro of Sonic 3D on the Mega Drive was made, changing the palette mid rendering by DMA'ing constantly into the first color entry (or something like that).
SNES AYE
Posts: 370
Joined: Mon Nov 07, 2022 11:28 am

Re: Super DOOM - Chocolate DOOM on Super NES

Post by SNES AYE »

elseyf wrote: Sun Sep 14, 2025 2:04 am Interesting. Is there documentation about how to do it?

For DOOM, using 8bpp is the easiest method, just mapping the DOOM palette to a 8bpp background.
However, it is not feasable to display a full 256x224 8bpp frame due to VRAM bandwith limitations.

I was thinking whether it might be more feasable to use lower bpp and then change colors mid rendering to get the same fidelity like a 8bpp background, but at a higher framerate. That might also benefit something like an FMV game.

If I remember correctly, this was basically how the intro of Sonic 3D on the Mega Drive was made, changing the palette mid rendering by DMA'ing constantly into the first color entry (or something like that).
I like this idea.

According to online sources, the original DOS version of Doom ran at 320×200 resolution and 35 FPS, so I think the resolution and frame rate could also be considered worthwhile targets on the SNES, alongside matching the original color depth.

We already know the SNES can handle 256-color Doom with certain necessary restrictions, but it might be fun to explore alternative modes that show how close the system can get to the original game’s resolution (well, max 256×224 on SNES) and frame rate as well, just as an experiment to see how faithfully it can replicate the experience in those areas.

I don’t expect anyone to actually implement a version of Doom that lets you switch between, for example:
  • 2bpp mode for the highest possible resolution and frame rate
  • 4bpp mode for a balance between color depth, resolution, and frame rate
  • 8bpp mode for the best colors but the lowest resolution and frame rate
…but it would be really interesting, at least on a personal level, to see what could be achieved with each approach. This could be somewhat unique to the SNES version, given the way it allows the use of different background modes depending on the use case.
I am neurodivergent, so if any of my posts unintentionally upset you, I apologize.
User avatar
Nikku4211
Posts: 613
Joined: Sun Dec 15, 2019 1:28 pm
Location: Bronx, NY

Re: Super DOOM - Chocolate DOOM on Super NES

Post by Nikku4211 »

elseyf wrote: Sun Sep 14, 2025 2:04 am Interesting. Is there documentation about how to do it?

For DOOM, using 8bpp is the easiest method, just mapping the DOOM palette to a 8bpp background.
However, it is not feasable to display a full 256x224 8bpp frame due to VRAM bandwith limitations.

I was thinking whether it might be more feasable to use lower bpp and then change colors mid rendering to get the same fidelity like a 8bpp background, but at a higher framerate. That might also benefit something like an FMV game.

If I remember correctly, this was basically how the intro of Sonic 3D on the Mega Drive was made, changing the palette mid rendering by DMA'ing constantly into the first color entry (or something like that).
Even if you only display 256x200 8BPP and aim for 30fps, you can't get that speed for 256x200 at 8BPP because the SNES can only copy less than 6kiB per frame(unless you want to make your port a 50hz exclusive). No amount of coprocessors can help with that short of having a cartridge with its own video output(and I don't know anyone who would want a 32X for the SNES).

But also, I'm not sure what you say would work. The SNES only has 8 DMA channels, some of which can be marked for HDMA, but it's very limited in how many colours it can change onscreen. You'd probably need at least one DMA channel just to update the screen in an FPS on SNES, no idea how many channels are needed to change however many palettes each scanline though.
I have an ASD, so empathy is not natural for me. If I hurt you, I apologise.