mirror of https://github.com/PCSX2/pcsx2.git
Implemented a hackfix for FFX (I hate this game lol) also fixed a bug in VIF i think i introduced during some tests.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@489 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
5252d45ed7
commit
56ed72b8a1
|
@ -248,7 +248,11 @@ void dmaSPR0() { // fromSPR
|
||||||
|
|
||||||
SPR_LOG("dmaSPR0 chcr = %lx, madr = %lx, qwc = %lx, sadr = %lx\n",
|
SPR_LOG("dmaSPR0 chcr = %lx, madr = %lx, qwc = %lx, sadr = %lx\n",
|
||||||
spr0->chcr, spr0->madr, spr0->qwc, spr0->sadr);
|
spr0->chcr, spr0->madr, spr0->qwc, spr0->sadr);
|
||||||
CPU_INT(8, spr0->qwc * BIAS);
|
|
||||||
|
// COMPLETE HACK!!! For now at least.. FFX Videos dont rely on interrupts or reading DMA values
|
||||||
|
// It merely assumes that the last one has finished then starts another one (broke with the DMA fix)
|
||||||
|
// This "shouldn't" cause any problems as SPR is generally faster than the other DMAS anyway. (Refraction)
|
||||||
|
CPU_INT(8, spr0->qwc / 2);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -382,7 +386,11 @@ void dmaSPR1() { // toSPR
|
||||||
spr1->chcr, spr1->madr, spr1->qwc,
|
spr1->chcr, spr1->madr, spr1->qwc,
|
||||||
spr1->tadr, spr1->sadr);
|
spr1->tadr, spr1->sadr);
|
||||||
#endif
|
#endif
|
||||||
CPU_INT(9, spr1->qwc * BIAS);
|
|
||||||
|
// COMPLETE HACK!!! For now at least.. FFX Videos dont rely on interrupts or reading DMA values
|
||||||
|
// It merely assumes that the last one has finished then starts another one (broke with the DMA fix)
|
||||||
|
// This "shouldn't" cause any problems as SPR is generally faster than the other DMAS anyway. (Refraction)
|
||||||
|
CPU_INT(9, spr1->qwc / 2);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1970,7 +1970,7 @@ __forceinline void vif1Interrupt() {
|
||||||
_chainVIF1();
|
_chainVIF1();
|
||||||
}
|
}
|
||||||
else _VIF1chain();//CPU_INT(13, vif1ch->qwc * BIAS);
|
else _VIF1chain();//CPU_INT(13, vif1ch->qwc * BIAS);
|
||||||
CPU_INT(1, 0);
|
CPU_INT(1, g_vifCycles);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1988,7 +1988,7 @@ __forceinline void vif1Interrupt() {
|
||||||
}
|
}
|
||||||
|
|
||||||
_chainVIF1();
|
_chainVIF1();
|
||||||
CPU_INT(1, 0);
|
CPU_INT(1, g_vifCycles);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue