diff --git a/src/mmu.rs b/src/mmu.rs index c8d71773a55a78f9ada4620ac5b0de4a8a40d311..68d38cd38deb38fe2c47aef691ac27834c831bb5 100644 --- a/src/mmu.rs +++ b/src/mmu.rs @@ -178,6 +178,10 @@ impl Mmu { self.speed } + pub fn set_speed(&mut self, value: GameBoySpeed) { + self.speed = value; + } + pub fn set_speed_callback(&mut self, callback: fn(speed: GameBoySpeed)) { self.speed_callback = callback; } diff --git a/src/state.rs b/src/state.rs index 96c94a574fdf364f7589d4e34e3a03ece3f9a339..1858e5b31a70bc745061951e817e97ddaa189eeb 100644 --- a/src/state.rs +++ b/src/state.rs @@ -799,6 +799,9 @@ impl State for BeesCore { gb.cpu().set_ime(self.ime); gb.mmu().ie = self.ie; + // @TODO: we need to be careful about this writing and + // should make this a bit more robust, to handle this + // special case/situations gb.mmu().write_many(0xff00, &self.io_registers); gb.mmu().set_ram(self.ram.buffer.to_vec());