diff --git a/pcsx2/Vif.cpp b/pcsx2/Vif.cpp index f16a8e2cd..714560e81 100644 --- a/pcsx2/Vif.cpp +++ b/pcsx2/Vif.cpp @@ -37,7 +37,6 @@ PCSX2_ALIGNED16(u32 g_vifRow1[4]); PCSX2_ALIGNED16(u32 g_vifCol1[4]); extern int g_vifCycles; -bool mfifodmairq = false; enum UnpackOffset { @@ -449,8 +448,6 @@ void mfifoVIF1transfer(int qwc) return; } - mfifodmairq = false; //Clear any previous TIE interrupt - if (vif1ch->qwc == 0 && vifqwc > 0) { ptag = (u32*)dmaGetAddr(vif1ch->tadr); @@ -520,7 +517,6 @@ void mfifoVIF1transfer(int qwc) { VIF_LOG("dmaIrq Set"); vif1.done = true; - mfifodmairq = true; //Let the handler know we have prematurely ended MFIFO } } @@ -609,10 +605,6 @@ void vifMFIFOInterrupt() hwDmacIrq(DMAC_14); }*/ - //On a TIE break we do not clear the MFIFO (Art of Fighting) - //If we dont clear it on MFIFO end, Tekken Tag breaks, understandably (Refraction) - if (!mfifodmairq) vifqwc = 0; - vif1.done = 1; g_vifCycles = 0; vif1ch->chcr &= ~0x100; diff --git a/pcsx2/VifDma.cpp b/pcsx2/VifDma.cpp index 7552899a5..9ae6a768e 100644 --- a/pcsx2/VifDma.cpp +++ b/pcsx2/VifDma.cpp @@ -2569,14 +2569,14 @@ __forceinline void vif1Interrupt() } } - if (vif1.inprogress) + if (vif1.inprogress & 0x1) { _VIF1chain(); CPU_INT(1, g_vifCycles); return; } - if ((!vif1.done) || (vif1.inprogress & 0x1)) + if (!vif1.done) { if (!(psHu32(DMAC_CTRL) & 0x1))