From 076dd5317af6061d916b3b119ded30dac8b5ac7e Mon Sep 17 00:00:00 2001 From: Determinant Date: Tue, 14 Nov 2017 17:38:40 -0500 Subject: fix rol ror and rendering bugs --- src/memory.rs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'src/memory.rs') diff --git a/src/memory.rs b/src/memory.rs index 9b5f322..a3e9d70 100644 --- a/src/memory.rs +++ b/src/memory.rs @@ -84,7 +84,7 @@ impl<'a> VMem for CPUMemory<'a> { pub struct PPUMemory<'a> { pattern_table: RefCell<[u8; 0x2000]>, - nametable: RefCell<[u8; 0x1000]>, + nametable: RefCell<[u8; 0x800]>, palette: RefCell<[u8; 0x20]>, cart: &'a Cartridge, mapper: &'a VMem, @@ -95,11 +95,22 @@ impl<'a> PPUMemory<'a> { cart: &'a Cartridge) -> Self { PPUMemory{ pattern_table: RefCell::new([0; 0x2000]), - nametable: RefCell::new([0; 0x1000]), + nametable: RefCell::new([0; 0x800]), palette: RefCell::new([0; 0x20]), cart, mapper} } + + pub fn dump(&self) { + for (i, v) in self.palette.borrow().iter().enumerate() { + print!("{:02x} ", *v); + if (i & 0x7) == 0x7 {println!("@{:02x}", i)} + } + for (i, v) in self.nametable.borrow().iter().enumerate() { + print!("{:02x} ", *v); + if (i & 0x1f) == 0x1f {println!("@{:02x}", i)} + } + } } const MIRROR_IDX: [[u8; 4]; 5] = [ -- cgit v1.2.3