put chr-ram back in mmc1
This commit is contained in:
parent
413d9454a4
commit
ea70b592ce
|
@ -114,6 +114,9 @@ impl Mapper for Mmc1 {
|
||||||
fn read(&mut self, address: usize) -> u8 {
|
fn read(&mut self, address: usize) -> u8 {
|
||||||
match address {
|
match address {
|
||||||
0x0000..=0x1FFF => {
|
0x0000..=0x1FFF => {
|
||||||
|
if self.cart.chr_rom_size == 0 {
|
||||||
|
self.chr_ram_bank[address]
|
||||||
|
} else {
|
||||||
let offset = address % 0x1000;
|
let offset = address % 0x1000;
|
||||||
if self.chr_bank_mode {
|
if self.chr_bank_mode {
|
||||||
// if 4K bank mode, $0000-$0FFF will be a 4K-indexed section of some CHR-ROM chunk referred to by chr_low_bank
|
// if 4K bank mode, $0000-$0FFF will be a 4K-indexed section of some CHR-ROM chunk referred to by chr_low_bank
|
||||||
|
@ -130,6 +133,7 @@ impl Mapper for Mmc1 {
|
||||||
// if we're in 8K bank mode, the whole $0000-$1FFF region will be the 8K range referred to by chr_low_bank
|
// if we're in 8K bank mode, the whole $0000-$1FFF region will be the 8K range referred to by chr_low_bank
|
||||||
self.cart.chr_rom[self.chr_low_bank][address]
|
self.cart.chr_rom[self.chr_low_bank][address]
|
||||||
}
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
0x6000..=0x7FFF => self.prg_ram_bank[address % 0x2000],
|
0x6000..=0x7FFF => self.prg_ram_bank[address % 0x2000],
|
||||||
0x8000..=0xBFFF => {
|
0x8000..=0xBFFF => {
|
||||||
|
|
|
@ -156,7 +156,6 @@ impl Cpu {
|
||||||
self.apu.trigger_irq = false;
|
self.apu.trigger_irq = false;
|
||||||
// and mapper MMC3
|
// and mapper MMC3
|
||||||
if self.mapper.borrow_mut().check_irq() && (self.P & INTERRUPT_DISABLE_FLAG == 0) {
|
if self.mapper.borrow_mut().check_irq() && (self.P & INTERRUPT_DISABLE_FLAG == 0) {
|
||||||
// println!("firing IRQ from mapper");
|
|
||||||
self.irq();
|
self.irq();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue