Commit Graph

2 Commits

Author SHA1 Message Date
Matthew Stanley 4e1d6f0b71 rabbitizer: drop unused upstream metadata, bindings, docs, and tests
Vendored rabbitizer ships with Python bindings, Rust bindings, an
upstream Makefile, packaging files, docs, tests, and an upstream
changelog. Our CMake build consumes only the C/C++ sources, headers,
and instruction tables:

  recompiler/lib/rabbitizer/
    include/        (kept — C headers)
    cplusplus/      (kept — C++ headers + sources)
    src/            (kept — C sources)
    tables/         (kept — instruction tables)
    LICENSE         (kept — MIT requires the copyright notice)

Everything else is upstream project scaffolding that has never been
referenced by our build. Removed:

  CHANGELOG.md, README.md, Cargo.toml, Makefile, MANIFEST.in,
  pyproject.toml, setup.py
  docs/                (upstream usage docs + GTE macros)
  tests/               (upstream's own test suite)
  rust/                (Rust language bindings)
  rabbitizer/          (Python language bindings + .pyi stubs)

MIT obligations remain satisfied: the LICENSE file with the
Decompollaborate copyright notice is unchanged. No source files,
headers, or instruction tables were touched.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 12:42:14 -07:00
Matthew Stanley 7c40d33db3 Phase 1 complete: recompiler proven correct on SCPH1001.BIN
Phase 1a (boot slice): 30 instructions at 0xBFC00000, compiles clean.
Phase 1b (instruction coverage): 54 opcodes implemented in strict_translator,
  44,629 walker-reachable instructions covered, 0 missing.
Phase 1c (function discovery): 76 functions from 2 seeds, 2,988 instructions,
  199 call edges, 27 indirect jumps. All validated through StrictTranslator.
Phase 1d (indirect control flow): 27 sites classified — 21 A0/B0/C0 dispatch
  stubs, 4 computed calls, 2 computed tail calls. Ghidra cross-referenced
  with 0 disagreements.
Phase 1e (relocation): ROM-to-RAM copy at FUN_bfc00420 proven with both
  Ghidra (static) and DuckStation (runtime). 69 address aliases, 68/69
  function entries match byte-for-byte in RAM. Normalization rule documented.

Includes PRINCIPLES.md and DEBUG.md adapted from recomp-template.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 21:26:04 -07:00