mirror of
https://github.com/FranLMSP/snes.git
synced 2026-10-03 16:05:18 -04:00
Adjust lo_rom mapping
This commit is contained in:
@@ -10,6 +10,12 @@ impl LoROM {
|
|||||||
data: vec![],
|
data: vec![],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn adjust_address(address: u32) -> u32 {
|
||||||
|
let page = (address >> 16) & 0x7F;
|
||||||
|
let address = address & 0x7FFF;
|
||||||
|
(page << 16) | address
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl ROM for LoROM {
|
impl ROM for LoROM {
|
||||||
@@ -18,6 +24,7 @@ impl ROM for LoROM {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn read(&self, address: u32) -> u8 {
|
fn read(&self, address: u32) -> u8 {
|
||||||
|
let address = LoROM::adjust_address(address);
|
||||||
match self.data.get(address as usize) {
|
match self.data.get(address as usize) {
|
||||||
Some(byte) => *byte,
|
Some(byte) => *byte,
|
||||||
None => 0xFF,
|
None => 0xFF,
|
||||||
|
|||||||
Reference in New Issue
Block a user