K007232: fix (?) loop marker being output

issue #1409
This commit is contained in:
tildearrow 2023-08-25 16:28:20 -05:00
parent 55d7a5e9bc
commit c4b23e8643
2 changed files with 6 additions and 5 deletions

View file

@ -67,7 +67,7 @@ void k007232_core::voice_t::tick(u8 ne)
} }
} }
m_out = s8(m_data) - 0x40; // send to output (ASD/BSD) pin m_out = s8(m_data&0x7f) - 0x40; // send to output (ASD/BSD) pin
} }
else else
{ {

View file

@ -448,6 +448,7 @@ void FurnaceGUI::drawChanOsc() {
float maxLevel=-1.0f; float maxLevel=-1.0f;
float dcOff=0.0f; float dcOff=0.0f;
unsigned short needlePos=buf->needle; unsigned short needlePos=buf->needle;
//unsigned short needlePosOrig=needlePos;
for (int i=0; i<FURNACE_FFT_SIZE; i++) { for (int i=0; i<FURNACE_FFT_SIZE; i++) {
fft->inBuf[i]=(double)buf->data[(unsigned short)(needlePos-displaySize*2+((i*displaySize*2)/FURNACE_FFT_SIZE))]/32768.0; fft->inBuf[i]=(double)buf->data[(unsigned short)(needlePos-displaySize*2+((i*displaySize*2)/FURNACE_FFT_SIZE))]/32768.0;
} }
@ -475,10 +476,7 @@ void FurnaceGUI::drawChanOsc() {
} }
chanOscPitch[ch]=(float)point/32.0f; chanOscPitch[ch]=(float)point/32.0f;
/*
String cPhase=fmt::sprintf("%d cphase: %f vol: %f",point,phase,chanOscVol[ch]);
dl->AddText(inRect.Min,0xffffffff,cPhase.c_str());
*/
needlePos-=displaySize; needlePos-=displaySize;
for (unsigned short i=0; i<precision; i++) { for (unsigned short i=0; i<precision; i++) {
@ -496,6 +494,9 @@ void FurnaceGUI::drawChanOsc() {
y*=chanOscAmplify; y*=chanOscAmplify;
waveform[i]=ImLerp(inRect.Min,inRect.Max,ImVec2(x,0.5f-y)); waveform[i]=ImLerp(inRect.Min,inRect.Max,ImVec2(x,0.5f-y));
} }
//String cPhase=fmt::sprintf("%d cphase: %f\nvol: %f\nmin: %.2f\nmax: %.2f\ndcOff: %.2f\nneedles:\n- %d\n- %d\n- %d (%s)",point,phase,chanOscVol[ch],minLevel,maxLevel,dcOff,needlePosOrig,needlePos,(needlePos+displaySize),((needlePos+displaySize)>=needlePosOrig)?"WARN":"OK");
//dl->AddText(inRect.Min,0xffffffff,cPhase.c_str());
} }
ImU32 color=ImGui::GetColorU32(chanOscColor); ImU32 color=ImGui::GetColorU32(chanOscColor);
if (chanOscUseGrad) { if (chanOscUseGrad) {