spu: start offload code to TI C64x DSP
[pcsx_rearmed.git] / plugins / dfsound / freeze.c
index 0b11c10..83a7d52 100644 (file)
@@ -264,11 +264,11 @@ long CALLBACK SPUfreeze(uint32_t ulFreezeMode, SPUFreeze_t * pF,
 \r
    for(i=0;i<MAXCHAN;i++)\r
     {\r
-     save_channel(&pFO->s_chan[i],&s_chan[i],i);\r
-     if(s_chan[i].pCurr)\r
-      pFO->s_chan[i].iCurr=s_chan[i].pCurr-spu.spuMemC;\r
-     if(s_chan[i].pLoop)\r
-      pFO->s_chan[i].iLoop=s_chan[i].pLoop-spu.spuMemC;\r
+     save_channel(&pFO->s_chan[i],&spu.s_chan[i],i);\r
+     if(spu.s_chan[i].pCurr)\r
+      pFO->s_chan[i].iCurr=spu.s_chan[i].pCurr-spu.spuMemC;\r
+     if(spu.s_chan[i].pLoop)\r
+      pFO->s_chan[i].iLoop=spu.s_chan[i].pLoop-spu.spuMemC;\r
     }\r
 \r
    return 1;\r
@@ -302,7 +302,7 @@ long CALLBACK SPUfreeze(uint32_t ulFreezeMode, SPUFreeze_t * pF,
  load_register(H_CDRight, cycles);\r
 \r
  // fix to prevent new interpolations from crashing\r
- for(i=0;i<MAXCHAN;i++) s_chan[i].SB[28]=0;\r
+ for(i=0;i<MAXCHAN;i++) spu.s_chan[i].SB[28]=0;\r
 \r
  ClearWorkingState();\r
  spu.cycles_played = cycles;\r
@@ -325,8 +325,8 @@ void LoadStateV5(SPUFreeze_t * pF)
 \r
  if(pFO->spuAddr)\r
   {\r
-   spu.spuAddr = pFO->spuAddr;\r
-   if (spu.spuAddr == 0xbaadf00d) spu.spuAddr = 0;\r
+   if (pFO->spuAddr == 0xbaadf00d) spu.spuAddr = 0;\r
+   else spu.spuAddr = pFO->spuAddr & 0x7fffe;\r
   }\r
 \r
  spu.dwNewChannel=0;\r
@@ -334,10 +334,10 @@ void LoadStateV5(SPUFreeze_t * pF)
  spu.dwChannelDead=0;\r
  for(i=0;i<MAXCHAN;i++)\r
   {\r
-   load_channel(&s_chan[i],&pFO->s_chan[i],i);\r
+   load_channel(&spu.s_chan[i],&pFO->s_chan[i],i);\r
 \r
-   s_chan[i].pCurr+=(unsigned long)spu.spuMemC;\r
-   s_chan[i].pLoop+=(unsigned long)spu.spuMemC;\r
+   spu.s_chan[i].pCurr+=(unsigned long)spu.spuMemC;\r
+   spu.s_chan[i].pLoop+=(unsigned long)spu.spuMemC;\r
   }\r
 }\r
 \r
@@ -349,7 +349,7 @@ void LoadStateUnknown(SPUFreeze_t * pF, uint32_t cycles)
 \r
  for(i=0;i<MAXCHAN;i++)\r
   {\r
-   s_chan[i].pLoop=spu.spuMemC;\r
+   spu.s_chan[i].pLoop=spu.spuMemC;\r
   }\r
 \r
  spu.dwNewChannel=0;\r