From 5eb4d73dc2639a3ab0b2102ee5b71972f048aa08 Mon Sep 17 00:00:00 2001 From: Lauchmelder Date: Wed, 31 Aug 2022 20:00:00 +0200 Subject: [PATCH] add ppu memory area to bus --- src/nes/bus.rs | 4 +++- src/nes/ppu.rs | 16 ++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/nes/bus.rs b/src/nes/bus.rs index 2a29314..930e9b8 100644 --- a/src/nes/bus.rs +++ b/src/nes/bus.rs @@ -42,6 +42,7 @@ impl Bus match addr { 0..=0x1FFF => self.ram[(addr & 0x7FF) as usize], + 0x2000..=0x3FFF => self.ppu.upgrade().unwrap().borrow_mut().get_regsiter(addr & 0x7), 0x8000..=0xFFFF => self.cartridge.read_prg(addr & 0x7FFF), _ => panic!("Tried to access invalid memory address ${:04X}", addr) @@ -53,9 +54,10 @@ impl Bus match addr { 0..=0x1FFF => self.ram[(addr & 0x7FF) as usize] = val, + 0x2000..=0x3FFF => self.ppu.upgrade().unwrap().borrow_mut().set_regsiter(addr & 0x7, val), 0x8000..=0xFFFF => self.cartridge.write_prg(addr & 0x7FFF, val), - _ => panic!("Tried to access invalid memory address ${:04X}", addr) + _ => { } } } } \ No newline at end of file diff --git a/src/nes/ppu.rs b/src/nes/ppu.rs index 3fa88e9..2a09fa1 100644 --- a/src/nes/ppu.rs +++ b/src/nes/ppu.rs @@ -24,6 +24,22 @@ impl PPU } } + pub fn set_regsiter(&mut self, addr: u16, val: u8) + { + match addr + { + _ => panic!("Register not implemented") + } + } + + pub fn get_regsiter(&mut self, addr: u16) -> u8 + { + match addr + { + _ => panic!("Register not implemented") + } + } + pub fn dot(&mut self) { self.screen_x += 1;