C64 and SID2 channel pairs

This commit is contained in:
LTVA1 2024-08-14 22:09:07 +03:00
parent 75f35e91d6
commit 5f0c61d225
4 changed files with 48 additions and 0 deletions

View file

@ -624,6 +624,29 @@ DivMacroInt* DivPlatformC64::getChanMacroInt(int ch) {
return &chan[ch].std;
}
void DivPlatformC64::getPaired(int ch, std::vector<DivChannelPair>& ret) {
if (chan[ch].ring) {
if(ch == 0)
{
ret.push_back(DivChannelPair("ring",2));
}
else
{
ret.push_back(DivChannelPair("ring",(ch-1)%3));
}
}
if (chan[ch].sync) {
if(ch == 0)
{
ret.push_back(DivChannelPair("sync",2));
}
else
{
ret.push_back(DivChannelPair("sync",(ch-1)%3));
}
}
}
DivChannelModeHints DivPlatformC64::getModeHints(int ch) {
DivChannelModeHints ret;
ret.count=1;

View file

@ -117,6 +117,7 @@ class DivPlatformC64: public DivDispatch {
bool isVolGlobal();
float getPostAmp();
DivMacroInt* getChanMacroInt(int ch);
void getPaired(int ch, std::vector<DivChannelPair>& ret);
DivChannelModeHints getModeHints(int chan);
void notifyInsDeletion(void* ins);
void poke(unsigned int addr, unsigned short val);

View file

@ -598,6 +598,29 @@ DivMacroInt* DivPlatformSID2::getChanMacroInt(int ch) {
return &chan[ch].std;
}
void DivPlatformSID2::getPaired(int ch, std::vector<DivChannelPair>& ret) {
if (chan[ch].ring) {
if(ch == 0)
{
ret.push_back(DivChannelPair("ring",2));
}
else
{
ret.push_back(DivChannelPair("ring",(ch-1)%3));
}
}
if (chan[ch].sync) {
if(ch == 0)
{
ret.push_back(DivChannelPair("sync",2));
}
else
{
ret.push_back(DivChannelPair("sync",(ch-1)%3));
}
}
}
DivChannelModeHints DivPlatformSID2::getModeHints(int ch) {
DivChannelModeHints ret;
ret.count=1;

View file

@ -109,6 +109,7 @@ class DivPlatformSID2: public DivDispatch {
bool isVolGlobal();
float getPostAmp();
DivMacroInt* getChanMacroInt(int ch);
void getPaired(int ch, std::vector<DivChannelPair>& ret);
DivChannelModeHints getModeHints(int chan);
void notifyInsDeletion(void* ins);
void poke(unsigned int addr, unsigned short val);