OPN: fix AY issue
This commit is contained in:
parent
7770ca8965
commit
7990dc1965
|
@ -203,6 +203,7 @@ void DivPlatformYM2203::tick(bool sysTick) {
|
||||||
ay->tick(sysTick);
|
ay->tick(sysTick);
|
||||||
ay->flushWrites();
|
ay->flushWrites();
|
||||||
for (DivRegWrite& i: ay->getRegisterWrites()) {
|
for (DivRegWrite& i: ay->getRegisterWrites()) {
|
||||||
|
if (i.addr>15) continue;
|
||||||
immWrite(i.addr&15,i.val);
|
immWrite(i.addr&15,i.val);
|
||||||
}
|
}
|
||||||
ay->getRegisterWrites().clear();
|
ay->getRegisterWrites().clear();
|
||||||
|
@ -807,6 +808,7 @@ void DivPlatformYM2203::forceIns() {
|
||||||
ay->forceIns();
|
ay->forceIns();
|
||||||
ay->flushWrites();
|
ay->flushWrites();
|
||||||
for (DivRegWrite& i: ay->getRegisterWrites()) {
|
for (DivRegWrite& i: ay->getRegisterWrites()) {
|
||||||
|
if (i.addr>15) continue;
|
||||||
immWrite(i.addr&15,i.val);
|
immWrite(i.addr&15,i.val);
|
||||||
}
|
}
|
||||||
ay->getRegisterWrites().clear();
|
ay->getRegisterWrites().clear();
|
||||||
|
|
|
@ -448,6 +448,7 @@ void DivPlatformYM2203Ext::forceIns() {
|
||||||
ay->forceIns();
|
ay->forceIns();
|
||||||
ay->flushWrites();
|
ay->flushWrites();
|
||||||
for (DivRegWrite& i: ay->getRegisterWrites()) {
|
for (DivRegWrite& i: ay->getRegisterWrites()) {
|
||||||
|
if (i.addr>15) continue;
|
||||||
immWrite(i.addr&15,i.val);
|
immWrite(i.addr&15,i.val);
|
||||||
}
|
}
|
||||||
ay->getRegisterWrites().clear();
|
ay->getRegisterWrites().clear();
|
||||||
|
|
|
@ -654,6 +654,7 @@ void DivPlatformYM2608::tick(bool sysTick) {
|
||||||
ay->tick(sysTick);
|
ay->tick(sysTick);
|
||||||
ay->flushWrites();
|
ay->flushWrites();
|
||||||
for (DivRegWrite& i: ay->getRegisterWrites()) {
|
for (DivRegWrite& i: ay->getRegisterWrites()) {
|
||||||
|
if (i.addr>15) continue;
|
||||||
immWrite(i.addr&15,i.val);
|
immWrite(i.addr&15,i.val);
|
||||||
}
|
}
|
||||||
ay->getRegisterWrites().clear();
|
ay->getRegisterWrites().clear();
|
||||||
|
@ -1199,6 +1200,7 @@ void DivPlatformYM2608::forceIns() {
|
||||||
ay->forceIns();
|
ay->forceIns();
|
||||||
ay->flushWrites();
|
ay->flushWrites();
|
||||||
for (DivRegWrite& i: ay->getRegisterWrites()) {
|
for (DivRegWrite& i: ay->getRegisterWrites()) {
|
||||||
|
if (i.addr>15) continue;
|
||||||
immWrite(i.addr&15,i.val);
|
immWrite(i.addr&15,i.val);
|
||||||
}
|
}
|
||||||
ay->getRegisterWrites().clear();
|
ay->getRegisterWrites().clear();
|
||||||
|
|
|
@ -483,6 +483,7 @@ void DivPlatformYM2608Ext::forceIns() {
|
||||||
ay->forceIns();
|
ay->forceIns();
|
||||||
ay->flushWrites();
|
ay->flushWrites();
|
||||||
for (DivRegWrite& i: ay->getRegisterWrites()) {
|
for (DivRegWrite& i: ay->getRegisterWrites()) {
|
||||||
|
if (i.addr>15) continue;
|
||||||
immWrite(i.addr&15,i.val);
|
immWrite(i.addr&15,i.val);
|
||||||
}
|
}
|
||||||
ay->getRegisterWrites().clear();
|
ay->getRegisterWrites().clear();
|
||||||
|
|
|
@ -593,13 +593,14 @@ void DivPlatformYM2610::tick(bool sysTick) {
|
||||||
ay->tick(sysTick);
|
ay->tick(sysTick);
|
||||||
ay->flushWrites();
|
ay->flushWrites();
|
||||||
for (DivRegWrite& i: ay->getRegisterWrites()) {
|
for (DivRegWrite& i: ay->getRegisterWrites()) {
|
||||||
|
if (i.addr>15) continue;
|
||||||
immWrite(i.addr&15,i.val);
|
immWrite(i.addr&15,i.val);
|
||||||
}
|
}
|
||||||
ay->getRegisterWrites().clear();
|
ay->getRegisterWrites().clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
int DivPlatformYM2610::dispatch(DivCommand c) {
|
int DivPlatformYM2610::dispatch(DivCommand c) {
|
||||||
if (c.chan>=psgChanOffs && c.chan<7) {
|
if (c.chan>=psgChanOffs && c.chan<adpcmAChanOffs) {
|
||||||
c.chan-=psgChanOffs;
|
c.chan-=psgChanOffs;
|
||||||
return ay->dispatch(c);
|
return ay->dispatch(c);
|
||||||
}
|
}
|
||||||
|
@ -1169,6 +1170,7 @@ void DivPlatformYM2610::forceIns() {
|
||||||
ay->forceIns();
|
ay->forceIns();
|
||||||
ay->flushWrites();
|
ay->flushWrites();
|
||||||
for (DivRegWrite& i: ay->getRegisterWrites()) {
|
for (DivRegWrite& i: ay->getRegisterWrites()) {
|
||||||
|
if (i.addr>15) continue;
|
||||||
immWrite(i.addr&15,i.val);
|
immWrite(i.addr&15,i.val);
|
||||||
}
|
}
|
||||||
ay->getRegisterWrites().clear();
|
ay->getRegisterWrites().clear();
|
||||||
|
|
|
@ -656,6 +656,7 @@ void DivPlatformYM2610B::tick(bool sysTick) {
|
||||||
ay->tick(sysTick);
|
ay->tick(sysTick);
|
||||||
ay->flushWrites();
|
ay->flushWrites();
|
||||||
for (DivRegWrite& i: ay->getRegisterWrites()) {
|
for (DivRegWrite& i: ay->getRegisterWrites()) {
|
||||||
|
if (i.addr>15) continue;
|
||||||
immWrite(i.addr&15,i.val);
|
immWrite(i.addr&15,i.val);
|
||||||
}
|
}
|
||||||
ay->getRegisterWrites().clear();
|
ay->getRegisterWrites().clear();
|
||||||
|
@ -1232,6 +1233,7 @@ void DivPlatformYM2610B::forceIns() {
|
||||||
ay->forceIns();
|
ay->forceIns();
|
||||||
ay->flushWrites();
|
ay->flushWrites();
|
||||||
for (DivRegWrite& i: ay->getRegisterWrites()) {
|
for (DivRegWrite& i: ay->getRegisterWrites()) {
|
||||||
|
if (i.addr>15) continue;
|
||||||
immWrite(i.addr&15,i.val);
|
immWrite(i.addr&15,i.val);
|
||||||
}
|
}
|
||||||
ay->getRegisterWrites().clear();
|
ay->getRegisterWrites().clear();
|
||||||
|
|
|
@ -474,6 +474,7 @@ void DivPlatformYM2610BExt::forceIns() {
|
||||||
ay->forceIns();
|
ay->forceIns();
|
||||||
ay->flushWrites();
|
ay->flushWrites();
|
||||||
for (DivRegWrite& i: ay->getRegisterWrites()) {
|
for (DivRegWrite& i: ay->getRegisterWrites()) {
|
||||||
|
if (i.addr>15) continue;
|
||||||
immWrite(i.addr&15,i.val);
|
immWrite(i.addr&15,i.val);
|
||||||
}
|
}
|
||||||
ay->getRegisterWrites().clear();
|
ay->getRegisterWrites().clear();
|
||||||
|
|
|
@ -474,6 +474,7 @@ void DivPlatformYM2610Ext::forceIns() {
|
||||||
ay->forceIns();
|
ay->forceIns();
|
||||||
ay->flushWrites();
|
ay->flushWrites();
|
||||||
for (DivRegWrite& i: ay->getRegisterWrites()) {
|
for (DivRegWrite& i: ay->getRegisterWrites()) {
|
||||||
|
if (i.addr>15) continue;
|
||||||
immWrite(i.addr&15,i.val);
|
immWrite(i.addr&15,i.val);
|
||||||
}
|
}
|
||||||
ay->getRegisterWrites().clear();
|
ay->getRegisterWrites().clear();
|
||||||
|
|
Loading…
Reference in New Issue