Important
MojoRecomp does not include the original game. You must provide your own legally obtained Xbox 360 copy of Crash of the Titans.
MojoRecomp is an unofficial native PC port project. It recompiles the Xbox 360 game code and provides the Windows runtime for graphics, audio, input, files, saves, and video playback. It is not an Xbox 360 emulator.
XenonRecomp translates the PowerPC game code, and XenosRecomp translates the Xbox 360 shaders. MojoRecomp provides its own Windows runtime. ReXGlue served as a technical reference during early runtime development. MojoRecomp's narrow FFmpeg build recipe and a small set of codec/parser list files are adapted from ReXGlue SDK v0.10.0 and retain its BSD-3-Clause notice.
| Component | Version | Status |
|---|---|---|
| MojoRecomp Launcher | 1.0.0 |
🚧 Pre-release |
| Crash of the Titans | 0.1.0-alpha |
✅ Playable |
| Crash: Mind over Mutant | 0.0.0-dev |
🚧 In development |
Crash of the Titans boots, plays, saves, and supports its original audio and videos. The runtime remains an alpha release while it is tested on more hardware and game regions. Gameplay runs at the original 30 FPS.
Mind over Mutant has a launcher entry but no playable runtime or release date yet.
- Portable launcher with guided ISO setup
- Vulkan renderer and XAudio output
- Original FMV playback
- Controller and keyboard input
- Windowed and borderless fullscreen modes
- 1x, 2x, and 3x internal resolution scaling
- 4:3, 16:9, 16:10, 21:9, and 32:9 aspect ratios
- FXAA and anisotropic texture filtering
- Original game languages and an optional Brazilian Portuguese Localization Pack
- Versioned runtime and Localization Pack management with integrity checks, repair, and rollback
- Separate game files, saves, settings, cache, logs, and support reports
- 64-bit Windows 10 or Windows 11
- A Vulkan 1.3 capable GPU with a current driver
- Microsoft Edge WebView2 Runtime
- An Xbox 360 Crash of the Titans ISO
- A controller is recommended, but keyboard input is available
| Operating system | Architecture | Status | Notes |
|---|---|---|---|
| Windows 10/11 | x86-64 (x64) | ✅ Supported | Official release target |
| Windows 10/11 | ARM64 | ❌ Not available | The native runtime has not been ported or tested |
| Windows | x86 (32-bit) | ❌ Unsupported | The runtime requires a 64-bit host address space |
| Linux | x86-64 (AMD64) | ❌ Not available | The launcher and runtime have not been ported or tested |
| Linux | ARM64 | ❌ Not available | The launcher and runtime have not been ported or tested |
No additional platform ports are currently announced.
For normal use, download only the MojoRecomp Launcher portable ZIP. Game runtimes are managed through the launcher's Versions page and are installed only when the user chooses a version to download.
- Download and extract
MojoRecomp-Launcher-<version>-windows-x64-portable.zip. - Open
mojorecomp-launcher.exe. - Choose where to create your
MojoRecomp-Gameslibrary. - Select Crash of the Titans and open Versions.
- Download and activate a compatible game runtime. The latest compatible release is highlighted, and older compatible runtime releases remain available when they are present in the update catalog.
- Return to Overview and click SET UP.
- Choose your supported Xbox 360
.isofile. - Wait while the launcher extracts the game and validates the installation.
- Click PLAY.
SET UP and PLAY never download a runtime implicitly. If the required runtime.cot component is missing or unusable, the launcher directs you to Versions so you can choose and install a runtime explicitly. The ISO itself is never modified. After setup, the game and its active runtime can be used without repeating the ISO import.
The game library can be moved later from Launcher Settings. Saves remain in the Windows Saved Games folder and are not moved with the library.
The launcher checks the configured update catalog when it starts. Components that need attention are marked on the affected game and on the Versions tab, where you can also run a manual check.
MojoRecomp updates are split into independent components:
| Component | Update behavior |
|---|---|
| MojoRecomp Launcher | Versions highlights the latest launcher release and retains older compatible launcher releases when they are present in the catalog. The selected portable package is downloaded and verified; close the running launcher before replacing the current launcher files. |
| Game runtime | Versions shows the latest compatible release and any retained older compatible releases. The user explicitly chooses which runtime to download, verify, and activate. The game must be closed while changing versions. |
| Localization Pack | Downloads and verifies independently from the runtime. Apply or reinstall it from Game Settings when the launcher indicates that it is required. |
Runtime and Localization Pack updates are installed into versioned component directories. Interrupted installations are recovered safely. Launcher and runtime releases can be selected explicitly from Versions; runtime rollback can also restore the previous active version after an update.
An internet connection is needed to check for and download new or missing managed components. A previously installed game with a valid active runtime can continue to launch when the update service is unavailable.
| Language | Source |
|---|---|
| English | Original game files |
| Deutsch | Original game files |
| Français | Original game files |
| Español | Original game files |
| Italiano | Original game files |
| Nederlands | Original game files |
| Português Brasileiro | Optional MojoRecomp Localization Pack with English voices |
Available original languages depend on the ISO region. The launcher identifies localization packs that still need to be installed.
| Setting | Options |
|---|---|
| Display mode | Windowed, Borderless fullscreen |
| Resolution scale | 1x (720p), 2x (1440p), 3x (2160p/4K) |
| Aspect ratio | 4:3, 16:9, 16:10, 21:9, 32:9 |
| VSync | On, Off |
| Anti-aliasing | Off, FXAA, FXAA Extreme |
| Texture filtering | Default, 1x, 2x, 4x, 8x, 16x |
| Logging | On, Off |
Aspect ratios other than 16:9 are experimental. Unsupported texture-filtering levels are disabled automatically.
Controllers are detected while the game is running.
| Xbox control | Keyboard |
|---|---|
| Left stick | W A S D |
| Right stick | Arrow keys |
| D-pad | Shift + Arrow keys |
| A | J or Space |
| B | K |
| X | U |
| Y | I |
| Left / Right bumper | Z / C |
| Left / Right trigger | Q / E |
| Left / Right stick click | F / R |
| Start / Back | Enter / Tab |
| Key | Action | Debug Mode required |
|---|---|---|
F1 × 10 |
Toggle Debug Mode | ❌ No |
F2 |
Unlock all moves | ✅ Yes |
F3 |
Toggle 4x fast-forward | ✅ Yes |
F4 |
Unlock all episodes | ✅ Yes |
F6 |
Pause or resume | ✅ Yes |
F7 |
Advance one frame while paused | ✅ Yes |
F9 |
Toggle the performance overlay | ❌ No |
Caution
Unlock shortcuts change save progress. Back up your save first through Open Save Folder in the launcher.
The game library defaults to:
%USERPROFILE%\Games\MojoRecomp-Games\
|-- cot\
|-- mom\
`-- .mojorecomp\
|-- components\
| |-- runtime.cot\
| `-- runtime.mom\
|-- downloads\
`-- staging\
Versioned game runtimes and other game components follow the selected library. Downloads and component/game staging also stay inside .mojorecomp so changing the library keeps the managed game installation self-contained.
Saves are stored separately:
%USERPROFILE%\Saved Games\MojoRecomp\cot\
Launcher settings, cache, logs, crash reports, diagnostics, launcher-update state, support packages, license notices, and optional LGPL overrides are stored under:
%LOCALAPPDATA%\MojoRecomp\
The launcher verifies a library move before switching to the new location. Versioned game components move with that library. Saves remain separate. Existing development-era games and userdata folders are migration inputs only.
The Support & FAQ page can open the save and log folders and create a sanitized support package. Support packages exclude saves, ISOs, and extracted game assets.
Some OBS and Streamlabs Vulkan capture hooks can corrupt the runtime during startup. MojoRecomp blocks the affected hook inside the game process. Use Window Capture or Display Capture when needed.
The normal user download is the portable Windows x64 launcher. Game runtimes and Localization Packs are distributed as separately versioned components and are downloaded, verified, installed, repaired, and rolled back through the launcher. Runtime selection and installation are explicit user actions on the Versions page; users do not need to download runtime ZIPs manually outside the launcher.
Release packages are written to the ignored .release\ directory with the portable launcher, runtime component, update catalog, checksums, and one versioned LGPL corresponding-source archive covering the replaceable FFmpeg and libmspack libraries.
The Windows build requires Git, Python, Node.js/npm, Rust/Cargo, CMake, Ninja, Visual Studio C++ tools, LLVM/Clang 22.1.8, and the dependencies listed in the third-party notices.
Main directories:
config/ Recompiler configuration and function boundaries
launcher/ Tauri, Rust, Svelte, and TypeScript launcher
patches/ Maintained dependency patches
runtime/ Native runtime, renderer, audio, input, and tests
tools/ Analysis and recompilation tools
thirdparty/ Pinned source submodules plus local build/toolchain state
Clone with submodules, or initialize them in an existing clone:
git submodule update --init --recursivePlace a development copy of default.xex in the ignored game\ directory. These scripts cover the development workflow:
| Script | Purpose |
|---|---|
setup.bat |
Initializes, patches, and builds the pinned development dependencies |
tools\analyze.bat |
Analyzes the XEX and refreshes the switch-table data |
tools\recompile.bat |
Translates the game code into local C++ sources |
build-smoke.bat |
Builds the runtime and runs a basic mapping and link check |
release.bat |
Creates and validates a local release candidate under .release\ |
Launcher checks:
cd launcher
npm.cmd ci
npm.cmd run check
cargo test --manifest-path src-tauri\Cargo.toml
npm.cmd run build:productionGame files, generated PPC sources, toolchains, builds, saves, logs, and test dumps are excluded from Git.
Alex "OAleex" Félix — creator and lead developer
MojoRecomp uses work from the following projects and their contributors:
- ReXGlue
- XenonRecomp
- XenosRecomp
- Tauri, Svelte, and Rust
- SDL
- FFmpeg
- LLVM and DirectXShaderCompiler
- Vulkan-Headers
- XboxDev/extract-xiso
{fmt},toml++, SIMDe, libmspack, TinySHA1, tiny-AES-c, xxHash, and launcher dependencies
Exact versions and license texts are listed in Third-Party Notices. Artwork sources are recorded in Launcher Artwork Sources.
AI tools assisted with research, repetitive implementation work, debugging, tests, build automation, and early documentation drafts. Alex "OAleex" Félix directed the work, tested the game, reviewed the changes, and made the final decisions.
MojoRecomp is an unofficial fan project for research and preservation. It is not affiliated with or endorsed by Activision, Microsoft, Radical Entertainment, Sierra Entertainment, or any other rights holder.
Original MojoRecomp code is available under the ISC License unless a file states otherwise. Third-party software keeps its own license. The ISC License does not cover original game code or data, generated guest code, ISOs, XEX files, videos, audio, textures, saves, names, characters, logos, or artwork.
Crash Bandicoot, Crash of the Titans, Crash: Mind over Mutant, and related material belong to their respective owners. Users must provide their own legally obtained supported game copy.
