if (Mode == 0)
{
- // don't trust things from a savestate
rcnts[3].rate = 1;
- for( i = 0; i < CounterQuantity; ++i )
+ for( i = 0; i < CounterQuantity - 1; ++i )
{
_psxRcntWmode( i, rcnts[i].mode );
count = (psxRegs.cycle - rcnts[i].cycleStart) / rcnts[i].rate;
- _psxRcntWcount( i, count );
+ if (count > 0x1000)
+ _psxRcntWcount( i, count & 0xffff );
}
scheduleRcntBase();
psxRcntSet();