Bc2000 (for the BCF2000 & BCR2000) group photo

Yahoo Groups archive

Bc2000 (for the BCF2000 & BCR2000)

Index last updated: 2026-04-28 23:16 UTC

Message

Re: Controlling the Marion Prosynth

2014-03-27 by <rpcfender@...>

So from that site
http://feldkir.ch/MSR-2%20SYSEX.txt
ASM 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

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.