Files
psxrecomp/runtime/include
Matthew Stanley 3de1832350 overlay: reload-on-return (Inc2 first cut) + on-demand overlay_capture_dump
Two additions:

1. overlay_capture_dump TCP command — flush overlay_captures.json on demand,
   so a freeze/kill can't lose a capture session (no clean window-close needed).

2. Reload-on-return: when an invalidated overlay region is loaded back with the
   SAME content, re-enable its functions natively instead of staying interpreted.
   - At register, hash the live region (crc_live).
   - On invalidation, keep watching and count writes into the region (instead of
     clearing the watch).
   - When the region is substantially rewritten (>= size/2 bytes — a real reload,
     not incidental data writes), the next dispatch re-hashes once; on a match to
     crc_live, flip the region valid again. O(1) — dyntab entries never left, no
     DLL reload. Cheap-gated so steady-state churn doesn't pay per-dispatch hashes.
   - New counter: revalidations (in overlay_loader_status).

Ghidra note: searched the Tomba main EXE for the overlay load address (0x800E7000
virt / 0x000E7000 phys) — no flat overlay table; the address is computed and the
overlay is copied/decompressed to the code region by a BIOS routine. So overlay
identity must be a runtime content hash (this commit), not a static table.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-07 17:48:39 -07:00
..
2026-05-17 17:16:14 -07:00
2026-05-17 21:58:55 -07:00