❍ Examples of exclusive messages and calculating the checksum
Roland exclusive messages (RQ1, DT1) are transmitted with a checksum at the end of the
data (before F7) to check that the data was received correctly. The value of the checksum is
determined by the address and data (or size) of the exclusive message.
❍ How to calculate the checksum (hexadecimal values are indicated by a
The checksum consists of a value whose lower 7 bits are 0 when the address, size and
checksum itself are added.
The following formula shows how to calculate the checksum when the exclusive message to
be transmitted has an address of aa bb cc ddH, and data or size of ee ffH.
aa + bb + cc + dd + ee + ff = total
total / 128 = quotient ... remainder
128 - remainder = checksum
Checksum is 0 if the remainder is 0.
<Example> Request to transfer the kit parameter
See the Parameter Address Map address : 00 00 00 00H
size : 30 00 00 00H
F0
41
11
00 13 11 00 00 00 0030 00 00 00??
(1) (2)
(3)
(4)
(5)
address size
(1) Exclusive status
(2) ID number (Roland)
(3) device ID(17)
(4) model ID (JS-5)
(5) command ID RQ1)
(6) End of Exclusive
Next we calculate the checksum.
00H + 00H + 00H + 00H + 30H + 00H +00H + 00H = 0 + 0 + 0 + 0 + 48 + 0 + 0 + 0 = 48 (sum)
48 (total) 128 (quotient) = 0 (quotient) ... 48 (remainder)
checksum = 128 - 48 (quotient) =80 = 50H
This means that the message transmitted will be F0 41 11 00 13 11 00 00 00 00 30 00 00 00 50
F7 .
F7
checksum(6)
Implementación MIDI
151