{ Program : TSR Programming Sample Programer : FARZAD BADILI (FDB@bigfoot.com) http://www.inernettrash.com/users/fdb/ } {$M 2000,0,0} {$R-,S-,I-,D+,F+,V-,B-,N-,L+} Program TSRkeyboard; uses Dos,Crt; const KbdInt = $09; var OldKbdVec : Pointer; (***************************************************************************) Procedure STI; InLine($FB); (***************************************************************************) Procedure CLI; InLine($FA); (***************************************************************************) Procedure CallOldInt(Sub:Pointer); Begin InLine($9C/$FF/$5E/$06); End; (***************************************************************************) Procedure Keyboard(Flags,CS,IP,AX,BX,CX,DX,SI,DI,DS,ES,BP:Word);Interrupt; Begin calloldint(OldKbdVec); Sound(1000); delay(2); Nosound; STI; End; (***************************************************************************) BEGIN GetIntVec(Kbdint, OldkbdVec); SetIntVec(KbdInt, @keyboard); Keep(0); END.