mirror of
https://github.com/libretro/pcsx2.git
synced 2024-12-30 13:43:23 +00:00
Fix for my earlier mistake causing green blocks on videos, remind me its never good to alter memory that you arent suppose to alter ^_^
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@612 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
edc418d0e4
commit
7dc9138d04
@ -270,12 +270,11 @@ void dmaSPR0() { // fromSPR
|
||||
SPR_LOG("dmaSPR0 chcr = %lx, madr = %lx, qwc = %lx, sadr = %lx\n",
|
||||
spr0->chcr, spr0->madr, spr0->qwc, spr0->sadr);
|
||||
|
||||
if ((spr0->chcr & 0xc) == 0x4){
|
||||
if ((spr0->chcr & 0xc) == 0x4 && spr0->qwc == 0){
|
||||
u32 *ptag;
|
||||
ptag = (u32*)&PS2MEM_SCRATCH[spr0->sadr & 0x3fff]; //Set memory pointer to SADR
|
||||
spr0->qwc = (u16)ptag[0]; //QWC set to lower 16bits of the tag
|
||||
CPU_INT(8, spr0->qwc / BIAS);
|
||||
spr0->qwc = 0;
|
||||
CPU_INT(8, (ptag[0] & 0xffff) / BIAS);
|
||||
// spr0->qwc = 0;
|
||||
return;
|
||||
}
|
||||
// COMPLETE HACK!!! For now at least.. FFX Videos dont rely on interrupts or reading DMA values
|
||||
@ -429,12 +428,11 @@ void dmaSPR1() { // toSPR
|
||||
spr1->tadr, spr1->sadr);
|
||||
#endif
|
||||
|
||||
if ((spr1->chcr & 0xc) == 0x4){
|
||||
if ((spr1->chcr & 0xc) == 0x4 && spr1->qwc == 0){
|
||||
u32 *ptag;
|
||||
ptag = (u32*)dmaGetAddr(spr1->tadr); //Set memory pointer to TADR
|
||||
spr1->qwc = (u16)ptag[0]; //QWC set to lower 16bits of the tag
|
||||
CPU_INT(9, spr1->qwc / BIAS);
|
||||
spr1->qwc = 0;
|
||||
CPU_INT(9, (ptag[0] & 0xffff) / BIAS);
|
||||
//spr1->qwc = 0;
|
||||
return;
|
||||
}
|
||||
// COMPLETE HACK!!! For now at least.. FFX Videos dont rely on interrupts or reading DMA values
|
||||
|
Loading…
Reference in New Issue
Block a user