183,185c183
< Tick nextTick = curTick + cycles(1) - 1;
< nextTick -= (nextTick % (cycles(1)));
< tickEvent.schedule(nextTick);
---
> tickEvent.schedule(nextCycle());
214,216c212
< Tick nextTick = curTick + cycles(1) - 1;
< nextTick -= (nextTick % (cycles(1)));
< tickEvent.schedule(nextTick);
---
> tickEvent.schedule(nextCycle());
234,236c230
< Tick nextTick = curTick + cycles(delay + 1) - 1;
< nextTick -= (nextTick % (cycles(1)));
< tickEvent.schedule(nextTick);
---
> tickEvent.schedule(nextCycle(curTick + cycles(delay)));