Fafling Optimizes Saturn Doom Even More

Homebrew developer Fafling’s back with a new version of his optimization patch for Saturn’s Doom port, now making some levels run at a frame rate 2½ times faster than the notoriously sluggish retail release.

Fafling uploaded version 0.3 of the patch Monday to the Resources area at SegaXtreme. It uses the Sega Saturn Patcher version 1.95, a copy of which comes in the ZIP file with the patch. It should be applied to the Japanese version of Doom, which Fafling chose because it released after the North American and European versions, so it possibly has bug fixes, and it’s still in English.

“I will only patch one region in order to reduce complexity of a release,” Fafling said in the SegaXtreme Discord server. “I may however switch from the Japanese version to the US one to take advantage of the additional CD track.”

Fafling uploaded a video to YouTube showing a side-by-side-by-side comparison of the original game, last year’s version 0.2 patch and this week’s version 0.3 patch as they all run Doom’s three demos. It shows the original often running at about 11 frames per second while the 0.2 patch hit about 25 FPS and the 0.3 patch hits just shy of 30 FPS.

Another video he posted today shows off fixes he made to how walls are rendered.

Fafling said Saturn Doom with his patch now runs better than the Atari Jaguar port and close to PlayStation port — “sometimes slightly better, but still sometimes worse.”

“Some of the more complex of the non-Jaguar levels can still have sub-10 FPS drops, like Sever the Wicked if you stand at a corner of the big open area,” he said. “The Jaguar levels and the less complex non-Jaguar ones are regularly hitting the 30 FPS mark now.”

[Edit, May 19:] The patch initially wasn’t an entry in this year’s SegaXtreme Saturn 31st Anniversary Homebrew Showcase, unlike last year, when version 0.2 got second place in the hacks, patches and translations category. It was finished just a couple hours after the May 11 deadline, but after discussion, the showcase’s reviewers/judges — of which I am one — decided to allow Fafling’s slightly late entry anyway.

Fafling found another laundry list of things to optimize in the code of Doom, which was originally ported by Rage Software on behalf of original developer iD Software in 1997. The full list of fixes is as follows:

  • Startup :
    • Boot sector program IP.BIN made region free and updated with patch version and date.
    • Adds a sound effect when interrupting the logo sequence by pressing start (same sound effect than when pressing start on the title screen).
  • Controls :
    • Restores weapon bidirectional cycling, including during pause, while keeping the rollover that the Saturn commercial version introduced. Weapon cycle is inverted when maintaining the use button while pressing the cycle weapon button.
    • The interval during which the chainsaw is going up no longer prevents any weapon cycling (problem present in the PSX version).
  • Status bar : adds slot 0 in the weapon indicators of the status bar for the fist. This slot’s number turns red to indicate a berserk condition.
  • Performance : noticeably improves framerate again. It’s now smooth in the simpler levels, but it can still go quite down in the more complex ones.
  • Graphics : fixes additional gaps in graphics present in the PSX version (missing wall columns, rare missing sectors).
  • Flats :
    • Removes 2 pixels expansions that made the sides of ground or ceiling sectors overlap with walls (problem present in the PSX version). It reveals a few remaining gaps but it looks much better overall.
    • Improves the precision of the low detail flats with high detail limits that were introduced in v0.2 to improve performance.
  • Walls :
    • Fixes last wall texture column being always replaced by the 2nd one (bug introduced by the Saturn commercial version in the workaround for texture repetition, see below).
    • Wall textures are no longer stretched on walls higher than 256 pixels (problem present in the PSX version). They can now repeat over walls of up to 384 pixels, with a horizontal offset of one column every 128 pixels. That offset was present in the Saturn commercial version and it won’t be fixed, otherwise it would hurt performance (VDP1 can’t repeat a texture so texture length is extended when needed to following columns as a workaround, causing those offsets).
    • Fixes the horizontal sliding of wall textures when viewed at an angle (bug present in the PSX version).
    • Fixes incorrect diminishing light shading on walls that are partially hidden by another wall on their left (bug present in the PSX version).
  • Automap :
    • Removes status bar stats flicker when the map is toggled.
    • Damage and item pick up color effects now work on the black background, not only on map lines. The color effects working on the automap was an improvement of the Saturn commercial version over the PSX version.
  • General : retores some error checks (all had been disabled in the Saturn commercial version), but with a handling that is faster and doesn’t crash the game unlike the PSX version, so for example a sector won’t be rendered and the reason will be displayed by a message (I have yet to see one without forcing it with code modification).
  • Patch bugfix :
    • Fixes inversion between odd and even lines of animated wall textures (bug introduced in v0.2).
    • Fixes rare vertical one line shakes of the status bar (bug introduced in v0.2).
    • Fixes artifacts on the side of the screen when returning to the title screen from a demo or a level (bug introduced in v0.2).

The patch doesn’t just make Doom run smoother, though. It also adds quality-of-life features to the controls. According to the readme file that comes with the patch:

  • New controls during start up:
    • Pressing Start on high-res logos skips to title screen.
    • Pressing D-pad right on the title screen, during a demo or during the credits triggers the next step of the demo loop.
    • Maintaining A pressed during a demo accelerates the demo playback (30 FPS cap instead of 20).
  • New controls in-game:
    • Maintaining pressing the Use button (default B) while pressing the Cycle weapon button (default Y) cycles weapons down instead of up. Since the Use button always retains its main function, be careful when using it to invert weapon cycle, it may also open a door or toggle a switch if one is in front of you.
    • Cycling weapons is possible during pause. Like on PSX, weapons may get cycled when entering cheat codes if they include the Cycle weapon button.
About the author

Danthrax

Danthrax is a member of the SHIRO! Media Group, writing stories for the website when Saturn news breaks and helping to manage the group's social media accounts. While he was a Sega Genesis kid in the '90s, he didn't get a Saturn until 2018. It didn't take him long to fall in love with the console's library as well as the fan translation and homebrew scene. He contributed heavily to the Bulk Slash and Stellar Assault SS fan localizations, and he's helped as an editor on several other Saturn and Dreamcast fan projects such as Cotton 2, Rainbow Cotton and Sakura Wars Columns 2.

Readers Comments (6)

  1. I patiently waited for Saturn DOOM to be improved upon, and it’s happening!
    It seems something about the game speed is tied to the retail code/framerate, so while it’s hitting 30 FPS now, the game seems to be running twice as fast, which is actually an achievement by itself, and it’s version 0.3!

    I can only imagine if the colored sectors and maybe, just maybe, something such as dynamic lighting could be implemented until it reaches version 1.x?

    In any case, Saturn DOOM will be avenged!

  2. I’ve also waited a loooong time for this, even though I’ve completed the vanilla game before in all it’s slow glory. This is freaking fantastic, like a gift from the heavens. Extreme thanks and praise to Fafling, what a hero!!!

  3. SoloNerfherder 2026-05-14 @ 02:43

    My non-PC-owning ass really enjoyed FLICKOVISION Doom on the Saturn back in the day, so when I get round to playing this version, that so-smooth-I-can’t-believe-it’s-not-butter framerate is gonna blow me flippin’ mind! 🤣

  4. The patch isn’t an entry in this year’s SegaXtreme Saturn showcase quite simply because I missed the deadline. While testing the patch I found a few problems that I wanted to fix before releasing it, so I preferred to delay it a bit even it meant missing the showcase submission deadline.

Leave a comment

Your email address will not be published.


*


Skip to toolbar