Drew T 26b71c5b2d feat(phase-7): PsyQ library-linking proven byte-exact + rodata-island mechanism — session C checkpoint
- rodata-island mechanism PROVEN: migration (dotted .rodata sibling named "800")
  + tools/ld_interleave.py (.data->.rodata->.data linker placement) + data-in-text
  carve; rodata/data sizes come out byte-exact. +24 residual root-caused to the
  .align-3 jumptable file-split padding (6 sites; spim suggests 8 splits)
- PsyQ 4.0 library linking PROVEN end-to-end: libcd SYS.o (483 instrs, full TU + 21
  externals + internal .rdata/.data relocs) links BYTE-IDENTICAL to BFM
  - tools/psyq_lib_split.py: split Sony LIB\x01 archive -> member .OBJ
  - tools/psyq_build_libs.sh: .LIB -> psyq-obj-parser -> ELF .a (14 BFM libs)
  - tools/psyq_identify.py: relocation-masked search -> object link addresses
    (libcd 18/25 used, contiguous from 0x80043088)
  - external symbols recovered from the EXE's own resolved relocations
  - section-alignment 8->4 fix (psyq-obj-parser over-aligns; the +4 mismatch is the tell)
- cookbook §8 (rodata island) + §9 (PsyQ library-linking recipe); CURRENT_PHASE full
  diagnosis, asset inventory, and resume plan
- 3rd consecutive green session (143dbb89 BYTE-IDENTICAL) -> Gen1 >=3-session bar MET
- SDK assets (PsyQ 4.0 USA DTL-S2002 libs + psyq-obj-parser) staged gitignored under
  tools/psyq/; no function matches added (architectural session)
2026-06-14 21:24:10 -06:00
2026-06-10 22:02:07 -06:00
2026-06-10 22:02:07 -06:00
2026-06-10 22:02:07 -06:00

BFM-decomp

A matching decompilation of Brave Fencer Musashi (PlayStation, SLUS-00726, USA 1998) — the first public decompilation effort for this game.

What "matching" means

The goal is C source code that, compiled with the original-era toolchain (PsyQ 4.x / GCC 2.7.2-family + ASPSX via maspsx), produces a byte-for-byte identical SLUS_007.26 and, eventually, byte-identical overlay binaries. SHA1 checksums are the ground truth; "functionally equivalent" does not count.

No ROM content

This repository contains no game assets, no disassembly output, and no ROM-derived data — only source code, build configuration, symbol names/addresses, hashes, and documentation. To build or contribute you must provide your own dump of the game disc (4-track BIN/CUE, redump layout). See .gitignore for the firewall.

Project status

Early foundation. Current phase and progress live in phase-ends/ (newest PhaseEnd_*.md = current state). Project methodology, rules, and the full roadmap are in PROJECT_CONTEXT.md. Environment setup is in docs/SETUP.md.

This project is developed primarily by Claude Code driving Ghidra through an MCP server; see CLAUDE.md.

License

Private repository for now. AGPL-3.0 is planned at public release, modeled on sotn-decomp. tools/brave-CUE/ is CUE's BRAVE extractor (GPL, source included) and retains its own license.

S
Description
No description provided
Readme AGPL-3.0 492 MiB
Languages
C 96.6%
Python 3%
Makefile 0.2%
Shell 0.1%