From lhammond@sol.UVic.CAThu Aug 3 10:02:53 1995 Date: Thu, 3 Aug 1995 08:20:53 -0700 (PDT) From: Lorne Hammond To: Scott Evans Cc: Analogue Heaven Subject: Re: Matrix 6R sysex implementation On Thu, 3 Aug 1995, Scott Evans wrote: > Does it exist? If so, is it documented anywhere? The bible for this is: The Midi System Exclusive Book Steve de furia and Joe Scacciaferro, Ferro Technologies, distributed by Hal Leonard, ISBN 0-88188-586-x >I'm really just looking > for the sysex strings to start "Send All" 10H = Oberheim ID code 06H = m-6 format 7FH general format Ignores anything other than the 10H code, always sends an EOX end code, waits 20 mSec between patch dumps So typical message is FOH 10H 06H F7H (the EOX message) SEND ALL= the above with these opcodes: 04H xx pp the xx can be 0: =transmit all single patches, splits, and master parameters 1: =Transmit single patch 2: =Transmit split patch 3: =Transmit master parameter the pp is teh patch number, range 0 to 99 for single patch, 0 to 49 for splits, This byte is ignored for transmit master parameters and transmit all requests, but must be included to pad out the fixed-length messages. When a dump all command is received. the M-6 will dump it all as seperate patches, splits, and master parameter blocks. Each will have its own sysex header and EOX command. That means you should tell the storage machine that transmit is finished (>1 second after the "10 SEND ALL" appears on the M-6 display) or the device will assume that more data is coming until it reaches the standard timeout of 500mSeconds without receiving more data. Total bytes received should be about 29 kbyte, including all headers and EOX marks for a typical dump all. data is transferred "nibblewise" (I have no idea what that means) "so judicious use of space" could store all in 15 kbytes. For downward compatability with version 1.xx, a single patch can also be requested by the sequence I don't pretend to understand all that, but that is roughly the advice in the book. I noticed that O appears in the text, I assume it should be 0, as the letter O is also used to list range O-99, which must be 0-99. Want to get into real wacko territory? It has remote editing commands. As a new user I find the big flaws in the M-6R manual (which is generally a wonderful bit of technical writing from a user's viewpoint) are the failure to include the MIDI implimentation codes, the technical hardware specs, and the rather dumb foldout face plate chart would have been space better used for a block diagram of the building blocks and hardwired connections. But it is in general a wonderful bit of work by the author. Hope that helps, Lorne lhammond@sol.uvic.ca From lhammond@sol.UVic.CAThu Aug 3 10:59:53 1995 Date: Thu, 3 Aug 1995 10:19:46 -0700 (PDT) From: Lorne Hammond To: analogue@hyperreal.com Subject: Matrix dump requests Part II Just checked in cakewalk Pro's list of dump request macros, confirms the other book, note the first four items and the last are the same for all commands, the FD is an opcode that prompts you in cakewalk to type in the patch number/split number: request all F0 10 06 04 0 0 F7 request single F0 10 06 04 1 FD F7 request split patch F0 10 06 04 2 FD F7 request master parameters F0 10 06 04 3 0 F7 Of course I have not even used this yet! Anyhow, i bet it works. Confirms the other source and clears up that O or 0 thing. Lorne lhammond@sol.uvic.ca