the chips that still do not have sample offset
- Lynx - MMC5 - NES - PCE - QSound - SegaPCM - Swan - VERA - VRC6 - X1-010
This commit is contained in:
parent
41e59cee5f
commit
84437bf0e3
|
@ -45,7 +45,7 @@ class DivPlatformLynx: public DivDispatch {
|
||||||
MikeyDuty duty;
|
MikeyDuty duty;
|
||||||
int actualNote, lfsr, sample, samplePos, sampleAccum, sampleBaseFreq, sampleFreq;
|
int actualNote, lfsr, sample, samplePos, sampleAccum, sampleBaseFreq, sampleFreq;
|
||||||
unsigned char pan;
|
unsigned char pan;
|
||||||
bool pcm;
|
bool pcm, setPos;
|
||||||
int macroVolMul;
|
int macroVolMul;
|
||||||
Channel():
|
Channel():
|
||||||
SharedChannel<signed char>(127),
|
SharedChannel<signed char>(127),
|
||||||
|
@ -60,6 +60,7 @@ class DivPlatformLynx: public DivDispatch {
|
||||||
sampleFreq(0),
|
sampleFreq(0),
|
||||||
pan(0xff),
|
pan(0xff),
|
||||||
pcm(false),
|
pcm(false),
|
||||||
|
setPos(false),
|
||||||
macroVolMul(127) {}
|
macroVolMul(127) {}
|
||||||
};
|
};
|
||||||
Channel chan[4];
|
Channel chan[4];
|
||||||
|
|
|
@ -26,14 +26,15 @@ class DivPlatformMMC5: public DivDispatch {
|
||||||
struct Channel: public SharedChannel<signed char> {
|
struct Channel: public SharedChannel<signed char> {
|
||||||
int prevFreq;
|
int prevFreq;
|
||||||
unsigned char duty, sweep;
|
unsigned char duty, sweep;
|
||||||
bool sweepChanged, furnaceDac;
|
bool sweepChanged, furnaceDac, setPos;
|
||||||
Channel():
|
Channel():
|
||||||
SharedChannel<signed char>(15),
|
SharedChannel<signed char>(15),
|
||||||
prevFreq(65535),
|
prevFreq(65535),
|
||||||
duty(0),
|
duty(0),
|
||||||
sweep(8),
|
sweep(8),
|
||||||
sweepChanged(false),
|
sweepChanged(false),
|
||||||
furnaceDac(false) {}
|
furnaceDac(false),
|
||||||
|
setPos(false) {}
|
||||||
};
|
};
|
||||||
Channel chan[5];
|
Channel chan[5];
|
||||||
DivDispatchOscBuffer* oscBuf[3];
|
DivDispatchOscBuffer* oscBuf[3];
|
||||||
|
|
|
@ -29,7 +29,7 @@ class DivPlatformNES: public DivDispatch {
|
||||||
struct Channel: public SharedChannel<signed char> {
|
struct Channel: public SharedChannel<signed char> {
|
||||||
int prevFreq;
|
int prevFreq;
|
||||||
unsigned char duty, sweep, envMode, len;
|
unsigned char duty, sweep, envMode, len;
|
||||||
bool sweepChanged, furnaceDac;
|
bool sweepChanged, furnaceDac, setPos;
|
||||||
Channel():
|
Channel():
|
||||||
SharedChannel<signed char>(15),
|
SharedChannel<signed char>(15),
|
||||||
prevFreq(65535),
|
prevFreq(65535),
|
||||||
|
@ -38,7 +38,8 @@ class DivPlatformNES: public DivDispatch {
|
||||||
envMode(3),
|
envMode(3),
|
||||||
len(0x1f),
|
len(0x1f),
|
||||||
sweepChanged(false),
|
sweepChanged(false),
|
||||||
furnaceDac(false) {}
|
furnaceDac(false),
|
||||||
|
setPos(false) {}
|
||||||
};
|
};
|
||||||
Channel chan[5];
|
Channel chan[5];
|
||||||
DivDispatchOscBuffer* oscBuf[5];
|
DivDispatchOscBuffer* oscBuf[5];
|
||||||
|
|
|
@ -32,7 +32,7 @@ class DivPlatformPCE: public DivDispatch {
|
||||||
unsigned int dacPos;
|
unsigned int dacPos;
|
||||||
int dacSample;
|
int dacSample;
|
||||||
unsigned char pan;
|
unsigned char pan;
|
||||||
bool noise, pcm, furnaceDac, deferredWaveUpdate;
|
bool noise, pcm, furnaceDac, deferredWaveUpdate, setPos;
|
||||||
signed short wave;
|
signed short wave;
|
||||||
int macroVolMul, noiseSeek;
|
int macroVolMul, noiseSeek;
|
||||||
DivWaveSynth ws;
|
DivWaveSynth ws;
|
||||||
|
@ -50,6 +50,7 @@ class DivPlatformPCE: public DivDispatch {
|
||||||
pcm(false),
|
pcm(false),
|
||||||
furnaceDac(false),
|
furnaceDac(false),
|
||||||
deferredWaveUpdate(false),
|
deferredWaveUpdate(false),
|
||||||
|
setPos(false),
|
||||||
wave(-1),
|
wave(-1),
|
||||||
macroVolMul(31),
|
macroVolMul(31),
|
||||||
noiseSeek(0) {}
|
noiseSeek(0) {}
|
||||||
|
|
|
@ -29,7 +29,7 @@ class DivPlatformQSound: public DivDispatch {
|
||||||
int sample, wave;
|
int sample, wave;
|
||||||
int panning;
|
int panning;
|
||||||
int echo;
|
int echo;
|
||||||
bool useWave, surround, isNewQSound;
|
bool useWave, surround, isNewQSound, setPos;
|
||||||
Channel():
|
Channel():
|
||||||
SharedChannel<int>(255),
|
SharedChannel<int>(255),
|
||||||
resVol(4095),
|
resVol(4095),
|
||||||
|
@ -39,7 +39,8 @@ class DivPlatformQSound: public DivDispatch {
|
||||||
echo(0),
|
echo(0),
|
||||||
useWave(false),
|
useWave(false),
|
||||||
surround(true),
|
surround(true),
|
||||||
isNewQSound(false) {}
|
isNewQSound(false),
|
||||||
|
setPos(false) {}
|
||||||
};
|
};
|
||||||
Channel chan[19];
|
Channel chan[19];
|
||||||
DivDispatchOscBuffer* oscBuf[19];
|
DivDispatchOscBuffer* oscBuf[19];
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
class DivPlatformSegaPCM: public DivDispatch {
|
class DivPlatformSegaPCM: public DivDispatch {
|
||||||
protected:
|
protected:
|
||||||
struct Channel: public SharedChannel<int> {
|
struct Channel: public SharedChannel<int> {
|
||||||
bool furnacePCM, isNewSegaPCM;
|
bool furnacePCM, isNewSegaPCM, setPos;
|
||||||
unsigned char chVolL, chVolR;
|
unsigned char chVolL, chVolR;
|
||||||
unsigned char chPanL, chPanR;
|
unsigned char chPanL, chPanR;
|
||||||
int macroVolMul;
|
int macroVolMul;
|
||||||
|
@ -44,6 +44,7 @@ class DivPlatformSegaPCM: public DivDispatch {
|
||||||
SharedChannel<int>(127),
|
SharedChannel<int>(127),
|
||||||
furnacePCM(false),
|
furnacePCM(false),
|
||||||
isNewSegaPCM(false),
|
isNewSegaPCM(false),
|
||||||
|
setPos(false),
|
||||||
chVolL(127),
|
chVolL(127),
|
||||||
chVolR(127),
|
chVolR(127),
|
||||||
chPanL(127),
|
chPanL(127),
|
||||||
|
|
|
@ -556,6 +556,7 @@ void DivPlatformSwan::reset() {
|
||||||
pcm=false;
|
pcm=false;
|
||||||
sweep=false;
|
sweep=false;
|
||||||
furnaceDac=false;
|
furnaceDac=false;
|
||||||
|
setPos=false;
|
||||||
noise=0;
|
noise=0;
|
||||||
dacPeriod=0;
|
dacPeriod=0;
|
||||||
dacRate=0;
|
dacRate=0;
|
||||||
|
|
|
@ -38,7 +38,7 @@ class DivPlatformSwan: public DivDispatch {
|
||||||
Channel chan[4];
|
Channel chan[4];
|
||||||
DivDispatchOscBuffer* oscBuf[4];
|
DivDispatchOscBuffer* oscBuf[4];
|
||||||
bool isMuted[4];
|
bool isMuted[4];
|
||||||
bool pcm, sweep, furnaceDac;
|
bool pcm, sweep, furnaceDac, setPos;
|
||||||
unsigned char sampleBank, noise;
|
unsigned char sampleBank, noise;
|
||||||
int dacPeriod, dacRate;
|
int dacPeriod, dacRate;
|
||||||
unsigned int dacPos;
|
unsigned int dacPos;
|
||||||
|
|
|
@ -38,8 +38,8 @@ class DivPlatformVERA: public DivDispatch {
|
||||||
unsigned int pos;
|
unsigned int pos;
|
||||||
unsigned int len;
|
unsigned int len;
|
||||||
unsigned char freq;
|
unsigned char freq;
|
||||||
bool depth16;
|
bool depth16, setPos;
|
||||||
PCMChannel(): sample(-1), pos(0), len(0), freq(0), depth16(false) {}
|
PCMChannel(): sample(-1), pos(0), len(0), freq(0), depth16(false), setPos(false) {}
|
||||||
} pcm;
|
} pcm;
|
||||||
Channel():
|
Channel():
|
||||||
SharedChannel<int>(0),
|
SharedChannel<int>(0),
|
||||||
|
|
|
@ -31,7 +31,7 @@ class DivPlatformVRC6: public DivDispatch, public vrcvi_intf {
|
||||||
unsigned int dacPos;
|
unsigned int dacPos;
|
||||||
int dacSample;
|
int dacSample;
|
||||||
unsigned char duty;
|
unsigned char duty;
|
||||||
bool pcm, furnaceDac;
|
bool pcm, furnaceDac, setPos;
|
||||||
Channel():
|
Channel():
|
||||||
SharedChannel<signed char>(15),
|
SharedChannel<signed char>(15),
|
||||||
dacPeriod(0),
|
dacPeriod(0),
|
||||||
|
@ -41,7 +41,8 @@ class DivPlatformVRC6: public DivDispatch, public vrcvi_intf {
|
||||||
dacSample(-1),
|
dacSample(-1),
|
||||||
duty(0),
|
duty(0),
|
||||||
pcm(false),
|
pcm(false),
|
||||||
furnaceDac(false) {}
|
furnaceDac(false),
|
||||||
|
setPos(false) {}
|
||||||
};
|
};
|
||||||
Channel chan[3];
|
Channel chan[3];
|
||||||
DivDispatchOscBuffer* oscBuf[3];
|
DivDispatchOscBuffer* oscBuf[3];
|
||||||
|
|
|
@ -70,7 +70,7 @@ class DivPlatformX1_010: public DivDispatch, public vgsound_emu_mem_intf {
|
||||||
int fixedFreq;
|
int fixedFreq;
|
||||||
int wave, sample;
|
int wave, sample;
|
||||||
unsigned char pan, autoEnvNum, autoEnvDen;
|
unsigned char pan, autoEnvNum, autoEnvDen;
|
||||||
bool envChanged, furnacePCM, pcm;
|
bool envChanged, furnacePCM, pcm, setPos;
|
||||||
int lvol, rvol;
|
int lvol, rvol;
|
||||||
int macroVolMul;
|
int macroVolMul;
|
||||||
unsigned char waveBank;
|
unsigned char waveBank;
|
||||||
|
@ -84,7 +84,7 @@ class DivPlatformX1_010: public DivDispatch, public vgsound_emu_mem_intf {
|
||||||
autoEnvNum=autoEnvDen=0;
|
autoEnvNum=autoEnvDen=0;
|
||||||
active=false;
|
active=false;
|
||||||
insChanged=envChanged=freqChanged=true;
|
insChanged=envChanged=freqChanged=true;
|
||||||
keyOn=keyOff=inPorta=furnacePCM=pcm=false;
|
keyOn=keyOff=inPorta=furnacePCM=pcm=setPos=false;
|
||||||
vol=outVol=lvol=rvol=15;
|
vol=outVol=lvol=rvol=15;
|
||||||
waveBank=0;
|
waveBank=0;
|
||||||
}
|
}
|
||||||
|
@ -99,6 +99,7 @@ class DivPlatformX1_010: public DivDispatch, public vgsound_emu_mem_intf {
|
||||||
envChanged(true),
|
envChanged(true),
|
||||||
furnacePCM(false),
|
furnacePCM(false),
|
||||||
pcm(false),
|
pcm(false),
|
||||||
|
setPos(false),
|
||||||
lvol(15),
|
lvol(15),
|
||||||
rvol(15),
|
rvol(15),
|
||||||
macroVolMul(15),
|
macroVolMul(15),
|
||||||
|
|
Loading…
Reference in a new issue