mirror of
https://github.com/tildearrow/furnace.git
synced 2025-01-05 23:21:22 +00:00
Neo Geo/AY: implement 20xx command
This commit is contained in:
parent
df3ae12278
commit
7165d39105
3 changed files with 7 additions and 1 deletions
|
@ -195,6 +195,9 @@ int DivPlatformAY8910::dispatch(DivCommand c) {
|
||||||
chan[c.chan].freqChanged=true;
|
chan[c.chan].freqChanged=true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case DIV_CMD_STD_NOISE_MODE:
|
||||||
|
chan[c.chan].psgMode=(c.value+1)&7;
|
||||||
|
break;
|
||||||
case DIV_CMD_STD_NOISE_FREQ:
|
case DIV_CMD_STD_NOISE_FREQ:
|
||||||
rWrite(0x06,31-c.value);
|
rWrite(0x06,31-c.value);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -224,7 +224,7 @@ int DivPlatformAY8930::dispatch(DivCommand c) {
|
||||||
}
|
}
|
||||||
case DIV_CMD_STD_NOISE_MODE:
|
case DIV_CMD_STD_NOISE_MODE:
|
||||||
if (c.value<0x10) {
|
if (c.value<0x10) {
|
||||||
// TODO: channel mode
|
chan[c.chan].psgMode=(c.value+1)&7;
|
||||||
} else {
|
} else {
|
||||||
chan[c.chan].duty=c.value&15;
|
chan[c.chan].duty=c.value&15;
|
||||||
immWrite(0x16,chan[c.chan].duty);
|
immWrite(0x16,chan[c.chan].duty);
|
||||||
|
|
|
@ -449,6 +449,9 @@ int DivPlatformYM2610::dispatch(DivCommand c) {
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case DIV_CMD_STD_NOISE_MODE:
|
||||||
|
chan[c.chan].psgMode=(c.value+1)&7;
|
||||||
|
break;
|
||||||
case DIV_CMD_STD_NOISE_FREQ:
|
case DIV_CMD_STD_NOISE_FREQ:
|
||||||
if (c.chan<4 || c.chan>6) break;
|
if (c.chan<4 || c.chan>6) break;
|
||||||
rWrite(0x06,31-c.value);
|
rWrite(0x06,31-c.value);
|
||||||
|
|
Loading…
Reference in a new issue