OPN: fix ExtCh muting
This commit is contained in:
parent
5466b26c75
commit
8dfe0bc021
|
@ -433,13 +433,8 @@ void DivPlatformGenesisExt::muteChannel(int ch, bool mute) {
|
||||||
DivInstrumentFM::Operator op=chan[2].state.op[ordch];
|
DivInstrumentFM::Operator op=chan[2].state.op[ordch];
|
||||||
if (isOpMuted[ch-2] || !op.enable) {
|
if (isOpMuted[ch-2] || !op.enable) {
|
||||||
rWrite(baseAddr+0x40,127);
|
rWrite(baseAddr+0x40,127);
|
||||||
immWrite(baseAddr+0x40,127);
|
|
||||||
} else if (KVS(2,ordch)) {
|
|
||||||
rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[ch-2].outVol&0x7f,127));
|
|
||||||
immWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[ch-2].outVol&0x7f,127));
|
|
||||||
} else {
|
} else {
|
||||||
rWrite(baseAddr+0x40,op.tl);
|
rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[ch-2].outVol&0x7f,127));
|
||||||
immWrite(baseAddr+0x40,op.tl);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
rWrite(chanOffs[2]+0xb4,(IS_EXTCH_MUTED?0:(opChan[ch-2].pan<<6))|(chan[2].state.fms&7)|((chan[2].state.ams&3)<<4));
|
rWrite(chanOffs[2]+0xb4,(IS_EXTCH_MUTED?0:(opChan[ch-2].pan<<6))|(chan[2].state.fms&7)|((chan[2].state.ams&3)<<4));
|
||||||
|
|
|
@ -542,13 +542,8 @@ void DivPlatformYM2203Ext::muteChannel(int ch, bool mute) {
|
||||||
DivInstrumentFM::Operator op=chan[2].state.op[ordch];
|
DivInstrumentFM::Operator op=chan[2].state.op[ordch];
|
||||||
if (isOpMuted[ch-2] || !op.enable) {
|
if (isOpMuted[ch-2] || !op.enable) {
|
||||||
rWrite(baseAddr+0x40,127);
|
rWrite(baseAddr+0x40,127);
|
||||||
immWrite(baseAddr+0x40,127);
|
|
||||||
} else if (KVS(2,ordch)) {
|
|
||||||
rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[ch-2].outVol&0x7f,127));
|
|
||||||
immWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[ch-2].outVol&0x7f,127));
|
|
||||||
} else {
|
} else {
|
||||||
rWrite(baseAddr+0x40,op.tl);
|
rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[ch-2].outVol&0x7f,127));
|
||||||
immWrite(baseAddr+0x40,op.tl);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -564,13 +564,8 @@ void DivPlatformYM2608Ext::muteChannel(int ch, bool mute) {
|
||||||
DivInstrumentFM::Operator op=chan[2].state.op[ordch];
|
DivInstrumentFM::Operator op=chan[2].state.op[ordch];
|
||||||
if (isOpMuted[ch-2] || !op.enable) {
|
if (isOpMuted[ch-2] || !op.enable) {
|
||||||
rWrite(baseAddr+0x40,127);
|
rWrite(baseAddr+0x40,127);
|
||||||
immWrite(baseAddr+0x40,127);
|
|
||||||
} else if (KVS(2,ordch)) {
|
|
||||||
rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[ch-2].outVol&0x7f,127));
|
|
||||||
immWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[ch-2].outVol&0x7f,127));
|
|
||||||
} else {
|
} else {
|
||||||
rWrite(baseAddr+0x40,op.tl);
|
rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[ch-2].outVol&0x7f,127));
|
||||||
immWrite(baseAddr+0x40,op.tl);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
rWrite(chanOffs[2]+0xb4,(IS_EXTCH_MUTED?0:(opChan[ch-2].pan<<6))|(chan[2].state.fms&7)|((chan[2].state.ams&3)<<4));
|
rWrite(chanOffs[2]+0xb4,(IS_EXTCH_MUTED?0:(opChan[ch-2].pan<<6))|(chan[2].state.fms&7)|((chan[2].state.ams&3)<<4));
|
||||||
|
|
|
@ -560,13 +560,8 @@ void DivPlatformYM2610BExt::muteChannel(int ch, bool mute) {
|
||||||
DivInstrumentFM::Operator op=chan[extChanOffs].state.op[ordch];
|
DivInstrumentFM::Operator op=chan[extChanOffs].state.op[ordch];
|
||||||
if (isOpMuted[ch-extChanOffs] || !op.enable) {
|
if (isOpMuted[ch-extChanOffs] || !op.enable) {
|
||||||
rWrite(baseAddr+0x40,127);
|
rWrite(baseAddr+0x40,127);
|
||||||
immWrite(baseAddr+0x40,127);
|
|
||||||
} else if (KVS(2,ordch)) {
|
|
||||||
rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[ch-extChanOffs].outVol&0x7f,127));
|
|
||||||
immWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[ch-extChanOffs].outVol&0x7f,127));
|
|
||||||
} else {
|
} else {
|
||||||
rWrite(baseAddr+0x40,op.tl);
|
rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[ch-extChanOffs].outVol&0x7f,127));
|
||||||
immWrite(baseAddr+0x40,op.tl);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
rWrite(chanOffs[extChanOffs]+0xb4,(IS_EXTCH_MUTED?0:(opChan[ch-extChanOffs].pan<<6))|(chan[extChanOffs].state.fms&7)|((chan[extChanOffs].state.ams&3)<<4));
|
rWrite(chanOffs[extChanOffs]+0xb4,(IS_EXTCH_MUTED?0:(opChan[ch-extChanOffs].pan<<6))|(chan[extChanOffs].state.fms&7)|((chan[extChanOffs].state.ams&3)<<4));
|
||||||
|
|
|
@ -560,13 +560,8 @@ void DivPlatformYM2610Ext::muteChannel(int ch, bool mute) {
|
||||||
DivInstrumentFM::Operator op=chan[extChanOffs].state.op[ordch];
|
DivInstrumentFM::Operator op=chan[extChanOffs].state.op[ordch];
|
||||||
if (isOpMuted[ch-extChanOffs] || !op.enable) {
|
if (isOpMuted[ch-extChanOffs] || !op.enable) {
|
||||||
rWrite(baseAddr+0x40,127);
|
rWrite(baseAddr+0x40,127);
|
||||||
immWrite(baseAddr+0x40,127);
|
|
||||||
} else if (KVS(2,ordch)) {
|
|
||||||
rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[ch-extChanOffs].outVol&0x7f,127));
|
|
||||||
immWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[ch-extChanOffs].outVol&0x7f,127));
|
|
||||||
} else {
|
} else {
|
||||||
rWrite(baseAddr+0x40,op.tl);
|
rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[ch-extChanOffs].outVol&0x7f,127));
|
||||||
immWrite(baseAddr+0x40,op.tl);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
rWrite(chanOffs[extChanOffs]+0xb4,(IS_EXTCH_MUTED?0:(opChan[ch-extChanOffs].pan<<6))|(chan[extChanOffs].state.fms&7)|((chan[extChanOffs].state.ams&3)<<4));
|
rWrite(chanOffs[extChanOffs]+0xb4,(IS_EXTCH_MUTED?0:(opChan[ch-extChanOffs].pan<<6))|(chan[extChanOffs].state.fms&7)|((chan[extChanOffs].state.ams&3)<<4));
|
||||||
|
|
Loading…
Reference in New Issue