Esempio n. 1
0
        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;
            }
        }
Esempio n. 2
0
        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();
            }
        }