diff --git a/src/timer.rs b/src/timer.rs index 2e4bb38a1f94b3d39c55efbc4a1ff961e0a9ec63..23463381776795fd6c18e384d5bdf418e85d5951 100644 --- a/src/timer.rs +++ b/src/timer.rs @@ -29,14 +29,14 @@ impl Timer { pub fn clock(&mut self, cycles: u8) { self.div_clock += cycles as u16; - if self.div_clock >= 256 { + while self.div_clock >= 256 { self.div = self.div.wrapping_add(1); self.div_clock -= 256; } if self.tima_enabled { self.tima_clock += cycles as u16; - if self.tima_clock >= self.tima_ratio { + while self.tima_clock >= self.tima_ratio { if self.tima == 0xff { self.int_tima = true; self.tima = self.tma;