chore(snd): add enabled property to all channels
Also, rename lsfr property to shift_register
This commit is contained in:
parent
9b6c302890
commit
559cb54385
20
src/sound.rs
20
src/sound.rs
|
@ -58,7 +58,7 @@ impl Sound {
|
||||||
// Check in this scope ensures (only) the above subtraction
|
// Check in this scope ensures (only) the above subtraction
|
||||||
// made length_timer 0
|
// made length_timer 0
|
||||||
if self.ch1.length_timer == 0 {
|
if self.ch1.length_timer == 0 {
|
||||||
todo!("Disable Channel 1 until next trigger event");
|
self.ch1.enabled = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -68,7 +68,7 @@ impl Sound {
|
||||||
// Check in this scope ensures (only) the above subtraction
|
// Check in this scope ensures (only) the above subtraction
|
||||||
// made length_timer 0
|
// made length_timer 0
|
||||||
if self.ch2.length_timer == 0 {
|
if self.ch2.length_timer == 0 {
|
||||||
todo!("Disable Channel 2 until next trigger event");
|
self.ch2.enabled = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ impl Sound {
|
||||||
// Check in this scope ensures (only) the above subtraction
|
// Check in this scope ensures (only) the above subtraction
|
||||||
// made length_timer 0
|
// made length_timer 0
|
||||||
if self.ch3.length_timer == 0 {
|
if self.ch3.length_timer == 0 {
|
||||||
todo!("Disable Channel 3 until next trigger event");
|
self.ch3.enabled = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,7 +88,7 @@ impl Sound {
|
||||||
// Check in this scope ensures (only) the above subtraction
|
// Check in this scope ensures (only) the above subtraction
|
||||||
// made length_timer 0
|
// made length_timer 0
|
||||||
if self.ch4.length_timer == 0 {
|
if self.ch4.length_timer == 0 {
|
||||||
todo!("Disable Channel 4 until next trigger event");
|
self.ch4.enabled = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -311,6 +311,8 @@ pub(crate) struct Channel1 {
|
||||||
|
|
||||||
// Length Functionality
|
// Length Functionality
|
||||||
length_timer: u16,
|
length_timer: u16,
|
||||||
|
|
||||||
|
enabled: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Channel1 {
|
impl Channel1 {
|
||||||
|
@ -374,7 +376,7 @@ impl Channel1 {
|
||||||
|
|
||||||
// Overflow check
|
// Overflow check
|
||||||
if new_freq > 2047 {
|
if new_freq > 2047 {
|
||||||
todo!("Frequency failed the overflow check. Disable the channel");
|
self.enabled = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
new_freq
|
new_freq
|
||||||
|
@ -464,6 +466,8 @@ pub(crate) struct Channel2 {
|
||||||
|
|
||||||
// Length Functionality
|
// Length Functionality
|
||||||
length_timer: u16,
|
length_timer: u16,
|
||||||
|
|
||||||
|
enabled: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Channel2 {
|
impl Channel2 {
|
||||||
|
@ -743,7 +747,9 @@ pub(crate) struct Channel4 {
|
||||||
length_timer: u16,
|
length_timer: u16,
|
||||||
|
|
||||||
/// Linear Feedback Shift Register (15-bit)
|
/// Linear Feedback Shift Register (15-bit)
|
||||||
lfsr: u16,
|
shift_register: u16,
|
||||||
|
|
||||||
|
enabled: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Channel4 {
|
impl Channel4 {
|
||||||
|
@ -778,7 +784,7 @@ impl Channel4 {
|
||||||
}
|
}
|
||||||
|
|
||||||
// LFSR behaviour during trigger event
|
// LFSR behaviour during trigger event
|
||||||
self.lfsr = 0x7FFF;
|
self.shift_register = 0x7FFF;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue