diff options
author | 2018-06-17 17:46:18 -0400 | |
---|---|---|
committer | 2018-06-24 09:08:33 -0400 | |
commit | b3afc83bde187412269b825d052116727aa3c1bd (patch) | |
tree | 98809c6cc5d861056842a4acfac24b11a14ecc8f /src/devices/machine/6850acia.cpp | |
parent | 297b99c0faa2e70ed3fb5cc4c9ed60e40cd9af5a (diff) |
Allow passing std::unique_ptr<TYPE> directly to save_pointer and remove now-superfluous .get() in many drivers/devices (nw)
Diffstat (limited to 'src/devices/machine/6850acia.cpp')
-rw-r--r-- | src/devices/machine/6850acia.cpp | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/src/devices/machine/6850acia.cpp b/src/devices/machine/6850acia.cpp index 0671dd04ecc..6527608bf0f 100644 --- a/src/devices/machine/6850acia.cpp +++ b/src/devices/machine/6850acia.cpp @@ -16,7 +16,7 @@ MACROS ***************************************************************************/ -//#define VERBOSE 1 +#define VERBOSE 1 //#define LOG_OUTPUT_STREAM std::cout #include "logmacro.h" @@ -582,15 +582,20 @@ void acia6850_device::output_irq(int irq) { m_irq = irq; - if (irq) - { - m_status &= ~SR_IRQ; - } - else - { - m_status |= SR_IRQ; - } + machine().scheduler().synchronize(timer_expired_delegate(FUNC(acia6850_device::delayed_output_irq), this), irq); + } +} - m_irq_handler(!m_irq); +TIMER_CALLBACK_MEMBER(acia6850_device::delayed_output_irq) +{ + if (m_irq) + { + m_status &= ~SR_IRQ; + } + else + { + m_status |= SR_IRQ; } + + m_irq_handler(!m_irq); } |