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: Button increment skip values? re:VFX and sysex control

2008-05-29 by k5kip_1999

Ok,
So range from -1 to -99 would be
$3FFF $3F9d
but I should write it as 
.minmax $3F9d $3FFF
Correct?

Thanks Royce.


--- In bc2000@yahoogroups.com, "rpcfender" <rpcfender@...> wrote:
>
> > I need to do the postive/negative thing.
> > I will start with the pitch octave button.
> > They currently increment by 1 -4...0...4.
> > I have two buttons how do it get the values to go negative on one of
> > the buttons?
> > Please forgive me if you already answered me.
> >
> > $button 36 ;Pitch_Oct+
> >   .showvalue on
> >   .default 0
> >   .mode incval 1
> >   .minmax 0 4
> >
> > $button 44 ;Pitch_Oct -
> >   .showvalue on
> >   .default 0
> >   .mode incval 1
> >   .minmax 0 4
> >
> 
> Ok, deep breath.... this will work for all negative values from -1 to
> -4096
> 
> You need a 16bit value.
> BCR only puts out 14bit numbers, but that is OK because when the number
> is positive the missing top bits are 0 anyway
> Your 16 bit number is broken into four 8bit bytes      abcd efgh ijkl
> mnop   (letters showing the position of 0 or 1 in a 16bit binary number)
> You need to output  0000abcd  0000efgh  0000ijkl   0000mnop as that's
> the order your synth likes it (I think).
> We get this with val12.13 val8.11 val4.7 val0.3 in the .tx statement
> 
> Our 16bit negative number has 1s in the top part ie 0000 1111
> val12.13 will always have 0s in the top 2 bits  0000 00cd so this won't
> work
> If the number is 12bits or  smaller we can simply substitute $0F for the
> val12.13
> 
> .tx $F0 header parameter_offset  val12.13 val8.11 val4.7 val0.3 $F7
> becomes
> .tx $F0 header parameter_offset  $0F val8.11 val4.7 val0.3 $F7
> 
> The $0F in the top bits has made the value negative
> 
> Now we have to set the range with minmax so that the 12bit numbers are
> correct
> The max unsigned 14bit number is $3FFF
> So we can use that as if it is -1
> $3FFF   = -1
> $3FFE   = -2
> $3FFD   = -3
> $3FFC   = -4
> $3FFB   = -5
> $3FFA   = -6
> $3FF9   = -7
> 
> .minmax $3FFC $3FFF   ; for our -1 to -4
> 
> So for your preset......
> 
>   $button 36 ;Pitch_Oct+
>   .showvalue on
>   .default 0
>   .mode incval 1
>   .minmax 0 4
>   .tx $F0 header parameter_offset  val12.13  val8.11 val4.7 val0.3 $F7
> 
>   $button 44 ;Pitch_Oct -
>   .showvalue on
>   .default $3FFF
>   .mode incval -1  ; the only place you can use negative numbers
>   .minmax $3FFC $3FFF  ; Note for incval to work it must be in this
order
>   .tx $F0 header parameter_offset  $0F val8.11 val4.7 val0.3 $F7
> 
> 
> I hope this helps.
> 
> 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.