also ich hab das so gelöst:

ich hab n startbyte definiert, beispiel &H55,
damit der empfänger weiß, hier gehts los, das ist das erste zu übertragende Byte.
Dann nicht 4 einzelne Variablen, sondern eine Matritze mit 4 mal der gleichen
Variable, die ich dann aber hochzählen kann.

Mit dem Startbyte also den Matrixzähler auf 1,
dann warten bis zeichen im Buffer (ischarwaiting=1)
Zeichen übernehmen (inkey a(x))
wenn Variablenwert >0 dann haste das zu empfangende Byte,
Zähler um 1 erhöhen ( incr(x) )
und das ganze wieder ab dem Punkt: Warten auf Zeichen, bis x>3
(somit =4) und alle benötigten Daten drinne sind.

Wobei man die ischarwaiting nicht unbedingt braucht, kannst auch einfach
den inkey mamchen, wenn Zeichenbuffer leer ist gibts 0 zurück.