diff options
Diffstat (limited to 'plugins')
| -rw-r--r-- | plugins/dfsound/freeze.c | 7 | ||||
| -rw-r--r-- | plugins/dfsound/spu.c | 2 |
2 files changed, 6 insertions, 3 deletions
diff --git a/plugins/dfsound/freeze.c b/plugins/dfsound/freeze.c index f38cfc6e..2551e608 100644 --- a/plugins/dfsound/freeze.c +++ b/plugins/dfsound/freeze.c @@ -55,6 +55,8 @@ typedef struct void LoadStateV5(SPUFreeze_t * pF); // newest version
void LoadStateUnknown(SPUFreeze_t * pF); // unknown format
+ +extern int lastch; ////////////////////////////////////////////////////////////////////////
// SPUFREEZE: called by main emu on savestate load/save
@@ -128,6 +130,9 @@ long CALLBACK SPUfreeze(uint32_t ulFreezeMode,SPUFreeze_t * pF) LoadStateV5(pF);
else LoadStateUnknown(pF);
+ spuAddr = 0xffffffff; + lastch = -1; + // repair some globals
for(i=0;i<=62;i+=2)
SPUwriteRegister(H_Reverb+i,regArea[(H_Reverb+i-0xc00)>>1]);
@@ -169,8 +174,6 @@ void LoadStateV5(SPUFreeze_t * pF) s_chan[i].iMute=0;
s_chan[i].iIrqDone=0;
}
-
- spuAddr = 0xffffffff;
}
////////////////////////////////////////////////////////////////////////
diff --git a/plugins/dfsound/spu.c b/plugins/dfsound/spu.c index 9e532cb0..3670d458 100644 --- a/plugins/dfsound/spu.c +++ b/plugins/dfsound/spu.c @@ -110,7 +110,7 @@ int iFMod[NSSIZE]; int iCycle=0; short * pS; -static int lastch=-1; // last channel processed on spu irq in timer mode +int lastch=-1; // last channel processed on spu irq in timer mode static int lastns=0; // last ns pos static int iSecureStart=0; // secure start counter |
