diff options
author | 2019-03-22 12:40:24 -0400 | |
---|---|---|
committer | 2019-03-22 12:41:30 -0400 | |
commit | 79d02cf7df965b6003bbe0a22c1760bf42a5f4bf (patch) | |
tree | f8057002c0dd3a16b1bc16b2199f388c5533252f | |
parent | 5a09b0feb26eac64e293d523e3465fa93e38589f (diff) |
mc68307: Add override for RESET instruction (nw)
-rw-r--r-- | src/devices/machine/68307.cpp | 8 | ||||
-rw-r--r-- | src/devices/machine/68307.h | 2 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/devices/machine/68307.cpp b/src/devices/machine/68307.cpp index 3d670d40e4a..ae13e090488 100644 --- a/src/devices/machine/68307.cpp +++ b/src/devices/machine/68307.cpp @@ -90,6 +90,14 @@ void m68307_cpu_device::device_reset() set_ipl(0); } +void m68307_cpu_device::m68k_reset_peripherals() +{ + m_duart->reset(); + + if (m_m68307MBUS) m_m68307MBUS->reset(); + if (m_m68307TIMER) m_m68307TIMER->reset(); +} + /* todo: is it possible to calculate the address map based on CS when they change and install handlers? Going through this logic for every memory access is diff --git a/src/devices/machine/68307.h b/src/devices/machine/68307.h index 591d0c9cced..6d5ef10b61c 100644 --- a/src/devices/machine/68307.h +++ b/src/devices/machine/68307.h @@ -44,6 +44,8 @@ protected: virtual uint32_t execute_min_cycles() const override { return 4; } virtual uint32_t execute_max_cycles() const override { return 158; } + virtual void m68k_reset_peripherals() override; + private: void set_ipl(int level); DECLARE_WRITE_LINE_MEMBER(timer0_interrupt); |