Supplementary material, Appendix, 7 decimal and hexadecimal table – Roland V-8HD HDMI Video Switcher User Manual

Page 87: 7 midi message examples, 6 how to calculate the checksum

Advertising
background image

87

Appendix

3. Supplementary Material

7

Decimal and Hexadecimal Table

(Hexadecimal Numbers are Indicated by ‘H’)

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.

D

H

D

H

D

H

D

H

0

00H

32

20H

64

40H

96

60H

1

01H

33

21H

65

41H

97

61H

2

02H

34

22H

66

42H

98

62H

3

03H

35

23H

67

43H

99

63H

4

04H

36

24H

68

44H

100

64H

5

05H

37

25H

69

45H

101

65H

6

06H

38

26H

70

46H

102

66H

7

07H

39

27H

71

47H

103

67H

8

08H

40

28H

72

48H

104

68H

9

09H

41

29H

73

49H

105

69H

10

0AH

42

2AH

74

4AH

106

6AH

11

0BH

43

2BH

75

4BH

107

6BH

12

0CH

44

2CH

76

4CH

108

6CH

13

0DH

45

2DH

77

4DH

109

6DH

14

0EH

46

2EH

78

4EH

110

6EH

15

0FH

47

2FH

79

4FH

111

6FH

16

10H

48

30H

80

50H

112

70H

17

11H

49

31H

81

51H

113

71H

18

12H

50

32H

82

52H

114

72H

19

13H

51

33H

83

53H

115

73H

20

14H

52

34H

84

54H

116

74H

21

15H

53

35H

85

55H

117

75H

22

16H

54

36H

86

56H

118

76H

23

17H

55

37H

87

57H

119

77H

24

18H

56

38H

88

58H

120

78H

25

19H

57

39H

89

59H

121

79H

26

1AH

58

3AH

90

5AH

122

7AH

27

1BH

59

3BH

91

5BH

123

7BH

28

1CH

60

3CH

92

5CH

124

7CH

29

1DH

61

3DH

93

5DH

125

7DH

30

1EH

62

3EH

94

5EH

126

7EH

31

1FH

63

3FH

95

5FH

127

7FH

D: decimal
H: hexadecimal
* Decimal expressions used for MIDI channel, bank select, and program change are 1

greater than the decimal value shown in the above table.

* Hexadecimal values in 7-bit units can express a maximum of 128 levels in one byte

of data. If the data requires greater resolution, two or more bytes are used. For
example, a value indicated by a hexadecimal expression in two 7-bit bytes aa bbH
would be aa x 128 + bb.

* Data marked “nibbled” is expressed in hexadecimal in 4-bit units. A value expressed

as a 2-byte nibble 0a 0bH has the value of a x 16 + b.

<Example 1>
What is the decimal expression of 5AH?
From the preceding table, 5AH = 90

<Example 2>
What is the decimal expression of the value 12 34H given as hexadecimal for each 7
bits?
From the preceding table, since 12H = 18 and 34H = 52
18 x 128 + 52 = 2356

<Example 3>
What is the decimal expression of the nibbled value 0A 03 09 0D?
From the preceding table, since 0AH = 10, 03H = 3, 09H = 9, 0DH = 13
((10 x 16 + 3) x 16 + 9) x 16 + 13 = 41885

<Example 4>
What is the nibbled expression of the decimal value 1258?

16) 1258
16) 78... 10
16) 4... 14
0... 4

Since from the preceding table, 0 = 00H, 4 = 04H, 14 = 0EH, 10 = 0AH, the answer is
00 04 0E 0AH.

7

MIDI Message Examples

<Example 1> 92H 3EH 5FH
9n is a note on status and n is the MIDI channel number.
As 2H = 2, 3EH = 62 and 5FH = 95, this is a note on message of MIDI CH =3 , note
number 62 (D4) and velocity 95.

<Example 2> CEH 49H
CnH is program change status, and n is the MIDI channel number.
As EH = 14 and 49H = 73, this is a program change message of MIDI CH = 15 and
program number 74 (in the GS sound map, Flute).

7

Example of an Exclusive Message and Calculating a Checksum

Roland Exclusive messages 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.

6

How to Calculate the Checksum

(Hexadecimal Numbers are Indicated by ‘H’)

The checksum is a value that produces a lower 7 bits of zero when the address, size,
and checksum itself are summed. If the exclusive message to be transmitted has an
address of aa bb ccH and the data is dd ee ffH, the actual calculation would be as
follows:

aa + bb + cc + dd + ee + ff = sum
sum / 128 = quotient ... remainder
128 - remainder = checksum
(However, the checksum will be 0 if the remainder is 0.)

<Example>
Setting Dissolve Time Ctrl Assign in MIDI Visual Control to Modulation for Control
Changes

From the “Parameter Address Map,” the start address of the Dissolve Time Ctrl Assign
in MIDI Visual Control is 10H 10H 02H and the Modulation parameter in Control
Change is 00H 01H. Therefore ...

F0H

7EH

00H

0CH 01H

10H 10H 02H

00H 01H

??H

F7H

(1)

(2)

(3)

(4)

(5)

(6)

(7)

(8)

(1) Exclusive Status
(2) ID Number (Universal SysEx Non Realtime)
(3) Device ID (0)
(4) Sub ID (MIDI Visual Control Version 1.0)
(5) Address
(6) Data
(7) Checksum
(8) EOX

Next calculate the checksum. Add (5) to (6).
10H + 10H + 02H + 00H + 01H = 16 + 16 + 2 + 0 + 1 = 35 (sum)
35 (sum) / 128 = 0 (quotient) ... 35 (remainder)
Checksum = 128 - 35 (remainder) = 93 = 5DH

Thus, the message to transmit is :
F0H 7EH 00H 0CH 01H 10H 10H 02H 00H 01H 5DH F7H

Advertising