647744
204
Zoom out
Zoom in
Previous page
1/216
Next page
204
MIDI Implementation
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 H)
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
<Example 1> Setting the Performance Common REVERB TYPE to DELAY (DT1)
The Parameter address map indicates that the starting address of the Temporary
Performance is 01 00 00 00H, that the Performance Common offset address is 00 00H, and
that the REVERB TYPE address is 00 28H. Thus, the address is:
01 00 00 00H
00 00H
+) 00 28H
01 00 00 28H
Since DELAY is parameter value 06H,
F0 41 10 6A 12 01 00 00 28 06 ?? F7
(1) (2) (3) (4) (5) address data checksum (6)
(1) Exclusive status (2) ID number (Roland) (3) Device ID (17)
(4) Model ID (XP-30) (5) Command ID (DT1) (6) EOX
Next we calculate the checksum.
01H + 00H + 00H + 28H + 06H = 1 + 0 + 0 + 40 + 6 = 47 (sum)
47 (total) / 128 = 0 (quotient) ... 47 (remainder)
checksum = 128 - 47 (quotient) = 81 = 51H
This means that the message transmitted will be F0 41 10 6A 12 01 00 00 28 06 51 F7.
<Example 2> Retrieving data for USER:03 Performance Part 3 (RQ1)
The Parameter Address Map indicates that the starting address of USER:03 is 10 02 00
00H, and that the offset address of Performance Part 3 is 12 00H. Thus, the address is:
10 02 00 00H
+) 12 00H
10 02 12 00H
Since the size of the Performance Part is 00 00 00 19H,
F0 41 10 6A 11 10 02 12 00 00 00 00 19 ?? F7
(1) (2) (3) (4) (5) address size checksum (6)
(1) Exclusive status (2) ID number (Roland) (3) Device ID (17)
(4) Model ID (XP-30) (5) Command ID (RQ1) (6) EOX
Next we calculate the checksum.
10H + 02H + 12H + 00H + 00H + 00H + 00H + 19H =
16 + 2 + 18 + 0 + 0 + 0 + 0 + 25 = 61 (sum)
61 (total) / 128 = 0 (product) ... 61 (remainder)
checksum = 128 - 61 (remainder) = 67 = 43H
Thus, a message of F0 41 10 6A 11 10 02 12 00 00 00 00 19 43 F7 would be transmitted.
<Example 3> Retrieving data for Temporary Performance (RQ1)
* When a data transfer is executed in Utility mode, data that is accessed will be the same
as that which is transmitted when the Type parameter is set to PERFORM and the Source
parameter is set to TEMP: -PATCH
The Parameter Address Map gives the following start addresses for Temporary
Performance data.
01 00 00 00H Temporary Performance Common
01 00 10 00H Temporary Performance Part 1
:
01 00 1F 00H Temporary Performance Part 16
Since Performance Part has a size of 00 00 00 19H, we add that size to the start address of the
Temporary Performance Part 16, resulting in:
01 00 1F 00H
+) 00 00 00 19H
01 00 1F 19H
Thus, the Size for the retrieved data will be:
01 00 1F 19H
-) 01 00 00 00H
00 00 1F 19H
F0 41 10 6A 11 01 00 00 00 00 00 1F 19 ?? F7
(1) (2) (3) (4) (5) address size checksum (6)
(1) Exclusive status (2) ID number (Roland) (3) Device ID (17)
(4) Model ID (XP-30) (5) Command ID (RQ1) (6) EOX
Calculating the checksum as shown in <Example 2>, we get a message of F0 41 10 6A 11 01
00 00 00 00 00 1F 19 47 F7 to be transmitted.
<Example 4> Retrieving the Temporary Performance data together with all Temporary
Part and Rhythm Set data (RQ1)
* When a data transfer is executed in Utility mode, the data that is accessed will be the
same as that which is transmitted when the Type parameter is set to PERFORM and the
Source parameter is set to TEMP: +PATCH
The Parameter Address Map gives the following start addresses for Temporary
Performance, Performance Mode Temporary Patch and Performance Mode Temporary
Rhythm.
01 00 00 00H Temporary Performance
02 00 00 00H Performance Mode Temporary Patch(part 1)
:
02 08 00 00H Performance Mode Temporary Patch(part 9)
02 09 00 00H Temporary Rhythm Setup
02 0A 00 00H Performance Mode Temporary Patch(part 11)
:
02 0F 00 00H Performance Mode Temporary Patch(part 16)
The Patch offset addresses are as follows.
00 00H Patch Common
10 00H Patch Tone 1
:
16 00H Patch Tone 4
Since Patch Tone has a size of 00 00 01 01H, we add this size to the start address of
Performance Mode Temporary Patch (Part 16) Tone 4, to get:
02 0F 00 00H
16 00H
+) 00 00 01 01H
02 0F 17 01H
Thus, the size of the retrieved data will be:
02 0F 17 01H
-) 01 00 00 00H
01 0F 17 01H
F0 41 10 6A 11 01 00 00 00 01 0F 17 01 ?? F7
(1) (2) (3) (4) (5) address size checksum (6)
(1) Exclusive status (2) ID number (Roland) (3) Device ID (17)
(4) Model ID (XP-30) (5) Command ID (RQ1) (6) EOX
Calculating the checksum as shown in <Example 2>, we get a message of F0 41 10 6A 11 01
00 00 00 01 0F 17 01 57 F7 to be transmitted.
204


Need help? Post your question in this forum.

Forumrules


Report abuse

Libble takes abuse of its services very seriously. We're committed to dealing with such abuse according to the laws in your country of residence. When you submit a report, we'll investigate it and take the appropriate action. We'll get back to you only if we require additional details or have more information to share.

Product:

For example, Anti-Semitic content, racist content, or material that could result in a violent physical act.

For example, a credit card number, a personal identification number, or an unlisted home address. Note that email addresses and full names are not considered private information.

Forumrules

To achieve meaningful questions, we apply the following rules:

Register

Register getting emails for Roland XP-30 at:


You will receive an email to register for one or both of the options.


Get your user manual by e-mail

Enter your email address to receive the manual of Roland XP-30 in the language / languages: English as an attachment in your email.

The manual is 5,26 mb in size.

 

You will receive the manual in your email within minutes. If you have not received an email, then probably have entered the wrong email address or your mailbox is too full. In addition, it may be that your ISP may have a maximum size for emails to receive.

The manual is sent by email. Check your email

If you have not received an email with the manual within fifteen minutes, it may be that you have a entered a wrong email address or that your ISP has set a maximum size to receive email that is smaller than the size of the manual.

The email address you have provided is not correct.

Please check the email address and correct it.

Your question is posted on this page

Would you like to receive an email when new answers and questions are posted? Please enter your email address.



Info