if ((cyc_do = SekCycleAimS68k - SekCycleCntS68k) <= 0)
return;
+ if (SekShouldInterrupt())
+ Pico_mcd->m.s68k_poll_a = 0;
+
SekCycleCntS68k += cyc_do;
#if defined(EMU_C68K)
PicoCpuCS68k.cycles = cyc_do;
static inline void pcd_run_cpus_normal(int m68k_cycles)
{
SekCycleAim += m68k_cycles;
- if (SekShouldInterrupt())
+ if (SekShouldInterrupt() || Pico_mcd->m.m68k_poll_cnt < 12)
Pico_mcd->m.m68k_poll_cnt = 0;
else if (Pico_mcd->m.m68k_poll_cnt >= 16) {
int s68k_left = pcd_sync_s68k(SekCycleAim, 1);