summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/devices/machine/ncr5380.cpp5
-rw-r--r--src/devices/machine/z80scc.cpp1
-rw-r--r--src/mame/apple/vasp.cpp2
3 files changed, 8 insertions, 0 deletions
diff --git a/src/devices/machine/ncr5380.cpp b/src/devices/machine/ncr5380.cpp
index 96a1c549bf7..ec7e2c412b3 100644
--- a/src/devices/machine/ncr5380.cpp
+++ b/src/devices/machine/ncr5380.cpp
@@ -72,6 +72,11 @@ void ncr5380_device::device_start()
m_irq_handler.resolve_safe();
m_drq_handler.resolve_safe();
+ // Need to be cleared here so that set_irq/drq called from reset
+ // does not compare with uninitialized
+ m_irq_state = false;
+ m_drq_state = false;
+
m_state_timer = timer_alloc(FUNC(ncr5380_device::state_timer), this);
save_item(NAME(m_state));
diff --git a/src/devices/machine/z80scc.cpp b/src/devices/machine/z80scc.cpp
index 848f95c8c23..020b2678bfd 100644
--- a/src/devices/machine/z80scc.cpp
+++ b/src/devices/machine/z80scc.cpp
@@ -416,6 +416,7 @@ inline void z80scc_channel::out_dtr_cb(int state)
z80scc_device::z80scc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t variant)
: device_t(mconfig, type, tag, owner, clock),
device_z80daisy_interface(mconfig, *this),
+ m_wr9(0),
m_chanA(*this, CHANA_TAG),
m_chanB(*this, CHANB_TAG),
m_rxca(0),
diff --git a/src/mame/apple/vasp.cpp b/src/mame/apple/vasp.cpp
index 5ec5c812b91..00c05b903af 100644
--- a/src/mame/apple/vasp.cpp
+++ b/src/mame/apple/vasp.cpp
@@ -166,6 +166,8 @@ void vasp_device::device_reset()
m_pseudovia_regs[1] = 0x06;
m_pseudovia_regs[2] = 0x7f;
m_pseudovia_regs[3] = 0;
+ m_pseudovia_ier = 0;
+ m_pseudovia_ifr = 0;
m_via_interrupt = m_via2_interrupt = m_scc_interrupt = 0;
m_last_taken_interrupt = -1;