From fe1fe28b94f16e71d66ac58104278f215aeecad4 Mon Sep 17 00:00:00 2001 From: AJR Date: Wed, 22 Nov 2017 01:42:30 -0500 Subject: [PATCH] Don't accidentally deprive MC68681 of interrupts (nw) --- src/devices/machine/mc68681.cpp | 2 ++ src/devices/machine/mc68681.h | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/devices/machine/mc68681.cpp b/src/devices/machine/mc68681.cpp index c6717e2938b..720e20bddcd 100644 --- a/src/devices/machine/mc68681.cpp +++ b/src/devices/machine/mc68681.cpp @@ -280,6 +280,8 @@ void duart_base_device::update_interrupts() void mc68681_device::update_interrupts() { + duart_base_device::update_interrupts(); + if (!irq_pending()) m_read_vector = false; // clear IACK too } diff --git a/src/devices/machine/mc68681.h b/src/devices/machine/mc68681.h index 82a31f72b65..643d3d0bce6 100644 --- a/src/devices/machine/mc68681.h +++ b/src/devices/machine/mc68681.h @@ -165,6 +165,9 @@ protected: devcb_write8 write_outport; int32_t ip3clk, ip4clk, ip5clk, ip6clk; +protected: + virtual void update_interrupts(); + private: TIMER_CALLBACK_MEMBER( duart_timer_callback ); @@ -190,7 +193,6 @@ private: int calc_baud(int ch, uint8_t data); void clear_ISR_bits(int mask); void set_ISR_bits(int mask); - virtual void update_interrupts(); int get_ch(duart_channel *ch) {