From 5fc92f26360ff8592d5d8dfc2cc26a7bcd5fa514 Mon Sep 17 00:00:00 2001 From: AJR Date: Fri, 10 Aug 2018 14:59:16 -0400 Subject: [PATCH] f3853: Clear interrupt requests once they are taken act5a: Fix baud rates (nw) --- src/devices/machine/f3853.cpp | 6 ++++++ src/mame/drivers/microterm_f8.cpp | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/devices/machine/f3853.cpp b/src/devices/machine/f3853.cpp index 19e5a1b388a..daa905d8471 100644 --- a/src/devices/machine/f3853.cpp +++ b/src/devices/machine/f3853.cpp @@ -93,9 +93,15 @@ void f3853_device::set_interrupt_request_line() return; if (m_external_enable && !m_priority_line && m_request_flipflop) + { + m_request_flipflop = false; m_interrupt_req_cb(external_interrupt_vector(), true); + } else if (m_timer_enable && !m_priority_line && m_request_flipflop) + { + m_request_flipflop = false; m_interrupt_req_cb(timer_interrupt_vector(), true); + } else m_interrupt_req_cb(0, false); } diff --git a/src/mame/drivers/microterm_f8.cpp b/src/mame/drivers/microterm_f8.cpp index 46502cb692d..5663edc4d90 100644 --- a/src/mame/drivers/microterm_f8.cpp +++ b/src/mame/drivers/microterm_f8.cpp @@ -122,9 +122,9 @@ TIMER_CALLBACK_MEMBER(microterm_f8_state::baud_clock) ioport_value rate = m_dsw[1]->read() ^ 0xff; if (BIT(rate, 7)) - m_baud_clock->adjust(attotime::from_hz(110 * 8), !param); + m_baud_clock->adjust(attotime::from_hz(110 * 32), !param); else - m_baud_clock->adjust(attotime::from_hz(19200 * 8 / rate), !param); + m_baud_clock->adjust(attotime::from_hz(19200 * 32 / rate), !param); } u32 microterm_f8_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)