Menu

#1715 MT-32: sysex is not delayed properly (exc. buffer overflow )

Audio
closed-out-of-date
Sound (51)
5
2024-04-10
2011-01-01
No

MT-32: sysex is not delayed properly (exc. buffer overflow )

It needs an extra delay of
(length + 2) * 1000 / 3125
added.

There's two spots in LowLevelMidiDriver.cpp that need this added. These are lines 1053 and 1559. I can fix the first but I don't know how to get the length at line 1559.

See http://scummvm.svn.sourceforge.net/viewvc/scummvm?revision=47336&view=revision

There's a person having this issue with their old MT-32 here.
http://exult.sourceforge.net/forum/read.php?f=1&i=346445&t=346445

Discussion

  • Malignant Manor

    Malignant Manor - 2011-01-01

    Partial fix to get you started

     
  • colourles

    colourles - 2011-01-01

    Will fix, but wont do it exactly as seen in the ScummVM.

    Forcing a delay directly after a sysex send can unnecessarily cause the midi play thread to become unresponsive to commands from the main engine thread. That is undesirable for a few reasons.

    Will change things so a correct length delay will be used to hold the thread from sending further data only if its required,

     
  • colourles

    colourles - 2011-01-01
    • assigned_to: nobody --> colourles
     
  • Dominik Reichardt

    what actually got committed to dosbox to fix sysex delay http://pastebin.com/UkZqJFrs

     
  • Marzo Sette Torres Junior

    This could be the cause of bug 3300027.

     
  • Dominik Reichardt

    • Group: --> Audio
     
  • Dominik Reichardt

    • status: open --> closed-out-of-date
     
  • colourles

    colourles - 2024-04-10

    Pretty sure I actually fixed this a long time ago. Regardless I was never able to reproduce it on my own first revision MT32 that I developed Exult's Mt32 support with