Bc2000 (for the BCF2000 & BCR2000) group photo

Yahoo Groups archive

Bc2000 (for the BCF2000 & BCR2000)

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

Thread

Negative numbers

Negative numbers

2017-04-09 by sam.staton@...

I had some success in dealing with negative numbers.

The Emu Morpheus LFO amt uses the following encoding:

-128 is 007F, -1 is 7F7F, 0 is 0000, and 127 is 7F00.

(Two's complement with lsb first.)

This can be dealt with in the BCR2000 using a value of range 0-255 and the following tx code.

$F0 $7D val7.13 cks-1 2 $4E val0.6 $F7 $F0 $18 $0C $00 $03 $61 $40 val0.6 cks-3 3 $F7

As I sweep the BCR pot from 0-255, the Emu Morpheus LFO amt sweeps smoothly from -128 to 127.

The way this works is that there are two sysex messages (plus the junk that the BCR inserts between them).

The first sysex message will be ignored (manufacturer 7D=None).

The second sysex message is used (Manufacturer 18=Emu).

I am using checksums carefully to get the bcr2000 to do some trivial logic.

The first sysex message will be discarded: it is only used to form the "checksum" in the second message, which is not actually used as a checksum but as the MSB of the LFO amt.

The first checksum, in the first sysex msg, is 7F if the pot MSB is 01 and 00 if the pot MSB is 00. The second checksum, in the second sysex msg, is 00 if the pot MSB is 01 and 7f if the pot MSB is 01.

The number 4E is chosen to make sure everything works. It is chosen so that 7f = 4e xor f7 xor f0 xor 18 xor 0c xor 03 xor 61 xor 40.

Figuring out what 4E should be is a bit of a hassle. I'd be interested to hear if anyone has found a better method.


Re: [bc2000] Negative numbers

2017-04-09 by Stephen Hookings

Wow. Very interesting. A sort of twinning between twork sysex. I wonder if this neat trick can extend to NRPNs?
Show quoted textHide quoted text
On 9 Apr 2017 8:06 a.m., "sam.staton@cs.ox.ac.uk [bc2000]" <bc2000@yahoogroups.com> wrote:

I had some success in dealing with negative numbers.

The Emu Morpheus LFO amt uses the following encoding:

-128 is 007F, -1 is 7F7F, 0 is 0000, and 127 is 7F00.

(Two's complement with lsb first.)

This can be dealt with in the BCR2000 using a value of range 0-255 and the following tx code.

$F0 $7D val7.13 cks-1 2 $4E val0.6 $F7 $F0 $18 $0C $00 $03 $61 $40 val0.6 cks-3 3 $F7

As I sweep the BCR pot from 0-255, the Emu Morpheus LFO amt sweeps smoothly from -128 to 127.

The way this works is that there are two sysex messages (plus the junk that the BCR inserts between them).

The first sysex message will be ignored (manufacturer 7D=None).

The second sysex message is used (Manufacturer 18=Emu).

I am using checksums carefully to get the bcr2000 to do some trivial logic.

The first sysex message will be discarded: it is only used to form the "checksum" in the second message, which is not actually used as a checksum but as the MSB of the LFO amt.

The first checksum, in the first sysex msg, is 7F if the pot MSB is 01 and 00 if the pot MSB is 00. The second checksum, in the second sysex msg, is 00 if the pot MSB is 01 and 7f if the pot MSB is 01.

The number 4E is chosen to make sure everything works. It is chosen so that 7f = 4e xor f7 xor f0 xor 18 xor 0c xor 03 xor 61 xor 40.

Figuring out what 4E should be is a bit of a hassle. I'd be interested to hear if anyone has found a better method.



RE: Re: Re: Re: Re: [bc2000] Negative numbers

2017-04-18 by Giorgio Passarella

--------------------------------------------
On Tue, 4/18/17, 'LarryS' vision1@... [bc2000] <bc2000@yahoogroups.com> wrote:
Show quoted textHide quoted text
 Subject: RE: Re: Re: Re: Re: [bc2000] Negative numbers
 To: bc2000@yahoogroups.com
 Date: Tuesday, April 18, 2017, 1:38 AM
 
 
 I had some beers and ended up in math adventures. It's not his fault. Sorry for the mess. 
 
 
 
 
 
         
 
 
 
 
 
 
 
 
 
 
 
 
 Just a word to the moderators of
 this list:  you probably oughta shut this guy off for a
 while.  Set him to “cannot post” until he gets his
 auto-repeater shut off.Otherwise, this is going to
 spiral into some kind of out-of-control
 posting.  L.  From: bc2000@yahoogroups.com
 [mailto:bc2000@...m] 
 Sent: Monday, April 17, 2017 3:43 PM
 To: bc2000@yahoogroups.com
 Subject: Re: Re: Re: Re: Re: [bc2000] Negative
 numbers [70 Attachments]    [Attachment(s) from
 WYLIE, Gavin (NHS TAYSIDE) included below] I am on leave from 6 to 14th
 of April inclusive

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.