diff --git a/src/engine/platform/amiga.h b/src/engine/platform/amiga.h index a4c1a7a4..7a7f0d24 100644 --- a/src/engine/platform/amiga.h +++ b/src/engine/platform/amiga.h @@ -27,7 +27,7 @@ class DivPlatformAmiga: public DivDispatch { struct Channel { - int freq, baseFreq, pitch; + int freq, baseFreq, pitch, pitch2; unsigned int audLoc; unsigned short audLen; unsigned int audPos; @@ -45,6 +45,7 @@ class DivPlatformAmiga: public DivDispatch { freq(0), baseFreq(0), pitch(0), + pitch2(0), audLoc(0), audLen(0), audPos(0), diff --git a/src/engine/platform/arcade.h b/src/engine/platform/arcade.h index e051e8ab..07a610f7 100644 --- a/src/engine/platform/arcade.h +++ b/src/engine/platform/arcade.h @@ -36,7 +36,7 @@ class DivPlatformArcade: public DivDispatch { DivInstrumentFM state; DivMacroInt std; unsigned char freqH, freqL; - int freq, baseFreq, pitch, note; + int freq, baseFreq, pitch, pitch2, note; int ins; signed char konCycles; bool active, insChanged, freqChanged, keyOn, keyOff, inPorta, portaPause, furnacePCM, hardReset; @@ -48,6 +48,7 @@ class DivPlatformArcade: public DivDispatch { freq(0), baseFreq(0), pitch(0), + pitch2(0), note(0), ins(-1), active(false), diff --git a/src/engine/platform/ay.h b/src/engine/platform/ay.h index ce06fc9f..217d11ac 100644 --- a/src/engine/platform/ay.h +++ b/src/engine/platform/ay.h @@ -32,7 +32,7 @@ class DivPlatformAY8910: public DivDispatch { inline unsigned char regRemap(unsigned char reg) { return intellivision?AY8914RegRemap[reg&0x0f]:reg&0x0f; } struct Channel { unsigned char freqH, freqL; - int freq, baseFreq, note, pitch; + int freq, baseFreq, note, pitch, pitch2; int ins; unsigned char psgMode, autoEnvNum, autoEnvDen; signed char konCycles; @@ -40,7 +40,7 @@ class DivPlatformAY8910: public DivDispatch { int vol, outVol; unsigned char pan; DivMacroInt std; - Channel(): freqH(0), freqL(0), freq(0), baseFreq(0), note(0), pitch(0), ins(-1), psgMode(1), autoEnvNum(0), autoEnvDen(0), active(false), insChanged(true), freqChanged(false), keyOn(false), keyOff(false), portaPause(false), inPorta(false), vol(0), outVol(15), pan(3) {} + Channel(): freqH(0), freqL(0), freq(0), baseFreq(0), note(0), pitch(0), pitch2(0), ins(-1), psgMode(1), autoEnvNum(0), autoEnvDen(0), active(false), insChanged(true), freqChanged(false), keyOn(false), keyOff(false), portaPause(false), inPorta(false), vol(0), outVol(15), pan(3) {} }; Channel chan[3]; bool isMuted[3]; diff --git a/src/engine/platform/ay8930.h b/src/engine/platform/ay8930.h index 61a186f4..098a239b 100644 --- a/src/engine/platform/ay8930.h +++ b/src/engine/platform/ay8930.h @@ -28,7 +28,7 @@ class DivPlatformAY8930: public DivDispatch { protected: struct Channel { unsigned char freqH, freqL; - int freq, baseFreq, note, pitch; + int freq, baseFreq, note, pitch, pitch2; int ins; unsigned char psgMode, autoEnvNum, autoEnvDen, duty; signed char konCycles; @@ -36,7 +36,7 @@ class DivPlatformAY8930: public DivDispatch { int vol, outVol; unsigned char pan; DivMacroInt std; - Channel(): freqH(0), freqL(0), freq(0), baseFreq(0), note(0), pitch(0), ins(-1), psgMode(1), autoEnvNum(0), autoEnvDen(0), duty(4), active(false), insChanged(true), freqChanged(false), keyOn(false), keyOff(false), portaPause(false), inPorta(false), vol(0), outVol(31), pan(3) {} + Channel(): freqH(0), freqL(0), freq(0), baseFreq(0), note(0), pitch(0), pitch2(0), ins(-1), psgMode(1), autoEnvNum(0), autoEnvDen(0), duty(4), active(false), insChanged(true), freqChanged(false), keyOn(false), keyOff(false), portaPause(false), inPorta(false), vol(0), outVol(31), pan(3) {} }; Channel chan[3]; bool isMuted[3]; diff --git a/src/engine/platform/bubsyswsg.h b/src/engine/platform/bubsyswsg.h index 0fbb2ac5..87978d71 100644 --- a/src/engine/platform/bubsyswsg.h +++ b/src/engine/platform/bubsyswsg.h @@ -28,7 +28,7 @@ class DivPlatformBubSysWSG: public DivDispatch { struct Channel { - int freq, baseFreq, pitch, note, ins; + int freq, baseFreq, pitch, pitch2, note, ins; bool active, insChanged, freqChanged, keyOn, keyOff, inPorta; signed char vol, outVol, wave; signed char waveROM[32] = {0}; // 4 bit PROM per channel on bubble system @@ -38,6 +38,7 @@ class DivPlatformBubSysWSG: public DivDispatch { freq(0), baseFreq(0), pitch(0), + pitch2(0), note(0), ins(-1), active(false), diff --git a/src/engine/platform/c64.h b/src/engine/platform/c64.h index bc3cbf98..2cb53c16 100644 --- a/src/engine/platform/c64.h +++ b/src/engine/platform/c64.h @@ -26,7 +26,7 @@ class DivPlatformC64: public DivDispatch { struct Channel { - int freq, baseFreq, pitch, prevFreq, testWhen, note, ins; + int freq, baseFreq, pitch, pitch2, prevFreq, testWhen, note, ins; unsigned char sweep, wave, attack, decay, sustain, release; short duty; bool active, insChanged, freqChanged, sweepChanged, keyOn, keyOff, inPorta, filter; @@ -37,6 +37,7 @@ class DivPlatformC64: public DivDispatch { freq(0), baseFreq(0), pitch(0), + pitch2(0), prevFreq(65535), testWhen(0), note(0), diff --git a/src/engine/platform/fds.h b/src/engine/platform/fds.h index bf949272..252452e8 100644 --- a/src/engine/platform/fds.h +++ b/src/engine/platform/fds.h @@ -26,7 +26,7 @@ class DivPlatformFDS: public DivDispatch { struct Channel { - int freq, baseFreq, pitch, prevFreq, note, modFreq, ins; + int freq, baseFreq, pitch, pitch2, prevFreq, note, modFreq, ins; unsigned char duty, sweep, modDepth, modPos; bool active, insChanged, freqChanged, sweepChanged, keyOn, keyOff, inPorta, modOn; signed char vol, outVol, wave; @@ -36,6 +36,7 @@ class DivPlatformFDS: public DivDispatch { freq(0), baseFreq(0), pitch(0), + pitch2(0), prevFreq(65535), note(0), modFreq(0), diff --git a/src/engine/platform/gb.h b/src/engine/platform/gb.h index c79603ab..9d1a4572 100644 --- a/src/engine/platform/gb.h +++ b/src/engine/platform/gb.h @@ -27,7 +27,7 @@ class DivPlatformGB: public DivDispatch { struct Channel { - int freq, baseFreq, pitch, note, ins; + int freq, baseFreq, pitch, pitch2, note, ins; unsigned char duty, sweep; bool active, insChanged, freqChanged, sweepChanged, keyOn, keyOff, inPorta; signed char vol, outVol, wave; @@ -36,6 +36,7 @@ class DivPlatformGB: public DivDispatch { freq(0), baseFreq(0), pitch(0), + pitch2(0), note(0), ins(-1), duty(0), diff --git a/src/engine/platform/genesis.h b/src/engine/platform/genesis.h index 31f11d18..13df1e8b 100644 --- a/src/engine/platform/genesis.h +++ b/src/engine/platform/genesis.h @@ -36,7 +36,7 @@ class DivPlatformGenesis: public DivDispatch { DivInstrumentFM state; DivMacroInt std; unsigned char freqH, freqL; - int freq, baseFreq, pitch, portaPauseFreq, note; + int freq, baseFreq, pitch, pitch2, portaPauseFreq, note; int ins; bool active, insChanged, freqChanged, keyOn, keyOff, portaPause, furnaceDac, inPorta, hardReset; int vol, outVol; @@ -47,6 +47,7 @@ class DivPlatformGenesis: public DivDispatch { freq(0), baseFreq(0), pitch(0), + pitch2(0), portaPauseFreq(0), note(0), ins(-1), diff --git a/src/engine/platform/genesisext.h b/src/engine/platform/genesisext.h index e3604a34..c246ee3f 100644 --- a/src/engine/platform/genesisext.h +++ b/src/engine/platform/genesisext.h @@ -25,7 +25,7 @@ class DivPlatformGenesisExt: public DivPlatformGenesis { struct OpChannel { DivMacroInt std; unsigned char freqH, freqL; - int freq, baseFreq, pitch, portaPauseFreq, ins; + int freq, baseFreq, pitch, pitch2, portaPauseFreq, ins; signed char konCycles; bool active, insChanged, freqChanged, keyOn, keyOff, portaPause; int vol; @@ -36,6 +36,7 @@ class DivPlatformGenesisExt: public DivPlatformGenesis { freq(0), baseFreq(0), pitch(0), + pitch2(0), portaPauseFreq(0), ins(-1), active(false), diff --git a/src/engine/platform/lynx.h b/src/engine/platform/lynx.h index f1f974ed..1093bad8 100644 --- a/src/engine/platform/lynx.h +++ b/src/engine/platform/lynx.h @@ -44,7 +44,7 @@ class DivPlatformLynx: public DivDispatch { DivMacroInt std; MikeyFreqDiv fd; MikeyDuty duty; - int baseFreq, pitch, note, actualNote, lfsr, ins; + int baseFreq, pitch, pitch2, note, actualNote, lfsr, ins; unsigned char pan; bool active, insChanged, freqChanged, keyOn, keyOff, inPorta; signed char vol, outVol; @@ -54,6 +54,7 @@ class DivPlatformLynx: public DivDispatch { duty(0), baseFreq(0), pitch(0), + pitch2(0), note(0), actualNote(0), lfsr(-1), diff --git a/src/engine/platform/mmc5.h b/src/engine/platform/mmc5.h index 879ebee1..7db844a0 100644 --- a/src/engine/platform/mmc5.h +++ b/src/engine/platform/mmc5.h @@ -25,7 +25,7 @@ class DivPlatformMMC5: public DivDispatch { struct Channel { - int freq, baseFreq, pitch, prevFreq, note, ins; + int freq, baseFreq, pitch, pitch2, prevFreq, note, ins; unsigned char duty, sweep; bool active, insChanged, freqChanged, sweepChanged, keyOn, keyOff, inPorta, furnaceDac; signed char vol, outVol, wave; @@ -34,6 +34,7 @@ class DivPlatformMMC5: public DivDispatch { freq(0), baseFreq(0), pitch(0), + pitch2(0), prevFreq(65535), note(0), ins(-1), diff --git a/src/engine/platform/n163.h b/src/engine/platform/n163.h index 38ebeace..0b4edbdd 100644 --- a/src/engine/platform/n163.h +++ b/src/engine/platform/n163.h @@ -28,7 +28,7 @@ class DivPlatformN163: public DivDispatch { struct Channel { - int freq, baseFreq, pitch, note; + int freq, baseFreq, pitch, pitch2, note; short ins, wave, wavePos, waveLen; unsigned char waveMode; short loadWave, loadPos, loadLen; @@ -41,6 +41,7 @@ class DivPlatformN163: public DivDispatch { freq(0), baseFreq(0), pitch(0), + pitch2(0), note(0), ins(-1), wave(-1), diff --git a/src/engine/platform/nes.h b/src/engine/platform/nes.h index 7650d39e..8de7f7b5 100644 --- a/src/engine/platform/nes.h +++ b/src/engine/platform/nes.h @@ -25,7 +25,7 @@ class DivPlatformNES: public DivDispatch { struct Channel { - int freq, baseFreq, pitch, prevFreq, note, ins; + int freq, baseFreq, pitch, pitch2, prevFreq, note, ins; unsigned char duty, sweep; bool active, insChanged, freqChanged, sweepChanged, keyOn, keyOff, inPorta, furnaceDac; signed char vol, outVol, wave; @@ -34,6 +34,7 @@ class DivPlatformNES: public DivDispatch { freq(0), baseFreq(0), pitch(0), + pitch2(0), prevFreq(65535), note(0), ins(-1), diff --git a/src/engine/platform/opl.h b/src/engine/platform/opl.h index ee3bcb36..50a232aa 100644 --- a/src/engine/platform/opl.h +++ b/src/engine/platform/opl.h @@ -30,7 +30,7 @@ class DivPlatformOPL: public DivDispatch { DivInstrumentFM state; DivMacroInt std; unsigned char freqH, freqL; - int freq, baseFreq, pitch, note, ins; + int freq, baseFreq, pitch, pitch2, note, ins; bool active, insChanged, freqChanged, keyOn, keyOff, portaPause, furnaceDac, inPorta, fourOp; int vol, outVol; unsigned char pan; @@ -40,6 +40,7 @@ class DivPlatformOPL: public DivDispatch { freq(0), baseFreq(0), pitch(0), + pitch2(0), note(0), ins(-1), active(false), diff --git a/src/engine/platform/opll.h b/src/engine/platform/opll.h index 79f905c6..8b1732aa 100644 --- a/src/engine/platform/opll.h +++ b/src/engine/platform/opll.h @@ -33,7 +33,7 @@ class DivPlatformOPLL: public DivDispatch { DivInstrumentFM state; DivMacroInt std; unsigned char freqH, freqL; - int freq, baseFreq, pitch, note, ins; + int freq, baseFreq, pitch, pitch2, note, ins; bool active, insChanged, freqChanged, keyOn, keyOff, portaPause, furnaceDac, inPorta; int vol, outVol; unsigned char pan; @@ -43,6 +43,7 @@ class DivPlatformOPLL: public DivDispatch { freq(0), baseFreq(0), pitch(0), + pitch2(0), note(0), ins(-1), active(false), diff --git a/src/engine/platform/pce.h b/src/engine/platform/pce.h index deb85fbb..1f92e633 100644 --- a/src/engine/platform/pce.h +++ b/src/engine/platform/pce.h @@ -28,7 +28,7 @@ class DivPlatformPCE: public DivDispatch { struct Channel { - int freq, baseFreq, pitch, note; + int freq, baseFreq, pitch, pitch2, note; int dacPeriod, dacRate; unsigned int dacPos; int dacSample, ins; @@ -41,6 +41,7 @@ class DivPlatformPCE: public DivDispatch { freq(0), baseFreq(0), pitch(0), + pitch2(0), note(0), dacPeriod(0), dacRate(0), diff --git a/src/engine/platform/pcspkr.h b/src/engine/platform/pcspkr.h index f8813f3f..815f2a96 100644 --- a/src/engine/platform/pcspkr.h +++ b/src/engine/platform/pcspkr.h @@ -25,7 +25,7 @@ class DivPlatformPCSpeaker: public DivDispatch { struct Channel { - int freq, baseFreq, pitch, note, ins; + int freq, baseFreq, pitch, pitch2, note, ins; unsigned char duty, sweep; bool active, insChanged, freqChanged, sweepChanged, keyOn, keyOff, inPorta, furnaceDac; signed char vol, outVol, wave; @@ -34,6 +34,7 @@ class DivPlatformPCSpeaker: public DivDispatch { freq(0), baseFreq(0), pitch(0), + pitch2(0), note(0), ins(-1), duty(0), diff --git a/src/engine/platform/pet.h b/src/engine/platform/pet.h index b4b75316..567d4fc4 100644 --- a/src/engine/platform/pet.h +++ b/src/engine/platform/pet.h @@ -25,7 +25,7 @@ class DivPlatformPET: public DivDispatch { struct Channel { - int freq, baseFreq, pitch, note, ins; + int freq, baseFreq, pitch, pitch2, note, ins; bool active, insChanged, freqChanged, keyOn, keyOff, inPorta; int vol, outVol, wave; unsigned char sreg; @@ -36,6 +36,7 @@ class DivPlatformPET: public DivDispatch { freq(0), baseFreq(0), pitch(0), + pitch2(0), note(0), ins(-1), active(false), diff --git a/src/engine/platform/qsound.h b/src/engine/platform/qsound.h index aa07a3b4..23229e14 100644 --- a/src/engine/platform/qsound.h +++ b/src/engine/platform/qsound.h @@ -27,7 +27,7 @@ class DivPlatformQSound: public DivDispatch { struct Channel { - int freq, baseFreq, pitch; + int freq, baseFreq, pitch, pitch2; unsigned short audLen; unsigned int audPos; int sample, wave, ins; @@ -40,6 +40,7 @@ class DivPlatformQSound: public DivDispatch { freq(0), baseFreq(0), pitch(0), + pitch2(0), audLen(0), audPos(0), sample(-1), diff --git a/src/engine/platform/saa.h b/src/engine/platform/saa.h index 30909293..8546c967 100644 --- a/src/engine/platform/saa.h +++ b/src/engine/platform/saa.h @@ -35,14 +35,14 @@ class DivPlatformSAA1099: public DivDispatch { protected: struct Channel { unsigned char freqH, freqL; - int freq, baseFreq, pitch, note, ins; + int freq, baseFreq, pitch, pitch2, note, ins; unsigned char psgMode; signed char konCycles; bool active, insChanged, freqChanged, keyOn, keyOff, portaPause, inPorta; int vol, outVol; unsigned char pan; DivMacroInt std; - Channel(): freqH(0), freqL(0), freq(0), baseFreq(0), pitch(0), note(0), ins(-1), psgMode(1), active(false), insChanged(true), freqChanged(false), keyOn(false), keyOff(false), portaPause(false), inPorta(false), vol(0), outVol(15), pan(255) {} + Channel(): freqH(0), freqL(0), freq(0), baseFreq(0), pitch(0), pitch2(0), note(0), ins(-1), psgMode(1), active(false), insChanged(true), freqChanged(false), keyOn(false), keyOff(false), portaPause(false), inPorta(false), vol(0), outVol(15), pan(255) {} }; Channel chan[6]; bool isMuted[6]; diff --git a/src/engine/platform/segapcm.h b/src/engine/platform/segapcm.h index 3a68a34b..01e56b6b 100644 --- a/src/engine/platform/segapcm.h +++ b/src/engine/platform/segapcm.h @@ -29,7 +29,7 @@ class DivPlatformSegaPCM: public DivDispatch { struct Channel { DivMacroInt std; unsigned char freqH, freqL; - int freq, baseFreq, pitch, note, ins; + int freq, baseFreq, pitch, pitch2, note, ins; signed char konCycles; bool active, insChanged, freqChanged, keyOn, keyOff, inPorta, portaPause, furnacePCM; int vol, outVol; @@ -42,7 +42,7 @@ class DivPlatformSegaPCM: public DivDispatch { unsigned char freq; PCMChannel(): sample(-1), pos(0), len(0), freq(0) {} } pcm; - Channel(): freqH(0), freqL(0), freq(0), baseFreq(0), pitch(0), note(0), ins(-1), active(false), insChanged(true), freqChanged(false), keyOn(false), keyOff(false), inPorta(false), portaPause(false), furnacePCM(false), vol(0), outVol(0), chVolL(127), chVolR(127) {} + Channel(): freqH(0), freqL(0), freq(0), baseFreq(0), pitch(0), pitch2(0), note(0), ins(-1), active(false), insChanged(true), freqChanged(false), keyOn(false), keyOff(false), inPorta(false), portaPause(false), furnacePCM(false), vol(0), outVol(0), chVolL(127), chVolR(127) {} }; Channel chan[16]; struct QueuedWrite { diff --git a/src/engine/platform/sms.h b/src/engine/platform/sms.h index 66fdda85..3342dc98 100644 --- a/src/engine/platform/sms.h +++ b/src/engine/platform/sms.h @@ -26,7 +26,7 @@ class DivPlatformSMS: public DivDispatch { struct Channel { - int freq, baseFreq, pitch, note, actualNote, ins; + int freq, baseFreq, pitch, pitch2, note, actualNote, ins; bool active, insChanged, freqChanged, keyOn, keyOff, inPorta; signed char vol, outVol; DivMacroInt std; @@ -34,6 +34,7 @@ class DivPlatformSMS: public DivDispatch { freq(0), baseFreq(0), pitch(0), + pitch2(0), note(0), actualNote(0), ins(-1), diff --git a/src/engine/platform/su.h b/src/engine/platform/su.h index 6291d453..935e62ea 100644 --- a/src/engine/platform/su.h +++ b/src/engine/platform/su.h @@ -27,7 +27,7 @@ class DivPlatformSoundUnit: public DivDispatch { struct Channel { - int freq, baseFreq, pitch, note; + int freq, baseFreq, pitch, pitch2, note; int ins, cutoff, res, control; signed char pan; unsigned char duty; @@ -39,6 +39,7 @@ class DivPlatformSoundUnit: public DivDispatch { freq(0), baseFreq(0), pitch(0), + pitch2(0), note(0), ins(-1), cutoff(65535), diff --git a/src/engine/platform/swan.h b/src/engine/platform/swan.h index fdad150b..8997e28d 100644 --- a/src/engine/platform/swan.h +++ b/src/engine/platform/swan.h @@ -28,7 +28,7 @@ class DivPlatformSwan: public DivDispatch { struct Channel { - int freq, baseFreq, pitch, note, ins; + int freq, baseFreq, pitch, pitch2, note, ins; unsigned char pan; bool active, insChanged, freqChanged, keyOn, keyOff, inPorta; int vol, outVol, wave; @@ -38,6 +38,7 @@ class DivPlatformSwan: public DivDispatch { freq(0), baseFreq(0), pitch(0), + pitch2(0), note(0), ins(-1), pan(255), diff --git a/src/engine/platform/tia.h b/src/engine/platform/tia.h index 602cc6f1..cc59fc18 100644 --- a/src/engine/platform/tia.h +++ b/src/engine/platform/tia.h @@ -27,13 +27,13 @@ class DivPlatformTIA: public DivDispatch { protected: struct Channel { - int freq, baseFreq, pitch, note, ins; + int freq, baseFreq, pitch, pitch2, note, ins; unsigned char shape; signed char konCycles; bool active, insChanged, freqChanged, keyOn, keyOff, portaPause, inPorta; int vol, outVol; DivMacroInt std; - Channel(): freq(0), baseFreq(0), pitch(0), note(0), ins(-1), shape(4), active(false), insChanged(true), freqChanged(false), keyOn(false), keyOff(false), portaPause(false), inPorta(false), vol(0), outVol(15) {} + Channel(): freq(0), baseFreq(0), pitch(0), pitch2(0), note(0), ins(-1), shape(4), active(false), insChanged(true), freqChanged(false), keyOn(false), keyOff(false), portaPause(false), inPorta(false), vol(0), outVol(15) {} }; Channel chan[2]; bool isMuted[2]; diff --git a/src/engine/platform/tx81z.h b/src/engine/platform/tx81z.h index d9261ebd..e8bda6a3 100644 --- a/src/engine/platform/tx81z.h +++ b/src/engine/platform/tx81z.h @@ -35,7 +35,7 @@ class DivPlatformTX81Z: public DivDispatch { DivInstrumentFM state; DivMacroInt std; unsigned char freqH, freqL; - int freq, baseFreq, pitch, note, ins; + int freq, baseFreq, pitch, pitch2, note, ins; signed char konCycles; bool active, insChanged, freqChanged, keyOn, keyOff, inPorta, portaPause, furnacePCM, hardReset; int vol, outVol; @@ -46,6 +46,7 @@ class DivPlatformTX81Z: public DivDispatch { freq(0), baseFreq(0), pitch(0), + pitch2(0), note(0), ins(-1), active(false), diff --git a/src/engine/platform/vera.h b/src/engine/platform/vera.h index 64dee5c7..b40598b3 100644 --- a/src/engine/platform/vera.h +++ b/src/engine/platform/vera.h @@ -29,7 +29,7 @@ struct VERA_PCM; class DivPlatformVERA: public DivDispatch { protected: struct Channel { - int freq, baseFreq, pitch, note, ins; + int freq, baseFreq, pitch, pitch2, note, ins; unsigned char pan; bool active, freqChanged, inPorta; int vol, outVol; @@ -45,7 +45,8 @@ class DivPlatformVERA: public DivDispatch { bool depth16; PCMChannel(): sample(-1), pos(0), len(0), freq(0), depth16(false) {} } pcm; - Channel(): freq(0), baseFreq(0), pitch(0), note(0), ins(-1), pan(0), active(false), freqChanged(false), inPorta(false), vol(0), outVol(0), accum(0), noiseval(0) {} + // somebody please split this into multiple lines! + Channel(): freq(0), baseFreq(0), pitch(0), pitch2(0), note(0), ins(-1), pan(0), active(false), freqChanged(false), inPorta(false), vol(0), outVol(0), accum(0), noiseval(0) {} }; Channel chan[17]; bool isMuted[17]; diff --git a/src/engine/platform/vic20.h b/src/engine/platform/vic20.h index 8c15c35d..0db37c5b 100644 --- a/src/engine/platform/vic20.h +++ b/src/engine/platform/vic20.h @@ -27,7 +27,7 @@ class DivPlatformVIC20: public DivDispatch { struct Channel { - int freq, baseFreq, pitch, note, ins; + int freq, baseFreq, pitch, pitch2, note, ins; unsigned char pan; bool active, insChanged, freqChanged, keyOn, keyOff, inPorta; int vol, outVol, wave, waveWriteCycle; @@ -36,6 +36,7 @@ class DivPlatformVIC20: public DivDispatch { freq(0), baseFreq(0), pitch(0), + pitch2(0), note(0), ins(-1), pan(255), diff --git a/src/engine/platform/vrc6.h b/src/engine/platform/vrc6.h index a44e9d33..45dcb5c5 100644 --- a/src/engine/platform/vrc6.h +++ b/src/engine/platform/vrc6.h @@ -28,7 +28,7 @@ class DivPlatformVRC6: public DivDispatch { struct Channel { - int freq, baseFreq, pitch, note; + int freq, baseFreq, pitch, pitch2, note; int dacPeriod, dacRate, dacOut; unsigned int dacPos; int dacSample, ins; @@ -40,6 +40,7 @@ class DivPlatformVRC6: public DivDispatch { freq(0), baseFreq(0), pitch(0), + pitch2(0), note(0), dacPeriod(0), dacRate(0), diff --git a/src/engine/platform/x1_010.h b/src/engine/platform/x1_010.h index bee54647..cceb6117 100644 --- a/src/engine/platform/x1_010.h +++ b/src/engine/platform/x1_010.h @@ -79,7 +79,7 @@ class DivPlatformX1_010: public DivDispatch { slide(0), slidefrac(0) {} }; - int freq, baseFreq, pitch, note; + int freq, baseFreq, pitch, pitch2, note; int wave, sample, ins; unsigned char pan, autoEnvNum, autoEnvDen; bool active, insChanged, envChanged, freqChanged, keyOn, keyOff, inPorta, furnacePCM, pcm; @@ -89,7 +89,7 @@ class DivPlatformX1_010: public DivDispatch { DivMacroInt std; DivWaveSynth ws; void reset() { - freq = baseFreq = pitch = note = 0; + freq = baseFreq = pitch = pitch2 = note = 0; wave = sample = ins = -1; pan = 255; autoEnvNum = autoEnvDen = 0; @@ -100,7 +100,7 @@ class DivPlatformX1_010: public DivDispatch { waveBank = 0; } Channel(): - freq(0), baseFreq(0), pitch(0), note(0), + freq(0), baseFreq(0), pitch(0), pitch2(0), note(0), wave(-1), sample(-1), ins(-1), pan(255), autoEnvNum(0), autoEnvDen(0), active(false), insChanged(true), envChanged(true), freqChanged(false), keyOn(false), keyOff(false), inPorta(false), furnacePCM(false), pcm(false), diff --git a/src/engine/platform/ym2610.h b/src/engine/platform/ym2610.h index af947199..ec1b2497 100644 --- a/src/engine/platform/ym2610.h +++ b/src/engine/platform/ym2610.h @@ -43,7 +43,7 @@ class DivPlatformYM2610: public DivDispatch { struct Channel { DivInstrumentFM state; unsigned char freqH, freqL; - int freq, baseFreq, pitch, note, ins; + int freq, baseFreq, pitch, pitch2, note, ins; unsigned char psgMode, autoEnvNum, autoEnvDen; signed char konCycles; bool active, insChanged, freqChanged, keyOn, keyOff, portaPause, inPorta, furnacePCM, hardReset; @@ -57,6 +57,7 @@ class DivPlatformYM2610: public DivDispatch { freq(0), baseFreq(0), pitch(0), + pitch2(0), note(0), ins(-1), psgMode(1), diff --git a/src/engine/platform/ym2610b.h b/src/engine/platform/ym2610b.h index d2363ed1..0ce1e0f7 100644 --- a/src/engine/platform/ym2610b.h +++ b/src/engine/platform/ym2610b.h @@ -35,7 +35,7 @@ class DivPlatformYM2610B: public DivDispatch { struct Channel { DivInstrumentFM state; unsigned char freqH, freqL; - int freq, baseFreq, pitch, note, ins; + int freq, baseFreq, pitch, pitch2, note, ins; unsigned char psgMode, autoEnvNum, autoEnvDen; signed char konCycles; bool active, insChanged, freqChanged, keyOn, keyOff, portaPause, inPorta, furnacePCM, hardReset; @@ -49,6 +49,7 @@ class DivPlatformYM2610B: public DivDispatch { freq(0), baseFreq(0), pitch(0), + pitch2(0), note(0), ins(-1), psgMode(1), diff --git a/src/engine/platform/ym2610bext.h b/src/engine/platform/ym2610bext.h index c2cd4fb3..5dd98c87 100644 --- a/src/engine/platform/ym2610bext.h +++ b/src/engine/platform/ym2610bext.h @@ -25,12 +25,12 @@ class DivPlatformYM2610BExt: public DivPlatformYM2610B { struct OpChannel { DivMacroInt std; unsigned char freqH, freqL; - int freq, baseFreq, pitch, ins; + int freq, baseFreq, pitch, pitch2, ins; signed char konCycles; bool active, insChanged, freqChanged, keyOn, keyOff, portaPause; int vol; unsigned char pan; - OpChannel(): freqH(0), freqL(0), freq(0), baseFreq(0), pitch(0), ins(-1), active(false), insChanged(true), freqChanged(false), keyOn(false), keyOff(false), portaPause(false), vol(0), pan(3) {} + OpChannel(): freqH(0), freqL(0), freq(0), baseFreq(0), pitch(0), pitch2(0), ins(-1), active(false), insChanged(true), freqChanged(false), keyOn(false), keyOff(false), portaPause(false), vol(0), pan(3) {} }; OpChannel opChan[4]; bool isOpMuted[4]; diff --git a/src/engine/platform/ym2610ext.h b/src/engine/platform/ym2610ext.h index b8922912..0ff45981 100644 --- a/src/engine/platform/ym2610ext.h +++ b/src/engine/platform/ym2610ext.h @@ -25,12 +25,12 @@ class DivPlatformYM2610Ext: public DivPlatformYM2610 { struct OpChannel { DivMacroInt std; unsigned char freqH, freqL; - int freq, baseFreq, pitch, ins; + int freq, baseFreq, pitch, pitch2, ins; signed char konCycles; bool active, insChanged, freqChanged, keyOn, keyOff, portaPause; int vol; unsigned char pan; - OpChannel(): freqH(0), freqL(0), freq(0), baseFreq(0), pitch(0), ins(-1), active(false), insChanged(true), freqChanged(false), keyOn(false), keyOff(false), portaPause(false), vol(0), pan(3) {} + OpChannel(): freqH(0), freqL(0), freq(0), baseFreq(0), pitch(0), pitch2(0), ins(-1), active(false), insChanged(true), freqChanged(false), keyOn(false), keyOff(false), portaPause(false), vol(0), pan(3) {} }; OpChannel opChan[4]; bool isOpMuted[4];