From 8823fa3289a0ad2969bd3426f93a62647dc5f9cd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20Magalh=C3=A3es?= <joamag@gmail.com>
Date: Thu, 16 Jun 2022 18:45:33 +0100
Subject: [PATCH] feat: initial support for PC print

---
 examples/sdl/src/main.rs | 6 ++----
 src/chip8.rs             | 8 ++++++++
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/examples/sdl/src/main.rs b/examples/sdl/src/main.rs
index 4fc2a81..0f54e62 100644
--- a/examples/sdl/src/main.rs
+++ b/examples/sdl/src/main.rs
@@ -329,15 +329,13 @@ fn main() {
             font.set_hinting(Hinting::None);
 
             let surface = font
-                .render(format!("{} Hz", state.logic_frequency).as_str())
-                .blended(Color::RGBA(255, 0, 0, 255))
+                .render(format!("PC: {:#0x?}", state.system.pc()).as_str())
+                .blended(Color::RGBA(80, 203, 147, 255))
                 .unwrap();
             let texture = texture_creator
                 .create_texture_from_surface(&surface)
                 .unwrap();
 
-            canvas.set_draw_color(Color::RGBA(195, 217, 255, 255));
-
             let TextureQuery { width, height, .. } = texture.query();
 
             canvas
diff --git a/src/chip8.rs b/src/chip8.rs
index 614f27e..da22422 100644
--- a/src/chip8.rs
+++ b/src/chip8.rs
@@ -116,6 +116,14 @@ impl Chip8 {
         self.beep
     }
 
+    pub fn pc(&self) -> u16 {
+        self.pc
+    }
+
+    pub fn sp(&self) -> u8 {
+        self.sp
+    }
+
     pub fn load_rom(&mut self, rom: &[u8]) {
         self.ram[ROM_START..ROM_START + rom.len()].clone_from_slice(rom);
     }
-- 
GitLab