pcsx2 icon indicating copy to clipboard operation
pcsx2 copied to clipboard

Time Crisis II (US) - Audio desyncs, stutters during FMVs.

Open PixelCrusader opened this issue 5 years ago • 13 comments

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 avatar Aug 22 '20 03:08 PixelCrusader

@PixelCrusader can you try the latest build on master and see if the SPU2 changes help the audio here?

MrCK1 avatar Dec 02 '20 20:12 MrCK1

@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.

PixelCrusader avatar Dec 02 '20 23:12 PixelCrusader

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.

refractionpcsx2 avatar Jan 26 '21 17:01 refractionpcsx2

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.

legend800 avatar Apr 07 '21 07:04 legend800

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?

seta-san avatar Nov 21 '22 07:11 seta-san

Workaround: Use fix by kozarovv NTSC-U CRC = D5D560FF //Skip 1200000 cycles loop - fix audio patch=1,EE,00154954,word,10000009

dante3732 avatar Dec 21 '22 14:12 dante3732

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.

waspennator avatar Dec 22 '22 04:12 waspennator

@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.

dante3732 avatar Dec 25 '22 17:12 dante3732

whats the status if known :)

Mrlinkwii avatar Jun 22 '23 14:06 Mrlinkwii

Still broken

refractionpcsx2 avatar Jun 22 '23 14:06 refractionpcsx2

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

dante3732 avatar Jun 22 '23 15:06 dante3732

sure, we can do that.

refractionpcsx2 avatar Jun 22 '23 15:06 refractionpcsx2

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.

OctopusButtons avatar Aug 04 '24 02:08 OctopusButtons