From 97bfe08c04a6bc45f4f77c95078095c62f4a370b Mon Sep 17 00:00:00 2001 From: refractionpcsx2 Date: Sun, 1 Aug 2021 01:54:32 +0100 Subject: [PATCH] VIF: Only enable reverse FIFO hack if VIF1 is still active --- pcsx2/Vif.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pcsx2/Vif.cpp b/pcsx2/Vif.cpp index ff53b35cf2..f744ce463b 100644 --- a/pcsx2/Vif.cpp +++ b/pcsx2/Vif.cpp @@ -265,9 +265,12 @@ __fi void vif1STAT(u32 value) //then proceeds to reverse the dma before we have even done it ourselves. So lets just make sure VIF is ready :) if (vif1ch.qwc > 0 || isStalled == false) { - vif1ch.qwc = 0; - hwDmacIrq(DMAC_VIF1); - vif1ch.chcr.STR = false; + if (vif1ch.chcr.STR) + { + vif1ch.qwc = 0; + hwDmacIrq(DMAC_VIF1); + vif1ch.chcr.STR = false; + } cpuRegs.interrupt &= ~((1 << DMAC_VIF1) | (1 << DMAC_MFIFO_VIF)); } //This is actually more important for our handling, else the DMA for reverse fifo doesnt start properly.