Files
psxrecomp/generated/indirect_jump_classes.json
T
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

19 lines
684 B
JSON

{
"schema": "psxrecomp-v4 phase1d indirect_jump_classes v1",
"total_sites": 27,
"classes": {
"a0_b0_c0_dispatch": {
"count": 21,
"sites": ["0xBFC0D884", "0xBFC0D894", "0xBFC0D8A4", "0xBFC0D8B4", "0xBFC0D954", "0xBFC0D9A4", "0xBFC0D9B4", "0xBFC0D9C4", "0xBFC0D9E4", "0xBFC0DAE4", "0xBFC0DB14", "0xBFC0DB24", "0xBFC0DB34", "0xBFC0DB44", "0xBFC0DB54", "0xBFC0DB64", "0xBFC0DB74", "0xBFC0DBF4", "0xBFC0DC14", "0xBFC0DC24", "0xBFC0DC34"]
},
"computed_call": {
"count": 4,
"sites": ["0xBFC03D58", "0xBFC07024", "0xBFC07130", "0xBFC0717C"]
},
"computed_tail_call": {
"count": 2,
"sites": ["0xBFC00454", "0xBFC01938"]
}
}
}