コード例 #1
0
        /***
         * \brief To be called after monitor parameters are set
         */
        public void start()
        {
            // FIXME: once moved to netlist this may no longer be necessary.
            //        Only copies constructor init

            m_last_sync_val   = 0.0;
            m_col             = new rgb_t(0, 0, 0);
            m_last_x          = 0;
            m_last_y          = 0;
            m_last_sync_time  = (fixedfreq_monitor_state_time_type)0;
            m_line_time       = (fixedfreq_monitor_state_time_type)0;
            m_last_hsync_time = (fixedfreq_monitor_state_time_type)0;
            m_last_vsync_time = (fixedfreq_monitor_state_time_type)0;

            /* sync separator */
            m_vsync_filter = 0.0;

            m_sig_vsync     = 0;
            m_sig_composite = 0;
            m_sig_field     = 0;

            // htotal = m_desc.m_hbackporch;
            // vtotal = m_desc.m_vbackporch;

            /* sync separator */

            //m_vsync_threshold = (exp(- 3.0/(3.0+3.0))) - exp(-1.0);
            //printf("trigger %f with len %f\n", m_vsync_threshold, 1e6 / m_vsync_filter_timeconst);
            // Minimum frame period to be passed to video system ?

            m_fragments.clear();

            m_intf.vsync_end_cb(m_desc.clock_period() * m_desc.vtotal() * m_desc.htotal());
        }
コード例 #2
0
        // device-level overrides
        protected override void device_config_complete()
        {
            if (!m_divideo.has_screen())
            {
                return;
            }

            if (m_divideo.screen().refresh_attoseconds() == 0)
            {
                m_divideo.screen().set_raw(m_monitor.m_monitor_clock, (u16)m_monitor.htotal(), 0,
                                           (u16)m_monitor.htotal(), (u16)m_monitor.vtotal(), 0,
                                           (u16)m_monitor.vtotal());
            }

            if (!m_divideo.screen().has_screen_update())
            {
                m_divideo.screen().set_screen_update(screen_update);
            }

            LOG("config complete\n");
        }