C64: add chip flag to set env reset time

2 by default
1 for .dmf and old Furnace songs
This commit is contained in:
tildearrow 2023-10-29 04:14:54 -05:00
parent 7fd54775bb
commit f05d1693f8
4 changed files with 29 additions and 3 deletions

View file

@ -678,7 +678,7 @@ void DivPlatformC64::reset() {
filtControl=7;
filtRes=0;
filtCut=2047;
resetTime=1;
resetTime=initResetTime;
vol=15;
chanOrder[0]=0;
@ -728,6 +728,8 @@ void DivPlatformC64::setFlags(const DivConfig& flags) {
no1EUpdate=flags.getBool("no1EUpdate",false);
testAD=((flags.getInt("testAttack",0)&15)<<4)|(flags.getInt("testDecay",0)&15);
testSR=((flags.getInt("testSustain",0)&15)<<4)|(flags.getInt("testRelease",0)&15);
initResetTime=flags.getInt("initResetTime",2);
if (initResetTime<0) initResetTime=1;
// init fake filter table
// taken from dSID

View file

@ -75,7 +75,7 @@ class DivPlatformC64: public DivDispatch {
unsigned char filtControl, filtRes, vol;
unsigned char writeOscBuf;
unsigned char sidCore;
int filtCut, resetTime;
int filtCut, resetTime, initResetTime;
bool keyPriority, sidIs6581, needInitTables, no1EUpdate;
unsigned char chanOrder[3];