Resolved Issue 168 with FFXII crashing with DMA error due to cancelling a scratchpad transfer before it happened, how silly of me :p

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1028 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
refraction 2009-04-20 00:31:03 +00:00
parent adf6dfdcd4
commit b21b81df9f
2 changed files with 5 additions and 2 deletions

View File

@ -545,7 +545,7 @@ void gifMFIFOInterrupt()
cpuRegs.interrupt &= ~(1 << 11);
return ;
}
if(spr0->chcr & 0x100)
if((spr0->chcr & 0x100) && spr0->qwc == 0)
{
spr0->chcr &= ~0x100;
hwDmacIrq(8);

View File

@ -532,11 +532,13 @@ void mfifoVIF1transfer(int qwc)
void vifMFIFOInterrupt()
{
g_vifCycles = 0;
if(spr0->chcr & 0x100)
if((spr0->chcr & 0x100) && spr0->qwc == 0)
{
spr0->chcr &= ~0x100;
hwDmacIrq(8);
}
if (vif1.inprogress == 1) mfifo_VIF1chain();
if (vif1.irq && vif1.tag.size == 0)
@ -569,6 +571,7 @@ void vifMFIFOInterrupt()
else
CPU_INT(10, vif1ch->qwc * BIAS);
return;
}
else if (vifqwc <= 0)