Compare commits

..

3 Commits

2 changed files with 3 additions and 7 deletions

View File

@ -249,13 +249,11 @@ void interrupt()
break; break;
} }
*/ */
const int keyon_tick = 254; if (state.channel[ch].keyon > 128) {
if (state.channel[ch].keyon > keyon_tick) {
state.channel[ch].keyon -= 1; state.channel[ch].keyon -= 1;
} }
else if (state.channel[ch].keyon == keyon_tick) { if (state.channel[ch].keyon == 128) {
wait(); aica_sound.channel[ch].KYONB(1); wait(); aica_sound.channel[ch].KYONB(1);
state.channel[ch].keyon -= 1;
} }
} }
wait(); aica_sound.channel[0].KYONEX(1); wait(); aica_sound.channel[0].KYONEX(1);
@ -265,7 +263,7 @@ void interrupt()
} }
for (int ch = 0; ch < 64; ch++) { for (int ch = 0; ch < 64; ch++) {
int keyon = state.channel[ch].keyon; int keyon = state.channel[ch].keyon;
if (keyon != 0) { if (keyon < 128 && keyon != 0) {
state.channel[ch].keyon -= 1; state.channel[ch].keyon -= 1;
} }
} }

View File

@ -64,8 +64,6 @@ void draw(ta_multiwriter& multi, int x, int y)
int keyon = 128 * (state.channel[ch].keyon - 224) / 16; int keyon = 128 * (state.channel[ch].keyon - 224) / 16;
if (keyon < 0) keyon = 0; if (keyon < 0) keyon = 0;
if (keyon != 0)
printf("%d %d\n", state.channel[ch].keyon, keyon);
uint32_t base_color = (keyon << 16) | (keyon << 8) | (keyon << 0); uint32_t base_color = (keyon << 16) | (keyon << 8) | (keyon << 0);
transfer_rectangle(multi.op, transfer_rectangle(multi.op,
xi, y, 1.0 / 10000.0, xi, y, 1.0 / 10000.0,