/* This hook is called at the end of every frame. */ static void machine_vsync_hook(void) { CLOCK sub; if (vsid_mode) { unsigned int playtime; static unsigned int time = 0; playtime = (psid_increment_frames() * machine_timing.cycles_per_rfsh) / machine_timing.cycles_per_sec; if (playtime != time) { vsid_ui_display_time(playtime); time = playtime; } clk_guard_prevent_overflow(maincpu_clk_guard); return; } network_hook(); drive_vsync_hook(); autostart_advance(); screenshot_record(); sub = clk_guard_prevent_overflow(maincpu_clk_guard); /* The drive has to deal both with our overflowing and its own one, so it is called even when there is no overflowing in the main CPU. */ drivecpu_prevent_clk_overflow_all(sub); }
/* This hook is called at the end of every frame. */ static void machine_vsync_hook(void) { CLOCK sub; drive_vsync_hook(); autostart_advance(); screenshot_record(); sub = clk_guard_prevent_overflow(maincpu_clk_guard); /* The drive has to deal both with our overflowing and its own one, so it is called even when there is no overflowing in the main CPU. */ drive_cpu_prevent_clk_overflow_all(sub); }