{"id":21224798,"url":"https://github.com/fgsfdsfgs/quakepsx","last_synced_at":"2025-10-12T04:38:51.506Z","repository":{"id":122381036,"uuid":"378040189","full_name":"fgsfdsfgs/quakepsx","owner":"fgsfdsfgs","description":"work-in-progress port of Quake to the PS1","archived":false,"fork":false,"pushed_at":"2025-06-04T17:49:38.000Z","size":896,"stargazers_count":24,"open_issues_count":0,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-06-04T22:54:48.932Z","etag":null,"topics":["homebrew","ps1","psx","quake"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fgsfdsfgs.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,"zenodo":null}},"created_at":"2021-06-18T05:07:59.000Z","updated_at":"2025-06-04T17:49:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"2cfb6a01-f144-4351-bfdf-3b5796e291bb","html_url":"https://github.com/fgsfdsfgs/quakepsx","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/fgsfdsfgs/quakepsx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fgsfdsfgs%2Fquakepsx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fgsfdsfgs%2Fquakepsx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fgsfdsfgs%2Fquakepsx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fgsfdsfgs%2Fquakepsx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fgsfdsfgs","download_url":"https://codeload.github.com/fgsfdsfgs/quakepsx/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fgsfdsfgs%2Fquakepsx/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261927623,"owners_count":23231380,"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":["homebrew","ps1","psx","quake"],"created_at":"2024-11-20T23:00:03.547Z","updated_at":"2025-10-12T04:38:46.468Z","avatar_url":"https://github.com/fgsfdsfgs.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/fgsfdsfgs/quakepsx/blob/master/doc/img/screenshot0.png?raw=true\" width=\"30%\"/\u003e\n  \u003cimg src=\"https://github.com/fgsfdsfgs/quakepsx/blob/master/doc/img/screenshot1.png?raw=true\" width=\"30%\"/\u003e\n  \u003cimg src=\"https://github.com/fgsfdsfgs/quakepsx/blob/master/doc/img/screenshot2.png?raw=true\" width=\"30%\"/\u003e\n\u003c/div\u003e\n\n## QuakePSX\n\nThis is an experimental port of the original Quake to the Sony PlayStation.\n\nIt is based on the original Quake codebase, with the main idea being to keep it as close to the original as possible, other than the resource formats.\n\n### Status\n* Runs on both emulators and real hardware at mindblowing framerates of ~15 FPS on average.\n* DualShock controllers and the PS Mouse are supported for input.\n* CD Audio is supported, if the game is built with CDDA tracks.\n* Map conversion is far from perfect and has many texture alignment and lighting issues.\n* The entirety of Episode 1 is playable, but many maps from Episode 2 and some from other episodes do not fit in memory.\n* There is no multiplayer of any kind.\n* There is no save system.\n* The renderer is slow and lacks good triangle subdivision/clipping and dynamic lighting support.\n* There are some bugs in the movement code that can cause you to get stuck or gain high speed for no reason.\n* There might be many other bugs.\n\n### Building\n\n#### Prerequisites:\n* Linux or WSL, though MSYS might work as well;\n* [PSn00bSDK](https://github.com/Lameguy64/PSn00bSDK);\n* [mkpsxiso](https://github.com/Lameguy64/mkpsxiso);\n* `gcc` for your host platform;\n* `mipsel-none-elf-gcc`, preferably versions 12.2 - 13.3;\n* `cmake`, `git`, `make`;\n* Quake (shareware or full version).\n\n#### Instructions:\n1. Install the prerequisites and ensure `mipsel-none-elf-gcc` and `mkpsxiso` are in your `PATH` and the PSn00bSDK environment variables are set:\n   ```\n   export PSN00BSDK_LIBS=/path/to/psn00bsdk/lib/libpsn00b\n   export PATH=/path/to/psn00bsdk/bin:$PATH\n   ```\n2. Clone the repo:\n   ```\n   git clone https://github.com/fgsfdsfgs/quakepsx.git \u0026\u0026 cd quakepsx\n   ```\n4. (Optional) You can put the music tracks from Quake into `id1psx/music/`.  \n   Tracks should be in WAV format and named `track02.wav ... track11.wav`.\n5. Build the tools and cook the maps:\n   ```\n   ./tools/scripts/cook_id1.sh /path/to/Quake/id1\n   ```\n7. If everything completed with no errors, you can now configure the game:\n   * If you don't have the music:\n   ```\n   cmake --preset default -DCMAKE_BUILD_TYPE=RelWithDebInfo -Bbuild\n   ```\n   * If you do have the music:\n   ```\n   cmake --preset default -DCMAKE_BUILD_TYPE=RelWithDebInfo -DWITH_CDDA=ON -Bbuild\n   ```\n8. Build:\n   ```\n   cmake --build build -j4\n   ```\n9. This should produce `quakepsx.bin` and `quakepsx.cue` in the `build` directory.\n\n### Credits\n* id Software for the [original Quake](https://github.com/id-Software/Quake);\n* Lameguy64, spicyjpeg and contributors for [PSn00bSDK](https://github.com/Lameguy64/PSn00bSDK) and [mkpsxiso](https://github.com/Lameguy64/mkpsxiso);\n* [PCSX-Redux authors](https://github.com/grumpycoders/pcsx-redux/blob/main/AUTHORS) for PCSX-Redux, which was used for testing and debugging;\n* [DuckStation authors](https://github.com/stenzek/duckstation/blob/master/CONTRIBUTORS.md) for DuckStation, which was used for testing and debugging;\n* Martin Korth for PSX-SPX and no$psx;\n* [psxavenc authors](https://github.com/WonderfulToolchain/psxavenc) for libpsxav;\n* Sean Barrett for [stb_image](https://github.com/nothings/stb);\n* David Reid for [dr_wav](https://github.com/mackron/dr_libs/blob/master/dr_wav.h);\n* PSX.Dev Discord server for help and advice;\n* anyone else who helped with this project that I might be forgetting.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffgsfdsfgs%2Fquakepsx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffgsfdsfgs%2Fquakepsx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffgsfdsfgs%2Fquakepsx/lists"}