program Example_CrtCom_1;

uses
  CrtType,      {typy Video a Keyboard BIOSu}
 {$ifdef MCP}
  Crt2Mem,      {obsluhy Video a Keyboard BIOSu pro komunikaci na KitXxx}
 {$endif}
  Crt,          {Pascalske funkce pro VGA a klavesnici}
  ChnVirt,      {jednotne rozhranni vsech komunikacnich knihoven}
  ChnCom,       {komunikacni knihovna pro fyzicke rozhranni UART i8250}
  ChnCrt,       {komunikacni protokol pro prenos Video a Keyboard}
  CrtComSl;     {komunikacni automat pro prenos Video a Keyboard}

{----------------------------------------------------------------------------}
const
  cAppVer = '01.00,07.06.2004'; {verze tohoto prikladu}

const
  Counter : word = 0; {citac pro priklad}

Begin
 {Inicializace komunikacniho automatu}
 {$ifdef Kit188}
  if InitCrtCom('NAM=CRT MAS=SLAVE LSB=200 '+
                'NAM=COM ADD=$2100 IRQ=$E BD=115200 PAR=E STO=1 LRB=500') <> res_Ok then RunError(10);
 {$else}
  {Kit386EXR}
  if InitCrtCom('NAM=CRT MAS=SLAVE LSB=200 '+
                'NAM=COM COM=2 IRQ=3 BD=115200 PAR=E STO=1 LRB=500') <> res_Ok then RunError(10);
 {$endif}

 {vypis na VGA}
  TextMode(CO80);
  TextAttr:=LightGray;
  writeln('CrtCom Example 1, ver "',cAppVer,'"');

 {hlavni cyklus}
  repeat
   {periodicke vypisy na VGA}
    Inc(Counter);
    gotoxy(1,3); write('Counter ',Counter:5);
   {krok komunikacniho automatu}
    CrtComMake;
  until keypressed; {ukoncit na stisk klavesy z pripojeneho CRT terminalu}
End.
