fix(apu): disable APU writes when APU is disabled
This commit is contained in:
@@ -11,6 +11,11 @@ pub fn create() Self {
|
||||
return .{ .timer = 0, .vol = 0 };
|
||||
}
|
||||
|
||||
pub fn reset(self: *Self) void {
|
||||
self.timer = 0;
|
||||
self.vol = 0;
|
||||
}
|
||||
|
||||
pub fn tick(self: *Self, nrx2: io.Envelope) void {
|
||||
if (nrx2.period.read() != 0) {
|
||||
if (self.timer != 0) self.timer -= 1;
|
||||
|
@@ -6,6 +6,10 @@ pub fn create() Self {
|
||||
return .{ .timer = 0 };
|
||||
}
|
||||
|
||||
pub fn reset(self: *Self) void {
|
||||
self.timer = 0;
|
||||
}
|
||||
|
||||
pub fn tick(self: *Self, enabled: bool, ch_enable: *bool) void {
|
||||
if (enabled) {
|
||||
if (self.timer == 0) return;
|
||||
|
@@ -18,6 +18,13 @@ pub fn create() Self {
|
||||
};
|
||||
}
|
||||
|
||||
pub fn reset(self: *Self) void {
|
||||
self.timer = 0;
|
||||
self.enabled = false;
|
||||
self.shadow = 0;
|
||||
self.calc_performed = false;
|
||||
}
|
||||
|
||||
pub fn tick(self: *Self, ch1: *ToneSweep) void {
|
||||
if (self.timer != 0) self.timer -= 1;
|
||||
|
||||
|
Reference in New Issue
Block a user