diff --git a/src/interconnect.rs b/src/interconnect.rs index d84cf40..7430cd0 100644 --- a/src/interconnect.rs +++ b/src/interconnect.rs @@ -265,14 +265,14 @@ impl Interconnect { // TODO: if some flag set, use bios, otherwise only use rom // For now, just use bios match addr { - 0x0000..=0x100 => { - if self.disable_bootrom == 0 { + 0x0000..=0x0FF | 0x200..=0x8FF => { + if self.disable_bootrom == 0 && self.bios.len() > addr as usize { self.bios[addr as usize] } else { self.cartridge.read_byte(addr) } } - 0x100..=0x7FFF => self.cartridge.read_byte(addr), + 0x100..=0x1FF | 0x900..=0x7FFF => self.cartridge.read_byte(addr), 0x8000..=0x9FFF => self.display.read_byte(addr), 0xA000..=0xBFFF => self.cartridge.read_byte(addr), 0xC000..=0xCFFF => self.ram[(addr - 0xC000) as usize],