OPN: ExtCh ALG effect
This commit is contained in:
parent
ec1542a2b4
commit
39ecab5abd
|
@ -237,6 +237,12 @@ int DivPlatformGenesisExt::dispatch(DivCommand c) {
|
||||||
rWrite(0x22,lfoValue);
|
rWrite(0x22,lfoValue);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case DIV_CMD_FM_ALG: {
|
||||||
|
chan[extChanOffs].state.alg=c.value&7;
|
||||||
|
// TODO: TL compensation?
|
||||||
|
rWrite(ADDR_FB_ALG+chanOffs[extChanOffs],(chan[extChanOffs].state.alg&7)|(chan[extChanOffs].state.fb<<3));
|
||||||
|
break;
|
||||||
|
}
|
||||||
case DIV_CMD_FM_FB: {
|
case DIV_CMD_FM_FB: {
|
||||||
chan[extChanOffs].state.fb=c.value&7;
|
chan[extChanOffs].state.fb=c.value&7;
|
||||||
rWrite(chanOffs[extChanOffs]+ADDR_FB_ALG,(chan[extChanOffs].state.alg&7)|(chan[extChanOffs].state.fb<<3));
|
rWrite(chanOffs[extChanOffs]+ADDR_FB_ALG,(chan[extChanOffs].state.alg&7)|(chan[extChanOffs].state.fb<<3));
|
||||||
|
|
|
@ -193,6 +193,12 @@ int DivPlatformYM2203Ext::dispatch(DivCommand c) {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case DIV_CMD_FM_ALG: {
|
||||||
|
chan[extChanOffs].state.alg=c.value&7;
|
||||||
|
// TODO: TL compensation?
|
||||||
|
rWrite(ADDR_FB_ALG+chanOffs[extChanOffs],(chan[extChanOffs].state.alg&7)|(chan[extChanOffs].state.fb<<3));
|
||||||
|
break;
|
||||||
|
}
|
||||||
case DIV_CMD_FM_FB: {
|
case DIV_CMD_FM_FB: {
|
||||||
chan[2].state.fb=c.value&7;
|
chan[2].state.fb=c.value&7;
|
||||||
rWrite(chanOffs[2]+ADDR_FB_ALG,(chan[2].state.alg&7)|(chan[2].state.fb<<3));
|
rWrite(chanOffs[2]+ADDR_FB_ALG,(chan[2].state.alg&7)|(chan[2].state.fb<<3));
|
||||||
|
|
|
@ -218,6 +218,12 @@ int DivPlatformYM2608Ext::dispatch(DivCommand c) {
|
||||||
rWrite(0x22,lfoValue);
|
rWrite(0x22,lfoValue);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case DIV_CMD_FM_ALG: {
|
||||||
|
chan[extChanOffs].state.alg=c.value&7;
|
||||||
|
// TODO: TL compensation?
|
||||||
|
rWrite(ADDR_FB_ALG+chanOffs[extChanOffs],(chan[extChanOffs].state.alg&7)|(chan[extChanOffs].state.fb<<3));
|
||||||
|
break;
|
||||||
|
}
|
||||||
case DIV_CMD_FM_FB: {
|
case DIV_CMD_FM_FB: {
|
||||||
chan[2].state.fb=c.value&7;
|
chan[2].state.fb=c.value&7;
|
||||||
rWrite(chanOffs[2]+ADDR_FB_ALG,(chan[2].state.alg&7)|(chan[2].state.fb<<3));
|
rWrite(chanOffs[2]+ADDR_FB_ALG,(chan[2].state.alg&7)|(chan[2].state.fb<<3));
|
||||||
|
|
|
@ -214,6 +214,12 @@ int DivPlatformYM2610BExt::dispatch(DivCommand c) {
|
||||||
rWrite(0x22,lfoValue);
|
rWrite(0x22,lfoValue);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case DIV_CMD_FM_ALG: {
|
||||||
|
chan[extChanOffs].state.alg=c.value&7;
|
||||||
|
// TODO: TL compensation?
|
||||||
|
rWrite(ADDR_FB_ALG+chanOffs[extChanOffs],(chan[extChanOffs].state.alg&7)|(chan[extChanOffs].state.fb<<3));
|
||||||
|
break;
|
||||||
|
}
|
||||||
case DIV_CMD_FM_FB: {
|
case DIV_CMD_FM_FB: {
|
||||||
chan[extChanOffs].state.fb=c.value&7;
|
chan[extChanOffs].state.fb=c.value&7;
|
||||||
rWrite(chanOffs[extChanOffs]+ADDR_FB_ALG,(chan[extChanOffs].state.alg&7)|(chan[extChanOffs].state.fb<<3));
|
rWrite(chanOffs[extChanOffs]+ADDR_FB_ALG,(chan[extChanOffs].state.alg&7)|(chan[extChanOffs].state.fb<<3));
|
||||||
|
|
|
@ -214,6 +214,12 @@ int DivPlatformYM2610Ext::dispatch(DivCommand c) {
|
||||||
rWrite(0x22,lfoValue);
|
rWrite(0x22,lfoValue);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case DIV_CMD_FM_ALG: {
|
||||||
|
chan[extChanOffs].state.alg=c.value&7;
|
||||||
|
// TODO: TL compensation?
|
||||||
|
rWrite(ADDR_FB_ALG+chanOffs[extChanOffs],(chan[extChanOffs].state.alg&7)|(chan[extChanOffs].state.fb<<3));
|
||||||
|
break;
|
||||||
|
}
|
||||||
case DIV_CMD_FM_FB: {
|
case DIV_CMD_FM_FB: {
|
||||||
chan[extChanOffs].state.fb=c.value&7;
|
chan[extChanOffs].state.fb=c.value&7;
|
||||||
rWrite(chanOffs[extChanOffs]+ADDR_FB_ALG,(chan[extChanOffs].state.alg&7)|(chan[extChanOffs].state.fb<<3));
|
rWrite(chanOffs[extChanOffs]+ADDR_FB_ALG,(chan[extChanOffs].state.alg&7)|(chan[extChanOffs].state.fb<<3));
|
||||||
|
|
Loading…
Reference in a new issue