parent
d30f9bc8a0
commit
7e7a5a8e30
|
@ -171,6 +171,9 @@ void DivPlatformGB::tick(bool sysTick) {
|
||||||
chan[i].outVol=VOL_SCALE_LINEAR(chan[i].vol&15,MIN(15,chan[i].std.vol.val),15);
|
chan[i].outVol=VOL_SCALE_LINEAR(chan[i].vol&15,MIN(15,chan[i].std.vol.val),15);
|
||||||
if (chan[i].outVol<0) chan[i].outVol=0;
|
if (chan[i].outVol<0) chan[i].outVol=0;
|
||||||
|
|
||||||
|
if (i==2) {
|
||||||
|
rWrite(16+i*5+2,gbVolMap[chan[i].outVol]);
|
||||||
|
} else {
|
||||||
chan[i].envLen=0;
|
chan[i].envLen=0;
|
||||||
chan[i].envDir=1;
|
chan[i].envDir=1;
|
||||||
chan[i].envVol=chan[i].outVol;
|
chan[i].envVol=chan[i].outVol;
|
||||||
|
@ -180,6 +183,7 @@ void DivPlatformGB::tick(bool sysTick) {
|
||||||
chan[i].freqChanged=true;
|
chan[i].freqChanged=true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (chan[i].std.arp.had) {
|
if (chan[i].std.arp.had) {
|
||||||
if (i==3) { // noise
|
if (i==3) { // noise
|
||||||
if (chan[i].std.arp.mode) {
|
if (chan[i].std.arp.mode) {
|
||||||
|
@ -452,6 +456,10 @@ int DivPlatformGB::dispatch(DivCommand c) {
|
||||||
}
|
}
|
||||||
if (!chan[c.chan].softEnv) {
|
if (!chan[c.chan].softEnv) {
|
||||||
chan[c.chan].envVol=chan[c.chan].vol;
|
chan[c.chan].envVol=chan[c.chan].vol;
|
||||||
|
} else if (c.chan!=2) {
|
||||||
|
chan[c.chan].envVol=chan[c.chan].vol;
|
||||||
|
if (!chan[c.chan].keyOn) chan[c.chan].killIt=true;
|
||||||
|
chan[c.chan].freqChanged=true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case DIV_CMD_GET_VOLUME:
|
case DIV_CMD_GET_VOLUME:
|
||||||
|
|
Loading…
Reference in New Issue