[Back to TSR SWAG index] [Back to Main SWAG index] [Original]
{
TSR to slow down your PC so that games that run too fast
can be playable!
Feel free to distribute!
}
{$M $800,0,0 } { 2K stack, no heap }
uses Crt, Dos;
var
KbdIntVec : Procedure;
WaitPeriod : Word;
ErrorPos : integer;
{$F+}
procedure DelayRoutine; interrupt;
begin
asm cli end;
delay(WaitPeriod);
asm sti end;
asm PUSHF end;
{ Call old ISR using saved vector }
KbdIntVec;
end;
{$F-}
begin
If ParamCount = 1 Then
Begin
Val (ParamStr(1),WaitPeriod,ErrorPos);
If ErrorPos = 0 Then
Begin
{ Insert ISR into keyboard chain }
GetIntVec($8,@KbdIntVec);
SetIntVec($8,Addr(DelayRoutine));
Writeln;
Writeln('DELAY installed !');
Writeln;
Keep(0); { Terminate, stay resident }
End;
End
Else
Begin
Writeln;
Writeln('DELAY (C) 1995 Scott Tunstall.');
Writeln;
Writeln('DELAY <Number of millisecs to slow computer by> ');
Writeln;
End;
end.
[Back to TSR SWAG index] [Back to Main SWAG index] [Original]