Midi Line Code Question (Low Level)
Tim Godfrey
tgodfrey at unicom.***
Wed Jun 10 00:01:12 CEST 1998
At 04:30 PM 6/9/98 +0100, you wrote:
>>I'm happily integrating my 256 pot midi controller UP however the midi
>>output section is causing much grief. I have a series of parallel to
>>seriel shift registers that I load then shift out at the proper rate
>>howver the message is some how corrupted. I verified that the bits in
>>the massage are correct:
>>
>>F0 7F AA DD F7
>>AA is pot address
>>DD is pot data
>>|=start and stop bytes = binary one
>>
Jeremy,
See <http://www.hinton.demon.co.uk/midicode.html> for details on the MIDI
protocol.
The FO 7F sequence is for a special "universal real-time" Sysex message
format. (You shouldn't use this ID unless you are intending to use MTC,
MMC, or MIDI Show Control)
I think you want to use the "non-commercial" Manufacturers' ID, which is 7D.
Your example message would thus be FO 7D 0A 0A 0D 0D F7. Note that the data
byte values need to be "nibble-ized" - broken into two 4 bit halves. MIDI
prohibits sending any values with the MSB (bit 7) set. (except for System
Common and System Realtime)
However, you probably want to put in some other format identifiers between
the FO 7D and the actual data so you will be able to prevent conflicts on
the 7D Mfrs ID, and to allow you to expand your protocol in the future.
Perhaps your messages could start with F0 7D 4A 42 (4A 42 is your initials
in ASCII), and then have a format identifier - start with 00 for a Pot
Controller, and then you can define your own DIY device types up to 127 later.
Thus your message would now be FO 7D 4A 42 00 0A 0A 0D 0D F7
Hope this helps,
Tim.
_________________________________________________
To Reply: Substitute "net" for "***" in address
More information about the Synth-diy
mailing list