I tripped over something that explained Humber, but I didn't read it and now I can't seem to locate it again.
So if the MSB is the sign (which makes sense (and maybe that's what humber is about)) then wouldn't it get set for the -ve eq values or do they just represented by by a number range eg 0 through 20 and 10 = 0 (flat) >10 = -ve values and > 10 = +ve ??
According to the MP1-Manual, I created a bunch of tables, containing die Display-Value, MIDI-Value and corresponding HEX-Values.
See Attachment
Reading the MP1 manual page:
So seems humber format means sending MSBs first for values that take multiple bytes so both ends know how to treat the bytes as they are received. From my reading of it, the first byte (byte 1) is special. So in this first byte, MSB (bit 7) is sign ? here 0 which = +ve. Bit 6 represents 0 or 7 (0 = 0), (1 = 7) with LSBs being the multiplier of bit 6 which defines how many additional bytes make up the value so for the >= 21 bit value we need 3 bytes for the value, so control byte is |0|1|0|0|0|0|1|1| so 6th bit =1 which is 7base10, bit 0 and bit 1 are 1 = 3base10, so 7 x 3 = 21 bits, or 3 bytes coming with MSBs first.
Maybe this is all humber format??
This Does make Sense, BUT the "Control Bytes" do not appear in the SysEx Dump
So we still don't know which data is taken to calculate the checksum :/
If I understand it correctly, the 2'complement is:
- Invert the Binary Number (0s will be 1s and otherwise around)
- Add 1
Imo, The binary Number(which will be inverted) consists of the sum of all the data (we don't know which bytes that are).
And the sum of the Checksum and "Data-Sum" will be 0 (discarding the overflow).
If so, when building the 2'complement of the Checksum, we should get our "Data-Sum", right? With this, we should be able to find out, which data is used to calculate the "Data-Sum" and Therefore the Checksum.
please correct me, if Im wrong