diff --git a/src/apu.rs b/src/apu.rs index 03893a90729e9ac9c25257aaa41abd86adb0e7f9..4dac068616ebf41205a8f6c5dbd6be3c9356469a 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;