{$m $800,0,0 } program catch; { just for Swag } uses crt, dos; const header : array[1..2] of word = (320, 200); var cnt : byte; {$f+} procedure new_int; interrupt; var imgfile : file; imgname : string[12]; begin str(cnt, imgname); if cnt < 10 then imgname := '0'+imgname; if cnt < 100 then imgname := '0'+imgname; imgname := 'grab.'+imgname; {$i-} assign(imgfile, imgname); rewrite(imgfile, 1); blockwrite(imgfile, header, 4); blockwrite(imgfile, mem[$a000:$0], 320*200); close(imgfile); {$i+} if ioresult <> 0 then begin sound(1000); { Error } delay(1000); nosound; end else begin sound(50); { Ok! } delay(50); nosound; inc(cnt); end; end; {$f-} begin cnt := 1; setintvec($5, addr(new_int)); writeln('Press Screen Print to grab a 320x200x256 image to "grab.###"'); writeln('One short low beep means "No error", a long high one means trouble'); writeln; writeln('Only catch when you''re sure:'); writeln('ùYour hard-disk is not busy'); writeln('ùYou''re in a program (so not at the command-prompt)'); writeln('ùYou''re in the mcga 320x200 256 color modus ($13)'); keep(0); end. Warning! Do NOT run this program from within Tp! Just compile it, then run it as an executable.