A matching decompilation of Ratchet & Clank: Up Your Arsenal (2004) for PlayStation 2.
Three core programs and 49 levels, rebuilt as C that matches retail byte for byte.
Warning
This repository has no game data, executables, disc images or proprietary toolchains. You need your own copy of the game. Read LEGAL.md before contributing.
Progress is tracked on ByteMatch, one badge per version below.
python3 tools/progress.py prints the counts by program; how they are made is in docs/build/building.md.
| Release | Region | Disc | Code | Notes |
|---|---|---|---|---|
| v1.00 | PAL (Europe and Australia) | SCES-524.56 |
Primary version | |
| v1.00 | NTSC-U | SCUS-973.53 |
Shares the PAL C source |
A function whose code is the same on both discs is one C source, checked against both. Expected SHA-1 of the
PAL disc image (baserom/SCES_524.56.iso):
5593eab45eac8814ce4b95fa1c23510fc0a21ebf
The three core programs, their hashes and how the versions fit together: docs/build/targets.md and docs/build/versions.md.
You need Python 3, wibo (Linux and macOS), Wrench to unpack the disc, and the SN Systems ee-gcc 2.95.3 v1.36 and Sony ee-gcc 2.9-ee-991111 toolchains.
git clone https://github.com/OpenRAC/rac3-decomp.git && cd rac3-decomp
wrenchbuild unpack baserom/SCES_524.56.iso -o out # your own disc image
cp out/uya_sces_524_56/boot_elf.elf out/uya_sces_524_56/globals/misc/frontbin.elf out/uya_sces_524_56/files/i5bootn.elf baserom/
python3 -m venv venv && venv/bin/pip install -r tools/requirements.txt
python3 tools/setup_asm.py --target all
python3 tools/build.py --target all -j 8 --toolchain <SN ee-gcc dir> --runner <wibo> --ee29 <2.9-ee dir>It ends with one MATCH line per program. Windows, the levels and every step in detail:
docs/build/building.md.
Start with CONTRIBUTING.md and AGENTS.md. All docs are listed in docs/README.md:
- docs/build/ - building, versions, levels, targets and globals
- docs/contributing/ - names, the permuter and large function families
- docs/game/ - how the game works, and the beta disc
- docs/research/us/ - NTSC-U research notes, with US addresses
- docs/history/ - how this repository was made from the US decompilation
- docs/wiki/ - the wiki pages: setup, workflow, matching patterns, pull requests
Keep the build matching retail. Never commit game images, extracted game data or proprietary compiler binaries.
rac3-decomp is led by Veradictus, both the PAL and the NTSC versions. CREDITS.md and docs/wiki/Credits.md name everyone else. The main projects:
- rac3-uya-decomp by vetusmagnus - the NTSC-U decompilation this repository was made from: its tools, its layout and the C of every function whose PAL bytes are the US ones.
- rac1-decomp and rac2-decomp - function finding, linker remnants, the level catalogue and the report categories.
- Lombyte - function pairing and symbol names.
- ReRAC - formats and overlay mechanics.
- Wrench by chaoticgd - modding tools; it unpacks the disc.
- wibo, splat, spimdisasm, m2c, asm-differ, decomp-permuter, objdiff, ByteMatch and AngheloAlf's PS2 toolchain mirrors.
Code written for this project is under the GNU General Public License v3.0. Code reconstructed from third-party binaries belongs to its copyright holders; see THIRD_PARTY_NOTICES.md.