T6W28: completely break the system
This commit is contained in:
parent
eea95b1f90
commit
1e8b93c92a
|
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue