mirror of
https://github.com/tildearrow/furnace.git
synced 2024-11-27 06:53:01 +00:00
VIC-20: fix on/off unmute
This commit is contained in:
parent
629c57a086
commit
b3448c1f16
1 changed files with 14 additions and 5 deletions
|
@ -263,17 +263,26 @@ int DivPlatformVIC20::dispatch(DivCommand c) {
|
|||
|
||||
void DivPlatformVIC20::muteChannel(int ch, bool mute) {
|
||||
isMuted[ch]=mute;
|
||||
if (mute) {
|
||||
chan[ch].keyOff=true;
|
||||
} else if (chan[ch].active) {
|
||||
chan[ch].keyOn=true;
|
||||
if (chan[ch].onOff) {
|
||||
if (mute) {
|
||||
chan[ch].keyOff=true;
|
||||
} else if (chan[ch].active) {
|
||||
chan[ch].keyOn=true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void DivPlatformVIC20::forceIns() {
|
||||
for (int i=0; i<4; i++) {
|
||||
chan[i].insChanged=true;
|
||||
chan[i].freqChanged=true;
|
||||
// I give up!
|
||||
if (chan[i].onOff) {
|
||||
chan[i].freqChanged=true;
|
||||
} else {
|
||||
chan[i].freqChanged=false;
|
||||
chan[i].keyOff=true;
|
||||
chan[i].keyOn=false;
|
||||
}
|
||||
writeOutVol(i);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue