PCE: the adventures of arp fail

This commit is contained in:
tildearrow 2021-06-08 21:49:24 -05:00
parent 8f3b9e03da
commit cd1851606e
2 changed files with 3 additions and 2 deletions

View File

@ -55,9 +55,9 @@ void DivPlatformPCE::tick() {
if (chan[i].std.hadArp) { if (chan[i].std.hadArp) {
if (!chan[i].inPorta) { if (!chan[i].inPorta) {
if (chan[i].std.arpMode) { if (chan[i].std.arpMode) {
chan[i].baseFreq=round(FREQ_BASE/pow(2.0f,((float)(chan[i].std.arp+24)/12.0f))); chan[i].baseFreq=round(FREQ_BASE/pow(2.0f,((float)(chan[i].std.arp)/12.0f)));
// noise // noise
chWrite(i,0x07,chan[i].noise?(0x80|noiseFreq[(chan[i].std.arp+24)%12]):0); chWrite(i,0x07,chan[i].noise?(0x80|noiseFreq[(chan[i].std.arp)%12]):0);
} else { } else {
chan[i].baseFreq=round(FREQ_BASE/pow(2.0f,((float)(chan[i].note+chan[i].std.arp-12)/12.0f))); chan[i].baseFreq=round(FREQ_BASE/pow(2.0f,((float)(chan[i].note+chan[i].std.arp-12)/12.0f)));
chWrite(i,0x07,chan[i].noise?(0x80|noiseFreq[(chan[i].note+chan[i].std.arp-12)%12]):0); chWrite(i,0x07,chan[i].noise?(0x80|noiseFreq[(chan[i].note+chan[i].std.arp-12)%12]):0);

View File

@ -284,6 +284,7 @@ void DivEngine::processRow(int i, bool afterDelay) {
if (effectVal==0) { if (effectVal==0) {
chan[i].portaNote=-1; chan[i].portaNote=-1;
chan[i].portaSpeed=-1; chan[i].portaSpeed=-1;
dispatchCmd(DivCommand(DIV_CMD_PRE_PORTA,i,false));
} else { } else {
chan[i].portaNote=chan[i].note; chan[i].portaNote=chan[i].note;
chan[i].portaSpeed=effectVal; chan[i].portaSpeed=effectVal;