it doesn't...
This commit is contained in:
parent
cb1c96ff1d
commit
c5fa0a3d6d
4 changed files with 9 additions and 6 deletions
|
|
@ -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: {
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue