bugfix + some tweaks
[picodrive.git] / pico / sound / sound.c
index daf62b0..2b61fc9 100644 (file)
@@ -131,14 +131,15 @@ void PsndRerate(int preserve_state)
   }\r
 \r
   if (preserve_state) {\r
-    state = malloc(0x200);\r
+    state = malloc(0x204);\r
     if (state == NULL) return;\r
-    memcpy(state, YM2612GetRegs(), 0x200);\r
+    ym2612_pack_state();\r
+    memcpy(state, YM2612GetRegs(), 0x204);\r
   }\r
   YM2612Init(Pico.m.pal ? OSC_PAL/7 : OSC_NTSC/7, PsndRate);\r
   if (preserve_state) {\r
     // feed it back it's own registers, just like after loading state\r
-    memcpy(YM2612GetRegs(), state, 0x200);\r
+    memcpy(YM2612GetRegs(), state, 0x204);\r
     ym2612_unpack_state();\r
     if ((PicoAHW & PAHW_MCD) && !(Pico_mcd->s68k_regs[0x36] & 1) && (Pico_mcd->scd.Status_CDC & 1))\r
       cdda_start_play();\r