Details of the Control Freak
ORIGINAL
System Exclusive Specification
The first five bytes of the Freak’s own SysEx messages are common to all data types.
N.B. the h suffix means hexadecimal
[ 1 ] 0F0h – Begin SysEx command
[ 2 ] 00h – Company ident first byte
[ 3 ] 20h – Company ident second byte
[ 4 ] 13h – Company ident third byte
[ 5 ] 08h – Product code – Control Freak Original (8 slider)
64 byte Single data dump
F0h, 00h, 20h, 13h, 08h, 40h, prog_num , slider_num , data........data , F7h
where prog_num is a (decimal) number between 0 and 127
where slider_num is as follows (decimal) :
0 – 7
Sliders 1 to 8
16 – 23
Button-on 1 to 8
32 – 39
Button-off 1 to 8
48 – 55
Function key-on 1 to 8
64 – 71
Function key-off 1 to 8
96 – 103
Program (all 8 values return the same program data)
112 – 119
Global (all 8 values return the same global data)
data...data
64 bytes of data sent low 4 bits, then high 4 bits, so 128 bytes are actually sent.
data bytes will have their high 4 bits set to zero – i.e. 0000LLLL , 0000HHHH
n.b. values must always be sent even if not required – i.e. prog_num for function keys
64k Block data dump
F0h, 00h, 20h, 13h, 08h, 50h, block_num , data........data , checksum_lo , checksum_hi , F7h
where block_num is as follows (decimal)
0
All Slider data (data from all 1024 sliders – 128 x 8)
1
All Button-on data
2
All Button-off data
3
All Program data / Funtion keys-on/off / Global
data...data
64k bytes of data sent low 4 bits , then high 4 bits, so 128k bytes are actually sent.
data bytes will have their high 4 bits set to zero – i.e. 0000LLLL , 0000HHHH
checksum_lo/hi 14 bit additive checksum sent as 2 bytes each having bit 7=0
so original data – 00HHHHHH LLLLLLLL is sent as 0LLLLLLL, 0HHHHHHL
64k Library data dump
F0h, 00h, 20h, 13h, 08h, 60h, library_num , data........data , checksum_lo , checksum_hi , F7h
as above except library_num can be 0 or 1 only to select library 1 or 2
256k All 128 programs data dump – inc function keys & global (approx 293k sent)
F0h, 00h, 20h, 13h, 08h, 50h, 70h , data........data , F7h
256k bytes of data are sent in a packed format where every 7 bytes of 8 bit data are sent as 8
bytes of 7 bit data.The 7 MSBs are sent in the first byte and the following 7 bytes are the original 7
bytes sent with their MSB set to zero. Can be used to clone Freaks.
1600 byte Complete Program dump
program data + 8 s 8 button-on + 8 button-off ( =25x64)
F0h, 00h, 20h, 13h, 08h, 70h, prog_num , data........data , F7h
where prog_num is a (decimal) number between 0 and 127
data...data
1600 bytes of data sent low 4 bits, then high 4 bits, so 3200 bytes are actually sent.
data bytes will have their high 4 bits set to zero – i.e. 0000LLLL , 0000HHHH
SYSTEM EXCLUSIVE
CONTROL FREAK
50