mirror of https://github.com/PCSX2/pcsx2.git
Gif: Fix MFIFO logic so it doesn't get caught in a loop (Tekken Tag)
This commit is contained in:
parent
955a69b16e
commit
59be0818e2
|
@ -708,6 +708,13 @@ void gifMFIFOInterrupt()
|
|||
}
|
||||
}
|
||||
|
||||
if (!gifch.chcr.STR) {
|
||||
Console.WriteLn("WTF GIFMFIFO");
|
||||
cpuRegs.interrupt &= ~(1 << 11);
|
||||
return;
|
||||
}
|
||||
|
||||
if (gifch.qwc > 0 || !gspath3done) {
|
||||
if (dmacRegs.ctrl.MFD != MFD_GIF) {
|
||||
DevCon.Warning("Not in GIF MFIFO mode! Stopping GIF MFIFO");
|
||||
return;
|
||||
|
@ -728,12 +735,6 @@ void gifMFIFOInterrupt()
|
|||
|
||||
if (!CheckPaths()) return;
|
||||
|
||||
if(!gifch.chcr.STR) {
|
||||
Console.WriteLn("WTF GIFMFIFO");
|
||||
cpuRegs.interrupt &= ~(1 << 11);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(gifstate & GIF_STATE_STALL)) {
|
||||
|
||||
if (QWCinGIFMFIFO(gifch.tadr) == 0) {
|
||||
|
@ -757,7 +758,7 @@ void gifMFIFOInterrupt()
|
|||
GifDMAInt(16);
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
//if(gifqwc > 0) Console.WriteLn("GIF MFIFO ending with stuff in it %x", gifqwc);
|
||||
if (!gifmfifoirq) gifqwc = 0;
|
||||
|
||||
|
|
Loading…
Reference in New Issue