From 3ab89904e43cdeac7c2b3ac0531ce4b34c0625b1 Mon Sep 17 00:00:00 2001 From: ramapcsx2 Date: Tue, 2 Feb 2010 08:45:36 +0000 Subject: [PATCH] Adjusting the previous VIF interrupt cycle change, so it now checks for a known to be slow operation and gives it a bigger delay. Timesplitters 2 works again. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2553 96395faa-99c1-11dd-bbfe-3dabce05a288 --- pcsx2/Vif1_Dma.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pcsx2/Vif1_Dma.cpp b/pcsx2/Vif1_Dma.cpp index 8d76c50db5..fa51c91a1e 100644 --- a/pcsx2/Vif1_Dma.cpp +++ b/pcsx2/Vif1_Dma.cpp @@ -426,7 +426,10 @@ __forceinline void vif1Interrupt() if (vif1.inprogress & 0x1) { _VIF1chain(); - CPU_INT(DMAC_VIF1, /*g_vifCycles*/ VifCycleVoodoo); + // VIF_NORMAL_FROM_MEM_MODE is a very slow operation. + // Timesplitters 2 depends on this beeing a bit higher than 128. + if (vif1.dmamode == VIF_NORMAL_FROM_MEM_MODE ) CPU_INT(DMAC_VIF1, 1024); + else CPU_INT(DMAC_VIF1, /*g_vifCycles*/ VifCycleVoodoo); return; }