Roland
Exclusive
Messages
Data Format
for
Exclusive Messages
Roland's
MID! implementation uses the following
data format for
all exclusive messages
(type
IV):
Byte Description
FOH Exclusive
status
41H Manufacturer ID (Roland)
DEV Device
ID
MDL
Model ID
CMD Command ID
[BODY]
Main data
F7H End of exclusive
#MIDI
Status: FOH, F7H
An exclusive
message must be flanked by a pair of status
codes, staning with
a
Manufacturer-ID immediately after FOH
(MIDI version 1
.0).
#Manufacturer-iD:
41
H
The Manufacturer-ID identifies the manufacturer
of a MIDI instrument
that triggers an
exclusive message. Value
41H
represents
Roland's Manufacturer-ID.
#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
lo
OOH
-
OFH, a value
smaller by
one
than that
of a basic channel, but
value
OOH
—
1FH may be used for a
device
with multiple basic channels.
#Modei-ID: MDL
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:
OIH
02H
03H
OOH, OIH
OOH,
02H
OOH, OOH, OIH
#Command-ID:
CMD
The Command-ID
indicates the function of an exclusive message.
The Command-ID
format may contain
OOH in one or more places to provide
an
extended
data
field. The
following
are examples of valid Command-IDs,
each representing a unique
function:
OIH
02H
03H
OOH,
OIH
OOH,
02H
OOH,
OOH,
OIH
#Maindata:
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.
# One-way
transfer
procedure
(See
Section 3
for details.)
This
procedure is suited for the
transfer of a small
amount of data. It sends
out
an
exclusive
me.ssage completely independent of a
receiving
device status.
Connection Diagram
Device (A)
Device
(B)
Connection at point
2 is essential for "Request data"
procedures. {See Section
3.)
#Handshake-transfer procedure
(This device does
not cover this
procedure)
This procedure
initiates a predetermined transfer
sequence (handshaking) across the
interface before data transfer lakes place.
Handshaking ensures that reliability and
transfer
speed are high enough
to
handle a large amount of data.
Connection
Diagram
Device
(A)
Device (B)
MIDI OUT
MIDI
IM
MIDI
IN
MIDI
OUT
Connection at points
1
and
2 is
essential.
Notes on the
above
two 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.
One-way Transfer Procedure
This procedure
sends
out
data all the
way until it slops and is used
when
the messages are
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 lUlessages
Message
Command ID
Request data
1
Data
set 1
RQ1 (11H)
DTI
(12H>
#Request data #1
:
RQ1
(1
1
H)
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 RQl mes.sage,
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
(DTI)" message, which
contains the requested data.
Otherwise,
the
device will
send out
nothing.
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
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.
Byte Description
FOH
Exclusive status
41H Manufacturer ID (Roland)
DEV Device
ID
MDL Model ID
11H Command ID
aaH Address
MSB
LSB
ssH Size
MSB
LSB
sum Check sum
F7H
End of exclusive