Hallo,
habe da mal was in Delphi geschieben.
Hier ein Ausschnitt, was du evt. gebrauchen kanst.
Gruß
function crc(h1:longint;var h2:longint):longint;
//Prüfbitkontrolle Colortronic
const poly=33800;
var i:integer;
begin
for i:=1 to 8 do begin
if ((h2 and 1) <>(h1 and 1)) then h2:=(h2 shr 1) xor
poly
else h2:=(h2 shr 1) ;
h1:=h1 shr 1;
end;
crc:=h2;
end;
procedure erstelle_bbc_crc(suebergabe:string;var crc_L,crc_H:integer);
//Erstellen des Prüfbit für Colortronic
var schleife:integer;
laenge_string:integer;
crc_value:longint;
begin
laenge_string:=length(suebergabe);
crc_value:=0;
for schleife:=1 to laenge_string do
if ord(suebergabe[schleife])<>144
then crc(ord(suebergabe[schleife]),crc_value);
crc_h:=crc_value div 256;
crc_L:=trunc(((crc_value/256)-crc_h)*256);
end;