Roland Exclusive Messages
1. Data Format for Exclusive Messages
Roland’s MIDI implcmcn1ation uses the following data format
for all exclusive messages (type IV):
Byte | Description |
---|---|
Byte | Description |
FOH | Exclusive status |
41H | Manufactures ID (Roland} |
DEV | Device ID |
MOL | Model ID |
CMO | Command ID |
(BODY) | Maindata |
F7H | End of exclusive |
:: MIDI status : FOH, F7H
An exclusive message must be flanked by a pair or status
codes, starting with a Manufactures – ID immediately after F0I I (MIDI version 1.0).
:: Manufactures- ID : 41 H
The Manufacturers-1D identifies the manufacturer of a MIDI
instrument that triggers an exclusive message. Value 41H
represents Roland’s Manufacturers-lD.
:: Device. ID : DEV
The Device-ID contains a unique value that identifies the
individual device in the multiple implementation of 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 multiple basic channels.
:: Model- ID : MOL
The Model – ID contains a value that uniquely 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 OOH 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 or an exclusive
message. The Command-ID format may contain 00H in one
or more places to provide an extended data rield. The
following are examples or 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 contents will vary with the Model-ID and Command-ID.
[Address- mapped Data Transfer]
Address mapping is a technique for transferring messages
conforming to the data format given in Section I.
It assigns a series or 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 or
models and data categories. This technique allows use or two
different transfer, procedures : one – way transfer and
handshake transfer.
:::One – way transfer procedure
This procedure is suited for the transfer or a small amount of
data. It sends out an exclusive messages completely independent
of a receiving device status.
Connection Diagram
Connection at point 2 is essential for “Request data”‘ procedures.
:::Handshake – transfer 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 or data.
Connection Diagram
Connection at points 1 and 2 is essential.
Notes on the above two procedures
* There are seperate 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.
One way Transfer Procedure
This procedure sends out data all the way until it stops when
the messages arc so short that answerbacks need not be
checked.
For long messages, however, the receiving device must acquire each message in time with the transfer sequence, which inserts intervals of at least 20 milliseconds in between.
:::Types of Messages
Message | Command ID |
---|---|
Message | Command ID |
Request data 1 | RQ1 (11H) |
Data set l | DT1 (12H) |
:: Request data # 1 : RQ1 (11H)
This message is sent out when there is a need to acquire data from a device at 1he other end of the interface.
It contains data for the address and size that specify designation and length, respective of data required.
On receiving an RQI message, the remote device checks it’s
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 I (DTI )~ message, which contains the
requested data.
Otherwise, the device will send out nothing.