From d675f94dc16226c414e1e2935867bcf63526758b Mon Sep 17 00:00:00 2001 From: AJR Date: Sun, 10 Feb 2019 23:06:40 -0500 Subject: scn2674: Fix line counter desyncing in pcx (nw) --- src/devices/video/scn2674.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/devices/video/scn2674.cpp b/src/devices/video/scn2674.cpp index 8957171848f..2ef9434bc02 100644 --- a/src/devices/video/scn2674.cpp +++ b/src/devices/video/scn2674.cpp @@ -728,6 +728,9 @@ void scn2674_device::write_delayed_command(uint8_t data) case 0xbb: // write from cursor address to pointer address // TODO: transfer only during blank + m_display_enabled = false; + m_display_enabled_field = true; + m_display_enabled_scanline = false; for (i = m_cursor_address; i != m_screen2_address; i = ((i + 1) & 0xffff)) { m_char_space->write_byte(i, m_char_buffer); @@ -780,7 +783,6 @@ void scn2674_device::write_command(uint8_t data) m_IR_pointer = 0; m_irq_register = 0x00; m_status_register = 0x20; // RDFLG activated - m_linecounter = 0; m_irq_mask = 0x00; m_gfx_enabled = false; m_display_enabled = false; @@ -788,6 +790,10 @@ void scn2674_device::write_command(uint8_t data) m_cursor_enabled = false; m_use_row_table = false; m_intr_cb(CLEAR_LINE); + m_breq_cb(CLEAR_LINE); + m_mbc_cb(0); + m_breq_timer->adjust(attotime::never); + m_vblank_timer->adjust(attotime::never); } else { -- cgit v1.2.3