public final class EnvelopeGenerator extends Object
In addition, another counter is used to implement the exponential envelope decay, in effect further dividing the clock to the envelope counter. The period of this counter is set to 1, 2, 4, 8, 16, 30 at the envelope counter values 255, 93, 54, 26, 14, 6, respectively.
Modifier | Constructor and Description |
---|---|
protected |
EnvelopeGenerator()
Constructor.
|
Modifier and Type | Method and Description |
---|---|
protected void |
clock()
SID clocking - 1 cycle.
|
protected void |
mute(boolean enable)
Mute this voice.
|
float |
output()
Return the analog value of envelope.
|
byte |
readENV()
Return the envelope current value.
|
protected void |
reset()
SID reset.
|
protected void |
setNonLinearity(float nonLinearity)
Set nonlinearity parameter for imperfect analog DAC emulation. 1.0 means
perfect 8580-like linearity, values between 0.95 - 0.97 are probably
realistic 6581 nonlinearity values.
|
protected void |
writeATTACK_DECAY(byte attack_decay) |
protected void |
writeCONTROL_REG(byte control) |
protected void |
writeSUSTAIN_RELEASE(byte sustain_release) |
protected void clock()
protected void setNonLinearity(float nonLinearity)
nonLinearity
- protected void reset()
protected void mute(boolean enable)
enable
- protected void writeCONTROL_REG(byte control)
control
- control registerprotected void writeATTACK_DECAY(byte attack_decay)
attack_decay
- attack/decay valueprotected void writeSUSTAIN_RELEASE(byte sustain_release)
sustain_release
- sustain/release valuepublic byte readENV()
public float output()
Copyright © 2018 Ken Händel. All rights reserved.