parent
f0207011da
commit
a36d78305a
|
@ -256,8 +256,9 @@ void DivPlatformGenesis::acquire_ymfm(short** buf, size_t len) {
|
||||||
if (delay>0) delay--;
|
if (delay>0) delay--;
|
||||||
|
|
||||||
os[0]=0; os[1]=0;
|
os[0]=0; os[1]=0;
|
||||||
if (delay<=0 && !writes.empty()) {
|
if (!writes.empty()) {
|
||||||
QueuedWrite& w=writes.front();
|
QueuedWrite& w=writes.front();
|
||||||
|
if (delay<=0 || w.urgent) {
|
||||||
if (w.addr==0xfffffffe) {
|
if (w.addr==0xfffffffe) {
|
||||||
delay=w.val;
|
delay=w.val;
|
||||||
} else {
|
} else {
|
||||||
|
@ -276,6 +277,17 @@ void DivPlatformGenesis::acquire_ymfm(short** buf, size_t len) {
|
||||||
canWriteDAC=writes.empty();
|
canWriteDAC=writes.empty();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
if (dacWrite>=0) {
|
||||||
|
if (!canWriteDAC) {
|
||||||
|
canWriteDAC=true;
|
||||||
|
} else {
|
||||||
|
urgentWrite(0x2a,dacWrite);
|
||||||
|
dacWrite=-1;
|
||||||
|
canWriteDAC=writes.empty();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
canWriteDAC=true;
|
canWriteDAC=true;
|
||||||
if (dacWrite>=0) {
|
if (dacWrite>=0) {
|
||||||
|
@ -414,8 +426,9 @@ void DivPlatformGenesis::acquire_nuked276(short** buf, size_t len) {
|
||||||
|
|
||||||
if (delay>0) delay--;
|
if (delay>0) delay--;
|
||||||
|
|
||||||
if (delay<=0 && !writes.empty()) {
|
if (!writes.empty()) {
|
||||||
QueuedWrite& w=writes.front();
|
QueuedWrite& w=writes.front();
|
||||||
|
if (delay<=0 || w.urgent) {
|
||||||
if (w.addr==0xfffffffe) {
|
if (w.addr==0xfffffffe) {
|
||||||
delay=w.val;
|
delay=w.val;
|
||||||
writes.pop_front();
|
writes.pop_front();
|
||||||
|
@ -564,6 +577,17 @@ void DivPlatformGenesis::acquire_nuked276(short** buf, size_t len) {
|
||||||
} else {
|
} else {
|
||||||
w.addrOrVal=true;
|
w.addrOrVal=true;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
if (dacWrite>=0) {
|
||||||
|
if (!canWriteDAC) {
|
||||||
|
canWriteDAC=true;
|
||||||
|
} else {
|
||||||
|
urgentWrite(0x2a,dacWrite);
|
||||||
|
dacWrite=-1;
|
||||||
|
canWriteDAC=writes.empty();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
canWriteDAC=true;
|
canWriteDAC=true;
|
||||||
if (dacWrite>=0) {
|
if (dacWrite>=0) {
|
||||||
|
|
Loading…
Reference in a new issue