This issue occurs during the transition when Talk Topic ends and enters Dule Talk Topic: the device has already been set to paused by a previous fade-out; the transition script first does a 30 frames fade-out on the current BGM, then hardcodes a 31 frames waiting before set the new BGM. Because of Nearest EE rounding mode, on this platform the fade-out actually needs 31 frames to finish (PS2 is 30 frames). The hardcoded 31 frames wait is right on the fade-out completion boundary, so when the new stream starts binding, the EE side state machine is still in fade state. The game code assumes the device must be playing during fade-in/fade-out, so it directly sets the EE side state machine to playing, without sending resume to IOP/SPU. As a result, the corresponding SPU port is still paused and refuses later playback, while the EE side thinks it is playing. Changing the wait to 32 frames lets the fade-out finish first, EE-side state machine enters paused, and when the new binding comes it goes through the resume path, so the state keeps synchronized. The EU version needs +1 more frame; I guess it is also a frame boundary/rounding timing difference, but it is not fully confirmed yet. Other paths rarely have this issue: two consecutive fade-outs are rare; or the second wait is long enough for the fade-out to complete; or because there is only one fade-out---when the new binding comes, the fade has not finished yet and the pause command has not been sent, so the state will not be out of sync.
PCSX2
PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits.
Project Details
PCSX2 has been in development for more than 20 years. Past versions could only run a few public domain game demos, but newer versions can run most games at full speed, including popular titles such as Final Fantasy X and Devil May Cry 3. Visit the PCSX2 compatibility list to check the latest compatibility status of games (with more than 2500 titles tested).
Installers and binaries for both stable and nightly builds are available from our website.
System Requirements
PCSX2 supports Windows, Linux, and Mac platforms. Our setup documentation page contains additional details on software and hardware requirements.
Please note that a BIOS dump from a legitimately-owned PS2 console is required to use the emulator. For more information, visit this page.
Contributing / Building
PCSX2 supports translation into other languages using Crowdin.
See the Contribution Guide for more info on how to contribute.