OPN: fix portaPause not resetting on new note

This commit is contained in:
tildearrow 2022-03-29 23:58:50 -05:00
parent c7a37959f0
commit a43034f559
6 changed files with 6 additions and 0 deletions

View file

@ -542,6 +542,7 @@ int DivPlatformGenesis::dispatch(DivCommand c) {
if (c.value!=DIV_NOTE_NULL) { if (c.value!=DIV_NOTE_NULL) {
chan[c.chan].baseFreq=NOTE_FREQUENCY(c.value); chan[c.chan].baseFreq=NOTE_FREQUENCY(c.value);
chan[c.chan].portaPause=false;
chan[c.chan].note=c.value; chan[c.chan].note=c.value;
chan[c.chan].freqChanged=true; chan[c.chan].freqChanged=true;
} }

View file

@ -73,6 +73,7 @@ int DivPlatformGenesisExt::dispatch(DivCommand c) {
if (c.value!=DIV_NOTE_NULL) { if (c.value!=DIV_NOTE_NULL) {
opChan[ch].baseFreq=NOTE_FREQUENCY(c.value); opChan[ch].baseFreq=NOTE_FREQUENCY(c.value);
opChan[ch].portaPause=false;
opChan[ch].freqChanged=true; opChan[ch].freqChanged=true;
} }
opChan[ch].keyOn=true; opChan[ch].keyOn=true;

View file

@ -829,6 +829,7 @@ int DivPlatformYM2610::dispatch(DivCommand c) {
if (c.value!=DIV_NOTE_NULL) { if (c.value!=DIV_NOTE_NULL) {
chan[c.chan].baseFreq=NOTE_FREQUENCY(c.value); chan[c.chan].baseFreq=NOTE_FREQUENCY(c.value);
chan[c.chan].portaPause=false;
chan[c.chan].freqChanged=true; chan[c.chan].freqChanged=true;
chan[c.chan].note=c.value; chan[c.chan].note=c.value;
} }

View file

@ -892,6 +892,7 @@ int DivPlatformYM2610B::dispatch(DivCommand c) {
if (c.value!=DIV_NOTE_NULL) { if (c.value!=DIV_NOTE_NULL) {
chan[c.chan].baseFreq=NOTE_FREQUENCY(c.value); chan[c.chan].baseFreq=NOTE_FREQUENCY(c.value);
chan[c.chan].portaPause=false;
chan[c.chan].freqChanged=true; chan[c.chan].freqChanged=true;
chan[c.chan].note=c.value; chan[c.chan].note=c.value;
} }

View file

@ -63,6 +63,7 @@ int DivPlatformYM2610BExt::dispatch(DivCommand c) {
if (c.value!=DIV_NOTE_NULL) { if (c.value!=DIV_NOTE_NULL) {
opChan[ch].baseFreq=NOTE_FREQUENCY(c.value); opChan[ch].baseFreq=NOTE_FREQUENCY(c.value);
opChan[ch].portaPause=false;
opChan[ch].freqChanged=true; opChan[ch].freqChanged=true;
} }
opChan[ch].keyOn=true; opChan[ch].keyOn=true;

View file

@ -63,6 +63,7 @@ int DivPlatformYM2610Ext::dispatch(DivCommand c) {
if (c.value!=DIV_NOTE_NULL) { if (c.value!=DIV_NOTE_NULL) {
opChan[ch].baseFreq=NOTE_FREQUENCY(c.value); opChan[ch].baseFreq=NOTE_FREQUENCY(c.value);
opChan[ch].portaPause=false;
opChan[ch].freqChanged=true; opChan[ch].freqChanged=true;
} }
opChan[ch].keyOn=true; opChan[ch].keyOn=true;