it doesn't...

This commit is contained in:
tildearrow 2021-05-13 03:18:54 -05:00
parent cb1c96ff1d
commit c5fa0a3d6d
4 changed files with 9 additions and 6 deletions

View file

@ -76,8 +76,9 @@ static int dacRates[6]={
void DivPlatformGenesis::tick() {
for (int i=0; i<6; i++) {
if (chan[i].keyOn) {
if (chan[i].keyOn || chan[i].keyOff) {
writes.emplace(0x28,0x00|konOffs[i]);
chan[i].keyOff=false;
}
}
@ -145,7 +146,7 @@ int DivPlatformGenesis::dispatch(DivCommand c) {
break;
}
case DIV_CMD_NOTE_OFF:
writes.emplace(0x28,0x00|konOffs[c.chan]);
chan[c.chan].keyOff=true;
chan[c.chan].active=false;
break;
case DIV_CMD_VOLUME: {

View file

@ -7,10 +7,10 @@ class DivPlatformGenesis: public DivDispatch {
unsigned char freqH, freqL;
unsigned char ins;
signed char konCycles;
bool active, insChanged, keyOn;
bool active, insChanged, keyOn, keyOff;
signed char vol;
unsigned char pan;
Channel(): freqH(0), freqL(0), ins(0), active(false), insChanged(true), keyOn(false), vol(0), pan(3) {}
Channel(): freqH(0), freqL(0), ins(0), active(false), insChanged(true), keyOn(false), keyOff(false), vol(0), pan(3) {}
};
Channel chan[10];
struct QueuedWrite {