Genesis/Neo Geo ext.: fix possible TL bug
This commit is contained in:
parent
c682c921a1
commit
4dd935bbcc
|
@ -30,15 +30,12 @@ int DivPlatformGenesisExt::dispatch(DivCommand c) {
|
||||||
|
|
||||||
unsigned short baseAddr=chanOffs[2]|opOffs[ordch];
|
unsigned short baseAddr=chanOffs[2]|opOffs[ordch];
|
||||||
DivInstrumentFM::Operator& op=chan[2].state.op[ordch];
|
DivInstrumentFM::Operator& op=chan[2].state.op[ordch];
|
||||||
|
// TODO: how does this work?!
|
||||||
if (isOpMuted[ch]) {
|
if (isOpMuted[ch]) {
|
||||||
rWrite(baseAddr+0x40,127);
|
rWrite(baseAddr+0x40,127);
|
||||||
} else if (isOutput[chan[2].state.alg][ordch]) {
|
|
||||||
if (!opChan[ch].active || opChan[ch].insChanged) {
|
|
||||||
rWrite(baseAddr+0x40,127-(((127-op.tl)*(opChan[ch].vol&0x7f))/127));
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
if (opChan[ch].insChanged) {
|
if (opChan[ch].insChanged) {
|
||||||
rWrite(baseAddr+0x40,op.tl);
|
rWrite(baseAddr+0x40,127-(((127-op.tl)*(opChan[ch].vol&0x7f))/127));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (opChan[ch].insChanged) {
|
if (opChan[ch].insChanged) {
|
||||||
|
|
|
@ -20,15 +20,12 @@ int DivPlatformYM2610Ext::dispatch(DivCommand c) {
|
||||||
|
|
||||||
unsigned short baseAddr=chanOffs[1]|opOffs[ordch];
|
unsigned short baseAddr=chanOffs[1]|opOffs[ordch];
|
||||||
DivInstrumentFM::Operator op=ins->fm.op[ordch];
|
DivInstrumentFM::Operator op=ins->fm.op[ordch];
|
||||||
|
// TODO: how does this work?!
|
||||||
if (isOpMuted[ch]) {
|
if (isOpMuted[ch]) {
|
||||||
rWrite(baseAddr+0x40,127);
|
rWrite(baseAddr+0x40,127);
|
||||||
} else if (isOutput[ins->fm.alg][ordch]) {
|
|
||||||
if (!opChan[ch].active || opChan[ch].insChanged) {
|
|
||||||
rWrite(baseAddr+0x40,127-(((127-op.tl)*(opChan[ch].vol&0x7f))/127));
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
if (opChan[ch].insChanged) {
|
if (opChan[ch].insChanged) {
|
||||||
rWrite(baseAddr+0x40,op.tl);
|
rWrite(baseAddr+0x40,127-(((127-op.tl)*(opChan[ch].vol&0x7f))/127));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (opChan[ch].insChanged) {
|
if (opChan[ch].insChanged) {
|
||||||
|
|
Loading…
Reference in a new issue