home *** CD-ROM | disk | FTP | other *** search
- Unit Int1C;
-
- INTERFACE
-
- Uses
- DOS,CRT;
-
- Var
- TimerCt : LongInt;
-
- IMPLEMENTATION
-
- Var
- OldExitProc,
- SaveInt1C : pointer;
-
- Procedure JmpOldISR(OldISR: Pointer);
- Inline($5B/$58/$87/$5E/$0E/$87/$46/$10/$89/
- $EC/$5D/$07/$1F/$5F/$5E/$5A/$59/$CB);
-
- {$F+}
- Procedure Timer_ISR( Flags,CS,IP,AX,BX,CX,DX,SI,DI,DS,ES,BP:word ); Interrupt;
- Begin
- Inline ( $FA ); { CLI }
- Inc ( TimerCt ); { increment the counter }
- Inline ( $FB ); { STI }
- JmpOldISR( SaveInt1C );
- End;
-
- Procedure Int1CExitProc;
- Begin
- ExitProc := OldExitProc;
- SetIntVec( $1C, SaveInt1C );
- end;
- {$F-}
-
- Begin
- OldExitProc := ExitProc;
- ExitProc := @Int1CExitProc;
- GetIntVec( $1C, SaveInt1C );
- SetIntVec( $1C, @Timer_ISR );
- end.
-
-