summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/a7800.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/a7800.cpp')
-rw-r--r--src/mame/drivers/a7800.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/mame/drivers/a7800.cpp b/src/mame/drivers/a7800.cpp
index 83cda394676..a1aa0ad908b 100644
--- a/src/mame/drivers/a7800.cpp
+++ b/src/mame/drivers/a7800.cpp
@@ -157,6 +157,8 @@ protected:
int m_p2_one_button;
int m_bios_enabled;
+ emu_timer *m_dma_start_timer = nullptr;
+
required_device<cpu_device> m_maincpu;
required_device<tia_device> m_tia;
required_device<atari_maria_device> m_maria;
@@ -276,7 +278,7 @@ void a7800_state::tia_w(offs_t offset, uint8_t data)
TIMER_DEVICE_CALLBACK_MEMBER(a7800_state::interrupt)
{
// DMA Begins 7 cycles after hblank
- machine().scheduler().timer_set(m_maincpu->cycles_to_attotime(7), timer_expired_delegate(FUNC(a7800_state::maria_startdma), this));
+ m_dma_start_timer->adjust(m_maincpu->cycles_to_attotime(7));
m_maria->interrupt(m_lines);
}
@@ -1364,6 +1366,8 @@ void a7800_state::machine_start()
break;
}
}
+
+ m_dma_start_timer = timer_alloc(FUNC(a7800_state::maria_startdma), this);
}
void a7800_state::machine_reset()