T6W28: completely break the system

This commit is contained in:
tildearrow 2025-03-08 19:38:16 -05:00
parent eea95b1f90
commit 1e8b93c92a
2 changed files with 8 additions and 8 deletions

View file

@ -62,7 +62,7 @@ void T6W28_Square::run( sms_time_t time, sms_time_t end_time )
if ( last_amp_right ) if ( last_amp_right )
{ {
blip_add_delta( outputs[1], time, -last_amp_right, ); blip_add_delta( outputs[1], time, -last_amp_right );
last_amp_right = 0; last_amp_right = 0;
} }
@ -239,8 +239,8 @@ void T6W28_Apu::output( blip_buffer_t* left, blip_buffer_t* right )
{ {
for ( int i = 0; i < osc_count; i++ ) { for ( int i = 0; i < osc_count; i++ ) {
T6W28_Osc& osc = *oscs [i]; T6W28_Osc& osc = *oscs [i];
osc.output[0]=left; osc.outputs[0]=left;
osc.output[1]=right; osc.outputs[1]=right;
} }
} }

View file

@ -39,7 +39,7 @@ void DivPlatformT6W28::acquireDirect(blip_buffer_t** bb, size_t len) {
for (int i=0; i<4; i++) { for (int i=0; i<4; i++) {
oscBuf[i]->begin(len); oscBuf[i]->begin(len);
} }
t6w->output(i,bb[0],bb[1]); t6w->output(bb[0],bb[1]);
while (!writes.empty()) { while (!writes.empty()) {
QueuedWrite w=writes.front(); QueuedWrite w=writes.front();
@ -334,10 +334,6 @@ void DivPlatformT6W28::reset() {
for (int i=0; i<4; i++) { for (int i=0; i<4; i++) {
chan[i]=DivPlatformT6W28::Channel(); chan[i]=DivPlatformT6W28::Channel();
chan[i].std.setEngine(parent); chan[i].std.setEngine(parent);
out[i][0].curValue=0;
out[i][1].curValue=0;
out[i][2].curValue=0;
} }
if (dumpWrites) { if (dumpWrites) {
addWrite(0xffffffff,0); addWrite(0xffffffff,0);
@ -360,6 +356,10 @@ bool DivPlatformT6W28::keyOffAffectsArp(int ch) {
return true; return true;
} }
bool DivPlatformT6W28::hasAcquireDirect() {
return true;
}
void DivPlatformT6W28::notifyInsDeletion(void* ins) { void DivPlatformT6W28::notifyInsDeletion(void* ins) {
for (int i=0; i<4; i++) { for (int i=0; i<4; i++) {
chan[i].std.notifyInsDeletion((DivInstrument*)ins); chan[i].std.notifyInsDeletion((DivInstrument*)ins);