procedure ClearKeyboardBuffer;
var g:char;
begin
while keypressed do g:=readkey;
end;
procedure WriteXY(x,y:integer; s:string);
begin
GoToXY(x,y); write(s);
end;
procedure DelicKmitoctu;
begin
Port[$40]:=Lo(1); (* 65535 = maximalna hodnota, ide to pomaly *)
Port[$40]:=Hi(1); (* 1 = minimalna hodnota, ide to rychlo *)
end;
procedure Cakaj(oneskorenie:integer); (* vzdy pred prvym pouzitim treba zapnut proc. DelicKmitoctu *)
var StaryCas,NovyCas:byte;
cas:integer;
begin
if oneskorenie>0 then begin
cas:=0;
StaryCas:=mem[$40:$6c];
repeat
NovyCas:=round(mem[$40:$6c]);
if NovyCas<>StaryCas then begin
cas:=cas+1;
StaryCas:=mem[$40:$6c];
end;
until oneskorenie=cas;
end;
end;
procedure VymazKurzor; (* schovani kurzoru nastavenim jeho velikosti *)
var reg:Registers;
begin
reg.ah:=1;
reg.ch:=$20;
reg.cl:=$1f;
Intr($10,reg);
end;