LD.ZRsku p jrsyju rsp jyrsp jyrsp nyeapby eal
 PT P#
This commit is contained in:
tildearrow 2025-03-08 19:32:11 -05:00
parent b1ad220c07
commit eea95b1f90
5 changed files with 48 additions and 64 deletions

View file

@ -35,25 +35,25 @@ const char** DivPlatformT6W28::getRegisterSheet() {
return regCheatSheetT6W28;
}
void DivPlatformT6W28::acquire(short** buf, size_t len) {
void DivPlatformT6W28::acquireDirect(blip_buffer_t** bb, size_t len) {
for (int i=0; i<4; i++) {
oscBuf[i]->begin(len);
}
t6w->output(i,bb[0],bb[1]);
for (size_t h=0; h<len; h++) {
cycles=0;
while (!writes.empty() && cycles<16) {
QueuedWrite w=writes.front();
if (w.addr) {
t6w->write_data_right(cycles,w.val);
} else {
t6w->write_data_left(cycles,w.val);
}
regPool[w.addr&1]=w.val;
//cycles+=2;
writes.pop();
while (!writes.empty()) {
QueuedWrite w=writes.front();
if (w.addr) {
t6w->write_data_right(0,w.val);
} else {
t6w->write_data_left(0,w.val);
}
t6w->end_frame(16);
regPool[w.addr&1]=w.val;
writes.pop();
}
t6w->end_frame(len);
/*
for (size_t h=0; h<len; h++) {
tempL=0;
tempR=0;
@ -70,7 +70,7 @@ void DivPlatformT6W28::acquire(short** buf, size_t len) {
buf[0][h]=tempL;
buf[1][h]=tempR;
}
}*/
for (int i=0; i<4; i++) {
oscBuf[i]->end(len);
@ -346,7 +346,6 @@ void DivPlatformT6W28::reset() {
lastPan=0xff;
tempL=0;
tempR=0;
cycles=0;
curChan=-1;
delay=0;
// default noise mode
@ -382,7 +381,7 @@ void DivPlatformT6W28::setFlags(const DivConfig& flags) {
}
t6w=new MDFN_IEN_NGP::T6W28_Apu;
for (int i=0; i<4; i++) {
t6w->osc_output(i,&out[i][0],&out[i][1],&out[i][2]);
t6w->osc_output(i,oscBuf[i]);
}
}