[ scummvm-Patches-3118257 ] SCI: Fix for incorrect MT-32 sysex checksum calculation

SourceForge.net noreply at sourceforge.net
Thu Nov 25 10:37:41 CET 2010


Patches item #3118257, was opened at 2010-11-25 18:37
Message generated for change (Tracker Item Submitted) made by sven3000
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=418822&aid=3118257&group_id=37116

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Sven (sven3000)
Assigned to: Nobody/Anonymous (nobody)
Summary: SCI: Fix for incorrect MT-32 sysex checksum calculation

Initial Comment:
In order to calculate the checksum of an MT-32 sysex, ScummVM uses the calculation 128 - chk % 128 (where chk is the sum of the value of the bytes in the message). This calculation is essentially correct, except that if the result is 128 (chk % 128 == 0), the checksum should be 0, not 128.

This problem can be observed with Conquests of the Longbow: while this game is sending the sysex data from the patch.001 resource, the MT-32 displays an "Exc. checksum error" message.

The attached patch fixes the checksum calculation to account for this situation, and has been verified to fix the checksum error encountered in Conquests of the Longbow.

ScummVM version: svn54465
OS: Win7 x64

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=418822&aid=3118257&group_id=37116




More information about the Scummvm-tracker mailing list