C219: bank hints

issue #1759
This commit is contained in:
tildearrow 2024-02-24 18:50:14 -05:00
parent e1d6fca576
commit e76c46e711
2 changed files with 17 additions and 1 deletions

View file

@ -314,6 +314,10 @@ void DivPlatformC140::tick(bool sysTick) {
}
}
}
for (int i=0; i<4; i++) {
bankLabel[i][0]='0'+groupBank[i];
}
}
int DivPlatformC140::dispatch(DivCommand c) {
@ -557,6 +561,14 @@ float DivPlatformC140::getPostAmp() {
return 3.0f;
}
DivChannelPair DivPlatformC140::getPaired(int ch) {
if (!is219) return DivChannelPair();
if ((ch&3)==0) {
return DivChannelPair(bankLabel[ch>>2],ch+1,ch+2,ch+3,-1,-1,-1,-1,-1);
}
return DivChannelPair();
}
const void* DivPlatformC140::getSampleMem(int index) {
return index == 0 ? sampleMem : NULL;
}
@ -736,7 +748,9 @@ int DivPlatformC140::init(DivEngine* p, int channels, int sugRate, const DivConf
parent=p;
dumpWrites=false;
skipRegisterWrites=false;
bankType=2;
bankType=0;
memset(bankLabel,0,16);
for (int i=0; i<totalChans; i++) {
isMuted[i]=false;

View file

@ -75,6 +75,7 @@ class DivPlatformC140: public DivDispatch {
struct c140_t c140;
struct c219_t c219;
unsigned char regPool[512];
char bankLabel[4][4];
friend void putDispatchChip(void*,int);
friend void putDispatchChan(void*,int,int);
@ -87,6 +88,7 @@ class DivPlatformC140: public DivDispatch {
void* getChanState(int chan);
DivMacroInt* getChanMacroInt(int ch);
unsigned short getPan(int chan);
DivChannelPair getPaired(int chan);
DivDispatchOscBuffer* getOscBuffer(int chan);
unsigned char* getRegisterPool();
int getRegisterPoolSize();