Unofficial fan project. Not affiliated with, endorsed by, or connected to Sony Interactive Entertainment, Activision, Naughty Dog, or any rights holder of Crash Bandicoot.
Crash Bandicoot and related names/marks belong to their respective owners.
This repository contains tools and a launcher that work with a copy of Crash Bandicoot you already own (PS1, NTSC-U, SCUS-94900). It does not include the game, disc images, or a ready-made game binary.
Built on RecompOne (static PS1 recompilation + runtime). Current release: 1.7.1 (native WinForms launcher on Windows; CLI on Linux; Android). Still experimental — expect bugs.
A small host application that:
- Asks you for your own dumped disc (
.cue+.bin). - On first run, recompiles and compiles on your PC into a
game/folder next to the exe (it is not uploaded anywhere by this app). - Afterwards, starts from that prepared game folder.
Think of it as a convenience shell around tools, not a redistribution of Crash Bandicoot.
| Not this | Meaning |
|---|---|
| Not the game | We do not ship retail assets, ISOs, or .bin/.cue files |
| Not a piracy kit | You need a dump of a disc you own |
| Not an official port | No Sony / Activision involvement |
| Not “download and play without a disc” | The disc image is still required at runtime |
| Not finished | UI and compatibility are work in progress |
If someone offers you this project bundled with a ROM/ISO, that is not from this repository — don’t use it, don’t upload it here.
- Windows 10/11 x64
- A legal dump of Crash Bandicoot NTSC-U (
SCUS_949.00/ SCUS-94900) as.cue+ matching.binin the same folder - Audio uses OpenAL Soft bundled with the release (
soft_oal.dll) — no separate OpenAL install required
- x64 Linux with OpenGL 4.3+ (Mesa / NVIDIA / AMD — a real GPU or working VM 3D accel)
- Audio uses OpenAL Soft bundled with the release (
libopenal.so) — nolibopenal1/ system OpenAL install required - Same legal
.cue+.bindump as above
On Linux there is no graphical launcher menu yet — use the CLI (--prepare / --run). The game opens in a standalone Silk/GLFW window. The painted WinForms UI remains Windows-only.
VMware / weak GL: if you get an instant Segmentation fault right after launching … game.recomp.dll, the VM likely cannot create an OpenGL 4.3 context. Check with glxinfo -B, enable 3D acceleration, or try software GL for a smoke test:
sudo apt install mesa-utils
LIBGL_ALWAYS_SOFTWARE=1 ./CrashBandicoot --run /path/to/game.cueWe only aim to support that specific NTSC-U version for now.
- Download the release
.exefrom this GitHub repo (not a random reupload). - Run
CrashBandicoot.exe. - Select disc → choose your
.cue. - Start Game.
- First time: local prepare into
game\next to the exe (can take a bit). - Next times: reuses that prepared game folder.
- First time: local prepare into
Optional (advanced):
CrashBandicoot.exe --prepare "D:\path\to\your\game.cue"
CrashBandicoot.exe --run "D:\path\to\your\game.cue"./CrashBandicoot --prepare /path/to/your/game.cue
./CrashBandicoot --run /path/to/your/game.cueIf settings.json already has a valid CdPath, --run / --smoke can omit the cue path.
Needs .NET 10 SDK.
dotnet build CrashBandicoot.Launcher -c Release
dotnet run --project CrashBandicoot.Launcher -c Release -f net10.0-windowsLinux / CLI framework:
dotnet build CrashBandicoot.Launcher -c Release -f net10.0
dotnet run --project CrashBandicoot.Launcher -c Release -f net10.0 -- --run /path/to/game.cueSingle-file / store release (from repo root):
python publish_release.pyThe script asks which platform to build:
- Windows —
publish-single\CrashBandicoot.exe - Linux —
publish-linux\CrashBandicoot - Android —
publish-android\CrashBandicoot-<version>.apk(arm64, signed) - All three
Non-interactive:
python publish_release.py --platform windows
python publish_release.py --platform linux
python publish_release.py --platform android
python publish_release.py --platform allThe first Android publish creates signing/android-release.keystore (gitignored). Back that folder up; losing the keystore means you cannot update the same app.
Options: python publish_release.py --out my-folder, python publish_release.py --clean.
Equivalent raw commands:
dotnet publish CrashBandicoot.Launcher -c Release -f net10.0-windows -r win-x64 --self-contained true -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -p:IncludeAllContentForSelfExtract=true -p:EnableCompressionInSingleFile=true -o .\publish-singledotnet publish CrashBandicoot.Launcher -c Release -f net10.0 -r linux-x64 --self-contained true -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -p:IncludeAllContentForSelfExtract=true -p:EnableCompressionInSingleFile=true -o ./publish-linuxThe published binary extracts bundled deps at runtime; user data (save/, game/, settings.json) is always written next to the real exe (not in the temp extract folder).
Before you upload a release, check that you are shipping tools/UI only — no .bin/.cue, no main.cs, no game.recomp.dll / game/ folder.
| Path | Role |
|---|---|
CrashBandicoot.Launcher/ |
Native WinForms launcher (Windows) + CLI + local recomp pipeline |
RecompOne.Runtime/ |
PS1 HLE runtime (from RecompOne) |
RecompOne.Recompiler/ |
Recompiler library (from RecompOne) |
examples/mods/ |
Sample mods (auto-spin, disc-overlay-stub, vram-transfer-stub, spu-dma-stub, catalog-stub, texture-replace-stub) — see docs/MODDING.md |
CrashBandicoot.Recompiled/ |
Placeholder only (gitignored) — not used for consumer builds |
All next to the binary (portable; gitignored):
- Config:
settings.json(+interface.inifor UI layout) - Saves:
save/carda.sav,save/cardb.sav - Prepared game:
game/{fingerprint}/(DLL + generated sources — persistent until you delete them) - Mods:
mods/(enable/disable from the launcher MODS menu; seedocs/MODDING.md)
This project does not include telemetry in the launcher path described here. Don’t commit those folders or dumps to git.
Bug reports and PRs that improve tools, runtime, UI, or docs are welcome.
Please do not open issues asking where to download the game, and do not attach or link disc images or generated game sources.
- RecompOne — recompiler & runtime (MIT)
- Inspired by the wider static-recompilation community (e.g. N64Recomp-style projects)
This repository’s original launcher code is under the MIT License (see LICENSE).
RecompOne components retain their upstream MIT license and copyright notices.
The MIT license applies to our software. It does not grant any rights to Crash Bandicoot itself.
This project distributes tools and runtime, not Crash Bandicoot. Do not upload disc dumps or generated recompiled game code to public remotes. Trademark and copyright belong to their respective owners; this is an unofficial fan project.