From f38b72ea7d21405eabb51cdf53fc31296c558e3a Mon Sep 17 00:00:00 2001 From: "R. Belmont" Date: Mon, 13 Oct 2014 20:04:05 +0000 Subject: [PATCH] (MESS) osdcore: reject invalid MIDI bytes with no status, fixes most 6850-based MIDI setups. [R. Belmont] --- src/osd/osdcore.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/osd/osdcore.c b/src/osd/osdcore.c index e965272052e..8207595d158 100644 --- a/src/osd/osdcore.c +++ b/src/osd/osdcore.c @@ -470,6 +470,13 @@ void osd_write_midi_channel(osd_midi_device *dev, UINT8 data) // printf("write: %02x (%d)\n", data, dev->xmit_cnt); + // reject data bytes when no valid status exists + if ((dev->last_status == 0) && !(data & 0x80)) + { + dev->xmit_cnt = 0; + return; + } + if (dev->xmit_cnt >= 4) { printf("MIDI out: packet assembly overflow, contact MAMEdev!\n");