{"id":20472116,"url":"https://github.com/opendriver2/psycross","last_synced_at":"2025-11-03T14:04:14.741Z","repository":{"id":43841621,"uuid":"450208021","full_name":"OpenDriver2/PsyCross","owner":"OpenDriver2","description":"Compatibility framework for building and running Psy-Q SDK - based Playstation games across other platforms","archived":false,"fork":false,"pushed_at":"2025-03-13T21:31:13.000Z","size":256,"stargazers_count":57,"open_issues_count":6,"forks_count":9,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-27T02:21:19.615Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenDriver2.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-20T18:13:11.000Z","updated_at":"2025-03-24T15:02:03.000Z","dependencies_parsed_at":"2023-01-29T19:46:00.295Z","dependency_job_id":"9f7dd3cb-3473-48f4-83fc-9b6425adcebb","html_url":"https://github.com/OpenDriver2/PsyCross","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenDriver2%2FPsyCross","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenDriver2%2FPsyCross/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenDriver2%2FPsyCross/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenDriver2%2FPsyCross/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenDriver2","download_url":"https://codeload.github.com/OpenDriver2/PsyCross/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248703198,"owners_count":21148118,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-15T14:18:36.660Z","updated_at":"2025-11-03T14:04:14.684Z","avatar_url":"https://github.com/OpenDriver2.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Psy-Cross (Psy-X)\n![](https://i.ibb.co/PFNnw4G/PsyCross.jpg)\n\nCompatibility framework for building and running Psy-Q SDK - based Playstation games across other platforms\n\n### Implementation details\n- High-level *Playstation API* reimplementation which translates it's calls into modern/compatible APIs\n- Psy-Q - compatible headers\n- Implements Geometry Transformation Engine (GTE) in software and adapts it's macros and calls\n- Optimized Precise GTE Vertex Cache with *modern 3D hardware perspective transform* and *Z-buffer* support (PGXP-Z)\n- *LibSPU* with ADPCM decoding on OpenAL (SPU-AL)\n- *LibGPU* with Playstation-style polygon and image handling\n- *LibCD* with ISO 9660 BIN/CUE image support by Playstation CD API\n- Already proven to be *95% compatible* with the Psy-Q Playstation SDK - Psy-X game look almost identical to the Playstation game\n- You can bring your game to *Web with Emscripten* support\n\n### Folder structure\n- `src/gpu`: PSX GPU linked lists and polygon handling routines\n- `src/gte`: PSX GTE and PGXP-Z implementation\n- `src/render`: OpenGL renderer and PSX VRAM emulation\n- `src/pad`: Controller handling\n- `src/psx`: Implementations of PsyQ - compatible libraries (**libgte, libgpu, libspu, libcd ...**)\n- `include/psx`: Headers of PsyQ - compatible libraries (**libgte, libgpu, libspu, libcd ...**)\n- `include/PsyX`: PsyCross interfaces (**window management, configuration, renderer, PGXP-Z**)\n\n### Dependencies\n- OpenAL-soft (1.21.x or newer)\n- SDL2 (2.0.16 or newer)\n\n## TODO\n- CMake dependency/build scripts\n- Add some missing **LibGTE** functions\n- MDEC implementation in **LibPress**\n- CD Audio/XA decoding and playback\n- SPU Attack-Decay-Sustain-Release (ADSR) support, *maybe through own mixer?*\n\n### Credits\n- SoapyMan - more GTE functions, SPU-AL, PGXP-Z\n- Gh0stBlade - original source/base [(link)](https://github.com/TOMB5/TOMB5/tree/master/EMULATOR)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopendriver2%2Fpsycross","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopendriver2%2Fpsycross","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopendriver2%2Fpsycross/lists"}