A view of MAP32: Underhalls, rendered at 1440x1080 resolution.

Standard PlayStation Doom
Codebase PlayStation Doom
Developer(s) Darragh Coy
Initial release 0.01 (2020-01-23, 3 years ago)
Latest release 1.1.0 (2023-03-05, 2 months ago)
Development status Active
Written in C++
Target Platform Windows, Linux, MacOS
Available in English (United States)
License GNU General Public License v3
Source Repository


PsyDoom is a source port based on the Sony PlayStation version of Doom by Darragh Coy. It is a backport, which allows playing that version of the game on Windows, Linux, and Mac. PsyDoom includes several enhancements over the original, bypassing the limits imposed on the PlayStation hardware and bringing the visual rendering features of the PlayStation version to general purpose computers. It also includes a Vulkan renderer (Metal on macOS) to enable higher resolutions and a more stable framerate than the original.


PsyDoom allows playing the PlayStation version of: Doom, Final Doom, and GEC Master Edition Beta 3 and Beta 4, when provided with a CD image. It has the following list of notable features:

Features new to version 1.1.0[edit]

  • Support for GEC Master Edition Beta 4
  • Rendering tweaks for classic and Vulkan renderers
  • Map fixes for Doom, Final Doom, and GEC Master Edition
  • Auto-pause when the game loses focus
  • Show intermission screen for demos if the level was completed
  • Extended automap colors for things when map cheat is used
  • Support for custom widescreen background assets
  • Option to enable "deathmatch only" things in single player
  • Added "IDFA" cheat
  • Ability to select secret maps when starting a multiplayer game
  • Added various multiplayer configuration options
    • Co-op
      • Disable friendly fire
      • Preserve ammo on respawn
      • Preserve keys on respawn
      • Spawn deathmatch only things
    • Deathmatch
      • Frag limit
      • Disable exits
      • Trigger boss related specials
  • Map editing changes
  • Various bug fixes

Details here

Features new to version 1.0.0[edit]

  • Game saving and loading, so you no longer need to rely on passwords
    • 5 slots are available for each game type (Doom, Final Doom, GEC Master Edition)
    • 3 manual saves, 1 quicksave, and 1 autosave
  • Built-in GUI based launcher to configure settings
  • Interpolation for sectors, map objects, player weapons, and enemies
  • Playback of intro logos and movies
  • Support for GEC Master Edition Beta 3
  • Support for Linux
  • Demo recording
    • Multiplayer demos
  • Map patches for bugs in original maps
  • Onscreen performance counters (FPS and Frame Time)
  • '-warp' and '-skill' command line options

Other features[edit]

  • Native rendering of all of PlayStation's enhanced rendering features, including higher color depth, alpha blending, colorized sectors and animated skies
  • Emulation of original 16 bit lighting and shading rendering as per the original game
  • High resolution rendering when using Vulkan/Metal, such as 1080p and 1440p
  • Widescreen support beyond the original aspect ratio
  • 240p resolution mode to emulate the look and feel of the original version
  • Ability to instantly toggle between Classic and Vulkan rendering modes and Original FPS and Uncapped FPS framerates
  • MSAA anti-aliasing support
  • Various QoL (Quality-of-life) fixes to enhance the personal computer experience as opposed to the console version
  • Doom 64-style dual colored lighting
    • Due to the need for binary map format compatibility, the feature is slightly more limited than in Doom 64. However it does have additional tweaks & controls available that aren't found in the D64 engine (since version 0.8.0)
  • Floor skies support
  • A new 'invisible/ghost' platform flag for sectors.
    • This makes the sector render as if its floor height is the same as the lowest sector floor height around it. This can can be used to make invisible platforms, like the 'self-referencing sector' technique for the PC engine
  • Implemented support for a new MAPINFO lump to allow user maps and episodes to be named
  • Custom animated textures and flats support via the PSYFANIM and PSYTANIM lumps
  • Support for new switch types via the PSYSWTEX lump
  • Implementation of a simple DECORATE-style lump for adding new (non-interactive) decor sprites
  • Support for the Lua programming language for scripted line and sector specials
    • Scripts allow more control over specials and for elaborate sequences of events to be scheduled.
  • Custom floor and ceiling texture offsets through scripting, making scrolling effects possible
  • Several new line and sector specials reimplemented from the PC version
  • Optional on-screen stat counter that can show kills, secrets, item stats, and frags (for deathmatch). Can be toggled in the 'Extra Options' menu
  • Overhauled WAD management to allow for more than one main IWAD. Users can also manually add new IWADs

Limit-removing features[edit]

Since version 0.7.3, PsyDoom is focused on bypassing and removing the original PlayStation limits in terms of memory allocation and map complexity, allowing more complex maps to be made. These features include:

  • Sound Processing Unit (SPU) memory increased from 512 KB to 16 MB and is user configurable. This will allow any monster variety on a map without worrying about exceeding SRAM limits, and plenty of SRAM for new music and SFX (since version 0.7.4)
    • SPU: Available voices increased from 24 to 64. This should allow PsyDoom to handle even extremely busy scenes and music without dropping any sounds (since version 0.7.4)
  • Available main memory (RAM) is increased from 1 MB to 64 MB by default. This can also be increased via config settings, if needed
  • Available video memory (VRAM) is increased from 1 MB to a maximum of 128 MB which is the default (since version 0.8.0)
  • Added support for any power of two texture size for walls and flats from 2x2 up to a maximum of 1024x512
  • Classic renderer: now allowing up to 8192 sprites (instead of 64) to be drawn per subsector
  • Removed all limits on:
    • Maximum map lump size (was 64 KB)
    • Maximum number of flats in a map (was 16)
    • Classic renderer: the number of draw subsectors (was 192)
    • Classic renderer: the amount of geometry that can be clipped (was 20 edges and 32 vertices max)
    • Maximum number of scrollable lines (was 32)
    • Maximum number of moving floors (was 30)
    • Maximum number of moving ceilings (was 30)
    • Maximum number of specials that can be triggered in one frame by crossing lines (was 8)
    • Maximum number of switches that can be activated at once (was 16)
  • Reimplemented the following missing enemies/things from PC Doom II:


External links[edit]

Source code genealogy
Based on Name Base for
Sony PlayStation PsyDoom Active