From 8b12c9308e2f4fab7b9ba0b12665a646a3175753 Mon Sep 17 00:00:00 2001 From: Angelo Salese Date: Mon, 28 Oct 2024 20:05:00 +0100 Subject: video/upd7220.cpp: command reset shouldn't touch RA parameters (#12905) --- src/devices/video/upd7220.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/devices/video/upd7220.cpp b/src/devices/video/upd7220.cpp index b302f8eff4b..f26218d3a2e 100644 --- a/src/devices/video/upd7220.cpp +++ b/src/devices/video/upd7220.cpp @@ -1182,9 +1182,14 @@ void upd7220_device::process_fifo() if (cr != COMMAND_RESET3) m_de = 0; - m_ra[0] = m_ra[1] = m_ra[2] = 0; - m_ra[3] = 0x19; + // NOTE: a reset doesn't touch anything belonging to parameters, as stated in docs. + // pc9801:mightyhd won't program sad/len but just issue a reset after BIOS + // (which originally sets len = 0x1ff) + // with this on, it will len = 400 lines, repeating the bottommost two rows in a 432 setup. + //m_ra[0] = m_ra[1] = m_ra[2] = 0; + //m_ra[3] = 0x19; m_ead = 0; + // TODO: very unlikely, should be 0xffff assuming it's even touched ... m_mask = 0; // FIFO, Command Processor and internal counters are cleared by this // - pc9801rs BIOS starts up a DMAW command that spindiz2 will dislike during its boot sequences -- cgit v1.2.3