aboutsummaryrefslogtreecommitdiff
path: root/src/memory.rs
diff options
context:
space:
mode:
authorDeterminant <ted.sybil@gmail.com>2017-11-14 17:38:40 -0500
committerDeterminant <ted.sybil@gmail.com>2017-11-14 17:38:40 -0500
commit076dd5317af6061d916b3b119ded30dac8b5ac7e (patch)
tree6a6a5caee79f4d3a1683dc41498271d86865d83b /src/memory.rs
parentdfdeb66b10c1c1af8243c475bca69839e2bdd6e8 (diff)
fix rol ror and rendering bugs
Diffstat (limited to 'src/memory.rs')
-rw-r--r--src/memory.rs15
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] = [