Warum so kompliziert ?
An dieser Stelle der CRC8:
Code:
For m = 1 To Len(s)
  x = Asc(Mid(s, m, 1))
wird aus dem String ein einzelnes Zeichen geholt und in ein Byte umgewandelt. Bei einem Bytearry dagegen holt man sich einfach das Byte, ohne irgendwelche Dinge konvertieren zu müssen, also brauchst Du nur noch zu schreiben:
Code:
For m = 1 To 9
  x = _input(m)
' ...
Würde mir auch Variablennamen beginnend mit Unterstrich verkneifen, das verwendet der Bascom-Compiler um interne Variablen zu kennzeichnen.