mirror of
https://github.com/RetroPortingToolKit/psxrecomp
synced 2026-10-26 18:25:35 -04:00
d596b0ec46
Two shipping gaps left Gran Turismo's gameplay and FMV code on the interpreter (0.55-0.64x real time) even though the recompiled boot EXE was fine: 1. The overlay region floor defaults to the boot EXE text end. GT's secondary EXEs (GTOS/GTMENU/GTMAIN/GTEND) all load at 0x80010000, inside that range, so they were never overlay-cache eligible. The only way to lower the floor was the PSX_OVERLAY_REGION_FLOOR env var, which a shipped package cannot carry. Add `[runtime] overlay_region_floor` (hex string or integer), applied before the env override with the same kernel-window clamp. 2. The bundled overlay_toolchain/ was only used to build the tcc command. A dev/production box with gcc on PATH but no game.toml autocompile command got no compiler at all. Treat the bundle as a gcc toolchain provider too: gcc counts as available when the bundle is present and a gcc/cc/clang is on PATH, and the same bundle then drives compile_overlays.py with --compiler gcc. One package yields gcc shards on a dev box and tcc shards on a toolchain-less player box. Measured on GT1 (SCUS-94194), headless boot -> intro FMV -> attract, with the floor at 0x10000 and gcc autocompile: 1.27-1.38x real time vs 0.55-0.64x; SPU production 27 kHz -> 59 kHz (the FMV audio distortion was starvation). (cherry picked from commit 0d226e5069bdf1395c819110beec40367a44a699)