From c75ce04f494594b86a9c42c2f81dfca09196e775 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20Magalh=C3=A3es?= <joamag@gmail.com>
Date: Wed, 29 Jun 2022 16:35:13 +0100
Subject: [PATCH] feat: moved hram to ppu

---
 src/mmu.rs | 7 ++-----
 src/ppu.rs | 3 +++
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/mmu.rs b/src/mmu.rs
index 9010d9e6..acfb3aba 100644
--- a/src/mmu.rs
+++ b/src/mmu.rs
@@ -4,7 +4,6 @@ pub const BIOS_SIZE: usize = 256;
 pub const ROM_SIZE: usize = 32768;
 pub const RAM_SIZE: usize = 8192;
 pub const ERAM_SIZE: usize = 8192;
-pub const HRAM_SIZE: usize = 128;
 
 pub struct Mmu {
     ppu: Ppu,
@@ -13,7 +12,6 @@ pub struct Mmu {
     rom: [u8; ROM_SIZE],
     ram: [u8; RAM_SIZE],
     eram: [u8; RAM_SIZE],
-    hram: [u8; HRAM_SIZE],
 }
 
 impl Mmu {
@@ -25,7 +23,6 @@ impl Mmu {
             rom: [0u8; ROM_SIZE],
             ram: [0u8; RAM_SIZE],
             eram: [0u8; ERAM_SIZE],
-            hram: [0u8; HRAM_SIZE],
         }
     }
 
@@ -81,7 +78,7 @@ impl Mmu {
                 }
                 0xf00 => {
                     if addr >= 0xff80 {
-                        self.hram[(addr & 0x7f) as usize]
+                        self.ppu.hram[(addr & 0x7f) as usize]
                     } else {
                         println!("WRITING TO IO control");
                         0x00
@@ -137,7 +134,7 @@ impl Mmu {
                 }
                 0xf00 => {
                     if addr >= 0xff80 {
-                        self.hram[(addr & 0x7f) as usize] = value;
+                        self.ppu.hram[(addr & 0x7f) as usize] = value;
                     } else {
                         println!("WRITING TO IO control");
                     }
diff --git a/src/ppu.rs b/src/ppu.rs
index ba7680ed..7e1d7e35 100644
--- a/src/ppu.rs
+++ b/src/ppu.rs
@@ -1,13 +1,16 @@
 pub const VRAM_SIZE: usize = 8192;
+pub const HRAM_SIZE: usize = 128;
 
 pub struct Ppu {
     pub vram: [u8; VRAM_SIZE],
+    pub hram: [u8; HRAM_SIZE],
 }
 
 impl Ppu {
     pub fn new() -> Ppu {
         Ppu {
             vram: [0u8; VRAM_SIZE],
+            hram: [0u8; HRAM_SIZE],
         }
     }
 }
-- 
GitLab