Matrix-6 sysex


summarized from Matrix-6 / Matrix-6r MIDI spec, 5/87, for 2.13 ROM. -eub

notation:

0xNN represents a hex byte. As in C, bitwise-and is "&", shift-left is "<<", and shift-right is ">>". Shifts are unsigned.

sysex format:

0xF0
sysex start
0x10
Oberheim ID
dd
Device ID: 0x02 for M-12 or Xpander, 0x06 for M-6.
op
any of the opcodes described below.
data
the corresponding data, if any.
0xF7
sysex end (EOX)
The high bit of each byte is zero, reserved as the MIDI status bit. Wait at least 20 ms between sysex operations.

select quick patch edit

0x05
opcode
Send this before changing parameters through remote editing. "This operation selects the Quick mode of the Patch Edit function. The M-6 must be in Patch Edit mode in order to act upon parameter change commands."

change parameter

0x06
opcode
pp
parameter number, 0-99.
vv
value. may not be negative. (damn!)
If you want to set negative values, you have to send the whole patch, breaking the sound. I can't imagine why they didn't just use bit 6 as a sign bit.

single patch

0x01
opcode
pp
patch number, 0-99.
xx yy
data, sent nybblewise:
a data byte dd is sent as xx = dd&0x0F; yy = dd>>4
cc
checksum:
the sum of the original data bytes dd, masked with 0x7F.
Here I don't see why they chop up the data bytes; none exceeds 7 bits.


(go to my front-door page) eli+w3@cs.cmu.edu
19 Jan 2002