mirror of
https://github.com/tildearrow/furnace.git
synced 2024-11-18 02:25:11 +00:00
Merge branch 'tildearrow:master' into master
This commit is contained in:
commit
f80773c357
5 changed files with 15 additions and 4 deletions
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
|
@ -11,7 +11,7 @@ defaults:
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
env:
|
env:
|
||||||
BUILD_TYPE: Release
|
BUILD_TYPE: Debug
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
|
|
@ -47,7 +47,7 @@
|
||||||
#define BUSY_BEGIN_SOFT softLocked=true; isBusy.lock();
|
#define BUSY_BEGIN_SOFT softLocked=true; isBusy.lock();
|
||||||
#define BUSY_END isBusy.unlock(); softLocked=false;
|
#define BUSY_END isBusy.unlock(); softLocked=false;
|
||||||
|
|
||||||
#define DIV_VERSION "0.6pre3"
|
#define DIV_VERSION "Crash Evaluation Build"
|
||||||
#define DIV_ENGINE_VERSION 133
|
#define DIV_ENGINE_VERSION 133
|
||||||
// for imports
|
// for imports
|
||||||
#define DIV_VERSION_MOD 0xff01
|
#define DIV_VERSION_MOD 0xff01
|
||||||
|
|
|
@ -346,6 +346,12 @@ void DivPlatformGenesis::tick(bool sysTick) {
|
||||||
chan[i].freqChanged=true;
|
chan[i].freqChanged=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (i>=5 && chan[i].std.phaseReset.had) {
|
||||||
|
if (chan[i].std.phaseReset.val==1 && chan[i].furnaceDac) {
|
||||||
|
chan[i].dacPos=0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (i>=6) continue;
|
if (i>=6) continue;
|
||||||
|
|
||||||
if (chan[i].std.phaseReset.had) {
|
if (chan[i].std.phaseReset.had) {
|
||||||
|
|
|
@ -133,9 +133,9 @@ void DivPlatformSegaPCM::tick(bool sysTick) {
|
||||||
chan[i].freq=chan[i].baseFreq+(chan[i].pitch>>1)-64;
|
chan[i].freq=chan[i].baseFreq+(chan[i].pitch>>1)-64;
|
||||||
if (!parent->song.oldArpStrategy) {
|
if (!parent->song.oldArpStrategy) {
|
||||||
if (chan[i].fixedArp) {
|
if (chan[i].fixedArp) {
|
||||||
chan[i].freq=(chan[i].baseNoteOverride<<7)+(chan[i].pitch>>1)-64+chan[i].pitch2;
|
chan[i].freq=(chan[i].baseNoteOverride<<6)+(chan[i].pitch>>1)-64+chan[i].pitch2;
|
||||||
} else {
|
} else {
|
||||||
chan[i].freq+=chan[i].arpOff<<7;
|
chan[i].freq+=chan[i].arpOff<<6;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (chan[i].furnacePCM) {
|
if (chan[i].furnacePCM) {
|
||||||
|
|
|
@ -1586,6 +1586,7 @@ void DivEngine::nextBuf(float** in, float** out, int inChans, int outChans, unsi
|
||||||
|
|
||||||
// logic starts here
|
// logic starts here
|
||||||
for (int i=0; i<song.systemLen; i++) {
|
for (int i=0; i<song.systemLen; i++) {
|
||||||
|
// TODO: we may have a problem here
|
||||||
disCont[i].lastAvail=blip_samples_avail(disCont[i].bb[0]);
|
disCont[i].lastAvail=blip_samples_avail(disCont[i].bb[0]);
|
||||||
if (disCont[i].lastAvail>0) {
|
if (disCont[i].lastAvail>0) {
|
||||||
disCont[i].flush(disCont[i].lastAvail);
|
disCont[i].flush(disCont[i].lastAvail);
|
||||||
|
@ -1685,6 +1686,10 @@ void DivEngine::nextBuf(float** in, float** out, int inChans, int outChans, unsi
|
||||||
totalProcessed=size-(runLeftG>>MASTER_CLOCK_PREC);
|
totalProcessed=size-(runLeftG>>MASTER_CLOCK_PREC);
|
||||||
|
|
||||||
for (int i=0; i<song.systemLen; i++) {
|
for (int i=0; i<song.systemLen; i++) {
|
||||||
|
if (size<disCont[i].lastAvail) {
|
||||||
|
logW("%d: size<lastAvail! %d<%d",i,size,disCont[i].lastAvail);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
disCont[i].fillBuf(disCont[i].runtotal,disCont[i].lastAvail,size-disCont[i].lastAvail);
|
disCont[i].fillBuf(disCont[i].runtotal,disCont[i].lastAvail,size-disCont[i].lastAvail);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue