So from that site
http://feldkir.ch/MSR-2%20SYSEX.txtASM System Exclusive Specification
F0 system exlusive status
00 Marion Systems manufacturer id...
00 ...
59 ...
01 MSR-2 product id, use 7F as ALL IDs identifier
01 MSR-2 ASM product member, use 7F as ALL IDs identifier
dd ASM device id, use 7F as ALL IDs identifier
pp ASM message type, 4 = Request Data, 3 = Set Data
tt ASM data type, 0 = global, 1 = preset, 2 = layer, 3 = tuning table,
4 = patch map, 5 = velocity curve, 6 = patch name,
7 = parameter
mm ASM data 14-bit number msb
ll ASM data 14-bit number lsb
... data, one 14-bit value per byte
F7 End of system exclusive message
So I guess, to adjust a parameter you use
F0 00 00 59 7F 7F 7F 03 07 MSB_Param LSB_Param MSB_Value LSB_Value F7
Assuming the data is sent the same as the MSR-2
"14 bit signed numbers are used to transmit data values. These are transmitted
by sending the most significant 7 bits first and the least significant 7 bits
last. Bit 14 represents the sign bit.
"
my guess is ....
99 = $00 63
98 = $00 62
...
2 = $00 02
1 = $00 01
00 = $00 00
-1 = $7F 7F
-2 = $7F 7E
...
-98 = $7F 1E
-99 = $7F 1D
These are not continuous values as 0 won't wrap around to $7F 7F
To get the BC to handle negative numbers in a continuous way it needs to use an extra bit (ie in this case 15bits)
99 = $01 00 63
98 = $01 00 62
...
2 = $01 00 02
1 = $01 00 01
00 = $00 00 00
-1 = $00 7F 7F
-2 = $00 7F 7E
...
-98 = $00 7F 1E
-99 = $00 7F 1D
With a minimum of $00 7F 1D and a max of $01 00 63
and ignore the first byte when you output the message (val 7.13 and val0.6 are the BC commands for the data)
It can't do this as it can only handle 14bits.
If only the 14th bit was not used for negative there is a way to fudge the negative number.
This is the same problem as I have for Emu Morpheus and I have never been able to create a solution.
Try using MidiOx and building a sysex parameter message to make sure that your synth does function that way.
All the best
Royce