mirror of
https://github.com/tildearrow/furnace.git
synced 2024-11-24 05:25:12 +00:00
fix compatible-style retrigger
This commit is contained in:
parent
a95d8e6fa3
commit
c682c921a1
4 changed files with 16 additions and 4 deletions
|
@ -423,7 +423,10 @@ int DivPlatformArcade::dispatch(DivCommand c) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
chan[c.chan].pcm.sample=12*sampleBank+c.value%12;
|
if (c.value!=DIV_NOTE_NULL) {
|
||||||
|
chan[c.chan].note=c.value;
|
||||||
|
}
|
||||||
|
chan[c.chan].pcm.sample=12*sampleBank+chan[c.chan].note%12;
|
||||||
if (chan[c.chan].pcm.sample>=parent->song.sampleLen) {
|
if (chan[c.chan].pcm.sample>=parent->song.sampleLen) {
|
||||||
chan[c.chan].pcm.sample=-1;
|
chan[c.chan].pcm.sample=-1;
|
||||||
if (dumpWrites) {
|
if (dumpWrites) {
|
||||||
|
|
|
@ -415,7 +415,10 @@ int DivPlatformGenesis::dispatch(DivCommand c) {
|
||||||
chan[c.chan].freqChanged=true;
|
chan[c.chan].freqChanged=true;
|
||||||
chan[c.chan].furnaceDac=true;
|
chan[c.chan].furnaceDac=true;
|
||||||
} else { // compatible mode
|
} else { // compatible mode
|
||||||
dacSample=12*sampleBank+c.value%12;
|
if (c.value!=DIV_NOTE_NULL) {
|
||||||
|
chan[c.chan].note=c.value;
|
||||||
|
}
|
||||||
|
dacSample=12*sampleBank+chan[c.chan].note%12;
|
||||||
if (dacSample>=parent->song.sampleLen) {
|
if (dacSample>=parent->song.sampleLen) {
|
||||||
dacSample=-1;
|
dacSample=-1;
|
||||||
if (dumpWrites) addWrite(0xffff0002,0);
|
if (dumpWrites) addWrite(0xffff0002,0);
|
||||||
|
|
|
@ -222,7 +222,10 @@ int DivPlatformNES::dispatch(DivCommand c) {
|
||||||
chan[c.chan].keyOn=true;
|
chan[c.chan].keyOn=true;
|
||||||
chan[c.chan].furnaceDac=true;
|
chan[c.chan].furnaceDac=true;
|
||||||
} else {
|
} else {
|
||||||
dacSample=12*sampleBank+c.value%12;
|
if (c.value!=DIV_NOTE_NULL) {
|
||||||
|
chan[c.chan].note=c.value;
|
||||||
|
}
|
||||||
|
dacSample=12*sampleBank+chan[c.chan].note%12;
|
||||||
if (dacSample>=parent->song.sampleLen) {
|
if (dacSample>=parent->song.sampleLen) {
|
||||||
dacSample=-1;
|
dacSample=-1;
|
||||||
if (dumpWrites) addWrite(0xffff0002,0);
|
if (dumpWrites) addWrite(0xffff0002,0);
|
||||||
|
|
|
@ -209,7 +209,10 @@ int DivPlatformPCE::dispatch(DivCommand c) {
|
||||||
//chan[c.chan].keyOn=true;
|
//chan[c.chan].keyOn=true;
|
||||||
chan[c.chan].furnaceDac=true;
|
chan[c.chan].furnaceDac=true;
|
||||||
} else {
|
} else {
|
||||||
chan[c.chan].dacSample=12*sampleBank+c.value%12;
|
if (c.value!=DIV_NOTE_NULL) {
|
||||||
|
chan[c.chan].note=c.value;
|
||||||
|
}
|
||||||
|
chan[c.chan].dacSample=12*sampleBank+chan[c.chan].note%12;
|
||||||
if (chan[c.chan].dacSample>=parent->song.sampleLen) {
|
if (chan[c.chan].dacSample>=parent->song.sampleLen) {
|
||||||
chan[c.chan].dacSample=-1;
|
chan[c.chan].dacSample=-1;
|
||||||
if (dumpWrites) addWrite(0xffff0002+(c.chan<<8),0);
|
if (dumpWrites) addWrite(0xffff0002+(c.chan<<8),0);
|
||||||
|
|
Loading…
Reference in a new issue