beautypg.com

12 midi implementation, Ascii code table – Roland V-Piano Grand gp-7 User Manual

Page 12

background image

12

MIDI Implementation

Example of an Exclusive Message and Calculating a
Checksum

Roland Exclusive messages (RQ1, DT1) are transmitted with a checksum at the end (before
F7) to make sure that the message was correctly received. The value of the checksum is
determined by the address and data (or size) of the transmitted Exclusive message.

How to calculate the checksum

(hexadecimal numbers are indicated by “H”)
The checksum is a value derived by adding the address, size, and checksum itself and
inverting the lower 7 bits.
Here’s an example of how the check sum is calculated. We will assume that in the Exclusive
message we are transmitting, the address is aa bb cc ddH and the data or size is ee ffH.

aa + bb + cc + dd + ee + ff = sum
sum ÷ 128 = quotient ... remainder
128 - remainder = checksum

Setting Temperament to JUST MINOR (DT1)

According to the “Parameter Address Map” (p. 7), the start address of System is 20 00 00
00H, the offset address of System Common is 00 00H, and the address of Temperament is 00
04H. Therefore the address of Temperament of System is;

20 00 00 00H

00 00H

+) 00 04H

20 00 00 04H

JUST MINOR has the value of 02H.

So the system exclusive message should be sent is;
F0

41

10

00 00 39

12

20 00 00 04

02

??

F7

(1)

(2)

(3)

(4)

(5)

address

data

checksum

(6)

(1) Exclusive Status

(2) ID (Roland)

(3) Device ID (17)

(4) Model ID (V-Piano Grand (GP-7)) (5) Command ID (DT1) (6) End of Exclusive

Then calculate the checksum.

20H + 00H + 00H + 04H + 02H = 32 + 0 + 0 + 4 + 2 = 38 (sum)
38 (sum) ÷ 128 = 0 (quotient) ... 38 (remainder)
checksum = 128 - 38 (remainder) = 90 = 5AH

This means that F0 41 10 00 00 39 12 20 00 00 04 02 5A F7 is the message should be sent.

ASCII Code Table

Setup Name of MIDI data are described the ASCII code in the table below.

+——————+——————+——————++——————+——————+——————++——————+——————+——————+
| D | H | Char || D | H | Char || D | H | Char |
+——————+——————+——————++——————+——————+——————++——————+——————+——————+
| 32 | 20H | SP || 64 | 40H | @ || 96 | 60H | ` |
| 33 | 21H | ! || 65 | 41H | A || 97 | 61H | a |
| 34 | 22H | " || 66 | 42H | B || 98 | 62H | b |
| 35 | 23H | # || 67 | 43H | C || 99 | 63H | c |
| 36 | 24H | $ || 68 | 44H | D || 100 | 64H | d |
| 37 | 25H | % || 69 | 45H | E || 101 | 65H | e |
| 38 | 26H | & || 70 | 46H | F || 102 | 66H | f |
| 39 | 27H | ` || 71 | 47H | G || 103 | 67H | g |
| 40 | 28H | ( || 72 | 48H | H || 104 | 68H | h |
| 41 | 29H | ) || 73 | 49H | I || 105 | 69H | i |
| 42 | 2AH | * || 74 | 4AH | J || 106 | 6AH | j |
| 43 | 2BH | + || 75 | 4BH | K || 107 | 6BH | k |
| 44 | 2CH | , || 76 | 4CH | L || 108 | 6CH | l |
| 45 | 2DH | — || 77 | 4DH | M || 109 | 6DH | m |
| 46 | 2EH | . || 78 | 4EH | N || 110 | 6EH | n |
| 47 | 2FH | / || 79 | 4FH | O || 111 | 6FH | o |
| 48 | 30H | 0 || 80 | 50H | P || 112 | 70H | p |
| 49 | 31H | 1 || 81 | 51H | Q || 113 | 71H | q |
| 50 | 32H | 2 || 82 | 52H | R || 114 | 72H | r |
| 51 | 33H | 3 || 83 | 53H | S || 115 | 73H | s |
| 52 | 34H | 4 || 84 | 54H | T || 116 | 74H | t |
| 53 | 35H | 5 || 85 | 55H | U || 117 | 75H | u |
| 54 | 36H | 6 || 86 | 56H | V || 118 | 76H | v |
| 55 | 37H | 7 || 87 | 57H | W || 119 | 77H | w |
| 56 | 38H | 8 || 88 | 58H | X || 120 | 78H | x |
| 57 | 39H | 9 || 89 | 59H | Y || 121 | 79H | y |
| 58 | 3AH | : || 90 | 5AH | Z || 122 | 7AH | z |
| 59 | 3BH | ; || 91 | 5BH | [ || 123 | 7BH | { |
| 60 | 3CH | < || 92 | 5CH | \ || 124 | 7CH | | |
| 61 | 3DH | = || 93 | 5DH | ] || 125 | 7DH | } |
| 62 | 3EH | > || 94 | 5EH | ^ || | | |
| 63 | 3FH | ? || 95 | 5FH | _ || | | |
+——————+——————+——————++——————+——————+——————++——————+——————+——————+

D: decimal
H: hexadecimal

* “SP” is space.

V-Piano_Grand_Imple_e01.book 12 ページ 2011年6月22日 水曜日 午前11時3分