4
MIDI Implementation
5. Appendices
●
Decimal and Hexadecimal table
(Hexadecimal number is shown with H.)
In MIDI documentation, data values and addresses/sizes of system exclusive messages etc.
are expressed as hexadecimal values for each 7 bits.
The following table shows how these correspond to decimal numbers.
+——————+——————++——————+——————++——————+——————++—————————————+
| dec | hex || dec | hex || dec | hex || dec | hex |
+——————+——————++——————+——————++——————+——————++——————+——————+
| 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 |
+——————+——————++——————+——————++——————+——————++——————+——————+
*
Decimal values such as MIDI channel, bank select, and program change are listed as one
(1) greater than the values given in the above table.
*
A 7-bit byte can express data in the range of 128 steps. For data where greater precision
is required, we must use two or more bytes. For example, two hexadecimal numbers aa
bbH expressing two 7-bit bytes would indicate a value of aa x 128 + bb.
*
In the case of values which have a ± sign, 00H = -64, 40H = ±0, and 7FH = +63, so that the
decimal expression would be 64 less than the value given in the above chart. In the case
of two types, 00 00H = -8192, 40 00H = ±0, and 7F 7FH = +8191.
*
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.
<Ex.1> What is 5AH in decimal system?
5AH = 90 according to the above table.
<Ex.2> What in decimal system is 12034H in hexadecimal of every 7 bit?
12H = 18, 34H = 52 according to the above table. So 18 x 128 + 52 = 2356.
<Ex.3> What in decimal system is 0A 03 09 0D in nibble system?
0AH = 10, 03H = 3, 09H = 9, 0DH = 13 according to the table.
So ((10 x 16 + 3) x 16 + 9) x 16 + 13 = 41885.
<Ex. 4> What in nibble system is 1258 in decimal system?
________
16)1258
16) 78 ... 10
16) 4 ... 14
0 ... 4
0 = 00H, 4 = 04H, 14 = 0EH, 10 = 0AH According to the table.
So it is 00 04 0E 0AH.
MIDI Machine Control (MMC) Command
●
Commands Recognized
Command
Action
01H STOP
STOP
02H PLAY
PLAY
03H DEFERRED PLAY
PLAY
04H FAST FORWARD
FF
05H REWIND
REW
06H RECORD STROBE
REC/PUNCH IN
07H RECORD EXIT
PUNCH OUT
44H 01H LOCATE TARGET
LOCATE
●
Commands Transmitted
Command
Action
01H STOP
STOP
03H DEFERRED PLAY
PLAY
06H RECORD STROBE
REC/PUNCH IN
07H RECORD EXIT
PUNCH OUT
44H 01H LOCATE TARGET
LOCATE