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
frontend: savestate autoload support
[pcsx_rearmed.git]
/
plugins
/
dfsound
/
freeze.c
diff --git
a/plugins/dfsound/freeze.c
b/plugins/dfsound/freeze.c
index
b865b84
..
d38faa6
100644
(file)
--- a/
plugins/dfsound/freeze.c
+++ b/
plugins/dfsound/freeze.c
@@
-307,6
+307,9
@@
long CALLBACK SPUfreeze(uint32_t ulFreezeMode, SPUFreeze_t * pF,
ClearWorkingState();
\r
spu.cycles_played = cycles;
\r
\r
ClearWorkingState();
\r
spu.cycles_played = cycles;
\r
\r
+ if (spu.spuCtrl & CTRL_IRQ)
\r
+ schedule_next_irq();
\r
+
\r
return 1;
\r
}
\r
\r
return 1;
\r
}
\r
\r
@@
-318,7
+321,7
@@
void LoadStateV5(SPUFreeze_t * pF)
\r
pFO=(SPUOSSFreeze_t *)(pF+1);
\r
\r
\r
pFO=(SPUOSSFreeze_t *)(pF+1);
\r
\r
-
if(pFO->pSpuIrq) spu.pSpuIrq = spu.spuMemC+((long)pFO->pSpuIrq&0x7fff0); else spu.pSpuIrq=NULL
;
\r
+
spu.pSpuIrq = spu.spuMemC + ((spu.regArea[(H_SPUirqAddr - 0x0c00) / 2] << 3) & ~0xf)
;
\r
\r
if(pFO->spuAddr)
\r
{
\r
\r
if(pFO->spuAddr)
\r
{
\r
@@
-353,7
+356,7
@@
void LoadStateUnknown(SPUFreeze_t * pF, uint32_t cycles)
spu.dwNewChannel=0;
\r
spu.dwChannelOn=0;
\r
spu.dwChannelDead=0;
\r
spu.dwNewChannel=0;
\r
spu.dwChannelOn=0;
\r
spu.dwChannelDead=0;
\r
- spu.pSpuIrq=
0
;
\r
+ spu.pSpuIrq=
spu.spuMemC
;
\r
\r
for(i=0;i<0xc0;i++)
\r
{
\r
\r
for(i=0;i<0xc0;i++)
\r
{
\r