Midi Line Code Question (Low Level)
Christian Hofmann
chris at scp.de
Tue Jun 9 19:00:54 CEST 1998
On Tue, 09 Jun 1998 10:36:49 -0300
"[|[| Philip Pilgrim |]|]" <thelab at sprint.ca> 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
I'm not quite sure what this is about, this sounds like a home brew midi
implementation...? So let's see what we have:
> howver the message is some how corrupted.
What makes you think so? What are you feeding it into? Any error
messages from the receiving device? Is it designed to operate with this
type of message?
> 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
>
> |11110000||01111111||aaaaaaaa||dddddddd||11110111|
That looks like a System Exclusive Message.
F0 = start SysEx, F7 = end of SysEx ("EOX")
Where does this message definition come from? Is it your invention, or
does it match some receiver's SysEx implementation?
> I am conforming to 0 = current on.
I'm not sure about what polarity is right, I would have to look that up.
> 1.Is there any special line code for midi?
What do you mean by "line code"? If you are thinking of something like
an end of line code (carriage return) - there isn't such a thing needed
in midi messages, since SysEx messages are terminated with EOX, and all
other midi messages have a fixed number of bytes.
> 2.Does a 1 have to return to zero before a new 1 can be sent?
It's asynchronous, so there's no need to return to zero, just the
current levels for each bit duration are needed.
> 4. I was given a similar schematic from an old electronic musician mag
> however it's message format is weird.
> |mmmmmmm||nnnnnnnn0|oooooooo0||
That looks like a very general description of normal NoteOn or
Controller messages, in reverse bit notation. Those Messages have the
high bit of the first byte set to 1, and the high bit of the other 2
bytes set to 0.
So, if you have some more details I'll be glad to give some assistance.
cu
Christian
More information about the Synth-diy
mailing list