diff --git a/pcsx2/Gif.cpp b/pcsx2/Gif.cpp index 99160ceebe..ccf1359082 100644 --- a/pcsx2/Gif.cpp +++ b/pcsx2/Gif.cpp @@ -103,7 +103,7 @@ static u32 WRITERING_DMA(u32 *pMem, u32 qwc) memcpy_aligned(pgsmem, pMem, size<<4); GetMTGS().SendDataPacket(); - return size; + return size>>2; } static u32 WRITERING_DMA(tDMA_TAG *pMem, u32 qwc) diff --git a/pcsx2/R3000A.cpp b/pcsx2/R3000A.cpp index d1207bc0f9..b6e4ebf5a8 100644 --- a/pcsx2/R3000A.cpp +++ b/pcsx2/R3000A.cpp @@ -171,7 +171,10 @@ __forceinline void PSX_INT( IopEventId n, s32 ecycle ) // Exception: IRQ16 - SIO - it drops ints like crazy when handling PAD stuff. if( /*n!=16 &&*/ psxRegs.interrupt & (1< Twice-thrown int on IRQ %d", n ); - + + // 19 is CDVD read int, it's supposed to be high. + //if (ecycle > 8192 && n != 19) DevCon.Warning( "IOP cycles high: %d, n %d", ecycle, n ); + psxRegs.interrupt |= 1 << n; psxRegs.sCycle[n] = psxRegs.cycle; diff --git a/pcsx2/R5900.cpp b/pcsx2/R5900.cpp index 489a72a610..fdf07022c0 100644 --- a/pcsx2/R5900.cpp +++ b/pcsx2/R5900.cpp @@ -539,6 +539,8 @@ __forceinline void CPU_INT( u32 n, s32 ecycle) DevCon.Warning( "***** EE > Twice-thrown int on IRQ %d", n ); } + //if (ecycle > 8192) DevCon.Warning( "EE cycles high: %d, n %d", ecycle, n ); + cpuRegs.interrupt|= 1 << n; cpuRegs.sCycle[n] = cpuRegs.cycle; cpuRegs.eCycle[n] = ecycle;