# 3S Decomp: a byte-compared PS2 decompilation of Street Fighter III: 3rd Strike

> Decompiles the PlayStation 2 executable of Street Fighter III: 3rd Strike from Street Fighter Anniversary Collection into C that period Metrowerks and EE GCC compilers rebuild, then compares the rebuilt executable word by word with the user’s original. README reports the game code fully decompiled and the CRI middleware partly so. The separate 3SX native port describes itself as this project’s continuation.

- Type: Case study
- Targets: Game
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-10-19
- Added to the catalog: 2026-10-28
- Original resource: <https://github.com/crowded-street/3s-decomp>
- Primary source: <https://github.com/crowded-street/3s-decomp/blob/be9b9bc69dc19822a8eca9ce3e72ba560d5a3835/README.md>
- Catalog page: <https://awesomerea.org/resources/sfiii-3rd-strike-ps2-decomp-case/>
- Record JSON: <https://awesomerea.org/resources/sfiii-3rd-strike-ps2-decomp-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/sfiii-3rd-strike-ps2-decomp-case/index.md)

## Requirements & limits

- README reports the game code fully decompiled and the CRI middleware partly decompiled, with most file-system and sound functions the game uses matching; cri-progress.md checks off 497 of the 503 CRI functions it lists. At the reviewed commit, two game functions (sea_write and mlt_obj_trans_rgb_ext) and 39 of 52 CRI C files still include assembly in the PS2 build, and PS2 SDK and GCC library code is out of scope. The output is the PS2 executable, not a PC port.
- Building needs THIRD_U.BIN from the user’s own copy of the game; the split configuration records its SHA-1 as cf58495054c31ad852175c66e9ca04d5094f000e, and make split derives the assembly and linker script from it. The decompiling guide also relies on the executable’s DWARF debug data, dumped with decomp-toolkit, for signatures and local variables. A separate split_cps3 target for the CPS3 arcade version needs a user-supplied arcade ROM set and has only a code-segment configuration.
- The build guide covers Linux (Debian packages with i386 support, MIPS binutils, and a Python venv with splat64 0.29.0 and spimdisasm 1.35.0) and macOS through the provided Dockerfile. make setup_tools downloads Metrowerks mwccps2 3.0b38 and EE GCC 2.96 from decomp.me’s compiler releases plus the wibo loader for Windows tools; m2c, asm-differ, mwccgap and saturn-splitter are git submodules.
- A successful build ends with compare_bytes.py checking the rebuilt executable against the original from offset 0x80 to 0x478A00 and printing “Files match ✅”. That check tolerates 163 listed words in about 20 game and CRI functions, attributed to register and operand swaps, assert line numbers, string encoding, a misplaced nop and a call misalignment, so equivalence is near-byte-level by the project’s own check rather than a whole-file hash. The latest commit removed the GitHub Actions workflows.
- LICENSE is AGPL-3.0 for the project’s code. The original executable and game content keep their own rights; include/cri carries headers marked “CRI Middleware SDK” and “Copyright (c) … CRI-MW”, and the vendored zlib keeps its own license.

## Primary sources

1. <https://github.com/crowded-street/3s-decomp/blob/be9b9bc69dc19822a8eca9ce3e72ba560d5a3835/README.md>
2. <https://github.com/crowded-street/3s-decomp/blob/be9b9bc69dc19822a8eca9ce3e72ba560d5a3835/docs/builde-guide.md>
3. <https://github.com/crowded-street/3s-decomp/blob/be9b9bc69dc19822a8eca9ce3e72ba560d5a3835/docs/decompiling.md>
4. <https://github.com/crowded-street/3s-decomp/blob/be9b9bc69dc19822a8eca9ce3e72ba560d5a3835/Makefile>
5. <https://github.com/crowded-street/3s-decomp/blob/be9b9bc69dc19822a8eca9ce3e72ba560d5a3835/config/anniversary/sfiii.anniversary.yaml>
6. <https://github.com/crowded-street/3s-decomp/blob/be9b9bc69dc19822a8eca9ce3e72ba560d5a3835/tools/compare_bytes.py>
7. <https://github.com/crowded-street/3s-decomp/blob/be9b9bc69dc19822a8eca9ce3e72ba560d5a3835/cri-progress.md>
8. <https://github.com/crowded-street/3s-decomp/blob/be9b9bc69dc19822a8eca9ce3e72ba560d5a3835/src/anniversary/sf33rd/Source/Game/end_20.c#L321-L322>
9. <https://github.com/crowded-street/3s-decomp/blob/be9b9bc69dc19822a8eca9ce3e72ba560d5a3835/src/anniversary/sf33rd/Source/Game/MTRANS.c#L1145-L1146>
10. <https://github.com/crowded-street/3s-decomp/blob/be9b9bc69dc19822a8eca9ce3e72ba560d5a3835/config/cps3/sfiii3n.yaml>
11. <https://github.com/crowded-street/3s-decomp/blob/be9b9bc69dc19822a8eca9ce3e72ba560d5a3835/tools/requirements-python.txt>
12. <https://github.com/crowded-street/3s-decomp/blob/be9b9bc69dc19822a8eca9ce3e72ba560d5a3835/.gitmodules>
13. <https://github.com/crowded-street/3s-decomp/blob/be9b9bc69dc19822a8eca9ce3e72ba560d5a3835/include/cri/cri_xpts.h>
14. <https://github.com/crowded-street/3s-decomp/blob/be9b9bc69dc19822a8eca9ce3e72ba560d5a3835/LICENSE>
15. <https://github.com/crowded-street/3s-decomp/commit/be9b9bc69dc19822a8eca9ce3e72ba560d5a3835>

## More in Games

- [Agent decompilation: a byte-matching retrospective](https://awesomerea.org/resources/agent-decompilation-oracle-case/index.md) · Case study
- [Animal Crossing: matching GameCube decompilation](https://awesomerea.org/resources/animal-crossing-gamecube-decomp-case/index.md) · Case study
- [Animal Crossing: Wild World: matching Korean DS decompilation with differential runtime checks](https://awesomerea.org/resources/animal-crossing-wild-world-decomp-case/index.md) · Case study
- [Animal Forest: an in-progress matching N64 decompilation](https://awesomerea.org/resources/animal-forest-n64-decomp-case/index.md) · Case study
- [BFM-decomp: Brave Fencer Musashi matching decompilation](https://awesomerea.org/resources/bfm-decomp-case/index.md) · Case study
- [Breath of the Wild: per-function matching decompilation of the Switch executable](https://awesomerea.org/resources/botw-decomp-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
