VOGONS


First post, by tbcarey

User metadata
Rank Newbie
Rank
Newbie

..and now for something completely off-topic. I realize this may not be the best place to ask for help regarding an actual MT-32, given that this forum is about Munt/MT-32 emulation, but on the other hand it seems likely that a greater number of people here will own actual MT-32s or similar modules than elsewhere.

I own three sound modules - an MT-32, an SC-88, and an SC-88ST Pro. My laptop has no MIDI port [obviously], so I've had to connect the SC-88 to my laptop via a USB-to-Serial Port converter and the SC-88's 'Computer'/serial port. I then chained the MT-32 to the SC-88's MIDI Out/Thru in Out mode [according to all of the SC manuals I've read, they don't pass on 'Computer port' MIDI data unless in Out mode -- Thru mode only passes data from MIDI In A], and chained the SC-88ST Pro to the MT-32's MIDI Thru.

My problem is this: although I've set up the serial port to work at 9600 baud without flow control [slow enough not to cause buffer overflows when SysEx data is sent to the MT-32], and I've set up the SC-88 Serial Port drivers to use RTS/CTS Flow Control, I still receive errors when using the MT-32 under DOSBox or VDMSound [or in Winamp playing an MT-32 MIDI file, etc.]. Strangely enough, I get no errors when using it under ScummVM in Native MT-32 mode.

The error I receive is "Exc. Checksum error". This happens whenever SysEx data is sent to the MT-32 -- especially when games first initialize. In LucasArts games that utilize SysEx instruments like Monkey Island 2, it doesn't seem to be a problem. The MT-32 outputs the error but then all the instruments load properly and I notice no errors. In games like Silpheed or other Sierra games, however, only a number of SysEx instruments load properly and the rest remain the defaults, which is a problem. As I said before, the error never occurs under ScummVM and all instruments load properly. I don't know if this is because ScummVM sends data at a much slower rate than the other programs, or what.

At any rate, does anyone know what's causing this? Is it because I'm passing data to the MT-32 via the SC-88 which is using the 'Computer port'? Is there any way around this that anyone knows of? Will I have to buy a USB-to-MIDI adapter instead and chain everything else through the MT-32 like I did on my desktop? Any help would be greatly appreciated! Thanks guys.

Reply 1 of 5, by tbcarey

User metadata
Rank Newbie
Rank
Newbie

I was hoping that one of the developers would know what an "Exc. Checksum error" refers to and why it would be caused [in general]... if you guys know and have time to give me a brief response, that'd be awesome. Thanks.

Reply 2 of 5, by KingGuppy

User metadata
Rank Member
Rank
Member

I can tell you what the "Exc. Checksum error" almost certainly means: Roland's sysex ("system exclusive") protocol requires a checksum as the last byte of the payload. This byte allows the device (MT-32 in this case) to confirm that the data arrived correctly. So what it's telling you is that the transmission is unreliable in some way - the data arrived corrupted (e.g. bytes missed).

Reply 4 of 5, by tbcarey

User metadata
Rank Newbie
Rank
Newbie

No, I haven't asked the question elsewhere. Perhaps I should head over to Quest Studios and see the response. Still don't know why the data is arriving too fast, though. I've set the COM port to be as low as 150 bps with hardware flow control and no FIFO buffers, and it still produces the same effect. I'm wondering why it is that the MIDI Out on the SC-88 would send the data too quickly to the MT-32.

Reply 5 of 5, by tbcarey

User metadata
Rank Newbie
Rank
Newbie
Kaminari wrote:

The SysEx is being transmitted too fast.

Just to let you know, this isn't the case. I've set the baud rate incredibly low as I mentioned before, and I've tried using MoSlo now to decrease the speed to almost unplayable levels, and I still receive the error. When it's too fast, I generally get "Exc. Buffer Overflow" errors, so the two aren't related in this case. I'm assuming the SC-88 MIDI Out must just be improperly passing on the data it receives from the COM port. Oh well, off to buy a USB-to-MIDI cable then, I suppose!