diff --git a/src/snes/cartridge.rs b/src/snes/cartridge.rs index c876f44..a1b7f06 100644 --- a/src/snes/cartridge.rs +++ b/src/snes/cartridge.rs @@ -199,7 +199,7 @@ impl BusMember
for Cartridge { // LoROM SRAM (0x70..=0x7D, 0x0000..=0x7FFF) if !self.hirom => { - Some(self.ram[(bank - 0x70) * 0x8000 + addr]) + Some(self.ram[(bank - 0x70) * 0x8000 + addr & self.ram_mask]) } // HiROM @@ -220,7 +220,7 @@ impl BusMember
for Cartridge { // LoROM SRAM (0x70..=0x7D, 0x0000..=0x7FFF) if !self.hirom => { - Some(self.ram[(bank - 0x70) * 0x8000 + addr] = val) + Some(self.ram[(bank - 0x70) * 0x8000 + addr & self.ram_mask] = val) } _ => None, diff --git a/src/snes/cpu_spc700/cpu.rs b/src/snes/cpu_spc700/cpu.rs index 0d8510c..2a8b2b2 100644 --- a/src/snes/cpu_spc700/cpu.rs +++ b/src/snes/cpu_spc700/cpu.rs @@ -286,7 +286,8 @@ where InstructionType::TSET1 => self.op_tsetclr1(instr, true), InstructionType::TCLR1 => self.op_tsetclr1(instr, false), - InstructionType::SLEEP | InstructionType::STOP => panic!("SPC700 halted!"), + InstructionType::SLEEP => panic!("SPC700 hit SLEEP!"), + InstructionType::STOP => panic!("SPC700 hit STOP!"), } }