diff --git a/pcsx2/SPR.cpp b/pcsx2/SPR.cpp index 8b07a4a256..cc59aadb28 100644 --- a/pcsx2/SPR.cpp +++ b/pcsx2/SPR.cpp @@ -120,7 +120,7 @@ int _SPR0chain() __fi void SPR0chain() { int cycles = 0; - cycles = _SPR0chain() / BIAS; + cycles = _SPR0chain() * BIAS; CPU_INT(DMAC_FROM_SPR, cycles); } @@ -136,7 +136,7 @@ void _SPR0interleave() SPR_LOG("SPR0 interleave size=%d, tqwc=%d, sqwc=%d, addr=%lx sadr=%lx", spr0ch.qwc, tqwc, sqwc, spr0ch.madr, spr0ch.sadr); - CPU_INT(DMAC_FROM_SPR, qwc / BIAS); + CPU_INT(DMAC_FROM_SPR, qwc * BIAS); while (qwc > 0) { @@ -360,7 +360,7 @@ __fi void SPR1chain() int cycles = 0; if(!CHECK_IPUWAITHACK) { - cycles = _SPR1chain() / BIAS; + cycles = _SPR1chain() * BIAS; CPU_INT(DMAC_TO_SPR, cycles); } else @@ -380,7 +380,7 @@ void _SPR1interleave() if (tqwc == 0) tqwc = qwc; SPR_LOG("SPR1 interleave size=%d, tqwc=%d, sqwc=%d, addr=%lx sadr=%lx", spr1ch.qwc, tqwc, sqwc, spr1ch.madr, spr1ch.sadr); - CPU_INT(DMAC_TO_SPR, qwc / BIAS); + CPU_INT(DMAC_TO_SPR, qwc * BIAS); while (qwc > 0) { spr1ch.qwc = std::min(tqwc, qwc);