cd: fix copy-paste bug, comm issue
[picodrive.git] / pico / cd / mcd.c
index ef8d8f2..3f6afa5 100644 (file)
@@ -327,6 +327,7 @@ void pcd_state_loaded(void)
   memset(Pico_mcd->pcm_mixbuf, 0, sizeof(Pico_mcd->pcm_mixbuf));
   Pico_mcd->pcm_mixbuf_dirty = 0;
   Pico_mcd->pcm_mixpos = 0;
+  Pico_mcd->pcm_regs_dirty = 1;
 
   // old savestates..
   cycles = pcd_cycles_m68k_to_s68k(SekCycleAim);
@@ -344,7 +345,9 @@ void pcd_state_loaded(void)
     if (Pico_mcd->scd.Status_CDC & 0x08)
            Update_CDC_TRansfer(Pico_mcd->s68k_regs[4] & 7);
   }
-  if (Pico_mcd->pcm.update_cycles == 0)
+
+  diff = cycles - Pico_mcd->pcm.update_cycles;
+  if ((unsigned int)diff > 12500000/50)
     Pico_mcd->pcm.update_cycles = cycles;
 
   // reschedule