Merge branch 'master' of https://github.com/tildearrow/furnace into nmk112

This commit is contained in:
cam900 2023-12-11 19:00:49 +09:00
commit ea4d4a0b70
108 changed files with 2221 additions and 523 deletions

View file

@ -414,8 +414,14 @@ void DivPlatformVB::forceIns() {
chan[i].insChanged=true;
chan[i].freqChanged=true;
updateWave(i);
if (romMode) {
chWrite(i,0x06,chan[i].wave);
}
chWrite(i,0x01,isMuted[i]?0:chan[i].pan);
}
if (chan[5].active) {
writeEnv(5,true);
}
}
void* DivPlatformVB::getChanState(int ch) {

View file

@ -144,6 +144,7 @@ void DivPlatformVERA::reset() {
}
chan[16].vol=15;
chan[16].pan=3;
lastCenterRate=-1;
}
int DivPlatformVERA::calcNoteFreq(int ch, int note) {
@ -226,11 +227,12 @@ void DivPlatformVERA::tick(bool sysTick) {
double off=65536.0;
if (chan[16].pcm.sample>=0 && chan[16].pcm.sample<parent->song.sampleLen) {
DivSample* s=parent->getSample(chan[16].pcm.sample);
if (s->centerRate<1) {
off=65536.0;
} else {
lastCenterRate=s->centerRate;
if (s->centerRate>=1) {
off=65536.0*(s->centerRate/8363.0);
}
} else if (lastCenterRate>=1) {
off=65536.0*(lastCenterRate/8363.0);
}
chan[16].freq=parent->calcFreq(chan[16].baseFreq,chan[16].pitch,chan[16].fixedArp?chan[16].baseNoteOverride:chan[16].arpOff,chan[16].fixedArp,false,8,chan[16].pitch2,chipClock,off);
if (chan[16].freq>128) chan[16].freq=128;

View file

@ -54,6 +54,7 @@ class DivPlatformVERA: public DivDispatch {
unsigned char regPool[69];
struct VERA_PSG* psg;
struct VERA_PCM* pcm;
int lastCenterRate;
int calcNoteFreq(int ch, int note);
friend void putDispatchChip(void*,int);