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: SysEx String Programming / Syntax Help for BCR2000

2013-08-25 by Mark v.d. Berg

--- In bc2000@yahoogroups.com, "evanlong@..." <evanlong@...> wrote:
> The RM50 definition file is coming along, but wow, is it ever long.  That is a consequence of the RM50 being a drum synth, with separate settings for practically every note of every preset.

You might consider splitting things up into multiple files.

There are more MIDI devices having huge amounts of parameters, so for some time I have been thinking about allowing hierarchical structures (i.e parameter groups) in the ini files, which BC Manager's dialog box could then display in a tree. But that is something for the future.

> 1) There are some parameters which define the range as:
> 0-15 [bit3 = sign bit, 1 = (-), 0 = (+)]
> What does the bit3 section mean?

I think it means this: if bit 3 is 1, the value indicated by bits 0-2 (decimal values: 0-7) is to be interpreted as negative:

3210
----
0000= 0
0001=+1
...
0111=+7

1000= 0 (?!)
1001=-1
...
1111=-7

> 2) There's a parameter which sets the low val range as:
> low 7b -15 to +15 2' comp
> What does the 2' comp part mean?

See http://en.wikipedia.org/wiki/Two%27s_complement

> Do I just represent this as a val with a range of 0-31?

If this is indeed a SEVEN-bit 2's complement notation as the manual says, this won't work, because -1 is then represented as 1111111 (decimal 127, hex $7F), and -15 as 1110001 (dec. 113, hex $71), so you can't use 0-31: you'd need to define the ranges of 0-15 and 113-127, which unfortunately the BCR doesn't allow.
(This is a well-known limitation of the BCR: it doesn't allow you to define a range that includes both negative and positive values in 2's complement notation.)

You COULD define a range of 0-127 here, but that would of course include many undesired values too; how bad that is, depends in part on how the RM50 reacts to these invalid values.

However, if this is actually a FIVE-bit 2's complement notation (unlikely, since the manual says "7-bit"; but you never know), 0-31 WOULD work: e.g. -1 would then be represented as 11111 (decimal 31, hex $1F). You'd have to try this out.

> 3) There's a parameter for the velocity curve that says:
> 
> Hi Val:
> high 1bit
> 
> Low Val:
> 0-11
> 
> There are only 12 settings for the velocity curve.  Why did they put anything in the Hi Val column?

No idea. It seems that Hi Val's "high 1bit" is always 0 here.

> 4) A few of the parameters have a split low val range of:
> 1-31, 33-122
> Can I just set the range to 1-122?  What's the best way to handle this?

From the RM50 manual I gather that these parameters are the MIDI controller numbers of Control Change messages: this may explain why 0 ("Bank Select (MSB)") and 32 ("Bank Select LSB") are excluded, and why 122 is the upper limit.
If you use 1-122, the only potential problem is 32. (I can't see a way to exclude 32, cf. the discussion of point 2 above.) But if the RM50 simply doesn't accept 32, it isn't much of a problem anyway.

Hope this helps,
Mark.

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.