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());