add cutoff and pulse width slides for C64, SID2 and SID3

Also add clipping for ADSR, duty and cutoff when in instrument types you go SID3 -> SID2 or SID2 -> C64 or SID3 -> C64
This commit is contained in:
LTVA1 2024-08-12 16:54:26 +03:00
parent e0df55749a
commit 46f1ae33c7
11 changed files with 162 additions and 18 deletions

View file

@ -37,6 +37,7 @@ class DivPlatformC64: public DivDispatch {
short duty;
bool sweepChanged, filter;
bool resetMask, resetFilter, resetDuty, gate, ring, sync, test;
short pw_slide;
Channel():
SharedChannel<signed char>(15),
prevFreq(65535),
@ -56,7 +57,8 @@ class DivPlatformC64: public DivDispatch {
gate(true),
ring(false),
sync(false),
test(false) {}
test(false),
pw_slide(0) {}
};
Channel chan[3];
DivDispatchOscBuffer* oscBuf[3];
@ -76,6 +78,7 @@ class DivPlatformC64: public DivDispatch {
unsigned char writeOscBuf;
unsigned char sidCore;
int filtCut, resetTime, initResetTime;
short cutoff_slide;
bool keyPriority, sidIs6581, needInitTables, no1EUpdate, multiplyRel, macroRace;
unsigned char chanOrder[3];