Roland Edirol UR-80 Mode D'emploi page 384

Table des Matières

Publicité

Les langues disponibles
  • FR

Les langues disponibles

MIDI implementation
4. Supplementary material
Decimal and Hexadecimal table
(An "H" is appended to the end of numbers in hexadecimal notation.)
In MIDI documentation, data values and addresses/sizes of Exclusive messages,
etc. are expressed as hexadecimal values for each 7 bits.
The following table shows how these correspond to decimal numbers.
fig.11-22e
Dec.
Hex.
Dec.
0
00H
32
1
01H
33
2
02H
34
3
03H
35
4
04H
36
5
05H
37
6
06H
38
7
07H
39
8
08H
40
9
09H
41
10
0AH
42
11
0BH
43
12
0CH
44
13
0DH
45
14
0EH
46
15
0FH
47
16
10H
48
17
11H
49
18
12H
50
19
13H
51
20
14H
52
21
15H
53
22
16H
54
23
17H
55
24
18H
56
25
19H
57
26
1AH
58
27
1BH
59
28
1CH
60
29
1DH
61
30
1EH
62
31
1FH
63
* The decimal expression of the MIDI channel, program change, etc., is one
greater than the decimal value shown in the table above.
* The hexadecimal expression for each 7 bits allows a maximum of 128 steps (0--
127) to be expressed by one byte of data. Multiple bytes are used if the data
requires greater resolution than this. For example, a value expressed by two 7-
bit bytes "aa" and "bbH" would be aa x 128 + bb.
* In the case of signed (+/-) data, 00H = -64, 40H = +/-0, and 7FH = +63; i.e., a
value 64 less than the decimal value shown in the above table is used. In the case
of a two-byte value, 00 00H = -8192, 40 00 = +/-0, and 7F 7F = +8191. For
example, a value of "aa" and "bbH" would have a decimal expression of aa bbH
- 40 00H = aa x 128 + bb - 64 x 128.
* In the case of data indicated as "use nibble data," hexadecimal expression in 4-
bit units is used. A nibble-expressed value of the two bytes 0a and 0bH would
have a value of a x 16 + b.
<Example1>
What is the decimal expression of 5AH?
From the preceding table, 5AH = 90.
<Example2>
What is the decimal expression of the 7-bit hexadecimal value 12 34H?
From the preceding table, 12H = 18, and 34H = 52.
Thus, this is
18 x 128 + 52 = 2356
<Example3>
What is the decimal expression of the nibble-expressed value 0A 03 09 0D?
From the preceding table, 0AH = 10, 03H = 3, 09H = 9, and 0DH = 13.
Thus, this is
((10 x 16 + 3) x 16 + 9) x 16 + 13 = 41885
<Example4> What is the nibble-expressed value of decimal 1258?
1258 ÷ 16 = 78 (quotient) ... 10 (remainder)
78 ÷ 16 = 4 (quotient) ... 14 (remainder)
4 ÷ 16 = 0 (quotient) ... 4 (remainder)
From the preceding table, 0 = 00H, 4 = 04H, 14 = 0EH, 10 = 0HA.
Thus, the nibble-expressed value is
384
Hex.
Dec.
Hex.
Dec.
Hex.
20H
64
40H
96
60H
21H
65
41H
97
61H
22H
66
42H
98
62H
23H
67
43H
99
63H
24H
68
44H
100
64H
25H
69
45H
101
65H
26H
70
46H
102
66H
27H
71
47H
103
67H
28H
72
48H
104
68H
29H
73
49H
105
69H
2AH
74
4AH
106
6AH
2BH
75
4BH
107
6BH
2CH
76
4CH
108
6CH
2DH
77
4DH
109
6DH
2EH
78
4EH
110
6EH
2FH
79
4FH
111
6FH
30H
80
50H
112
70H
31H
81
51H
113
71H
32H
82
52H
114
72H
33H
83
53H
115
73H
34H
84
54H
116
74H
35H
85
55H
117
75H
36H
86
56H
118
76H
37H
87
57H
119
77H
38H
88
58H
120
78H
39H
89
59H
121
79H
3AH
90
5AH
122
7AH
3BH
91
5BH
123
7BH
3CH
92
5CH
124
7CH
3DH
93
5DH
125
7DH
3EH
94
5EH
126
7EH
3FH
95
5FH
127
7FH
00 04 0E 0AH
Example of an actual MIDI message
<Example1> CE 04
CnH is the Program Change status. "n" is the MIDI channel number. EH = 14, and
04H = 04. Thus, this is a program change message on MIDI channel 15, for program
number 05.
Checksum calculation
In order to verify that the message was received correctly, Roland exclusive
messages (RQ1, DT1) add a checksum following the end of the data (before the F7).
The checksum value is determined by the address and data (or size) of the
exclusive message that is transmitted.
Calculating the checksum
("H" has been added following hexadecimal values)
The checksum is a value that results in a lower 7 bits of 0 when the address, size,
and checksum itself are added together.
Specifically, the calculation will be as follows when the exclusive message you
want to transmit has an address of aa bb ccH and data or size of dd ee ffH.
aa + bb + cc + dd + ee + ff = total
total ÷ 128 = quotient ... remainder
128 - remainder = checksum
* However, as an exception, the checksum for a remainder of 0 is not 80H but
rather 00H.

Publicité

Table des Matières
loading

Table des Matières