summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/schedule.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/schedule.cpp')
-rw-r--r--src/emu/schedule.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/emu/schedule.cpp b/src/emu/schedule.cpp
index d281446d6c6..e2b1497995f 100644
--- a/src/emu/schedule.cpp
+++ b/src/emu/schedule.cpp
@@ -460,8 +460,12 @@ void device_scheduler::timeslice()
delta += ATTOSECONDS_PER_SECOND;
assert(delta == (target - exec->m_localtime).as_attoseconds());
+ if (exec->m_attoseconds_per_cycle == 0)
+ {
+ exec->m_localtime = target;
+ }
// if we have enough for at least 1 cycle, do the math
- if (delta >= exec->m_attoseconds_per_cycle)
+ else if (delta >= exec->m_attoseconds_per_cycle)
{
// compute how many cycles we want to execute
int ran = exec->m_cycles_running = divu_64x32(u64(delta) >> exec->m_divshift, exec->m_divisor);