PowerNoise: fix phase reset macro and improve LFSR
load one
This commit is contained in:
parent
9130fffce7
commit
b3c8286107
|
|
@ -158,9 +158,11 @@ void DivPlatformPowerNoise::tick(bool sysTick) {
|
||||||
chWrite(i,0x05,(chan[i].tapA<<4)|chan[i].tapB);
|
chWrite(i,0x05,(chan[i].tapA<<4)|chan[i].tapB);
|
||||||
}
|
}
|
||||||
if (chan[i].std.ex8.had) {
|
if (chan[i].std.ex8.had) {
|
||||||
chan[i].initLFSR=chan[i].std.ex8.val&0xffff;
|
if (chan[i].initLFSR!=(chan[i].std.ex8.val&0xffff)) {
|
||||||
chWrite(i,0x03,chan[i].std.ex8.val&0xff);
|
chan[i].initLFSR=chan[i].std.ex8.val&0xffff;
|
||||||
chWrite(i,0x04,chan[i].std.ex8.val>>8);
|
chWrite(i,0x03,chan[i].std.ex8.val&0xff);
|
||||||
|
chWrite(i,0x04,chan[i].std.ex8.val>>8);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -407,6 +409,10 @@ void DivPlatformPowerNoise::forceIns() {
|
||||||
for (int i=0; i<4; i++) {
|
for (int i=0; i<4; i++) {
|
||||||
chan[i].insChanged=true;
|
chan[i].insChanged=true;
|
||||||
chan[i].freqChanged=true;
|
chan[i].freqChanged=true;
|
||||||
|
if (i<3) {
|
||||||
|
chWrite(i,0x03,chan[i].initLFSR&0xff);
|
||||||
|
chWrite(i,0x04,chan[i].initLFSR>>8);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue