E1 can handle MIDI values as:
- unsigned number (positive values only)
- 2’s complement numbers
- numbers with a sign bit
Everything defaults to the unsigned numbers as they are most commonly used. The option to select the way of expressing the negative values (2’s compl and sign bit) will appear when you define a control that has negative numbers in its value range. eg:
The Sign Mode is the way of expressing the negative value
The Bit Width tells E1 how many bits are used. That means, where the sign bits will be placed.
If you set things as they are shown on the screenshot, the MIDI value of given parameter will be internally stored as 2’s complement number.
The next step is to arrange how it will be transferred in the SysEx message. You can do that by using the “Edit SysEx Data”
I use a bogus “18h” constant byte as the first bytes to send. It is a E-mu manufacturer byte. This should be replaced with appropriate bytes for Morpheus.
Then there are two value bytes. They are used to include the LSB and MSB portion of the parameter value.
This is the LSB part:
It instructs E1 to take the lower (LSB) 7 bits and place them to the byte that will be transferred.
and this is the LSB part:
It instructs E1 to take the upper (MSB) 7 bits and place them to the byte that will be transferred.
Now, when I observe the MIDI output I get the following messages:
Here’s the link to the preset I used for the screenshots:
2’s Complement MIDI values