Compatibility framework for building and running Psy-Q SDK - based Playstation games across other platforms
- High-level Playstation API reimplementation which translates it's calls into modern/compatible APIs
- Psy-Q - compatible headers
- Implements Geometry Transformation Engine (GTE) in software and adapts it's macros and calls
- Optimized Precise GTE Vertex Cache with modern 3D hardware perspective transform and Z-buffer support (PGXP-Z)
- LibSPU with ADPCM decoding on OpenAL (SPU-AL)
- LibGPU with Playstation-style polygon and image handling
- LibCD with ISO 9660 BIN/CUE image support by Playstation CD API
- Already proven to be 95% compatible with the Psy-Q Playstation SDK - Psy-X game look almost identical to the Playstation game
- You can bring your game to Web with Emscripten support
src/gpu
: PSX GPU linked lists and polygon handling routinessrc/gte
: PSX GTE and PGXP-Z implementationsrc/render
: OpenGL renderer and PSX VRAM emulationsrc/pad
: Controller handlingsrc/psx
: Implementations of PsyQ - compatible libraries (libgte, libgpu, libspu, libcd ...)include/psx
: Headers of PsyQ - compatible libraries (libgte, libgpu, libspu, libcd ...)include/PsyX
: PsyCross interfaces (window management, configuration, renderer, PGXP-Z)
- OpenAL-soft (1.21.x or newer)
- SDL2 (2.0.16 or newer)
- CMake dependency/build scripts
- Add some missing LibGTE functions
- MDEC implementation in LibPress
- CD Audio/XA decoding and playback
- SPU Attack-Decay-Sustain-Release (ADSR) support, maybe through own mixer?
- SoapyMan - more GTE functions, SPU-AL, PGXP-Z
- Gh0stBlade - original source/base (link)