anchor.diff:    { We want raw comms }
     cfmakeraw(comsettings);
   
  +  { Yes, this code is awful! Junk. TODO: Make it sensible }
     { Set baudrate }
  -  cfsetospeed(comsettings, B38400);
  -  cfsetispeed(comsettings, B38400);
  +  if cmd <> 'loopbacktest' then begin
  +    cfsetospeed(comsettings, B38400);
  +    cfsetispeed(comsettings, B38400);
  +  end else begin
  +    if paramstr(3) = '9600' then begin
  +      cfsetospeed(comsettings, B9600);
  +      cfsetispeed(comsettings, B9600);
  +    end else if paramstr(3) = '38400' then begin
  +      cfsetospeed(comsettings, B38400);
  +      cfsetispeed(comsettings, B38400);
  +    end else if paramstr(3) = '115200' then begin
  +      cfsetospeed(comsettings, B115200);
  +      cfsetispeed(comsettings, B115200);
  +    end else begin
  +      writeln('Error: Bad baud rate');
  +      exit;
  +    end;
  +  end;
   
     { Ignore modem controls }
     comsettings.c_cflag := comsettings.c_cflag or (CLOCAL or CREAD);
  
positive.code: end;
  
  { --------------------------------------------------------------------------
    -------------------------------------------------------------------------- }
  procedure CommandLoopBackTest(comhandle: thandle);
  begin
  end;
  
  { --------------------------------------------------------------------------
  
negative.code: end;
  
  { --------------------------------------------------------------------------
    Set the communications baud rate on the TX/RX pins.
    -------------------------------------------------------------------------- }
  procedure CommandSetDataBaudRate(comhandle: thandle);
  const
  