Chapter Three: MIDI
1. How does the MIDI system work? Page 9
System Exclusive Messages
System Exclusive (or simply SysEx) messages expand the functionality of MIDI in almost endless ways. At first, this code class was used primarily for editor/librarian functions. Large patch banks could be stored on a computer through SysEx codes and then sent back into the instrument when necessary. Certain instruments, such as the Yamaha TX816 had no internal patches of their own and consequently depended on SysEx 'patch dumps' to change their programming. In addition, once these large patch sets were in the computer, the 'editor' part of the editor/librarian could make changes to the programs before sending them back into the instrument. Eventually, manipulating the patches directly on the instrument also became possible.
But the internal structure of a Yamaha DX7 was different than a Roland Juno. Sending a DX7 patch to a Juno would be useless. So instruments manufacturers would register with the MIDI Manufacturers Association and be given and 'exclusive' number or SysEx ID that would identify their instruments that these sysEx messages were intended for them (ID #1 went to Sequential Circuits).
A System Exclusive code set begins with 11110000 (240 decimal or F0 hex), followed by the manufacturer ID#, then by an unspecified number of data bytes of any ranges from 0-127) and ends with 11110111 (decimal 247 or F7 hex), meaning End of SysEx message. No other coded are to be transmitted during a SysEx message (except a system real time message). Normally, after the manufacturer ID, each maker will have its own instrument model subcode, so a Yamaha DX7 will ignore a Yamaha SY77's patch dump. In addition, most instruments have a SysEx ID # setting so more than one of the same instruments can be on a network but not necessarily respond to a patch dump not intended for it.