home *** CD-ROM | disk | FTP | other *** search
/ PC Underground / UNDERGROUND.ISO / doom / source / _frame.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1995-08-03  |  1.0 KB  |  69 lines

  1. {----------------------------------------------------------------------------
  2.   Frame handler
  3.   Copyright (c) 1994,95 by J.E. Hoffmann
  4.   All rights reserved
  5.  ----------------------------------------------------------------------------}
  6. {$A+,B-,D-,E-,F-,G+,I-,L-,N-,O-,P-,Q-,R-,S-,T-,V-,X+,Y-}
  7. unit _Frame;
  8.  
  9.  
  10.  
  11. interface
  12.  
  13.  
  14.  
  15. var
  16.   FC :LongInt;
  17.  
  18.  
  19. const
  20.   Active     :Boolean = false;
  21.  
  22.  
  23.  
  24. procedure InitFrameHandler;
  25. procedure DoneFrameHandler;
  26.  
  27.  
  28.  
  29. implementation
  30.  
  31.  
  32.  
  33. uses Dos;
  34.  
  35.  
  36.  
  37. procedure OldHandler; assembler; asm db 0; db 0; db 0 end;
  38. procedure FrameHandler; far; external;
  39. {$L _FRAME.OBJ}
  40.  
  41.  
  42.  
  43. procedure InitFrameHandler;
  44. begin
  45.   GetIntVec($8,Pointer(@OldHandler^));
  46.   SetIntVec($8,@FrameHandler);
  47.   Port[$43]:=$36;
  48.   Port[$40]:=$34;
  49.   Port[$40]:=$12;
  50.   FC := 0;
  51.   Active := true;
  52. end;
  53.  
  54.  
  55.  
  56. procedure DoneFrameHandler;
  57. begin
  58.   if Active then begin
  59.     Port[$43]:=$36;
  60.     Port[$40]:=0;
  61.     Port[$40]:=0;
  62.     SetIntVec($8,Pointer(@OldHandler^));
  63.     Active := false;
  64.   end;
  65. end;
  66.  
  67.  
  68.  
  69. end.