diff options
author | Determinant <ted.sybil@gmail.com> | 2017-11-14 17:38:40 -0500 |
---|---|---|
committer | Determinant <ted.sybil@gmail.com> | 2017-11-14 17:38:40 -0500 |
commit | 076dd5317af6061d916b3b119ded30dac8b5ac7e (patch) | |
tree | 6a6a5caee79f4d3a1683dc41498271d86865d83b /src/memory.rs | |
parent | dfdeb66b10c1c1af8243c475bca69839e2bdd6e8 (diff) |
fix rol ror and rendering bugs
Diffstat (limited to 'src/memory.rs')
-rw-r--r-- | src/memory.rs | 15 |
1 files changed, 13 insertions, 2 deletions
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] = [ |