mirror of https://github.com/PCSX2/pcsx2.git
Slight modification to the MFIFO's to prevent potential situations which could cause bad data to be copied.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@490 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
56ed72b8a1
commit
2cc719d5b0
|
@ -421,6 +421,7 @@ void mfifoGIFtransfer(int qwc) {
|
||||||
if(qwc > 0 ) {
|
if(qwc > 0 ) {
|
||||||
gifqwc += qwc;
|
gifqwc += qwc;
|
||||||
if(!(gif->chcr & 0x100))return;
|
if(!(gif->chcr & 0x100))return;
|
||||||
|
if(gifdone == 1) return;
|
||||||
}
|
}
|
||||||
SPR_LOG("mfifoGIFtransfer %x madr %x, tadr %x\n", gif->chcr, gif->madr, gif->tadr);
|
SPR_LOG("mfifoGIFtransfer %x madr %x, tadr %x\n", gif->chcr, gif->madr, gif->tadr);
|
||||||
|
|
||||||
|
|
|
@ -486,9 +486,10 @@ void mfifoVIF1transfer(int qwc) {
|
||||||
|
|
||||||
if(qwc > 0){
|
if(qwc > 0){
|
||||||
vifqwc += qwc;
|
vifqwc += qwc;
|
||||||
vif1.done &= ~1;
|
|
||||||
SPR_LOG("Added %x qw to mfifo, total now %x\n", qwc, vifqwc);
|
SPR_LOG("Added %x qw to mfifo, total now %x\n", qwc, vifqwc);
|
||||||
if((vif1ch->chcr & 0x100) == 0 || vif1.vifstalled == 1) return;
|
|
||||||
|
if((vif1ch->chcr & 0x100) == 0 || vif1.vifstalled == 1 || vif1.done == 1) return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(vif1ch->qwc == 0){
|
if(vif1ch->qwc == 0){
|
||||||
|
@ -590,7 +591,6 @@ void vifMFIFOInterrupt()
|
||||||
if(vif1.done != 1) {
|
if(vif1.done != 1) {
|
||||||
if(vifqwc <= 0){
|
if(vifqwc <= 0){
|
||||||
//SysPrintf("Empty\n");
|
//SysPrintf("Empty\n");
|
||||||
vif1.done |= 1;
|
|
||||||
hwDmacIrq(14);
|
hwDmacIrq(14);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue