diff --git a/bin/GameIndex.dbf b/bin/GameIndex.dbf index 7f9fbe3177..547249a5d2 100644 --- a/bin/GameIndex.dbf +++ b/bin/GameIndex.dbf @@ -29985,16 +29985,7 @@ Region = PAL-Unk Serial = SLES-50358 Name = Devil May Cry Region = PAL-E -Compat = 3 -[patches = 7D8F539A] - - //Skip Videos - patch=0,EE,0015BC78,word,00000000 - patch=0,EE,001CE340,word,03E00008 - patch=0,EE,001CE344,word,00000000 - patch=0,EE,001CE8EC,word,70001428 - -[/patches] +Compat = 5 --------------------------------------------- Serial = SLES-50362 Name = Jonny Moseley Mad Trix diff --git a/pcsx2/Vif1_MFIFO.cpp b/pcsx2/Vif1_MFIFO.cpp index 012d01699f..65838ed793 100644 --- a/pcsx2/Vif1_MFIFO.cpp +++ b/pcsx2/Vif1_MFIFO.cpp @@ -142,9 +142,12 @@ void mfifoVIF1transfer(int qwc) if (vif1.inprogress & 0x10) { if (vif1ch->madr >= dmacRegs->rbor.ADDR && vif1ch->madr <= (dmacRegs->rbor.ADDR + dmacRegs->rbsr.RMSK)) - CPU_INT(DMAC_MFIFO_VIF, 0); + CPU_INT(DMAC_MFIFO_VIF, 1); else - CPU_INT(DMAC_MFIFO_VIF, vif1ch->qwc * BIAS); + { + // Minor hack. Please ask before removal (rama) (FF7 Dirge of Cerberus) + CPU_INT(DMAC_MFIFO_VIF, min( 386, (int)(vif1ch->qwc * BIAS) ) ); + } vif1Regs->stat.FQC = 0x10; // FQC=16 } @@ -293,15 +296,18 @@ void vifMFIFOInterrupt() mfifoVIF1transfer(0); if ((vif1ch->madr >= dmacRegs->rbor.ADDR) && (vif1ch->madr <= (dmacRegs->rbor.ADDR + dmacRegs->rbsr.RMSK))) - CPU_INT(DMAC_MFIFO_VIF, 0); + CPU_INT(DMAC_MFIFO_VIF, 1); else - CPU_INT(DMAC_MFIFO_VIF, vif1ch->qwc * BIAS); + { + // Minor hack. Please ask before removal (rama) (FF7 Dirge of Cerberus) + CPU_INT(DMAC_MFIFO_VIF, min( 386, (int)(vif1ch->qwc * BIAS) ) ); + } return; case 1: //Transfer data mfifo_VIF1chain(); - CPU_INT(DMAC_MFIFO_VIF, 0); + CPU_INT(DMAC_MFIFO_VIF, 1); return; } return; diff --git a/pcsx2/x86/microVU_Misc.h b/pcsx2/x86/microVU_Misc.h index 1e43c41bad..0d957437c7 100644 --- a/pcsx2/x86/microVU_Misc.h +++ b/pcsx2/x86/microVU_Misc.h @@ -301,7 +301,7 @@ typedef u32 (__fastcall *mVUCall)(void*, void*); #define mVUcacheCheck(ptr, start, limit) { \ uptr diff = ptr - start; \ if (diff >= limit) { \ - Console.WriteLn("microVU%d: Program cache limit reached. Size = 0x%x", mVU->index, diff); \ + DevCon.WriteLn("microVU%d: Program cache limit reached. Size = 0x%x", mVU->index, diff); \ mVUresizeCache(mVU, mVU->cacheSize + mVUcacheGrowBy); \ } \ }