{
int cyc_do;
pprof_start(m68k);
+ pevt_log_m68k_o(EVT_RUN_START);
SekCycleAim+=cyc;
- if ((cyc_do=SekCycleAim-SekCycleCnt) <= 0) return;
+ if ((cyc_do=SekCycleAim-SekCycleCnt) <= 0)
+ goto out;
+
#if defined(EMU_CORE_DEBUG)
// this means we do run-compare
SekCycleCnt+=CM_compareRun(cyc_do, 0);
SekCycleCnt+=fm68k_emulate(cyc_do+1, 0, 0);
#endif
+out:
+ pevt_log_m68k_o(EVT_RUN_END);
pprof_end(m68k);
}
int lines, y, lines_vis = 224, line_sample, skip, vcnt_wrap;
int hint; // Hint counter
+ pevt_log_m68k_o(EVT_FRAME_START);
pv->v_counter = Pico.m.scanline = 0;
if ((PicoOpt&POPT_ALT_RENDERER) && !PicoSkipFrame && (pv->reg[1]&0x40)) { // fast rend., display enabled
if (ym2612.dacen && PsndDacLine <= y)
PsndDoDAC(y);
#ifdef PICO_32X
- p32x_sync_sh2s(SekCycleCntT + SekCycleCnt);
+ p32x_sync_sh2s(SekCyclesDoneT2());
#endif
PsndGetSamples(y);
}
#else
if (PicoLineHook) PicoLineHook();
#endif
+ pevt_log_m68k_o(EVT_NEXT_LINE);
}
if (!skip)
}
#ifdef PICO_32X
- p32x_sync_sh2s(SekCycleCntT + SekCycleCnt);
+ p32x_sync_sh2s(SekCyclesDoneT2());
p32x_start_blank();
#endif
#else
if (PicoLineHook) PicoLineHook();
#endif
+ pevt_log_m68k_o(EVT_NEXT_LINE);
lines = scanlines_total;
vcnt_wrap = Pico.m.pal ? 0x103 : 0xEB; // based on Gens, TODO: verify
#else
if (PicoLineHook) PicoLineHook();
#endif
+ pevt_log_m68k_o(EVT_NEXT_LINE);
}
// sync z80
PsndDoDAC(lines-1);
#ifdef PICO_32X
- p32x_sync_sh2s(SekCycleCntT + SekCycleCnt);
+ p32x_sync_sh2s(SekCyclesDoneT2());
#endif
timers_cycle();