445
MIDI Implementation

Preset patches and Algorithm list Effect Block MIDI Implementation Specifications Index

LOCATE (MCP)

Format2---LOCATE [TARGET]

Status Data byte Status
F0H 7FH, dev, 06H, 44H, 06H, 01H,
hrH, mnH, scH, frH, ffH F7H
Byte Remarks
F0H Exclusive status
7FH Universal System Exclusive Realtime Header
7FH Device ID
06H MMC command message
44H LOCATE (MCP)
06H Byte count
01H “TARGET” sub-Command
hrH Standard Time Specification with subframes (type ff)
mnH
scH
frH
ffH
F7H EOX (End of Exclusive)

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
expression two 7-bit bytes would indicate a value of aa x 128 + bb.
(*) In the case of values which have a +/- sign, 40H=-64, 00H=0, 3FH=+63, so that the
decimal expression would be 64 less than the value given in the above chart.
In the case of two types, 40 00H = -8192, 00 00H = 0, 3F 7FH = +8191.
(*) Data marked “nibbled” is expressed in hexadecimal in 4-bit units.
A value expressed as a 20byte nibble 0a 0bH has the value of a x 16 + b.
<Ex.1> What 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 above table.
So ((10 x 16 + 3) x 16 + 9) x 16 + 3 = 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 above table. So it is 00 04 0E 0AH.

Example of system exclusive message and Checksum

calculation

On Roland system exclusive message (DT1), checksum is added at the end of transmitted
data (in front of F7) to check the message is received correctly.
Value of checksum is defined by address and data (or size) of the system exclusive message
to be transmitted.

How to calculate checksum (Hexadecimal number is shown with H.)

checksum is a value which lower 7 bit of the sum of address, size and checksum itself turns
to be 0.
If the address of the system exclusive message to be transmitted is aa bb ccH and data or
size is dd ee ffH,

aa + bb + cc + dd + ee + ff = sum
sum /128 = quotient and odd
When odd is 0, 0 = checksum
When odd is other than 0, 128 - odd = checksum.

ECS05_manual_e.book 445 ページ 2005年11月30日 水曜日 午前11時14分