Merge branch 'feature/midi_in' into gus
This commit is contained in:
@@ -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;
|
||||||
|
Reference in New Issue
Block a user