mirror of
https://github.com/tildearrow/furnace.git
synced 2024-11-15 17:25:06 +00:00
OPLL: fix drum mode slides
This commit is contained in:
parent
05bdfe74db
commit
862154b0a9
1 changed files with 5 additions and 3 deletions
|
@ -257,7 +257,6 @@ void DivPlatformOPLL::tick() {
|
|||
chan[i].freq=parent->calcFreq(chan[i].baseFreq,chan[i].pitch,false,octave(chan[i].baseFreq));
|
||||
if (chan[i].freq>262143) chan[i].freq=262143;
|
||||
int freqt=toFreq(chan[i].freq);
|
||||
chan[i].freqH=freqt>>8;
|
||||
chan[i].freqL=freqt&0xff;
|
||||
if (i>=6 && properDrums) {
|
||||
immWrite(0x10+drumSlot[i],freqt&0xff);
|
||||
|
@ -266,6 +265,7 @@ void DivPlatformOPLL::tick() {
|
|||
immWrite(0x10+i,freqt&0xff);
|
||||
// TODO high byte?
|
||||
}
|
||||
chan[i].freqH=freqt>>8;
|
||||
}
|
||||
if (chan[i].keyOn && i>=6 && properDrums) {
|
||||
if (!isMuted[i]) {
|
||||
|
@ -280,7 +280,9 @@ void DivPlatformOPLL::tick() {
|
|||
chan[i].keyOn=false;
|
||||
} else if ((chan[i].keyOn || chan[i].freqChanged) && i<9) {
|
||||
//immWrite(0x28,0xf0|konOffs[i]);
|
||||
if (!(i>=6 && properDrums)) {
|
||||
immWrite(0x20+i,(chan[i].freqH)|(chan[i].active<<4)|(chan[i].state.alg?0x20:0));
|
||||
}
|
||||
chan[i].keyOn=false;
|
||||
}
|
||||
chan[i].freqChanged=false;
|
||||
|
|
Loading…
Reference in a new issue