Umístnení souboru www.TrSek.com/pas/simf2.pas
{ SIMF2.PAS                 Copyright (c) TrSek alias Zdeno Sekerak }
{ Simuluje stlacenie klavesy F2 tak ze ju zapise do buffera         }
{ klavesnice. Chytre a pomoze. Moze sa tak odsimulovat viacero      }
{ stlaceni klavesnice.                                              }
{                                                                   }
{ Datum:15.12.1995                             http://www.trsek.com }

program simulF2;

uses crt,dos;
var REG:registers;
    i,p:integer;
    memy:array[0..$20] of byte;

procedure vypis;
begin
  p:=p+1;
  writeln('Poradie [',p,']');
  writeln('mem 41A-41D= [',mem[0:$41a],':',mem[0:$41b],'] - [',mem[0:$41c],':',mem[0:$41d],']');
  writeln('mem 480-483= [',mem[0:$480],':',mem[0:$481],'] - [',mem[0:$482],':',mem[0:$483],']');
  for i:=0 to $20 do begin
      if memy[i]<>mem[0:$41E+i] then textbackground(blue)
                                else textbackground(black);
      if (i+$20>=mem[0:$41a]) and (i+$20<=1+mem[0:$41c]) then
                                     textcolor(Yellow)
                                else textcolor(white);
      write(mem[0:$41E+i]:3,',');
      end;
  textbackground(black);
  textcolor(white);
  writeln;
  writeln;
end;

procedure uchovaj;
begin
  for i:=0 to $20 do memy[i]:=mem[0:$41E+i];
end;

procedure cle;
begin
  for i:=0 to $20 do mem[0:$41E+i]:=255;
end;

begin
 clrscr;p:=0;
{  tato cast vypisuje obsah buffera klavesnice,                   }
{  ak chcete odchytit neake klavesy odkomentujte nasledujucu cast }
{ cle;
 uchovaj;
 repeat
  vypis;
  uchovaj;
  delay(100);
  reg.ah:=$10;
  reg.al:=0;
  intr($16,reg);
 until (1=2);
 exit;
 repeat
  reg.ax:=$100;
  intr($16,reg);
  write  (reg.ah,'  ');
  writeln(reg.al,'  ');
  writeln;
 until(1=2);

 uchovaj;
 vypis;}

 REG.AX:=0;
 REG.AH:=5;
 REG.CL:=0;
 REG.CH:=0;
 intr($16,REG);

 REG.AX:=0;
 REG.AH:=5;
 REG.CL:=0;
 REG.CH:=60;
 intr($16,REG);
 mem[0:$400+mem[0:$41a]+2]:=224;
end.

Copyrigth by Zdeno Sekerak 2007, http://www.trsek.com