summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/mb87030.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/mb87030.cpp')
-rw-r--r--src/devices/machine/mb87030.cpp24
1 files changed, 11 insertions, 13 deletions
diff --git a/src/devices/machine/mb87030.cpp b/src/devices/machine/mb87030.cpp
index 63fd4b67272..8cafde3ba11 100644
--- a/src/devices/machine/mb87030.cpp
+++ b/src/devices/machine/mb87030.cpp
@@ -132,18 +132,16 @@ void mb87030_device::update_state(mb87030_device::State new_state, int delay, in
m_timer->reset();
}
-void mb87030_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
+TIMER_CALLBACK_MEMBER(mb87030_device::timeout)
{
- switch(id) {
- case TimerId::Delay:
- m_delay_timer->reset();
- step(false);
- break;
- case TimerId::Timeout:
- m_timer->reset();
- step(true);
- break;
- }
+ m_timer->reset();
+ step(true);
+}
+
+TIMER_CALLBACK_MEMBER(mb87030_device::delay_timeout)
+{
+ m_delay_timer->reset();
+ step(false);
}
void mb87030_device::scsi_command_complete()
@@ -432,8 +430,8 @@ void mb87030_device::step(bool timeout)
void mb87030_device::device_start()
{
- m_timer = timer_alloc(TimerId::Timeout);
- m_delay_timer = timer_alloc(TimerId::Delay);
+ m_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(mb87030_device::timeout), this));
+ m_delay_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(mb87030_device::delay_timeout), this));
m_irq_handler.resolve_safe();
m_dreq_handler.resolve_safe();