X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=pico%2Fpico_cmn.c;h=9099c855d915c4cfdb2de4b42588606f186139f4;hb=19886062f1a36f70b1f01d58f3fa1b79162defac;hp=12f649f986409dfff290432d273c2959dc5ceb61;hpb=51d86e55f61c9bd989afcde1edc6272842f08d78;p=picodrive.git diff --git a/pico/pico_cmn.c b/pico/pico_cmn.c index 12f649f..9099c85 100644 --- a/pico/pico_cmn.c +++ b/pico/pico_cmn.c @@ -30,9 +30,12 @@ static __inline void SekRunM68k(int cyc) { 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); @@ -46,6 +49,8 @@ static __inline void SekRunM68k(int cyc) SekCycleCnt+=fm68k_emulate(cyc_do+1, 0, 0); #endif +out: + pevt_log_m68k_o(EVT_RUN_END); pprof_end(m68k); } @@ -55,6 +60,7 @@ static int PicoFrameHints(void) 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 @@ -144,7 +150,7 @@ static int PicoFrameHints(void) if (ym2612.dacen && PsndDacLine <= y) PsndDoDAC(y); #ifdef PICO_32X - p32x_sync_sh2s(SekCycleCntT + SekCycleCnt); + p32x_sync_sh2s(SekCyclesDoneT2()); #endif PsndGetSamples(y); } @@ -158,6 +164,7 @@ static int PicoFrameHints(void) #else if (PicoLineHook) PicoLineHook(); #endif + pevt_log_m68k_o(EVT_NEXT_LINE); } if (!skip) @@ -213,7 +220,7 @@ static int PicoFrameHints(void) } #ifdef PICO_32X - p32x_sync_sh2s(SekCycleCntT + SekCycleCnt); + p32x_sync_sh2s(SekCyclesDoneT2()); p32x_start_blank(); #endif @@ -235,6 +242,7 @@ static int PicoFrameHints(void) #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 @@ -262,6 +270,7 @@ static int PicoFrameHints(void) #else if (PicoLineHook) PicoLineHook(); #endif + pevt_log_m68k_o(EVT_NEXT_LINE); } // sync z80 @@ -271,7 +280,7 @@ static int PicoFrameHints(void) PsndDoDAC(lines-1); #ifdef PICO_32X - p32x_sync_sh2s(SekCycleCntT + SekCycleCnt); + p32x_sync_sh2s(SekCyclesDoneT2()); #endif timers_cycle();