Files
psxrecomp/docs/internal
Shokunin 4630a0d9f7 docs: record PR A (#429) as landed in the segment-aware design
#429 charges psx_icache_fetch before every instruction whose runtime PC is
uncached, in both emitters, and makes the BIOS emitter's cache-line start
test use the runtime PC. The OpenBIOS check finds no uncharged KSEG1 site,
so segment_aware_codegen passes with 10 known gaps; bios-kseg1-fetch-charge
has not been in KNOWN_GAPS since the ledger's first commit in this series.
The check stays as a regression guard: an uncharged site reports the id as
a new gap.

docs/SEGMENT_AWARE_CODE.md:
- §5.6 describes the charge as landed, including the runtime-PC line-start
  fix. The game emitter already has the predicate, but emit_pre_icache
  tests the compile address: PR B must route both its psx_fetch_uncached()
  argument and the fetch tag through runtime_pc(), and D adds the KSEG1
  variants they reach.
- §7.1 lists ten open ids and records how A's id left the ledger.
- §8 marks A merged, with its Beetle parity (shell entry -126 on OpenBIOS,
  -454 on SCPH-1001; the residuals are the IsC gap and SCPH-1001's KSEG1
  kernel entry). D now only needs the KSEG1 variants; kseg1-fetch-charge
  stays open until D. The macOS oracle recipe is docs/beetle-macos.md (#431).
- §1, §3.5 and the header say the BIOS undercharge is fixed. §10 is
  unchanged.
- §3.1, §3.5 and §5.2 cite the emitter lines as they are after #429
  (code_generator.cpp +6, full_function_emitter.cpp +10).

FAITHFUL_TIMING_PLAN §5 gets a log entry for the rebase.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 18:20:52 -07:00
..

Internal dev-logs & design notes

These are the working design documents and burn-down logs the project was built from. They are historical/working notes, not contributor onboarding docs — they capture decisions, phased plans, and deep subsystem investigations in the order they happened, and some sections are superseded by later ones.

If you're new here, start with the top-level README.md, then docs/ARCHITECTURE.md, docs/EXECUTION_MODEL.md, docs/BUILDING.md, and CONTRIBUTING.md. Come here when you need the why behind a specific subsystem.

Plans & roadmap

Cycle accuracy & timing

BIOS / scheduler

Renderer / widescreen

Project conventions & tracking

  • PRINCIPLES.md — this repo's debugging and enhancement principles (first-divergence, verified-enhancement HLE). Source comments cite it as docs/internal/PRINCIPLES.md; a "recomp-template PRINCIPLES.md" citation means a different repo's file.
  • ISSUES.md — the historical framework issue log. Live framework work is tracked in Beads (epic beads-eio.3), not here.
  • DEBUG.md — the debugging playbook behind the TCP debug server; the command reference itself is ../TCP_COMMANDS.md.
  • audit_inventory.md — what the codegen/GTE audit pipeline covers and why.

Overlay design & discovery

BIOS / boot hardening

GTE / CPU investigations

Upstream contributor reviews

upstream/ holds per-PR review notes for community contributions, one file per change, named <contributor>-<pr>-<topic>.md.

Overlay cache internals

  • SLJIT_PERSIST_CACHE.md — removed. It described the persisted shard cache of the sljit Tier-2 backend, which was deleted in 5b7e69b4 (2026-07-15). For the current model see runtime/src/overlay_loader.c (per-entry candidate validity), tools/compile_overlays.py (shard formation and the .ranges manifest), and ../COMPILING_OVERLAYS.md.

Removed