========== sysex summarized from Matrix-6 / Matrix-6r MIDI spec, 5/87, for 2.13 ROM. -eub * notation: 0xNN represents a hexadecimal byte. as in C, bitwise-and is "&", shift-left is "<<", and shift-right is ">>". shifts should be interpreted as operating on unsigned data. * sysex format: 0xF0 sysex start 0x10 Oberheim ID dd Device ID: 0x02 for M-12 or Xpander, 0x06 for M-6. opcode one byte. (data) 0xF7 sysex end (EOX) The high bit of each byte is reserved as the status bit, as usual. 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. ========== patch-format summarized from Matrix-6 / Matrix-6r MIDI spec, 5/87, for 2.13 ROM. -eub read the sysex file first. * patch data format byte param bits description 0-7 n/a 6 each patch name: ASCII clipped to 6 bits. 8 48 2 kbd mode (0) (reassign, rotate, unison, rob) (3) 9 0 6 dco1 freq 10 5 6 saw shape 11 3 6 pulse width 12 7 2 modulation (bit 1) (vibrato | bend) (bit 0) 13 6 2 waveforms (wave | pulse) 14 10 6 dco2 freq 15 15 6 saw shape 16 13 6 pulse width 17 17 2 modulation 18 16 3 waveforms (noise | wave | pulse) 19 12 6 +/- detune 20 20 6 mix 21 8 2 dco1 keyboard (unused | portamento) 22 9 1 click 23 18 2 dco2 keyboard (kbd track | portamento) 24 19 1 click 25 2 2 sync mode 26 21 7 vcf freq 27 24 6 q 28 25 2 modulation (vibrato | bend) 29 26 2 keyboard (keyboard | portamento) 30 30 6 fm 31 27 6 vca1 level 32 44 6 portamento rate 33 46 2 mode (speed, time, exp1, exp2) 34 47 1 legato 35 80 6 lfo1 speed 36 86 2 trigger (none, single, multi, extern) 37 87 1 lag 38 82 3 waveform (tri, up, dn, sqr, rnd, noiz, s/h) 39 83 5 retrigger 40 88 5 sample source 41 84 6 amplitude 42-48 lfo2 params 49 57 3 env1 trigger (external | multi | reset) 50 50 6 delay 51 51 6 attack 52 52 6 decay 53 53 6 sustain 54 54 6 release 55 55 6 amplitude 56 59 2 lfo trigger (lfo trig | gated) 57 58 2 mode (free-run | DADR) 58-66 env2 params 67-75 env3 params 76 33 5 tracker source 77 34 6 pt1 78 35 6 pt2 79 36 6 pt3 80 37 6 pt4 81 38 6 pt5 82 40 6 ramp1 rate 83 41 2 mode (strig, mtrig, xtrig, xgate) 84-85 ramp2 params 86 1 7 +/- dco1 freq by lfo1 87 4 7 +/- p.w. by lfo2 88 11 7 +/- dco2 freq by lfo1 89 14 7 +/- p.w. by lfo2 90 22 7 +/- vcf freq by env1 91 23 7 +/- vcf freq by pressure 92 28 7 +/- vca1 by velocity 93 29 7 +/- vca2 by env2 94 56 7 +/- env1 ampl by velocity 95 66 7 +/- env2 ampl by velocity 96 76 7 +/- env3 ampl by velocity 97 85 7 +/- lfo1 ampl by ramp1 98 95 7 +/- lfo2 ampl by ramp2 99 45 7 +/- port rate by velocity 100 31 7 +/- vcf fm by env3 101 32 7 +/- vcf fm by pressure 102 81 7 +/- lfo1 rate by pressure 103 91 7 +/- lfo2 rate by keyboard 104 5 mod0 source 105 7 +/- amount 106 5 target 107-133 mod1 through mod9 Now, what crack fiend picked the ordering here? The front panel apparently doesn't present all of the options for many of the bit-field parameters. ========== mod-codes summarized from Matrix-6 / Matrix-6r MIDI spec, 5/87, for 2.13 ROM. -eub * modulation sources 1 env1 2 env2 3 env3 4 lfo1 5 lfo2 6 vibrato 7 ramp1 8 ramp2 9 keyboard 10 portamento 11 tracker 12 keyboard gate 13 velocity 14 release velocity 15 pressure 16 pedal1 17 pedal2 18 lever1 19 lever2 20 lever3 * modulation targets 1 dco1 freq 2 pulse width 3 saw shape 4 dco2 5 pulse width 6 saw shape 7 mix 8 vcf fm 9 frequency 10 resonance 11 vca1 level 12 vca2 level 13 env1 delay 14 attack 15 decay 16 release 17 amplitude 18 env2 delay 19 attack 20 decay 21 release 22 amplitude 23 env3 delay 24 attack 25 decay 26 release 27 amplitude 28 lfo1 rate 29 amplitude 30 lfo2 rate 31 amplitude 32 portamento time