Tool
Xenosaga I Decomp Compatibility Kit
Checks a PS2 matching decompilation from outside its own build: the C is recompiled with a stock, unpatched ee-gcc 2.96 and assembler, then each function is byte-compared against the original and every difference is classified by its likely toolchain cause. Companion scripts export ELF symbol tables to CSV and convert them to splat symbol files. Defaults target Xenosaga Episode I; the README says the method generalises but the defaults do not.
Requirements and limitations
- The reviewed commit d9bb53d is the second of two commits, both made on 2026-09-25; there are no releases or tests. It holds three Python tools and symbol data for the NTSC-U Xenosaga Episode I executable SLUS_204.69 and its five overlays, built with SCE ee-gcc 2.96. Tool docstrings still refer to out/ paths and a TOOLCHAIN.md that are not in the repository.
- verify_decomp.py needs a checkout of the decompilation under test, your own SLUS_204.69 and extracted originals (located through DECOMP_GAME_DIR), and an i386 root filesystem with stock ee-gcc 2.96 and ee-as run through Docker under linux/386 emulation, plus clang for preprocessing. The README points to decompme/compilers for the compiler, which is not vendored, and documents a colima and binfmt route for Apple-silicon Macs.
- It compiles each C translation unit with -DSKIP_ASM, compares every defined function against the original bytes, labels differences hazard-nop, reorder, mixed, immediate or unexplained, and exits nonzero only for unexplained ones. The README warns that the mixed class masks branch and call targets, so a wrong target there is not flagged; functions whose relocations need the tested project's data layout are reported as unverifiable.
- The README's case study against an anonymised PS2 matching decompilation reports 817 of 857 functions identical, 40 differences all in toolchain classes, 195 unverifiable and one compiler crash. It also reports 5,927 shared names with no address disagreements against another decompilation's symbol file. Neither result is published with its inputs, and this collection ran nothing.
- MIT-licensed. The repository includes a 15,132-entry symbol table that its README says comes from the unstripped retail executables, but no game binaries, extracted assets or decompiled game code; the game remains its rights holders' property. The reviewed sources describe no AI or REA use.
About this entry
- Type
- Tool
- Category
- Game analysis tools
- Relationship
- Foundation tool
- Targets
- Binary · Game
Sources reviewed
The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.
Primary sources
- README.md GitHub · LinuxJessi/decomp-compat-kit · Revision d9bb53d
- tools/verify_decomp.py GitHub · LinuxJessi/decomp-compat-kit · Revision d9bb53d
- tools/dump_symbols.py GitHub · LinuxJessi/decomp-compat-kit · Revision d9bb53d
- tools/symbols_to_splat.py GitHub · LinuxJessi/decomp-compat-kit · Revision d9bb53d
- symbols/symbols.csv GitHub · LinuxJessi/decomp-compat-kit · Revision d9bb53d
- LICENSE GitHub · LinuxJessi/decomp-compat-kit · Revision d9bb53d