T6W28: honor poll
This commit is contained in:
parent
0f0c8b5567
commit
b4b7ab86fb
|
@ -98,7 +98,7 @@ void DivPlatformT6W28::tick(bool sysTick) {
|
||||||
}
|
}
|
||||||
if (i==3 && chan[i].std.duty.had) {
|
if (i==3 && chan[i].std.duty.had) {
|
||||||
if (chan[i].duty!=chan[i].std.duty.val) {
|
if (chan[i].duty!=chan[i].std.duty.val) {
|
||||||
chan[i].duty=chan[i].std.duty.val&7;
|
chan[i].duty=((chan[i].std.duty.val==1)?4:0)|3;
|
||||||
rWrite(1,0xe0+chan[i].duty);
|
rWrite(1,0xe0+chan[i].duty);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -221,7 +221,7 @@ int DivPlatformT6W28::dispatch(DivCommand c) {
|
||||||
}
|
}
|
||||||
case DIV_CMD_STD_NOISE_MODE:
|
case DIV_CMD_STD_NOISE_MODE:
|
||||||
if (c.chan!=3) break;
|
if (c.chan!=3) break;
|
||||||
chan[c.chan].duty=(((c.value&15)==1)?4:0)|((c.value>>4)&3);
|
chan[c.chan].duty=(((c.value&15)==1)?4:0)|3;
|
||||||
rWrite(1,0xe0+chan[c.chan].duty);
|
rWrite(1,0xe0+chan[c.chan].duty);
|
||||||
break;
|
break;
|
||||||
case DIV_CMD_PANNING: {
|
case DIV_CMD_PANNING: {
|
||||||
|
|
|
@ -1664,7 +1664,7 @@ void DivEngine::registerSystems() {
|
||||||
{DIV_INS_T6W28, DIV_INS_T6W28, DIV_INS_T6W28, DIV_INS_T6W28},
|
{DIV_INS_T6W28, DIV_INS_T6W28, DIV_INS_T6W28, DIV_INS_T6W28},
|
||||||
{},
|
{},
|
||||||
{
|
{
|
||||||
{0x20, {DIV_CMD_STD_NOISE_MODE, "20xy: Set noise mode (x: 0-2 for preset, 3 for tonal; y: thin pulse/noise)"}}
|
{0x20, {DIV_CMD_STD_NOISE_MODE, "20xx: Set noise length (0: short, 1: long)"}}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -4694,8 +4694,8 @@ void FurnaceGUI::drawInsEdit() {
|
||||||
dutyMax=255;
|
dutyMax=255;
|
||||||
}
|
}
|
||||||
if (ins->type==DIV_INS_T6W28) {
|
if (ins->type==DIV_INS_T6W28) {
|
||||||
dutyLabel="Noise Type/Freq";
|
dutyLabel="Noise Type";
|
||||||
dutyMax=7;
|
dutyMax=1;
|
||||||
}
|
}
|
||||||
if (ins->type==DIV_INS_AY8930) {
|
if (ins->type==DIV_INS_AY8930) {
|
||||||
dutyMax=ins->amiga.useSample?0:255;
|
dutyMax=ins->amiga.useSample?0:255;
|
||||||
|
|
Loading…
Reference in a new issue