MIDI Implementation
Handshake-transfer procedure
(This device does not use this procedure)
This procedure initiates a predetermined transfer sequence
(handshaking) across the interface before data transfer takes place.
Handshaking ensures that reliability and transfer speed are high
enough to handle a large amount of data.
fig.Connection-Diagram2.eps
Device (A)
MIDI OUT
MIDI IN
Connection at points 1 and 2 is essential.
Notes on the above procedures
• There are separate Command IDs for different transfer
procedures.
• Devices A and B cannot exchange data unless they use the same
transfer procedure, share identical Device ID and Model ID, and
are ready for communication.
60
Device (B)
1
MIDI IN
2
MIDI OUT
3. One-way Transfer Procedure
This procedure sends out data until it has all been sent and is used
when the messages are so short that answerbacks need not be
checked. For longer messages, however, the receiving device must
acquire each message in time with the transfer sequence, which
inserts 20 milliseconds intervals. In this method, as for the receiving
device, it is necessary to receive data correctly in time.
Types of Messages
Message
Command ID
Request data 1
RQ1 (11H)
Data set 1
DT1 (12H)
Request data 1: RQ1 (11H)
This message is sent out when there is a need to acquire data from a
device at the other end of the interface.
It contains data for the address and size that specify designation and
length, respectively, of data required.
On receiving an RQ1 message, the remote device checks its memory
for the data address and size that satisfy the request.
If it finds them and is ready for communication, the device will
transmit a "Data set 1 (DT1)" message, which contains the requested
data.
Otherwise, the device won't send out anything.
Byte
Description
F0H
System Exclusive Status
41H
Manufacturer ID (Roland)
DEV
Device ID
MDL
Model ID
11H
Command ID
aaH
Address MSB
:
:
:
:
Address LSB
ssH
Size MSB
:
:
:
:
Size LSB
sum
Check sum
F7H
EOX (End of System Exclusive)
• The size of the requested data does not indicate the number of
bytes that will make up a DT1 message, but represents the
address fields where the requested data resides.
• Some models are subject to limitations in data format used for a
single transaction. Requested data, for example, may have a
limit in length or must be divided into predetermined address
fields before it is exchanged across the interface.
• The same number of bytes comprises address and size data,
which, however, vary with the Model ID.
• The error-checking process uses a checksum that provides a bit
pattern where the last 7 bits are zero when values for an
address, size, and that checksum are summed.