[Back to TSR SWAG index]  [Back to Main SWAG index]  [Original]

PROGRAM NoBoot ;
{$M 1024, 0, 0 }     { TSR : reserve 1K stack no heap   }
{$S-}                { Needed in a TSR }

Uses
   Crt,    { Sound }
   Dos,
   KeyIntr ;

Var
   OldInt09 : Pointer ;

{$F+}
Procedure NewInt09 ; Interrupt ;
Begin
   EnableInterrupts ;                        { Delete key }
   If ControlPressed and AltPressed and (ReadScanCode = $53) then
   Begin
      ResetKeyboard ;                         { Ignore key }
      EOI ;

      Sound( 880 ) ;                          { optional }
      Delay( 100 ) ;
      Sound( 440 ) ;
      Delay( 100 ) ;
      NoSound ;

   End
   Else
      CallInterrupt( OldInt09 ) ;
End ;

BEGIN
   GetIntVec( $09, OldInt09 ) ;
   SetIntVec( $09, Addr(NewInt09) ) ;
   Keep( 0 ) ;                                 { make this a TSR }
END.

[Back to TSR SWAG index]  [Back to Main SWAG index]  [Original]