static void z80_interrupt_event_fn( libspectrum_dword tstates, int type, void *user_data ) { /* Retriggered interrupt; firstly, ignore if we're doing RZX playback as all interrupts are generated by the RZX code */ if( rzx_playback ) return; /* Otherwise, see if we actually accept an interrupt. If we do and we're doing RZX recording, store a frame */ if( z80_interrupt() ) rzx_frame(); }
static void spectrum_frame_event_fn( libspectrum_dword last_tstates, int type, void *user_data ) { if( rzx_playback ) event_force_events(); rzx_frame(); psg_frame(); spectrum_frame(); z80_interrupt(); ui_joystick_poll(); timer_estimate_speed(); debugger_add_time_events(); ui_event(); ui_error_frame(); }