Roland Exclusive Message
fig.
1. Data Format for Exclusive Messages
Roland’s MIDI implementation uses the following data format for all
Exclusive messages (type IV):
•MIDI status: F0H, F7H
An Exclusive message must be flanked by a pair of status codes, starting
with a Manufacturer ID immediately after F0H (MIDI version 1.0).
•Manufacturer ID: 41H
The Manufacturer ID identifies the manufacturer of a MIDI instrument that
sends an Exclusive message. Value 41H represents Roland’s Manufacturer ID.
•Device ID: DEV
The Device ID contains a unique value that identifies individual devices in
the implementation of several MIDI instruments. It is usually set to
00H–0FH, a value smaller by one than that of a basic channel, but value
00H–1FH may be used for a device with several basic channels.
•Model ID: MDL
The Model ID contains a value that identifies one model from another.
Different models, however, may share an identical Model ID if they handle
similar data.
The Model ID format may contain 00H in one or more places to provide an
extended data field. The following are examples of valid Model IDs, each
representing a unique model:
01H
02H
03H
00H, 01H
00H, 02H
00H, 00H, 01H
•Command ID: CMD
The Command ID indicates the function of an Exclusive message. The
Command ID format may contain 00H in one or more places to provide an
extended data field. The following are examples of valid Command IDs,
each representing a unique function:
01H
02H
03H
00H, 01H
00H, 02H
00H, 00H, 01H
•Main data: BODY
This field contains a message to be exchanged across an interface. The exact
data size and content will vary with the Model ID and Command ID.
2. Address-mapped Data Transfer
Address mapping is a technique for transferring messages conforming to the
data format given in Section 1. It assigns a series of memory-resident
records—waveform and tone data, switch status, and parameters, for
example, to specific locations in a machine-dependent address space, thereby
allowing access to data residing at the address a message specifies.
Address-mapped data transfer is therefore independent of models and data
categories. This technique allows use of two different transfer procedures:
one-way transfer and handshake transfer.
•One-way transfer procedure (See Section 3
for details.)
This procedure is suited to the transfer of a small amount of data. It sends out
an Exclusive message completely independent of the receiving device's status.
Connection Diagram
Connection at point 2 is essential for “Request data” procedures.
(See Section 3.)
•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.
Connection Diagram
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.
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.
Types of Messages
•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
F0H
41H
DEV
MDL
CMD
[BODY]
F7H
Description
Exclusive Status
Manufacturer ID (Roland)
Device ID
Model ID
Command ID
Main data
End of exclusive
MIDI OUT
MIDI IN
MIDI IN
MIDI OUT
Device A
Device B
1
2
MIDI OUT
MIDI IN
MIDI IN
MIDI OUT
Device A
Device B
1
2
Message
Request data 1
Data set 1
Command ID
RQ1 (11H)
DT1 (12H)
Byte
F0H
41H
DEV
MDL
11H
aaH
|
|
ssH
|
|
sum
F7H
Description
Exclusive Status
Manufacturer ID (Roland)
Device ID
Model ID
Command ID
Address MSB
|
|
LSB
Size MSB
|
|
LSB
Check sum
End of exclusive
96