summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/video/fixfreq.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/video/fixfreq.h')
-rw-r--r--src/devices/video/fixfreq.h27
1 files changed, 20 insertions, 7 deletions
diff --git a/src/devices/video/fixfreq.h b/src/devices/video/fixfreq.h
index d85056d874b..6e758ec4ffa 100644
--- a/src/devices/video/fixfreq.h
+++ b/src/devices/video/fixfreq.h
@@ -84,7 +84,8 @@ struct fixedfreq_monitor_state
m_vsync_filter_timeconst(0),
m_sig_vsync(0),
m_sig_composite(0),
- m_sig_field(0)
+ m_sig_field(0),
+ m_min_frame_period(time_type(0))
{}
/***
@@ -124,17 +125,29 @@ struct fixedfreq_monitor_state
//LOG("trigger %f with len %f\n", m_vsync_threshold, 1e6 / m_vsync_filter_timeconst);
m_clock_period = 1.0 / m_desc.m_monitor_clock;
- m_intf.vsync_start_cb(m_clock_period * m_desc.m_vbackporch * m_desc.m_hbackporch);
+ // Minimum frame period to be passed to video system ?
+ m_min_frame_period = 0.25 * m_clock_period * m_desc.m_vbackporch * m_desc.m_hbackporch;
+ m_intf.vsync_start_cb(m_min_frame_period);
}
void reset()
{
- m_last_sync_time = time_type(0);
- m_line_time = time_type(0);
- m_last_hsync_time = time_type(0);
- m_last_vsync_time = time_type(0);
+ m_sync_signal = 0;
+ m_col = 0;
+ m_last_x = 0;
+ m_last_y = 0;
+ //m_last_sync_time = time_type(0);
+ //m_line_time = time_type(0);
+ //m_last_hsync_time = time_type(0);
+ //m_last_vsync_time = time_type(0);
+ //m_clock_period = time_type(0);
m_vsync_filter = 0;
+ //m_vsync_threshold = 0;
+ //m_vsync_filter_timeconst = 0;
+ m_sig_vsync = 0;
+ m_sig_composite = 0;
+ m_sig_field = 0;
}
void update_sync_channel(const time_type &time, const double newval);
@@ -166,7 +179,7 @@ struct fixedfreq_monitor_state
int m_sig_vsync;
int m_sig_composite;
int m_sig_field;
-
+ time_type m_min_frame_period;
};
// ======================> fixedfreq_device