limit volume macro to system maximum

fixes #71
This commit is contained in:
tildearrow 2022-01-30 12:31:50 -05:00
parent de5327d89a
commit 822d542350
12 changed files with 16 additions and 16 deletions

View file

@ -48,7 +48,7 @@ void DivPlatformYM2610::tick() {
for (int i=4; i<7; i++) {
chan[i].std.next();
if (chan[i].std.hadVol) {
chan[i].outVol=chan[i].std.vol-(15-(chan[i].vol&15));
chan[i].outVol=MIN(15,chan[i].std.vol)-(15-(chan[i].vol&15));
if (chan[i].outVol<0) chan[i].outVol=0;
if (isMuted[i]) {
rWrite(0x04+i,0);
@ -152,7 +152,7 @@ void DivPlatformYM2610::tick() {
chan[i].std.next();
if (chan[i].std.hadVol) {
chan[i].outVol=(chan[i].vol*chan[i].std.vol)/127;
chan[i].outVol=(chan[i].vol*MIN(127,chan[i].std.vol))/127;
for (int j=0; j<4; j++) {
unsigned short baseAddr=chanOffs[i]|opOffs[j];
DivInstrumentFM::Operator& op=chan[i].state.op[j];
@ -810,4 +810,4 @@ void DivPlatformYM2610::quit() {
}
DivPlatformYM2610::~DivPlatformYM2610() {
}
}