mirror of
https://github.com/RetroPortingToolKit/psxrecomp
synced 2026-10-28 10:59:16 -04:00
36ba6bd950
The two table_watch timelines agree byte-for-byte up to one moment (baseline fingerprints identical), then fork: entering the scene, native receives two ch3 DMA loads (74 then 339 words) leaving 216 raw colour words in the effect's table, while DuckStation's region goes to the correct 5-colour table -- and both sides hold that state for the whole ~1220-frame effect before converging again (216->254->129 vs 5->252->129). psx-runtime's cd_read_log records every ch3 load with LBA, dest and size. This finds the loads that intersect the table and reads those very sectors from the ISO. Disc holds the many-colour data -> native delivered what was asked and the divergence is upstream (why the game requested it, or where the DMA pointed). Disc holds something else -> the CD stack is delivering wrong sector data, and that is the bug. The log dies with the process: capture after playing the scene, before restarting. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>