Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

370 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This Psycross fork has been altered to make it more compatible with Silent Hill. In essence, it may also be more compatible with other games, but that hasn't been tested. Will add documentation for all the changes at some point.

Psy-Cross (Psy-X)

Compatibility framework for building and running Psy-Q SDK - based Playstation games across other platforms

Implementation details

  • 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

Folder structure

  • src/gpu: PSX GPU linked lists and polygon handling routines
  • src/gte: PSX GTE and PGXP-Z implementation
  • src/render: OpenGL renderer and PSX VRAM emulation
  • src/pad: Controller handling
  • src/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)

Dependencies

  • OpenAL-soft (1.21.x or newer)
  • SDL2 (2.0.16 or newer)

TODO

  • 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?

Credits

  • SoapyMan - more GTE functions, SPU-AL, PGXP-Z
  • Gh0stBlade - original source/base (link)

About

Compatibility framework for building and running Psy-Q SDK - based Playstation games across other platforms

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages