Thank you so so so much for helping me here, your example does help somewhat, as I now get what you mean at least at some level. It seems that the bytes still consist of 8 bits. That’s a given, right?
I’m still rather confused, I’m afraid.
Here’s a concrete example that might help as a good basis to clear things up:
The manual states
GENERAL RK006 SYSEX FORMAT:
F0 00 21 23 00 06 <CMD/RSP> <args...> F7
and
4 = BOOT_INT_TEMPO ; tempo of internal clock generator at boot
;(in bpm: 0=off, 120=120.0bpm)
So when I run into the following line I’m sure this is the BOOT_INT_TEMPO parameter
F0 00 21 23 00 06 03 00 04 00 F7
And since HEX(00) is 0 that means it’s off. But if I set it to 207bpm here’s the line I get:
F0 00 21 23 00 06 03 02 04 4F F7
This is supposed to be 207 bpm, but 4F is 79 so the MSB is to be found in the 02 in some manner. But how? And how do I decipher that?
EDIT
Also, sorry @mzero I just noticed that typing < args > gets considered as an argument here so it disappeared above and it might have misled you somewhat. This is what the manual actually states for the 7-bit packing
F0 00 21 23 00 06 <CMD/RSP> <args...> F7
-
< args > are 7-bit packed: 7 bytes of 7-bit data is prequelled by a byte containing the MSBs
Which means that only the < args > part works like you described, or would there be differences in this case?
Also, what would, for example, [a0] contain? A hex of two digits?