diff options
Diffstat (limited to 'src/devices/video/tms9927.cpp')
-rw-r--r-- | src/devices/video/tms9927.cpp | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/src/devices/video/tms9927.cpp b/src/devices/video/tms9927.cpp index 3380ad2c48c..c5653c88b13 100644 --- a/src/devices/video/tms9927.cpp +++ b/src/devices/video/tms9927.cpp @@ -293,22 +293,10 @@ READ_LINE_MEMBER(tms9927_device::bl_r) } -bool tms9927_device::screen_reset() -{ - return m_reset; -} - - -int tms9927_device::upscroll_offset() -{ - return m_start_datarow; -} - - -bool tms9927_device::cursor_bounds(rectangle &bounds) +bool tms9927_device::cursor_bounds(rectangle &bounds) const { int cursorx = CURSOR_CHAR_ADDRESS; - int cursory = CURSOR_ROW_ADDRESS; + int cursory = (CURSOR_ROW_ADDRESS + DATA_ROWS_PER_FRAME - m_start_datarow) % DATA_ROWS_PER_FRAME; bounds.min_x = cursorx * m_hpixels_per_column; bounds.max_x = bounds.min_x + m_hpixels_per_column - 1; @@ -371,8 +359,12 @@ void tms9927_device::recompute_parameters(bool postload) m_hsyn = false; if (!m_write_hsyn.isnull()) + { + m_write_hsyn(0); m_hsync_timer->adjust(screen().time_until_pos(m_vsyn_start, m_hsyn_start)); + } m_vsyn = false; + m_write_vsyn(0); m_vsync_timer->adjust(screen().time_until_pos(m_vsyn_start, m_hsyn_start)); } |