2020-11-19 07:28:37 +01:00
# Psy-Cross (Psy-X)
![](https://i.ibb.co/PFNnw4G/PsyCross.jpg)
2020-11-18 20:18:32 +01:00
Framework aiming to build and run originally targeted **Playstation** applications on other platforms based on Psy-Q SDK.
### Implementation details
2021-05-11 18:47:14 +02:00
- High-level *Playstation API* reimplementation which translates it's calls into modern/compatible APIs
- Psy-Q - compatible headers
2020-11-18 20:18:32 +01:00
- Implements Geometry Transformation Engine (GTE) in software and adapts it's macros and calls
2021-05-11 18:47:14 +02:00
- **PGXP-Z** - PGXP support with optimized vertex cache lookup and extended with *modern 3D hardware perspective transform* and *Z-buffer* support **PGXP-Z** , with additional API to help improve rendering
2020-11-18 20:18:32 +01:00
- *LibSPU* with ADPCM decoding on OpenAL (SPU-AL)
- *LibGPU* with Playstation-style polygon and image handling
2021-05-11 18:47:14 +02:00
- ISO 9660 BIN/CUE image support with Playstation CD API
2021-05-06 10:54:53 +02:00
- Already proven to be *95% compatible* with the Psy-Q Playstation SDK - Psy-X game look identical to the Playstation game
2020-11-18 20:18:32 +01:00
## TODO
2021-05-11 18:47:14 +02:00
- 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?*
2020-11-18 20:18:32 +01:00
### Credits
- SoapyMan - more GTE functions, SPU-AL, PGXP-Z
- Gh0stBlade - original source/base [(link) ](https://github.com/TOMB5/TOMB5/tree/master/EMULATOR )