Fix ADPCM-A playback
Add per-chip debug function Add YM2203, YM2608, YM2610/B debug window Extend YM2612 debug window Remove unnecessary values in YM2151, Sega PCM platform
This commit is contained in:
parent
764ae60740
commit
cf1d4e55cf
58 changed files with 726 additions and 91 deletions
|
|
@ -484,16 +484,16 @@ void DivPlatformYM2610::tick(bool sysTick) {
|
|||
if (!isMuted[i] && (chan[i].std.vol.had || chan[i].std.panL.had)) {
|
||||
immWrite(0x108+(i-adpcmAChanOffs),isMuted[i]?0:((chan[i].pan<<6)|chan[i].outVol));
|
||||
}
|
||||
if (chan[i].keyOff) {
|
||||
writeADPCMAOff|=(1<<(i-adpcmAChanOffs));
|
||||
chan[i].keyOff=false;
|
||||
}
|
||||
if (chan[i].keyOn) {
|
||||
if (chan[i].sample>=0 && chan[i].sample<parent->song.sampleLen) {
|
||||
writeADPCMAOn|=(1<<(i-adpcmAChanOffs));
|
||||
}
|
||||
chan[i].keyOn=false;
|
||||
}
|
||||
if (chan[i].keyOff) {
|
||||
writeADPCMAOff|=(1<<(i-adpcmAChanOffs));
|
||||
chan[i].keyOff=false;
|
||||
}
|
||||
if (chan[i].keyOn) {
|
||||
if (chan[i].sample>=0 && chan[i].sample<parent->song.sampleLen) {
|
||||
writeADPCMAOn|=(1<<(i-adpcmAChanOffs));
|
||||
}
|
||||
chan[i].keyOn=false;
|
||||
}
|
||||
}
|
||||
// ADPCM-B
|
||||
|
|
@ -1246,7 +1246,7 @@ void DivPlatformYM2610::reset() {
|
|||
immWrite(0x22,0x08);
|
||||
|
||||
// PCM volume
|
||||
immWrite(0x101,0x3f); // A
|
||||
immWrite(0x101,globalADPCMAVolume); // A
|
||||
immWrite(0x1b,0xff); // B
|
||||
}
|
||||
|
||||
|
|
@ -1259,7 +1259,7 @@ bool DivPlatformYM2610::keyOffAffectsArp(int ch) {
|
|||
}
|
||||
|
||||
void DivPlatformYM2610::notifyInsChange(int ins) {
|
||||
for (int i=0; i<14; i++) {
|
||||
for (int i=0; i<chanNum; i++) {
|
||||
if (chan[i].ins==ins) {
|
||||
chan[i].insChanged=true;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue