add experimental low-latency mode
do not use (yet)!
This commit is contained in:
parent
d47a59f5f0
commit
96715ed88c
38 changed files with 201 additions and 120 deletions
|
|
@ -414,6 +414,7 @@ void* DivPlatformAmiga::getChanState(int ch) {
|
|||
void DivPlatformAmiga::reset() {
|
||||
for (int i=0; i<4; i++) {
|
||||
chan[i]=DivPlatformAmiga::Channel();
|
||||
chan[i].std.setEngine(parent);
|
||||
chan[i].ws.setEngine(parent);
|
||||
chan[i].ws.init(NULL,32,255);
|
||||
filter[0][i]=0;
|
||||
|
|
|
|||
|
|
@ -735,6 +735,7 @@ void DivPlatformArcade::reset() {
|
|||
}
|
||||
for (int i=0; i<8; i++) {
|
||||
chan[i]=DivPlatformArcade::Channel();
|
||||
chan[i].std.setEngine(parent);
|
||||
chan[i].vol=0x7f;
|
||||
chan[i].outVol=0x7f;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -513,6 +513,7 @@ void DivPlatformAY8910::reset() {
|
|||
memset(regPool,0,16);
|
||||
for (int i=0; i<3; i++) {
|
||||
chan[i]=DivPlatformAY8910::Channel();
|
||||
chan[i].std.setEngine(parent);
|
||||
chan[i].vol=0x0f;
|
||||
}
|
||||
if (dumpWrites) {
|
||||
|
|
|
|||
|
|
@ -528,6 +528,7 @@ void DivPlatformAY8930::reset() {
|
|||
memset(regPool,0,32);
|
||||
for (int i=0; i<3; i++) {
|
||||
chan[i]=DivPlatformAY8930::Channel();
|
||||
chan[i].std.setEngine(parent);
|
||||
chan[i].vol=31;
|
||||
ayEnvPeriod[i]=0;
|
||||
ayEnvMode[i]=0;
|
||||
|
|
|
|||
|
|
@ -274,6 +274,7 @@ void DivPlatformBubSysWSG::reset() {
|
|||
memset(regPool,0,4*2);
|
||||
for (int i=0; i<2; i++) {
|
||||
chan[i]=DivPlatformBubSysWSG::Channel();
|
||||
chan[i].std.setEngine(parent);
|
||||
chan[i].ws.setEngine(parent);
|
||||
chan[i].ws.init(NULL,32,15,false);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -482,6 +482,7 @@ bool DivPlatformC64::getDCOffRequired() {
|
|||
void DivPlatformC64::reset() {
|
||||
for (int i=0; i<3; i++) {
|
||||
chan[i]=DivPlatformC64::Channel();
|
||||
chan[i].std.setEngine(parent);
|
||||
}
|
||||
|
||||
sid.reset();
|
||||
|
|
|
|||
|
|
@ -408,6 +408,7 @@ int DivPlatformFDS::getRegisterPoolSize() {
|
|||
void DivPlatformFDS::reset() {
|
||||
for (int i=0; i<1; i++) {
|
||||
chan[i]=DivPlatformFDS::Channel();
|
||||
chan[i].std.setEngine(parent);
|
||||
}
|
||||
ws.setEngine(parent);
|
||||
ws.init(NULL,64,63,false);
|
||||
|
|
|
|||
|
|
@ -424,6 +424,7 @@ int DivPlatformGB::getRegisterPoolSize() {
|
|||
void DivPlatformGB::reset() {
|
||||
for (int i=0; i<4; i++) {
|
||||
chan[i]=DivPlatformGB::Channel();
|
||||
chan[i].std.setEngine(parent);
|
||||
}
|
||||
ws.setEngine(parent);
|
||||
ws.init(NULL,32,15,false);
|
||||
|
|
|
|||
|
|
@ -827,6 +827,7 @@ void DivPlatformGenesis::reset() {
|
|||
}
|
||||
for (int i=0; i<10; i++) {
|
||||
chan[i]=DivPlatformGenesis::Channel();
|
||||
chan[i].std.setEngine(parent);
|
||||
chan[i].vol=0x7f;
|
||||
chan[i].outVol=0x7f;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -329,11 +329,11 @@ int DivPlatformLynx::getRegisterPoolSize()
|
|||
}
|
||||
|
||||
void DivPlatformLynx::reset() {
|
||||
|
||||
mikey = std::make_unique<Lynx::Mikey>( rate );
|
||||
mikey=std::make_unique<Lynx::Mikey>(rate);
|
||||
|
||||
for (int i=0; i<4; i++) {
|
||||
chan[i]= DivPlatformLynx::Channel();
|
||||
chan[i]=DivPlatformLynx::Channel();
|
||||
chan[i].std.setEngine(parent);
|
||||
}
|
||||
if (dumpWrites) {
|
||||
addWrite(0xffffffff,0);
|
||||
|
|
|
|||
|
|
@ -348,6 +348,7 @@ float DivPlatformMMC5::getPostAmp() {
|
|||
void DivPlatformMMC5::reset() {
|
||||
for (int i=0; i<3; i++) {
|
||||
chan[i]=DivPlatformMMC5::Channel();
|
||||
chan[i].std.setEngine(parent);
|
||||
}
|
||||
if (dumpWrites) {
|
||||
addWrite(0xffffffff,0);
|
||||
|
|
|
|||
|
|
@ -625,6 +625,7 @@ void DivPlatformN163::reset() {
|
|||
while (!writes.empty()) writes.pop();
|
||||
for (int i=0; i<8; i++) {
|
||||
chan[i]=DivPlatformN163::Channel();
|
||||
chan[i].std.setEngine(parent);
|
||||
chan[i].ws.setEngine(parent);
|
||||
chan[i].ws.init(NULL,32,15,false);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -474,6 +474,7 @@ float DivPlatformNES::getPostAmp() {
|
|||
void DivPlatformNES::reset() {
|
||||
for (int i=0; i<5; i++) {
|
||||
chan[i]=DivPlatformNES::Channel();
|
||||
chan[i].std.setEngine(parent);
|
||||
}
|
||||
if (dumpWrites) {
|
||||
addWrite(0xffffffff,0);
|
||||
|
|
|
|||
|
|
@ -934,6 +934,7 @@ void DivPlatformOPL::reset() {
|
|||
|
||||
for (int i=0; i<totalChans; i++) {
|
||||
chan[i]=DivPlatformOPL::Channel();
|
||||
chan[i].std.setEngine(parent);
|
||||
chan[i].vol=0x3f;
|
||||
chan[i].outVol=0x3f;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -756,6 +756,7 @@ void DivPlatformOPLL::reset() {
|
|||
}
|
||||
for (int i=0; i<11; i++) {
|
||||
chan[i]=DivPlatformOPLL::Channel();
|
||||
chan[i].std.setEngine(parent);
|
||||
chan[i].vol=15;
|
||||
chan[i].outVol=15;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -462,6 +462,7 @@ void DivPlatformPCE::reset() {
|
|||
memset(regPool,0,128);
|
||||
for (int i=0; i<6; i++) {
|
||||
chan[i]=DivPlatformPCE::Channel();
|
||||
chan[i].std.setEngine(parent);
|
||||
chan[i].ws.setEngine(parent);
|
||||
chan[i].ws.init(NULL,32,31,false);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -327,6 +327,7 @@ int DivPlatformPCSpeaker::getRegisterPoolSize() {
|
|||
void DivPlatformPCSpeaker::reset() {
|
||||
for (int i=0; i<1; i++) {
|
||||
chan[i]=DivPlatformPCSpeaker::Channel();
|
||||
chan[i].std.setEngine(parent);
|
||||
}
|
||||
if (dumpWrites) {
|
||||
addWrite(0xffffffff,0);
|
||||
|
|
|
|||
|
|
@ -252,6 +252,7 @@ int DivPlatformPET::getRegisterPoolSize() {
|
|||
void DivPlatformPET::reset() {
|
||||
memset(regPool,0,16);
|
||||
chan=Channel();
|
||||
chan.std.setEngine(parent);
|
||||
}
|
||||
|
||||
bool DivPlatformPET::isStereo() {
|
||||
|
|
|
|||
|
|
@ -523,6 +523,7 @@ void* DivPlatformQSound::getChanState(int ch) {
|
|||
void DivPlatformQSound::reset() {
|
||||
for (int i=0; i<16; i++) {
|
||||
chan[i]=DivPlatformQSound::Channel();
|
||||
chan[i].std.setEngine(parent);
|
||||
}
|
||||
qsound_reset(&chip);
|
||||
while(!chip.ready_flag) {
|
||||
|
|
|
|||
|
|
@ -392,6 +392,7 @@ void DivPlatformSAA1099::reset() {
|
|||
}
|
||||
for (int i=0; i<6; i++) {
|
||||
chan[i]=DivPlatformSAA1099::Channel();
|
||||
chan[i].std.setEngine(parent);
|
||||
chan[i].vol=0x0f;
|
||||
}
|
||||
if (dumpWrites) {
|
||||
|
|
|
|||
|
|
@ -350,6 +350,7 @@ void DivPlatformSegaPCM::reset() {
|
|||
memset(regPool,0,256);
|
||||
for (int i=0; i<16; i++) {
|
||||
chan[i]=DivPlatformSegaPCM::Channel();
|
||||
chan[i].std.setEngine(parent);
|
||||
chan[i].vol=0x7f;
|
||||
chan[i].outVol=0x7f;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -278,6 +278,7 @@ void* DivPlatformSMS::getChanState(int ch) {
|
|||
void DivPlatformSMS::reset() {
|
||||
for (int i=0; i<4; i++) {
|
||||
chan[i]=DivPlatformSMS::Channel();
|
||||
chan[i].std.setEngine(parent);
|
||||
}
|
||||
if (dumpWrites) {
|
||||
addWrite(0xffffffff,0);
|
||||
|
|
|
|||
|
|
@ -453,6 +453,7 @@ void DivPlatformSwan::reset() {
|
|||
chan[i]=Channel();
|
||||
chan[i].vol=15;
|
||||
chan[i].pan=0xff;
|
||||
chan[i].std.setEngine(parent);
|
||||
chan[i].ws.setEngine(parent);
|
||||
chan[i].ws.init(NULL,32,15,false);
|
||||
rWrite(0x08+i,0xff);
|
||||
|
|
|
|||
|
|
@ -294,6 +294,7 @@ void DivPlatformTIA::reset() {
|
|||
memset(regPool,0,16);
|
||||
for (int i=0; i<2; i++) {
|
||||
chan[i]=DivPlatformTIA::Channel();
|
||||
chan[i].std.setEngine(parent);
|
||||
chan[i].vol=0x0f;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -729,6 +729,7 @@ void DivPlatformTX81Z::reset() {
|
|||
}
|
||||
for (int i=0; i<8; i++) {
|
||||
chan[i]=DivPlatformTX81Z::Channel();
|
||||
chan[i].std.setEngine(parent);
|
||||
chan[i].vol=0x7f;
|
||||
chan[i].outVol=0x7f;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -125,6 +125,7 @@ void DivPlatformVERA::acquire(short* bufL, short* bufR, size_t start, size_t len
|
|||
void DivPlatformVERA::reset() {
|
||||
for (int i=0; i<17; i++) {
|
||||
chan[i]=Channel();
|
||||
chan[i].std.setEngine(parent);
|
||||
}
|
||||
psg_reset(psg);
|
||||
pcm_reset(pcm);
|
||||
|
|
|
|||
|
|
@ -278,6 +278,7 @@ void DivPlatformVIC20::reset() {
|
|||
memset(regPool,0,16);
|
||||
for (int i=0; i<4; i++) {
|
||||
chan[i]=Channel();
|
||||
chan[i].std.setEngine(parent);
|
||||
}
|
||||
vic_sound_machine_init(vic,rate,chipClock);
|
||||
hasWaveWrite=false;
|
||||
|
|
|
|||
|
|
@ -429,6 +429,7 @@ int DivPlatformVRC6::getRegisterPoolSize() {
|
|||
void DivPlatformVRC6::reset() {
|
||||
for (int i=0; i<3; i++) {
|
||||
chan[i]=DivPlatformVRC6::Channel();
|
||||
chan[i].std.setEngine(parent);
|
||||
}
|
||||
// a poll may be necessary to decide the default
|
||||
chan[2].vol=30;
|
||||
|
|
|
|||
|
|
@ -818,6 +818,7 @@ void DivPlatformX1_010::reset() {
|
|||
for (int i=0; i<16; i++) {
|
||||
chan[i]=DivPlatformX1_010::Channel();
|
||||
chan[i].reset();
|
||||
chan[i].std.setEngine(parent);
|
||||
chan[i].ws.setEngine(parent);
|
||||
chan[i].ws.init(NULL,128,255,false);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1068,6 +1068,7 @@ void DivPlatformYM2610::reset() {
|
|||
fm->reset();
|
||||
for (int i=0; i<14; i++) {
|
||||
chan[i]=DivPlatformYM2610::Channel();
|
||||
chan[i].std.setEngine(parent);
|
||||
}
|
||||
for (int i=0; i<4; i++) {
|
||||
chan[i].vol=0x7f;
|
||||
|
|
|
|||
|
|
@ -1131,6 +1131,7 @@ void DivPlatformYM2610B::reset() {
|
|||
fm->reset();
|
||||
for (int i=0; i<16; i++) {
|
||||
chan[i]=DivPlatformYM2610B::Channel();
|
||||
chan[i].std.setEngine(parent);
|
||||
}
|
||||
for (int i=0; i<6; i++) {
|
||||
chan[i].vol=0x7f;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue