summarized from Matrix-6 / Matrix-6r MIDI spec, 5/87, for 2.13 ROM. -eub
0xNN represents a hex byte. As in C, bitwise-and is "&",
shift-left is "<<", and shift-right is ">>". Shifts are
Device ID: 0x02 for M-12 or Xpander, 0x06 for M-6.
any of the opcodes described below.
the corresponding data, if any.
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
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
parameter number, 0-99.
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.
patch number, 0-99.
data, sent nybblewise:
a data byte dd is sent as
xx = dd&0x0F;
yy = dd>>4
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.