notaz.gp2x.de
/
pcsx_rearmed.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
unbreak some old savestates
[pcsx_rearmed.git]
/
libpcsxcore
/
psxcounters.c
diff --git
a/libpcsxcore/psxcounters.c
b/libpcsxcore/psxcounters.c
index
ab8beee
..
02191c7
100644
(file)
--- a/
libpcsxcore/psxcounters.c
+++ b/
libpcsxcore/psxcounters.c
@@
-561,6
+561,7
@@
void psxRcntInit()
s32 psxRcntFreeze( void *f, s32 Mode )
{
u32 spuSyncCount = 0;
s32 psxRcntFreeze( void *f, s32 Mode )
{
u32 spuSyncCount = 0;
+ u32 count;
s32 i;
gzfreeze( &rcnts, sizeof(Rcnt) * CounterQuantity );
s32 i;
gzfreeze( &rcnts, sizeof(Rcnt) * CounterQuantity );
@@
-573,7
+574,12
@@
s32 psxRcntFreeze( void *f, s32 Mode )
{
rcnts[3].rate = 1;
for( i = 0; i < CounterQuantity - 1; ++i )
{
rcnts[3].rate = 1;
for( i = 0; i < CounterQuantity - 1; ++i )
+ {
_psxRcntWmode( i, rcnts[i].mode );
_psxRcntWmode( i, rcnts[i].mode );
+ count = (psxRegs.cycle - rcnts[i].cycleStart) / rcnts[i].rate;
+ if (count > 0x1000)
+ _psxRcntWcount( i, count & 0xffff );
+ }
scheduleRcntBase();
psxRcntSet();
}
scheduleRcntBase();
psxRcntSet();
}