Sub Calc_CRC (Data () As Byte) As Int
'ushort r=0, a, b;
'short t;
Dim r = 0, a, b As Int
For t=0 To Data.Length-1
'r+=(t*Data[t])+t;
r = r + (t * Data(t))+t
Next
'a=r>>8; if (a==0x0D) a=0x0E;
a=Bit.ShiftRight(r,8): If (a=0x0D) Then a=0x0e
'b=r&0xFF; if (b==0x0D) b=0x0E;
b=Bit.And(r,0xFF): If (b=0x0d) Then b=0x0e
'a<<=8;
a=Bit.ShiftLeft(a,8)
'return a|b;
Return Bit.Or(a,b)
End Sub