diff --git a/src/dev/mc146818.cc b/src/dev/mc146818.cc --- a/src/dev/mc146818.cc +++ b/src/dev/mc146818.cc @@ -127,8 +127,11 @@ { assert(!event.scheduled()); assert(!tickEvent.scheduled()); - schedule(event, curTick() + event.offset); - schedule(tickEvent, curTick() + tickEvent.offset); + + if (stat_regB.pie) + schedule(event, curTick() + event.offset); + if (!rega_dv_disabled(stat_regA)) + schedule(tickEvent, curTick() + tickEvent.offset); } void