[Back to TSR SWAG index] [Back to Main SWAG index] [Original]
{ This TSR, when press Crtl+Print Screen save to disk the screen. }
{Antonio Moro's routines, from Spain TP Echo}
{$M 1024, 0, 0} (* 1 K for Stack *)
{$S-}
PROGRAM Caza;
USES Dos, Crt;
VAR numfichero : Byte;
fichero : File;
s_num, drive : String [2];
buffg : Pointer;
PROCEDURE Graba (Flags, CS, IP, AX, BX, CX, DX, SI, DI, DS, ES, BP: Word);
INTERRUPT;
Begin
Str(numfichero,s_num);
Inc(numfichero);
Assign(fichero, drive + 'SCREEN.' + s_num);
Rewrite(fichero,1);
buffg:= Ptr($B000,0); (* Hercules video memory direction *)
BlockWrite(fichero,buffg^,32768); (* save 32K block of video memory
in a file*)
Close(fichero);
End;
BEGIN
If ParamCount = 1 Then drive:=ParamStr(1) + ':'
Else drive:='C:';
Writeln;
HighVideo;
Writeln('Resident Savescreen.');
Write('For activate press SHIFT + PRTSCR');
LowVideo;
Writeln;
numfichero:=0;
SetINtVec(5, @Graba); (* Change interrupt vector of 5 interruption
(print screen) *)
Keep(0); (* End and Stay Resident *)
END.
[Back to TSR SWAG index] [Back to Main SWAG index] [Original]