Boss Dr. Rhythm DR-770 Owner's Manual page 112

Roland dr. rhythm dr-770 drum machine: owners manual
Table of Contents

Advertisement

MIDI Implementation
5. Supplementary material
Decimal/Hexadecimal table
(hexadecimal values are indicated by a following "H")
MIDI uses 7-bit hexadecimal values to indicate data values and the address and size of
exclusive messages. The following table shows the correspondence between decimal and
hexadecimal numbers.
+——————+——————++——————+——————++——————+——————++——————+——————+
|
D
|
H
||
D
|
H
+——————+——————++——————+——————++——————+——————++——————+——————+
|
0 |
00H ||
32 |
20H ||
|
1 |
01H ||
33 |
21H ||
|
2 |
02H ||
34 |
22H ||
|
3 |
03H ||
35 |
23H ||
|
4 |
04H ||
36 |
24H ||
|
5 |
05H ||
37 |
25H ||
|
6 |
06H ||
38 |
26H ||
|
7 |
07H ||
39 |
27H ||
|
8 |
08H ||
40 |
28H ||
|
9 |
09H ||
41 |
29H ||
|
10 |
0AH ||
42 |
2AH ||
|
11 |
0BH ||
43 |
2BH ||
|
12 |
0CH ||
44 |
2CH ||
|
13 |
0DH ||
45 |
2DH ||
|
14 |
0EH ||
46 |
2EH ||
|
15 |
0FH ||
47 |
2FH ||
|
16 |
10H ||
48 |
30H ||
|
17 |
11H ||
49 |
31H ||
|
18 |
12H ||
50 |
32H ||
|
19 |
13H ||
51 |
33H ||
|
20 |
14H ||
52 |
34H ||
|
21 |
15H ||
53 |
35H ||
|
22 |
16H ||
54 |
36H ||
|
23 |
17H ||
55 |
37H ||
|
24 |
18H ||
56 |
38H ||
|
25 |
19H ||
57 |
39H ||
|
26 |
1AH ||
58 |
3AH ||
|
27 |
1BH ||
59 |
3BH ||
|
28 |
1CH ||
60 |
3CH ||
|
29 |
1DH ||
61 |
3DH ||
|
30 |
1EH ||
62 |
3EH ||
|
31 |
1FH ||
63 |
3FH ||
+——————+——————++——————+——————++——————+——————++——————+——————+
D: decimal
H: hexadecimal
* Decimal expressions such as used for MIDI channel, Bank Select, and Program Change
will be the value 1 greater than the decimal value given in the above table.
* Since each MIDI byte carries 7 significant data bits, each byte can express a maximum of
128 different values. Data for which higher resolution is required must be transmitted
using two or more bytes. For example a value indicated as a two-byte value of aa bbH
would have a value of aa x 128 + bb.
* For a signed number (+/-), 00H = -64, 40H = +/-0, and 7FH = +63. I.e., the decimal
equivalent will be 64 less than the decimal value given in the above table. For a two-byte
signed number, 00 00H = -8192, 40 00H = +/-0, and 7F 7FH = +8191. For example the
decimal expression of aa bbH would be aa bbH - 40 00H = (aa x 128 + bb - 64 x 128.
* Hexadecimal notation in two 4-bit units is used for data indicated as 'nibbled'. The
nibbled two-byte value of 0a 0b H would be a x 16 + b.
<Example 1>
What is the decimal equivalent of 5AH?
From the above table, 5AH = 90.
<Example 2>
What is the decimal equivalent of the 7-bit hexadecimal values 12 34H?
From the above table, 12H = 18 and 34H = 52
Thus, 18 x 128 + 52 = 2356
112
||
D
|
H
||
D
|
H
64 |
40H ||
96 |
60H |
65 |
41H ||
97 |
61H |
66 |
42H ||
98 |
62H |
67 |
43H ||
99 |
63H |
68 |
44H ||
100 |
64H |
69 |
45H ||
101 |
65H |
70 |
46H ||
102 |
66H |
71 |
47H ||
103 |
67H |
72 |
48H ||
104 |
68H |
73 |
49H ||
105 |
69H |
74 |
4AH ||
106 |
6AH |
75 |
4BH ||
107 |
6BH |
76 |
4CH ||
108 |
6CH |
77 |
4DH ||
109 |
6DH |
78 |
4EH ||
110 |
6EH |
79 |
4FH ||
111 |
6FH |
80 |
50H ||
112 |
70H |
81 |
51H ||
113 |
71H |
82 |
52H ||
114 |
72H |
83 |
53H ||
115 |
73H |
84 |
54H ||
116 |
74H |
85 |
55H ||
117 |
75H |
86 |
56H ||
118 |
76H |
87 |
57H ||
119 |
77H |
88 |
58H ||
120 |
78H |
89 |
59H ||
121 |
79H |
90 |
5AH ||
122 |
7AH |
91 |
5BH ||
123 |
7BH |
92 |
5CH ||
124 |
7CH |
93 |
5DH ||
125 |
7DH |
94 |
5EH ||
126 |
7EH |
95 |
5FH ||
127 |
7FH |
Examples of actual MIDI messages
<Example 1> 99 3E 7F
CnH is the Note On status and "n" is the MIDI channel number. Since 9H = 9, 3EH = 62, and
7FH = 127, this is a Note On message of MIDI CH = 10, Note number 62.
<Example 2> CE 49
CnH is the Program Change status and "n" is the MIDI channel number. Since 9H = 9, and
49H = 73, this is a Program Change message of MIDI CH = 10, Program number 74.
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
Checksum is 0 if the remainder is 0.
<Example 1> Setting the Instrument of the PAD A03 of the current Drum kit to 182.
The"Parameter address map" indicates that the starting address of the current Drum kit is
00 00 00 00H, that the Instrument of the PAD A03 offset address is 00 00 02 00H, and that the
Instrument address is 00 00 00 00H. Thus, the address is:
00 00 00 00H
00 00 02 00H
+) 00 00 00 00H
00 00 02 00H
Instrument 182 is parameter value B5H (182(B6H - 1)), and divides value into 4bit MSB and
4bit LSB, so it is 0B 05H.
F0H
41H
09H
(1)
(2)
(3)
(1) Exclusive status
(4) model ID (DR-770)
Next we calculate the checksum.
00H + 00H + 02H + 00H + 0BH + 05H = 0 + 0 + 2 + 0 + 11 + 5 = 18 (sum)
18 (total) ÷ 128 (quotient) = 0 (quotient) ... 18 (remainder)
checksum = 128 - 18 (quotient) =110 = 6EH
This means that the message transmitted will be F0 41 09 00 1C 12 00 00 02 00 0B 05 6E F7 .
<Example 2> Retrieving data for PAD B01 of the current Drum kit.
The "Parameter address map" indicates that the starting address of the current Drum kit is
00 00 00 00H, and that the PAD B01 offset address is 00 00 10 00H. Thus, the address is:
00 00 00 00H
+) 00 00 10 00H
00 00 10 00H
Since the size of the PAD parameter is 00 00 00 0CH,
F0H
41H
09H
(1)
(2)
(3)
(1) Exclusive status
(4) model ID (DR-770)
Next we calculate the checksum.
00 1CH
12H
00 00 02 00H
0B 05H
(4)
(5)
address
(2) ID number (Roland)
(3) device ID (10)
(5) command ID (DT1)
(6) End of Exclusive
00 1CH
11H
00 00 10 00H
00 00 00 0CH
(4)
(5)
address
size
(2) ID number (Roland)
(3) device ID(10)
(5) command ID (RQ1)
(6) End of Exclusive
??H
F7H
data
checksum
(6)
??H
F7H
checksum
(6)

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents