Dze je subor 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);