#13889 closed defect (fixed)

ScummVM hangs/crashes on game start with real MT-32 over USB MIDI

Reported by: bleggett Owned by: athrxx
Priority: normal Component: Audio: MT32
Version: Keywords:
Cc: bleggett Game:

Description (last modified by bleggett)

I've built an MT-32 Pi (uses Munt internally, but presents as a normal MIDI device) https://github.com/dwhinham/mt32-pi - which I'm connecting to my PC via a Roland UM-ONE Mk 2 USB MIDI interface.

This combo works perfectly for both Dosbox and Exult - they see it as an external real MT-32, and everything (from CM-32 sounds to Sysex) works just fine.

However, ScummVM (daily build as of this issue creation date) crashes on startup if I tell it to use this device as a "real" MT-32. It will send MIDI to the device just fine as a generic GM MIDI device, but it will hang on every game if I try to use MT-32 mode specifically.

I get no console errors - just a hang on engine load. Disabling MT-32 mode in ScummVM and sending normal GM to the device works and stops the hang (but naturally produces incorrect sounds for MT-32 games, as the device is being sent GM data).

Again - only ScummVM has this problem, so I think this is an issue with ScummVM and external "real" MT-32s over USB specifically.

Attachments (2)

scumm2.png (44.0 KB ) - added by bleggett 22 months ago.
scummm1.png (59.7 KB ) - added by bleggett 22 months ago.

Download all attachments as: .zip

Change History (15)

by bleggett, 22 months ago

Attachment: scumm2.png added

by bleggett, 22 months ago

Attachment: scummm1.png added

comment:1 by bleggett, 22 months ago

Description: modified (diff)

comment:2 by bleggett, 22 months ago

Description: modified (diff)

comment:3 by athrxx, 22 months ago

Thanks for the report. Is it a Windows PC? It works for me with Windows.

comment:4 by gabberhead, 22 months ago

@bleggett
try with the daily built from 5th okt. all other daily builts, for me via munt, after this date are crashing with mt32 right after game start. for example indiana jone IV and Monkey island 2.

Last edited 22 months ago by gabberhead (previous) (diff)

comment:5 by athrxx, 22 months ago

I have just tried my Roland CM32-L via USB adapter on Windows. Works as intended for Sam & Max and Monkey Island 2.

So, it would really help to have some details here. Which operation system are you on and which games did you try? (Maybe it is just an issue with the SCUMM engine or it might happen for all of ScummVM, regardless of the game engine).

Version 0, edited 22 months ago by athrxx (next)

comment:6 by bleggett, 22 months ago

@athrxx - Win 11 x64. Seems to hang all of ScummVM no matter game.

comment:7 by athrxx, 22 months ago

Thanks for the feedback. Which games did you try, please?

comment:8 by bleggett, 22 months ago

DoTT, Sam and Max, and a few other non-SCUMM games (Obsidian, EoB).

As mentioned, "True MT-32" mode is what causes the hang. As soon as it's turned off, games stop hanging and work.

comment:9 by athrxx, 22 months ago

Okay, I have Win 11 x64, too.

So, Eye of the Beholder does not even have Midi music, it uses AdLib. But that one still crashs for you, if you check the "True MT-32" box?

comment:10 by bleggett, 22 months ago

@athrxx - did a bit more explicit testing here, and yes, I was incorrect.

  1. DoTT/Sam and Max both hang with "True MT-32" checked, as mentioned.
  2. Kyrandia 2 *works* with "True MT-32" checked - and I see the normal MT-32 sysex "Westwood" messages, etc.
  3. Eye of the Beholder works fine, no hang, regardless of the checkbox, because as mentioned it doesn't have mt32 support.

So as far as I can tell, it's just SCUMM games.

comment:11 by athrxx, 22 months ago

Okay, thanks for confirming. In that case, I really suspect that the hang up is the one that got fixed today. So, maybe the next available dev version will work out for you...

comment:12 by bleggett, 22 months ago

Just tried the latest daily build (today's)- confirmed, it's working again for SCUMM games. Sorry for the churn, thx!

comment:13 by bleggett, 22 months ago

Owner: set to athrxx
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.