From 929bd08dc8b7dd97c04723a14ca6af919870fa06 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20Magalh=C3=A3es?= <joamag@gmail.com>
Date: Sun, 5 Mar 2023 12:29:46 +0000
Subject: [PATCH] feat: initial CH4 information values

---
 src/apu.rs | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/src/apu.rs b/src/apu.rs
index 03893a90..4dac0686 100644
--- a/src/apu.rs
+++ b/src/apu.rs
@@ -59,6 +59,14 @@ pub struct Apu {
     ch3_length_stop: bool,
     ch3_enabled: bool,
 
+    ch4_timer: i16,
+    ch4_output: u8,
+    ch4_length_timer: u8,
+    ch4_output_level: u8,
+    ch4_wave_length: u16,
+    ch4_length_stop: bool,
+    ch4_enabled: bool,
+
     right_enabled: bool,
     left_enabled: bool,
 
@@ -117,9 +125,19 @@ impl Apu {
             ch3_length_stop: false,
             ch3_enabled: false,
 
+            ch4_timer: 0,
+            ch4_output: 0,
+            ch4_length_timer: 0x0,
+            ch4_output_level: 0x0,
+            ch4_wave_length: 0x0,
+            ch4_length_stop: false,
+            ch4_enabled: false,
+
             left_enabled: true,
             right_enabled: true,
 
+            /// The RAM that is used to sore the wave information
+            /// to be used in channel 3 audio
             wave_ram: [0u8; 16],
 
             sampling_rate,
@@ -179,6 +197,14 @@ impl Apu {
         self.ch3_length_stop = false;
         self.ch3_enabled = false;
 
+        self.ch4_timer = 0;
+        self.ch4_output = 0;
+        self.ch4_length_timer = 0x0;
+        self.ch4_output_level = 0x0;
+        self.ch4_wave_length = 0x0;
+        self.ch4_length_stop = false;
+        self.ch4_enabled = false;
+
         self.left_enabled = true;
         self.right_enabled = true;
 
-- 
GitLab