public void PeriodicCallback(ulong in_cpu_tick) { switch (m_operation_state) { // Type I operation (seek) case OperationState.Seek: if (m_tvcomputer.GetTicksSince(m_operation_start_tick) > m_pending_delay) { // operation delay time is expired m_fdc_status = m_pending_status; m_reg_hw_status = m_pending_hw_status; m_fdc_track = m_pending_track; m_disk_drives[m_current_drive_index].Track = m_pending_track; m_operation_state = OperationState.None; } break; } }
public void PeriodicCallback(ulong in_cpu_tick) { // refresh joystick state if (m_tvcomputer.GetTicksSince(m_joystick_refresh_timestamp) > JOY_REFRESH_RATE) { m_joystick_refresh_timestamp = m_tvcomputer.GetCPUTicks(); m_joystick3.Update(); m_joystick4.Update(); } }