Implementación MIDI
LOCATE (MCP)
Format2---LOCATE [TARGET]
Estado
Byte de información Estado
F0H
7FH, dev, 06H, 44H, 06H, 01H, hrH, mnH, scH, frH, ffHF7H
Byte
Descripción
F0H
Estado Exclusive
7FH
Universal System Exclusive Realtime Header
7FH
ID de dispositivo
06H
Mensaje MMC command
44H
LOCATE(MCP)
06H
Contador de Bytes
01H
Sub-comando "TARGET"
hrH
Especificación de tiempo estándar con subfotogramas (tipoff)
mnH
scH
frH
ffH
F7H
EOX (Final de Exclusive)
418
5. Apéndices
Tabla decimal y hexadecimal (el número hexadecimal
aparece con una H.)
En la documentación MIDI, los valores de la información y las direcciones/tamaños de los
mensajes system exclusive, etc.
se expresan en valores hexadecimales por cada 7 bits.
La siguiente tabla indica cómo éstos corresponden a números decimales.
+——————+——————++——————+——————++——————+——————++——————+——————+
|
dec |
hex ||
dec |
hex ||
+——————+——————++——————+——————++——————+——————++——————+——————+
|
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 ||
+——————+——————++——————+——————++——————+——————++——————+——————+
(*) Los valores decimales como canal MIDI, selección de bancos, y Cambio de programa se
listan como uno(1) más que los valores que se proporcionan en la tabla anterior.
(*) Un byte de 7 bits puede expresar información en un intervalo de 128 pasos. La
información en la que se requiere más precisión, debemos utilizar dos o más bytes. Por
ejemplo, dos números hexadecimales aa bbH expresando dos bytes de 7 bits indican un
valor de aa x 128 + bb.
(*) En el caso de valores que tienen un signo +/-, 40H=-64, 00H=0, 3FH=+63, de forma que
la expresión decimal debería ser de 64 menos que el valor proporcionado en la tabla
anterior.
En el caso de dos tipos, 40 00H = -8192, 00 00H = 0, 3F 7FH = +8191.
(*) La información marcada como "" (incompleto) se expresa en forma hexadecimal, en
unidades de 4 bits.
Un valor expresado como un 20-byte nibble 0a 0bH tiene un valor de x 16 + b.
<Ej.1> ¿Qué es 5AH en un sistema decimal?
5AH = 90 según la tabla anterior.
<Ej.2> ¿A cuántos hexadecimales por cada 7 bits equivale 12034H en sistema decimal?
12H = 18, 34H = 52 según la tabla anterior. Es decir, 18 x 128 + 52 = 2356.
<Ej.3> ¿Cuánto es en sistema no enteros lo que en sistema decimal es 0A 03 09 0D?
0AH = 10, 03H = 3, 09H = 9, 0DH = 13 según la tabla anterior.
Es decir, ((10 x 16 + 3) x 16 + 9) x 16 +3 = 41885.
<Ex.4> ¿Cuánto es en sistema decimal lo que en sistema de no enteros es 1258?
____
16)1258
16)
78 ... 10
16)
4 ... 14
0 ...
4
0 = 00H, 4 = 04H, 14 = 0EH, 10 = 0AH según la tabla anterior. De forma que es 00 04 0E 0AH.
Ejemplo de mensaje exclusivo del sistema y cálculo de
la suma de comprobación
En el mensaje exclusivo del sistema (DT1) de Roland, la suma de comprobación se añade al
final de la información transmitida (frente a F7) para comprobar que el mensaje se ha
recibido correctamente.
El valor de la suma de comprobación se define mediante la dirección y la información (o
tamaño) del mensaje exclusivo del sistema que se debe transmitir.
Cómo calcular la suma de comprobación (el número hexadecimal se
indica con una H.)
La suma de comprobación es un valor inferior a 7 bits de la suma de la dirección, tamaño y
la suma de comprobación será 0.
Si la dirección del mensaje exclusivo del sistema que hay que transmitir es aa bb ccH y la
información o el tamaño dd ee ffH,
aa + bb + cc + dd + ee + ff = suma
suma / 128 = cociente y resto
Cuando el resto es 0, 0 = suma de comprobación
Cuando el resto es distinto a 0, 128 - resto = suma de comprobación.
dec |
hex ||
dec |
hex |
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 |