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

Calculate Checksum

Calculate Checksum

2013-07-21 by djheikotnt

Hey all,

i need help :-)

I want to control an old Roland gs synth (eg-101) with sysex from bcr2000


this device has for example effect (Reverb mode)

Room 1: F0 41 10 00 18 12 40 01 30 00 0F F7 (0F= Checksum)
Room 2: F0 41 10 00 18 12 40 01 30 01 0E F7 (0E= Checksum)
Room 3: F0 41 10 00 18 12 40 01 30 02 0D F7 (0D= Checksum)
Hall 1: F0 41 10 00 18 12 40 01 30 03 0C F7 (0C= Checksum)
Hall 2: ; F0 41 10 00 18 12 40 01 30 04 0B F7 (0B= Checksum)
Plate: F0 41 10 00 18 12 40 01 30 05 0A F7 (0A= Checksum)
Delay: F0 41 10 00 18 12 40 01 30 06 09 F7 (09= Checksum)
Panning Delay:F0 41 10 00 18 12 40 01 30 07 08 F7 (08= Checksum)


I tried to config this and know that's wrong.

# Hall Mode 0-7

$encoder 1
.showvalue on
.mode 1dot
.resolution 24 24 24 24
.default 0
.minmax 0 7
.tx $F0 $41 $10 $00 $18 $12 $40 $01 $30 val $0F $F7

But it doesn't work. i know that the checksum "0F" need to be calculated from 40 01 30 00

any idea's?

greetz

Re: Calculate Checksum

2013-07-21 by Royce

Hi
> # Hall Mode 0-7
> 
> $encoder 1
>    .showvalue on
>    .mode 1dot
>    .resolution 24 24 24 24
>    .default 0
>    .minmax 0 7
>    .tx $F0 $41 $10 $00 $18 $12 $40 $01 $30 val $0F $F7
> 
> But it doesn't work. i know that the checksum "0F" need to be calculated
> from 40 01 30 00

Nearly right
.tx $F0 $41 $10 $00 $18 $12 $40 $01 $30 val cks-1 cks_start $F7
In your case...
.tx $F0 $41 $10 $00 $18 $12 $40 $01 $30 val cks-1 $06 $F7

$F0 sysex start
$41 Roland
$10 device id
$00 $18 model id
$12 command - here is the parameter data
$40 $01 $30 parameter address (should there be 4 bytes here??)
val parameter value
cks-1 the checksum result. cks-1 is the calculation that Roland uses
$06 the start of checksum calc. 

Roland only uses the address and the value data, not the header, when working out the checksum.
That is, the checksum calculation starts by adding the bytes from the address bytes (byte 6 - $F0 is byte 0) to the end of the value bytes.

All the best
Royce

Re: Calculate Checksum

2013-07-22 by djheikotnt

--- In bc2000@yahoogroups.com, "Royce" <rpcfender@...> wrote:
>
> Hi
> > # Hall Mode 0-7
> > 
> > $encoder 1
> >    .showvalue on
> >    .mode 1dot
> >    .resolution 24 24 24 24
> >    .default 0
> >    .minmax 0 7
> >    .tx $F0 $41 $10 $00 $18 $12 $40 $01 $30 val $0F $F7
> > 
> > But it doesn't work. i know that the checksum "0F" need to be calculated
> > from 40 01 30 00
> 
> Nearly right
> .tx $F0 $41 $10 $00 $18 $12 $40 $01 $30 val cks-1 cks_start $F7
> In your case...
> .tx $F0 $41 $10 $00 $18 $12 $40 $01 $30 val cks-1 $06 $F7
> 
> $F0 sysex start
> $41 Roland
> $10 device id
> $00 $18 model id
> $12 command - here is the parameter data
> $40 $01 $30 parameter address (should there be 4 bytes here??)
> val parameter value
> cks-1 the checksum result. cks-1 is the calculation that Roland uses
> $06 the start of checksum calc. 
> 
> Roland only uses the address and the value data, not the header, when working out the checksum.
> That is, the checksum calculation starts by adding the bytes from the address bytes (byte 6 - $F0 is byte 0) to the end of the value bytes.
> 
> All the best
> Royce
>




Thank you very much Royce :-D

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.