PsyDoom

PsyDoom, formerly known as StationDoom, 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 and Mac machines. 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 renderer to enable higher resolutions and a more stable framerate than the original.

Features
PsyDoom allows playing the PlayStation version of Doom (or Final Doom) when provided with a CD image named in order to be detected. The source port utilizes hardware accelerated rendering ( or Vulkan on PC, on Mac OSX x86 and ARM) to internally emulate and natively render the PlayStation graphics pipeline. It has the following list of notable features:


 * Native rendering of all of PlayStation's enhanced rendering features, including higher, 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
 * anti-aliasing support
 * Experimental support for based Apple Mac processors, such as the
 * 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 it's 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 and  lumps
 * Support for new switch types via the lump
 * Implentation of a simple DECORATE-style lump for adding new (non-interactive) decor sprites
 * Support for the 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 and item stats. 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
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 MiB 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 MiB to 64 MiB by default. This can also be increased via
 * Available video memory (VRAM) is increased from 1 MiB to a maximum of 128 MiB 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 KiB)
 * 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:
 * Archvile (now DoomEd number '91' for PSX)
 * Wolfenstein SS
 * Commander Keen
 * All Icon Of Sin related things