Time Crisis II (US) - Audio desyncs, stutters during FMVs.
PCSX2 version: pcsx2-v1.7.0-dev-157-gedc701d3f-windows-x86
PCSX2 options: Default options.
Plugins used: The problem persists on all renderers. OpenGL Software, Direct3D 11 Software, OpenGL Hardware and Direct3D 11 Hardware are all affected.
All other plugins are at default.
Description of the issue: When launching the USA versions of Time Crisis II, there is very noticable audio stutter and desynchronization during the game's FMV scenes. This problem doesn't exist in the European version of Time Crisis II. Forcing the FPS to 60 via PCSX2_vm doesn't fix the US versions and and exacerbates the issue with the EU version. (In the case of Time Crisis II, it creates an issue whereas one didn't exist.) Likewise with modifying the EE Cyclerate. Changing the Audio Output Module and changing the Synchronizing Mode doesn't seem to have an effect.
How to reproduce the issue: Launch the game. Watch the intro movie. Watch any cutscene that plays between the game's stages.
Last known version to work: Unknown, possibly never.
PC specifications: Windows 10 64-Bit. NVIDIA RTX Super, Intel Core i9 10900k @ 3.70GHz
Edit: I've redacted Time Crisis 3 from this issue. Apparently, the US version of the game can indeed be fixed by setting the EE Cyclerate to +1. As for the EU version, I am unable to reproduce the situation that caused it to have audio issues. Looks like I jumped the gun on that one. I continue to stand by my statements on Time Crisis II.
@PixelCrusader can you try the latest build on master and see if the SPU2 changes help the audio here?
@MrCK1
PCSX2 Version: pcsx2-v1.7.0-dev-652-gd0dd60f29-windows-x86
I see no noticeable change in the games. Time Crisis II (US)'s audio will increasingly desync and stutter during long cutscenes. EE Cyclerate + 1 exacerbates the issue. Time Crisis II (EU) works fine. No change from default settings is needed. Time Crisis 3 (US) needs to be set to EE Cyclerate + 1 for the audio to work. Otherwise, the audio will increasingly desync and stutter during long cutscenes.
Well I just had a quick play with this, setting EE Cycle Rate to +1 (one to the right) and enabling Fast CDVD seems to at least resolve the skipping, however the audio is about half a second ahead of the video.
Don't have any idea what the actual problem is.
I just tested TC2 and EE cyclerate and Fast CDVD don't seem to impact it - it's still laggy and then lines start getting cut off, etc. At least TC3 can be fixed with EE cyclerate increase.
time crisis 2 for the American version is on a normal cd. in Europe it was on a DVD. could that have something to do with it?
Workaround: Use fix by kozarovv NTSC-U CRC = D5D560FF //Skip 1200000 cycles loop - fix audio patch=1,EE,00154954,word,10000009
I did some testing on the latest experimental build and noticed something, Time Crisis 3 still seems to have issues during fmvs stuttering and desyncing like 2. But Crisis Zone seems to play the intro cutscene perfectly fine without any noticeable audio desyncing.
@refractionpcsx2 This fix completely fixes the problem with the sound desync in FMV, I just went through the game and checked. CRC = D5D560FF Code: //Skip 1200000 cycles loop - fix audio patch=1,EE,00154954,word,10000009
kozarovv 04-14-2021, 12:47 AM Workaround for Time Crisis 2 NTSC-U FMV audio desync. Game have weird runtime that will loop on EE side, which is apparently supposed sync with IOP module that read CDVD. Depending on state possible loop cycle values are 200000, 700000, and 1200000 (plus nops). At the same time IOP jump between WaitVblankEnd, ioCdvdStatusManage, statusQueueExecPre, and statusQueueExecPost. Issue is probably in pcsx2 cycle counting, and lack of proper status check in game code. But i'm not sure that my theory is correct. Alternative solution is to use +1 cyclerate. CRC = D5D560FF Code: //Skip 1200000 cycles loop - fix audio patch=1,EE,00154954,word,10000009
It says "Alternative solution is to use +1 cyclerate. ", but it wrong, only code "Skip 1200000 cycles loop - fix audio" fixed audio.
whats the status if known :)
Still broken
Still broken
Why didn't you just add this patch to emulator?
Workaround: Use fix by kozarovv NTSC-U CRC = D5D560FF //Skip 1200000 cycles loop - fix audio patch=1,EE,00154954,word,10000009
sure, we can do that.
Keeping The Thread Alive: I opened a PR for the fix patch: https://github.com/PCSX2/pcsx2_patches/pull/399
Confirmed it works, and still needed in v2.1.56. Great to have.