Files
BFM-decomp/THIRD_PARTY.md
T

5.9 KiB

Third-party components

The project's own work (tools/, docs/, the build system, the Ghidra scripts) is licensed under the AGPL-3.0 (LICENSE); the reimplemented game sources under src/ carry no license (src/NOTICE.md). Everything else the project uses keeps its own license, listed here. "In the repository" means the files are committed; "download only" means the project records where to get them and how to verify them, and never redistributes them.

Component Role here License (as published upstream) In the repository?
brave-CUE (CUE) The reference .CD/PAC/LZSS extractor our own extractor was validated against, byte for byte GPL-3.0 (tools/brave-CUE/license.txt) Source only, vendored under tools/brave-CUE/. The compiled brave.exe was removed from the repository and from its entire history before publication.
maspsx (Mark Street) Reproduces the quirks of Sony's ASPSX assembler between cc1 and GNU as MIT Git submodule tools/maspsx (pinned)
decomp-permuter (Simon Lindholm and contributors) Search over source permutations for near-miss functions; the project's ILS warm-restart and masked scorer wrap it MIT Git submodule tools/decomp-permuter (pinned)
asm-differ (Simon Lindholm) Per-function assembly diffs The Unlicense (public domain) Git submodule tools/asm-differ (pinned)
m2c (Matt Kempster and contributors) The decompiler used for scaffolds GPL-3.0 Git submodule tools/m2c (pinned)
old-gcc (decompals) The builds of the era's compilers; the project's pinned cc1 (gcc 2.7.2, "psx" and "cdk" variants) comes from its release tarballs The repository publishes no license file; the compilers it builds are GCC, licensed GPL-2.0-or-later, whose source is at gnu.org The two tarballs are tracked under tools/bin/ with sha256s (tools/bin/CHECKSUMS.sha256: 500a459b…, 42bb0df9…) so the toolchain is reproducible; the gcc-2.7.2 source is the reference for the codegen map
gcc 2.7.2 source (GNU) The authoritative reference for the pinned compiler's behaviour (docs/gcc-2.7.2-map/, the cookbook's citations) GPL-2.0 Download only (ftp.gnu.org/old-gnu/gcc/gcc-2.7.2.tar.gz, sha256 recorded in docs/SETUP.md §5); cloned under the gitignored tools/reference/
Ghidra (NSA) The static-analysis oracle; the project's headless scripts under tools/ghidra_scripts/ drive it Apache-2.0 Not in the repository (installed locally). The project's Ghidra database is not committed either — its hand-authored content is tracked as text under config/ghidra/ and rebuilt by tools/ghidra_rebuild.sh
ghidra_psx_ldr (lab313ru) PlayStation executable loader, PsyQ signatures and types for Ghidra No license file published upstream Download only; the release zip is verified by sha256 (docs/SETUP.md §2.4) and was removed from the repository and its history
GhidrAssistMCP The MCP server through which the AI agent drives Ghidra MIT Download only (sha256 in docs/SETUP.md §2.3); tools/ghidra_scripts/BfmMcpServer.java is the project's own headless wrapper
psyq-obj-parser (part of PCSX-Redux), built by decomp.me Converts Sony's PsyQ .OBJ/.LIB files to ELF so the real library objects can be linked GPL-2.0 (PCSX-Redux) Download only, user-supplied via tools/fetch_psyq.sh, sha256 in tools/psyq_CHECKSUMS.sha256
PCSX-Redux The runtime oracle (live RAM comparisons that proved the overlay map) GPL-2.0 Not in the repository
Sony PlayStation SDK (PsyQ 4.0 / Runtime Library 4.2) Optional: with it, the main executable links Sony's real library objects instead of the assembly tiles; without it the build is still byte-identical Proprietary (Sony) Never distributed. User-supplied (tools/fetch_psyq.sh, from a user's own copy of the SDK disc or archive); only sha256 checksums are tracked (tools/psyq_CHECKSUMS.sha256) so a supplied copy can be verified
splat, spimdisasm, rabbitizer The binary splitter and disassembler MIT Python packages (requirements-python.txt), not vendored
GNU binutils (mipsel-linux-gnu) The assembler, linker and objcopy GPL-3.0 System package, not vendored
Other Python packages (requirements-python.txt: PyYAML, git-filter-repo, pycparser, …) Tooling dependencies Their own (PyPI) Not vendored
ProjectArchitect (the author's own) The governance framework this project ran under; docs/history/project_architect_v1.3.0.md is the version used See its repository The framework document is kept in docs/history/ as a historical record
Brave Fencer Musashi Archipelago world (AegeusEvander), TCRF, gamehacking.org, the LiveSplit autosplitter Sources of memory addresses and facts, cited with provenance in docs/memory-map.md Facts, cited; no code copied —

Removed from the repository and its history before publication (they are game-derived or proprietary): the game executable, the RAM dumps, the Ghidra project database, the Sony SDK, the session-transcript archive, the two Ghidra extension installers, and brave.exe. Every replacement is a checksum or a rebuild path — see docs/public-flip-runbook.md.