summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2021-03-02 09:22:50 -0800
committer Aaron Giles <aaron@aarongiles.com>2021-03-02 09:22:50 -0800
commitce02c7d478c9739f6670ffc592adbbe55de076c2 (patch)
tree3a09c236b353fcf7bb23d2c9efb5657664905ab8 /src/devices
parent5f520462505c1f199a26026c5554bfd318184bd5 (diff)
Revert "Fix YM synchronization in Seibu sound device."
This reverts commit c89cbcd0e599d7baca6d294e451fcd4249b4a74e.
Diffstat (limited to 'src/devices')
-rw-r--r--src/devices/sound/ymfm.cpp11
-rw-r--r--src/devices/sound/ymfm.h1
2 files changed, 0 insertions, 12 deletions
diff --git a/src/devices/sound/ymfm.cpp b/src/devices/sound/ymfm.cpp
index 4c4cc14ac48..55282f3c18b 100644
--- a/src/devices/sound/ymfm.cpp
+++ b/src/devices/sound/ymfm.cpp
@@ -1261,7 +1261,6 @@ ymfm_engine_base<RegisterType>::ymfm_engine_base(device_t &device) :
m_irq_mask(STATUS_TIMERA | STATUS_TIMERB),
m_irq_state(0),
m_busy_end(attotime::zero),
- m_last_irq_update(attotime::zero),
m_timer{ nullptr, nullptr },
m_irq_handler(device),
m_regdata(RegisterType::REGISTERS),
@@ -1633,17 +1632,7 @@ void ymfm_engine_base<RegisterType>::check_interrupts()
// if changed, signal the new state
if (old_state != m_irq_state && !m_irq_handler.isnull())
- {
- // if writes to registers aren't synchronized, it is possible to induce
- // scheduling errors handling IRQs; ensure that all IRQ handler updates
- // are monotonically increasing in time
- attotime curtime = m_device.machine().time();
- if (m_last_irq_update > curtime)
- fatalerror("IRQ signalling time went backwards; writes need to be synchronized");
- m_last_irq_update = curtime;
-
m_irq_handler(m_irq_state ? ASSERT_LINE : CLEAR_LINE);
- }
}
diff --git a/src/devices/sound/ymfm.h b/src/devices/sound/ymfm.h
index 18c0afa3d35..be9959a2ef5 100644
--- a/src/devices/sound/ymfm.h
+++ b/src/devices/sound/ymfm.h
@@ -799,7 +799,6 @@ private:
u8 m_irq_mask; // mask of which bits signal IRQs
u8 m_irq_state; // current IRQ state
attotime m_busy_end; // end of the busy time
- attotime m_last_irq_update; // time of last IRQ update
emu_timer *m_timer[2]; // our two timers
devcb_write_line m_irq_handler; // IRQ callback
std::unique_ptr<ymfm_channel<RegisterType>> m_channel[RegisterType::CHANNELS]; // channel pointers