parent
04240ffa46
commit
75ce5f4e2a
11 changed files with 64 additions and 8 deletions
|
|
@ -92,6 +92,11 @@ void DivPlatformYM2610::tick() {
|
|||
rWrite(1+((i-4)<<1),chan[i].freq>>8);
|
||||
if (chan[i].keyOn) chan[i].keyOn=false;
|
||||
if (chan[i].keyOff) chan[i].keyOff=false;
|
||||
if (chan[i].freqChanged && chan[i].autoEnvNum>0 && chan[i].autoEnvDen>0) {
|
||||
ayEnvPeriod=(chan[i].freq*chan[i].autoEnvDen/chan[i].autoEnvNum)>>4;
|
||||
immWrite(0x0b,ayEnvPeriod);
|
||||
immWrite(0x0c,ayEnvPeriod>>8);
|
||||
}
|
||||
chan[i].freqChanged=false;
|
||||
}
|
||||
}
|
||||
|
|
@ -503,6 +508,12 @@ int DivPlatformYM2610::dispatch(DivCommand c) {
|
|||
if (c.chan<4 || c.chan>6) break;
|
||||
ayEnvSlide=c.value;
|
||||
break;
|
||||
case DIV_CMD_AY_AUTO_ENVELOPE:
|
||||
if (c.chan<4 || c.chan>6) break;
|
||||
chan[c.chan].autoEnvNum=c.value>>4;
|
||||
chan[c.chan].autoEnvDen=c.value&15;
|
||||
chan[c.chan].freqChanged=true;
|
||||
break;
|
||||
case DIV_ALWAYS_SET_VOLUME:
|
||||
return 0;
|
||||
break;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue