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

{
SEAN PALMER

> Does anyone know how to Write an ISR (interrupt service routine) that will
> continue With the interrupt afterwards. EX: if you Write an ISR that traps
> the mouse Int 33h but let the mouse still operate.

Try:
}

Var
  oldMouseHook : Procedure;

Procedure mouseHook(AX,BX,CX,DX,SI,DI,DS,ES,BP); interrupt;
begin

 {Your stuff goes here}
 {make sure it doesn't take TOO long!}

 Asm
   pushF;
 end;          {simulate an interrupt}

 oldMouseHook; {call old handler}
end;

{ to install: }

 getIntVec($33,@oldMouseHook);
 setIntVec($33,@mouseHook);

{ to deinstall: }

 setIntVec($33,@oldMouseHook);


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