Re: Question on QS sysex specs doc


[ Follow Ups ] [ Post Message ] [ The QuadraSynth Forum ] [ FAQ ]

Posted by Dan Halbert on November 10, 1997 at 10:25:49:

In Reply to: Question on QS sysex specs doc posted by Jason Peter on November 09, 1997 at 21:34:18:

: SEVEN QUADRASYNTH BYTES:
: 0: A7 A6 A5 A4 A3 A2 A1 A0
: ...

I initially puzzled over this description too, but realized that
the point is that each of these is a bit. This is my interpretation;
apologies if I turn out to be wrong.

There are seven bytes, "lettered" A-G. Each byte has eight bits,
numbered 7 to 0 (left to right).

Here's a table showing the original bytes in an alternate form. Each dot is a bit.
This probably looks right only in a fixed-width font.

76543210
A ........
B ........
C ........
D ........
E ........
F ........
G ........

To understand the SysEx format, it is helpful to put the bytes
in right-to-left order. The byte you see on all the way to the right
is the FIRST data byte transmitted in the SysExHere are the original 7 bytes.
Read down each column for the bit number (A0 is rightmost, etc.)

GGGGGGGG FFFFFFFF EEEEEEEE DDDDDDDD CCCCCCCC BBBBBBBB AAAAAAAA
76543210 76543210 76543210 76543210 76543210 76543210 76543210
........ ........ ........ ........ ........ ........ ........

In the SysEx message, an extra zero bit is inserted at each eighth bit,
which spreads each of the original data bytes between two SysEx bytes
Below are the original seven bytes, expanded to eight bytes to be
sent via SysEx.
The "xx" bits below are set to zero, since SysEx data bytes must have
the top bit be 0.

xGGGGGGG xGFFFFFF xFFEEEEE xEEEDDDD xDDDDCCC xCCCCCBB xBBBBBBA xAAAAAAA
x7654321 x0765432 x1076543 x2107654 x3210765 x4321076 x5432107 x6543210
0....... 0....... 0....... 0....... 0....... 0....... 0....... 0.......

For you computer folks, consider the bytes in a "little-endian" fashion.
For the rest of you, it helps to write out the data bytes from right-to-left
(the bytes, not the bits inside them), even though you would normally see them
left to right.

I have started to write some code to parse these SysEx messages, but haven't
actually gotten far enough to be able to look at actual
messages and see if my interpretation above is correct.

Regards,
Dan Halbert



Follow Ups: