Crash Bandicoot Launcher
Crash Bandicoot Launcher brings Crash Bandicoot to PC.
- Type: PC port
- Game: Crash Bandicoot
- Runs on Android, Linux and Windows
- By Matteo842
- Latest release 1.9.4, 2026-09-18
- Source: https://github.com/Matteo842/CrashBandicoot-Launcher
README
Crash Bandicoot Launcher (unofficial)
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.9.4 (native WinForms launcher on Windows; CLI on Linux; Android). Still experimental — expect bugs.
What this is
A small host application that:
- Asks you for your own dumped disc (
.chdor.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.
What this is not
| Not this | Meaning |
|---|---|
| Not the game | We do not ship retail assets, ISOs, or .bin/.cue/.chd 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.
Requirements
Windows
- Windows 10/11 x64
- A legal dump of Crash Bandicoot NTSC-U (
SCUS_949.00/ SCUS-94900) as a standalone.chd, or.cue+ matching.binin the same folder - Audio uses OpenAL Soft bundled with the release (
soft_oal.dll) — no separate OpenAL install required
Linux
- 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
.chdor.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.cue
We only aim to support that specific NTSC-U version for now.
How to play
Windows
- Download the release
.exefrom this GitHub repo (not a random reupload). - Run
CrashBandicoot.exe. - Select disc → choose your
.chdor.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"
Linux
./CrashBandicoot --prepare /path/to/your/game.cue
./CrashBandicoot --run /path/to/your/game.cue
All CLI commands also accept a .chd path. If settings.json already has a valid CdPath, --run / --smoke can omit the disc path.
CHD discs
Windows, Linux, and the unified Android app read CHD directly during preparation and gameplay; no BIN extraction or external converter is needed to play. The supported layout is a standalone CD image with one MODE2/2352 track, matching the NTSC-U Crash disc. Other regions, multi-track layouts, DVD/GD-ROM images, and CHDs requiring a parent are not supported.
To create a CHD from your existing dump, use MAME's chdman:
chdman createcd -i "Crash Bandicoot.cue" -o "Crash Bandicoot.chd"
Keep the CUE beside its matching BIN while converting. Select the resulting CHD in the launcher; the CHD must remain available each time you play. Selecting a converted disc may create a separate prepared-game cache.
CHD decoding uses CHDSharp 1.4.3. Original developers: Peterson Fernandes (@purelogiccode) and Gordon Jefferyes (@gjefferyes). See third-party notices for its license and codec notices.
Building from source (developers)
Needs .NET 10 SDK.
dotnet build CrashBandicoot.Launcher -c Release
dotnet run --project CrashBandicoot.Launcher -c Release -f net10.0-windows
Linux / 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.cue
Single-file / store release (from repo root):
python publish_release.py
The 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 all
The 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-single
dotnet 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-linux
The 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.
Repo layout
| 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 |
Privacy / local data
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.
Contributing / issues
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.
Credits
- RecompOne — recompiler & runtime (MIT)
- Inspired by the wider static-recompilation community (e.g. N64Recomp-style projects)
License
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.
Legal
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.