aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJamieson Christian2003-10-12 14:47:44 +0000
committerJamieson Christian2003-10-12 14:47:44 +0000
commit13541879e01578fa6178a7b7944c70e464433a2a (patch)
treeaa0baead049dc7857db49fb7732e5f48b82a0440
parent1b52e11d559aa7c8df48bb114d4dd4dfb02a0770 (diff)
downloadscummvm-rg350-13541879e01578fa6178a7b7944c70e464433a2a.tar.gz
scummvm-rg350-13541879e01578fa6178a7b7944c70e464433a2a.tar.bz2
scummvm-rg350-13541879e01578fa6178a7b7944c70e464433a2a.zip
Fix for Bug [817286] MT-32 execution checksum errors
logicdeluxe's patch to avoid MT-32 processing overflows when sending large amounts of SysEx data. svn-id: r10755
-rw-r--r--sky/music/mt32music.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/sky/music/mt32music.cpp b/sky/music/mt32music.cpp
index 81637f4754..f30b2969a2 100644
--- a/sky/music/mt32music.cpp
+++ b/sky/music/mt32music.cpp
@@ -111,6 +111,7 @@ bool SkyMT32Music::processPatchSysEx(uint8 *sysExData) {
crc -= sysExBuf[cnt];
sysExBuf[14] = crc & 0x7F; // crc
_midiDrv->sysEx(sysExBuf, 15);
+ g_system->delay_msecs (5);
return true;
}
@@ -157,6 +158,7 @@ void SkyMT32Music::startDriver(void) {
sendBuf[len] = crc & 0x7F;
len++;
_midiDrv->sysEx(sendBuf, len);
+ g_system->delay_msecs (5);
}
while (processPatchSysEx(sysExData))