diff --git a/pcsx2/Vif1_Dma.cpp b/pcsx2/Vif1_Dma.cpp index 743eb45b9b..99ffdcbeb0 100644 --- a/pcsx2/Vif1_Dma.cpp +++ b/pcsx2/Vif1_Dma.cpp @@ -486,6 +486,7 @@ void dmaVIF1() // Check VIF isn't stalled before starting the loop. // Batman Vengence does something stupid and instead of cancelling a stall it tries to restart VIF, THEN check the stall - if (!vif1Regs.stat.test(VIF1_STAT_VSS | VIF1_STAT_VIS | VIF1_STAT_VFS)) + // However if VIF FIFO is reversed, it can continue + if (!vif1ch.chcr.DIR || !vif1Regs.stat.test(VIF1_STAT_VSS | VIF1_STAT_VIS | VIF1_STAT_VFS)) CPU_INT(DMAC_VIF1, 4); }