From 1e8b93c92a2976344070cdf846c39007b86c6932 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 8 Mar 2025 19:38:16 -0500 Subject: [PATCH] T6W28: completely break the system --- src/engine/platform/sound/t6w28/T6W28_Apu.cpp | 6 +++--- src/engine/platform/t6w28.cpp | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/engine/platform/sound/t6w28/T6W28_Apu.cpp b/src/engine/platform/sound/t6w28/T6W28_Apu.cpp index 51f59c8e6..0065ef3d4 100644 --- a/src/engine/platform/sound/t6w28/T6W28_Apu.cpp +++ b/src/engine/platform/sound/t6w28/T6W28_Apu.cpp @@ -62,7 +62,7 @@ void T6W28_Square::run( sms_time_t time, sms_time_t end_time ) 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; } @@ -239,8 +239,8 @@ void T6W28_Apu::output( blip_buffer_t* left, blip_buffer_t* right ) { for ( int i = 0; i < osc_count; i++ ) { T6W28_Osc& osc = *oscs [i]; - osc.output[0]=left; - osc.output[1]=right; + osc.outputs[0]=left; + osc.outputs[1]=right; } } diff --git a/src/engine/platform/t6w28.cpp b/src/engine/platform/t6w28.cpp index 7e9e186bb..372b35b0a 100644 --- a/src/engine/platform/t6w28.cpp +++ b/src/engine/platform/t6w28.cpp @@ -39,7 +39,7 @@ 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]); + t6w->output(bb[0],bb[1]); while (!writes.empty()) { QueuedWrite w=writes.front(); @@ -334,10 +334,6 @@ void DivPlatformT6W28::reset() { for (int i=0; i<4; i++) { chan[i]=DivPlatformT6W28::Channel(); chan[i].std.setEngine(parent); - - out[i][0].curValue=0; - out[i][1].curValue=0; - out[i][2].curValue=0; } if (dumpWrites) { addWrite(0xffffffff,0); @@ -360,6 +356,10 @@ bool DivPlatformT6W28::keyOffAffectsArp(int ch) { return true; } +bool DivPlatformT6W28::hasAcquireDirect() { + return true; +} + void DivPlatformT6W28::notifyInsDeletion(void* ins) { for (int i=0; i<4; i++) { chan[i].std.notifyInsDeletion((DivInstrument*)ins);