summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Olivier Galibert <galibert@pobox.com>2020-05-09 20:14:13 +0200
committer Olivier Galibert <galibert@pobox.com>2020-05-09 20:14:38 +0200
commit157a37994c2a2f88a6460d2350f6a67d2171e4ad (patch)
treebb4bec3415e1f2354145bc4bc7da40250b675ee2
parent65d8c687375230d3258df16c7345631e75dc2272 (diff)
timers: Periodic timers are not adjustable, be a little more affirmative about it [O. Galibert]
-rw-r--r--src/devices/machine/timer.h5
-rw-r--r--src/mame/drivers/nes_sh6578.cpp2
-rw-r--r--src/mame/drivers/vt1682.cpp2
-rw-r--r--src/mame/machine/vt1682_timer.cpp2
4 files changed, 6 insertions, 5 deletions
diff --git a/src/devices/machine/timer.h b/src/devices/machine/timer.h
index 64dc66f38c5..04d0f192325 100644
--- a/src/devices/machine/timer.h
+++ b/src/devices/machine/timer.h
@@ -85,7 +85,7 @@ public:
bool enabled() const { return m_timer->enabled(); }
// property setters
- void set_param(int param) const { assert(m_type == TIMER_TYPE_GENERIC); m_timer->set_param(param); }
+ void set_param(int param) const { if(m_type != TIMER_TYPE_GENERIC) fatalerror("Cannot change parameter on a non-generic timer.\n"); m_timer->set_param(param); }
void set_ptr(void *ptr) { m_ptr = ptr; }
void enable(bool enable = true) const { m_timer->enable(enable); }
@@ -93,7 +93,8 @@ public:
void reset() { adjust(attotime::never, 0, attotime::never); }
void adjust(const attotime &duration, s32 param = 0, const attotime &period = attotime::never) const
{
- assert(m_type == TIMER_TYPE_GENERIC);
+ if(m_type != TIMER_TYPE_GENERIC)
+ fatalerror("Cannot adjust a non-generic timer.\n");
m_timer->adjust(duration, param, period);
}
diff --git a/src/mame/drivers/nes_sh6578.cpp b/src/mame/drivers/nes_sh6578.cpp
index 60cf7780fac..d0db1f56e8b 100644
--- a/src/mame/drivers/nes_sh6578.cpp
+++ b/src/mame/drivers/nes_sh6578.cpp
@@ -577,7 +577,7 @@ void nes_sh6578_state::nes_sh6578(machine_config& config)
m_screen->set_visarea(0*8, 32*8-1, 0*8, 30*8-1);
m_screen->set_screen_update(FUNC(nes_sh6578_state::screen_update));
- TIMER(config, m_timer).configure_periodic(FUNC(nes_sh6578_state::timer_expired), attotime::never);
+ TIMER(config, m_timer).configure_generic(FUNC(nes_sh6578_state::timer_expired));
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/vt1682.cpp b/src/mame/drivers/vt1682.cpp
index 8791fbacba2..ae2e3653965 100644
--- a/src/mame/drivers/vt1682.cpp
+++ b/src/mame/drivers/vt1682.cpp
@@ -5487,7 +5487,7 @@ void vt_vt1682_state::vt_vt1682_palbase(machine_config& config)
void vt_vt1682_state::vt_vt1682_common(machine_config& config)
{
TIMER(config, "scantimer").configure_scanline(FUNC(vt_vt1682_state::scanline), "screen", 0, 1);
- TIMER(config, m_render_timer).configure_periodic(FUNC(vt_vt1682_state::line_render_start), attotime::never);
+ TIMER(config, m_render_timer).configure_generic(FUNC(vt_vt1682_state::line_render_start));
VT_VT1682_ALU(config, m_maincpu_alu, 0);
VT_VT1682_ALU(config, m_soundcpu_alu, 0);
diff --git a/src/mame/machine/vt1682_timer.cpp b/src/mame/machine/vt1682_timer.cpp
index 393dadf2ea8..c7d27522e6b 100644
--- a/src/mame/machine/vt1682_timer.cpp
+++ b/src/mame/machine/vt1682_timer.cpp
@@ -199,7 +199,7 @@ WRITE8_MEMBER(vrt_vt1682_timer_device::vt1682_timer_irqclear_w)
void vrt_vt1682_timer_device::device_add_mconfig(machine_config& config)
{
- TIMER(config, m_timer).configure_periodic(FUNC(vrt_vt1682_timer_device::timer_expired), attotime::never);
+ TIMER(config, m_timer).configure_generic(FUNC(vrt_vt1682_timer_device::timer_expired));
}
void vrt_vt1682_timer_device::change_clock()