aboutsummaryrefslogtreecommitdiff
path: root/plugins/dfsound/freeze.c
diff options
context:
space:
mode:
authorTwinaphex2015-02-06 09:39:11 +0100
committerTwinaphex2015-02-06 09:39:11 +0100
commit40dabc0b86e98a2f9b754692bd98404d038f6bce (patch)
tree27a148679e25f6edb7a2dd85c54514139bb72450 /plugins/dfsound/freeze.c
parentcebb70f24ab54693b12aaa27b85a52689e26e1ff (diff)
parent2af7e74feec67c0a798ac190774cb4b3e925be76 (diff)
downloadpcsx_rearmed-40dabc0b86e98a2f9b754692bd98404d038f6bce.tar.gz
pcsx_rearmed-40dabc0b86e98a2f9b754692bd98404d038f6bce.tar.bz2
pcsx_rearmed-40dabc0b86e98a2f9b754692bd98404d038f6bce.zip
Merge pull request #14 from notaz/for_libretro
r22 merge
Diffstat (limited to 'plugins/dfsound/freeze.c')
-rw-r--r--plugins/dfsound/freeze.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/plugins/dfsound/freeze.c b/plugins/dfsound/freeze.c
index 5b4267b..43e6535 100644
--- a/plugins/dfsound/freeze.c
+++ b/plugins/dfsound/freeze.c
@@ -231,6 +231,8 @@ long CALLBACK SPUfreeze(uint32_t ulFreezeMode, SPUFreeze_t * pF,
if(!pF) return 0; // first check
+ do_samples(cycles, 1);
+
if(ulFreezeMode) // info or save?
{//--------------------------------------------------//
if(ulFreezeMode==1)
@@ -242,8 +244,6 @@ long CALLBACK SPUfreeze(uint32_t ulFreezeMode, SPUFreeze_t * pF,
if(ulFreezeMode==2) return 1; // info mode? ok, bye
// save mode:
- do_samples(cycles, 1);
-
memcpy(pF->cSPURam,spu.spuMem,0x80000); // copy common infos
memcpy(pF->cSPUPort,spu.regArea,0x200);
@@ -279,6 +279,7 @@ long CALLBACK SPUfreeze(uint32_t ulFreezeMode, SPUFreeze_t * pF,
memcpy(spu.spuMem,pF->cSPURam,0x80000); // get ram
memcpy(spu.regArea,pF->cSPUPort,0x200);
+ spu.bMemDirty = 1;
if(pF->xaS.nsamples<=4032) // start xa again
SPUplayADPCMchannel(&pF->xaS);