From f5ca7a7a557c185514ef5f75aebdaa83841eb8ea Mon Sep 17 00:00:00 2001 From: refraction Date: Sun, 9 May 2010 17:00:45 +0000 Subject: [PATCH] Refixed Growlanser, also took out an IF which shouldn't have been in there. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2971 96395faa-99c1-11dd-bbfe-3dabce05a288 --- pcsx2/Vif1_Dma.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pcsx2/Vif1_Dma.cpp b/pcsx2/Vif1_Dma.cpp index 1bd7bb8cdd..ad0a8fd53f 100644 --- a/pcsx2/Vif1_Dma.cpp +++ b/pcsx2/Vif1_Dma.cpp @@ -213,7 +213,7 @@ __forceinline void vif1Interrupt() return; } - if (vif1ch->chcr.DIR) vif1Regs->stat.FQC = min(vif1ch->qwc, (u16)16); + vif1Regs->stat.FQC = min(vif1ch->qwc, (u16)16); //Simulated GS transfer time done, clear the flags if(gifRegs->stat.APATH == GIF_APATH2 && (vif1.cmd & 0x70) != 0x50) { @@ -298,7 +298,10 @@ __forceinline void vif1Interrupt() #endif vif1Regs->stat.VPS = VPS_IDLE; //Vif goes idle as the stall happened between commands; - if(gifRegs->stat.OPH == true && vif1Regs->stat.FQC == 0) gifRegs->stat.OPH = false; + if((vif1ch->chcr.DIR == VIF_NORMAL_TO_MEM_MODE) && (vif1Regs->stat.FQC == 0)) + { //Reverse fifo has finished and nothing is left, so lets clear the outputting flag + gifRegs->stat.OPH = false; + } vif1ch->chcr.STR = false; g_vifCycles = 0; VIF_LOG("VIF1 End");