[WIP] Mimas Engine: my take on hardware-rendered Saturn Doom (make a WAD, get a Saturn FPS)

Hi all I'm Romain (N0rt0N85). I'm building Mimas Engine, a Doom port for the Saturn that actually leans on the hardware, running here on real hardware (Phoebe ODE).

▶️

The idea:
The infamous 1997 Saturn Doom was a pure software renderer that ignored the VDP1/VDP2 (Carmack vetoed Jim Bagley's hardware engine, and later called it a mistake). Mimas Engine is my shot at the hardware-accelerated Saturn Doom that never shipped, and because it's a real Doom engine, the content is just a WAD: drop in a vanilla / limit-removing WAD and you have your own FPS on real Saturn hardware, no Saturn code required.

Under the hood
  • doomgeneric / Chocolate-Doom core, rendered across both SH-2 CPUs (slave-CPU column/visplane renderer with work-stealing).
  • VDP1 hardware walls (distorted sprites) + VDP2 hardware sky and floor;
  • Big WADs stream from the CD with no RAM cart : Doom II / Ultimate / Plutonia / TNT and the community WADs hopefully !
  • Built on SRL, thanks @ReyeMe, it made this genuinely pleasant (basically a flagship SRL demo).
Status: WIP, playable on hardware at low FPS. Targets vanilla / limit-removing WADs (Chocolate-Doom compat, not GZDoom/ZScript).

Credits. Engine = doomgeneric/Chocolate-Doom; the texture cache is ported from d32xr; the VDP1 approach is inspired by Lobotomy's SlaveDriver/PowerSlave (my renderer diverges with hybride world (vdp1, vdp2, sh-2). Big respect to Fafling too, Mimas is a different, ground-up take (hardware rendering + big-WAD engine) rather than a patch of the retail binary.

I'll keep this thread as a dev-log and will publish videos on this youtube playlist;
Happy to dig into any technical questions.
Feedback very welcome!

Romain
 

Attachments

  • Screenshot 2026-07-01 20-15-12.png
    Screenshot 2026-07-01 20-15-12.png
    729.5 KB · Views: 0
  • Screenshot 2026-07-01 20-15-26.png
    Screenshot 2026-07-01 20-15-26.png
    806.9 KB · Views: 0
  • Screenshot 2026-07-01 20-15-35.png
    Screenshot 2026-07-01 20-15-35.png
    586.4 KB · Views: 0
  • Screenshot 2026-07-01 20-15-53.png
    Screenshot 2026-07-01 20-15-53.png
    778.5 KB · Views: 0
Last edited:
Not to discount the work on this engine, but it should be noted that Retail Saturn Doom doesn't use a software renderer. It uses VDP1 to render everything but the sky and HUD layers which are handled by VDP2. It's a straight port of PS1 Doom and has the 3D scenery drawn using 1px high strips on VDP1. So it is very much a hardware renderer using the Saturn hardware. The reason it runs poorly is because it's rushed and sloppy with little optimization.

Hexen on the other hand does use a software renderer for the 3D scenery.
 
Not to discount the work on this engine, but it should be noted that Retail Saturn Doom doesn't use a software renderer. It uses VDP1 to render everything but the sky and HUD layers which are handled by VDP2. It's a straight port of PS1 Doom and has the 3D scenery drawn using 1px high strips on VDP1. So it is very much a hardware renderer using the Saturn hardware. The reason it runs poorly is because it's rushed and sloppy with little optimization.

Hexen on the other hand does use a software renderer for the 3D scenery.
I see, my knowledge on the topic was far from complete, then! Thanks for the clarification 🙂 !
I guess I can review my hopes down for the final performances :/
 
Last edited:


2026-07-01 changelog:
  • Dynamic sky/floor horizon: the sky always meets the floor now (no gap); the hardware floor is clipped below a per-view horizon.
  • Dual-SH2 plane work-stealing via the SH-2 TAS instruction (Fafling-style meet-in-the-middle), default-on, smoother frame pacing.
  • 3-player mode: the empty 4th quadrant now shows a player-position minimap.
  • Perf: removed a per-frame 131 KB floor re-upload; memory tidy-ups.
  • Hardware sky/floor in split-screen views.
  • The debug overlay is toggled on/off in this one so you can see the clean view.
 
Last edited:
I see, my knowledge on the topic was far from complete, then! Thanks for the clarification 🙂 !
I guess I can review my hopes down for the final performances :/
I wouldn't get your hopes down too much. There's plenty of evidence that the Saturn can handle Doom both in its retail configuration and in a pure software rendering setup. Fafling has gotten retail Doom up to about PS1 levels of performance with code improvements, and Doom Resurrection on the 32X shows even a lower clocked dual SH2 setup can run software rendered Doom at a good framerate.
 
Back
Top