+static void SekSyncM68k(void);
+
+static void pcd_run_cpus(int m68k_cycles)
+{
+ SekCycleAim += m68k_cycles;
+ if (Pico_mcd->m.m68k_poll_cnt >= 16 && !SekShouldInterrupt()) {
+ int s68k_left = pcd_sync_s68k(SekCycleAim, 1);
+ if (s68k_left <= 0) {
+ elprintf(EL_CDPOLL, "m68k poll [%02x] %d @%06x",
+ Pico_mcd->m.m68k_poll_a, Pico_mcd->m.m68k_poll_cnt, SekPc);
+ SekCycleCnt = SekCycleAim;
+ return;
+ }
+ SekCycleCnt = SekCycleAim - (s68k_left * 40220 >> 16);
+ }
+
+ SekSyncM68k();
+}
+