From 95af4c133ef316630569687151411d72fb271824 Mon Sep 17 00:00:00 2001 From: refraction Date: Sun, 14 Mar 2010 01:11:08 +0000 Subject: [PATCH] Fixed small VIF Stalling bug which caused Max Payne to crash git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2711 96395faa-99c1-11dd-bbfe-3dabce05a288 --- pcsx2/Vif_Transfer.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pcsx2/Vif_Transfer.cpp b/pcsx2/Vif_Transfer.cpp index 79065e40d6..b639ad7eb3 100644 --- a/pcsx2/Vif_Transfer.cpp +++ b/pcsx2/Vif_Transfer.cpp @@ -36,8 +36,10 @@ _vifT bool analyzeIbit(u32* &data, int iBit) { if (iBit && !vifX.cmd && !vifXRegs->err.MII) { //DevCon.WriteLn("Vif I-Bit IRQ"); vifX.irq++; - runMark(data); - return 1; + // On i-bit, the command is run, vif stalls etc, + // however if the vifcode is MASK, you do NOT stall, just send IRQ. - Max Payne shows this up. + if((vifX.cmd & 0x7f) == 0x7) return 0; + else return 1; } return 0; }