Merge branch 'feature/midi_in' into gus

This commit is contained in:
OBattler
2020-01-12 18:51:35 +01:00
committed by GitHub

View File

@@ -194,21 +194,22 @@ void writegus(uint16_t addr, uint8_t val, void *p)
switch (port) switch (port)
{ {
case 0x300: /*MIDI control*/ case 0x300: /*MIDI control*/
gus->midi_ctrl = val; old = gus->midi_ctrl;
gus->uart_out = 1; gus->midi_ctrl = val;
gus->uart_out = 1;
if (((gus->midi_ctrl & 3) == 3) || !gus->midi_ctrl) { /*Master reset*/
gus->uart_in = 0; if ((val & 3) == 3) { /*Master reset*/
gus->midi_status = 0; gus->uart_in = 0;
gus->midi_r = 0; gus->midi_status = 0;
gus->midi_w = 0; gus->midi_r = 0;
} else if (gus->midi_ctrl & MIDI_CTRL_TRANSMIT) { gus->midi_w = 0;
gus->midi_status |= MIDI_INT_TRANSMIT; } else if ((old & 3) == 3) {
} else if (gus->midi_ctrl & MIDI_CTRL_RECEIVE) { gus->midi_status |= MIDI_INT_TRANSMIT;
gus->uart_in = 1; } else if (gus->midi_ctrl & MIDI_CTRL_RECEIVE) {
} gus->uart_in = 1;
gus_midi_update_int_status(gus); }
gus_midi_update_int_status(gus);
break; break;
case 0x301: /*MIDI data*/ case 0x301: /*MIDI data*/
gus->midi_data = val; gus->midi_data = val;