home *** CD-ROM | disk | FTP | other *** search
/ PC Underground / UNDERGROUND.ISO / password / wait.pas < prev   
Pascal/Delphi Source File  |  1995-07-28  |  851b  |  54 lines

  1. program WAIT;
  2. Uses Crt, Dos;
  3. var oldtimer : pointer;
  4.     mscount  : longint;
  5.     msready  : boolean;
  6.     i        : integer;
  7. procedure WaitInt; Interrupt;
  8. begin
  9.   dec(mscount);
  10.   if mscount = 0 then msready := true;
  11.   port [$20] := $20;
  12. end;
  13.  
  14. procedure Wait1(ms : longint);
  15. begin
  16.  GetIntVec(8,oldtimer);
  17.  SetIntVec(8,@waitint);
  18.  asm
  19.    cli
  20.    mov dx,43h
  21.    mov al,36h
  22.    out dx,al
  23.    sub dx,3
  24.    mov al,169
  25.    out dx,al
  26.    mov al,4
  27.    out dx,al
  28.    sti
  29.  end;
  30.  msready := false;
  31.  mscount := ms;
  32.  repeat until msready;
  33.  asm
  34.    cli
  35.    mov dx,43h
  36.    mov al,36h
  37.    out dx,al
  38.    sub dx,3
  39.    xor ax,ax
  40.    out dx,al
  41.    out dx,al
  42.    sti
  43.  end;
  44.  SetIntVec(8,oldtimer);
  45. end;
  46.  
  47. begin
  48.   clrscr;
  49.   for i := 5 downto 1 do begin
  50.     gotoxy(10,6);
  51.     writeln('Please wait ',i,' seconds');
  52.     wait1(1000);
  53.   end;
  54. end.