mirror of
https://github.com/RetroPortingToolKit/psxrecomp
synced 2026-10-26 10:19:47 -04:00
bf4482b4c8
Implementation-ready design for capturing PSX source strings from memory and substituting translated bytes on the fly, so JP-only titles (Tsumu Light SLPS-02253 first) can be played in English or any language. Adapts the author's proven n64recomp prior art (Pocket Monsters Stadium JP): always-on capture ring keyed by FNV-1a64 content hash, a per-title multilingual table, and a draw-time apply hook that repoints the string arg at guest scratch so the original renderer draws the replacement (no regen, unbounded length, dynamic args preserved). Grounds the PSX design in real findings: Tsumu text is Shift-JIS (2-byte fullwidth + 1-byte halfwidth kana) with 0xFFFF-framed message records; in-EXE text block ~0x80070900-0x80072000 via pointer table at 0x80071474; menu labels at 0x80010C5C/0x80010C94; font already has fullwidth Latin (English renders with zero glyph injection). Hooks onto the psx_dispatch chokepoint (fntrace_record census + g_psx_bios_hle_hook precedent), so no per-function codegen and works in Release. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>