YM2612: CSM without DualPCM

This commit is contained in:
tildearrow 2022-12-23 19:26:42 -05:00
parent dff3ddeb3a
commit 37dbc52a68
5 changed files with 15 additions and 2 deletions

View file

@ -479,7 +479,7 @@ void DivPlatformGenesis::tick(bool sysTick) {
}
}
for (int i=0; i<7; i++) {
for (int i=0; i<csmChan; i++) {
if (i==2 && extMode) continue;
if (chan[i].freqChanged) {
if (parent->song.linearPitch==2) {
@ -1217,7 +1217,7 @@ void DivPlatformGenesis::poke(std::vector<DivRegWrite>& wlist) {
}
int DivPlatformGenesis::getPortaFloor(int ch) {
return (ch>5)?12:0;
return 0;
}
void DivPlatformGenesis::setYMFM(bool use) {

View file

@ -746,6 +746,10 @@ int DivPlatformGenesisExt::getPortaFloor(int ch) {
return (ch>8)?12:0;
}
void DivPlatformGenesisExt::setCSMChannel(unsigned char ch) {
csmChan=ch;
}
int DivPlatformGenesisExt::init(DivEngine* parent, int channels, int sugRate, const DivConfig& flags) {
DivPlatformGenesis::init(parent,channels,sugRate,flags);
for (int i=0; i<4; i++) {

View file

@ -42,6 +42,7 @@ class DivPlatformGenesisExt: public DivPlatformGenesis {
bool keyOffAffectsPorta(int ch);
void notifyInsChange(int ins);
int getPortaFloor(int ch);
void setCSMChannel(unsigned char ch);
int init(DivEngine* parent, int channels, int sugRate, const DivConfig& flags);
void quit();
~DivPlatformGenesisExt();