[comp.sys.atari.st] Screen Dump

UNCSPL@UNC.BITNET ("Scott P Leslie") (03/26/89)

Regarding ALT-HELP to save a file:
   A few months ago I hacked up a Vertical Blank Interrupt routine
that checked the status of the system variable _dumpflag at location
$4ee.  My routine was executed before the systems routine to do the
screen dump, and it checked to see if a printer was connected.  If
the printer wasn't on (or whatever) it fixed the flag to say that
the user really didn't want a screen dump.  Using a VBI would
probably be the easiest way to do what you want.  If you (or anyone)
would like to get the code for the VBI, send mail and I'll find it.
--
Hope this helps, Scott P. Leslie (UNCSPL@UNC)

UNCSPL@UNC.BITNET ("Scott P Leslie") (04/06/89)

Brian Walker writes that pressing ALT-HELP again after pressing it
once will stop the current screen dump.  However, this appears only
to be the case if the printer is on.  I have to wait 20-30 seconds
if it is not on for control to be passed back to the main program
if the printer is not on. Somehow I find this an unacceptable
amount of time.
   BTW:  There does not appear to be a vector for installing your
own screen dump routine.  I make this assumption after studying the
BIOS listing in Internals.  However, using a VBI routine which checks
_dumpflag will suffice for this purpose.
--
ATARI: Will the order of executing all routines in the VBI queue
       and then checking _dumpflag be maintained in TOS 1.4?
--
Thanks, Scott P. Leslie (UNCSPL@UNC)                  Jax

kloppen@gmdzi.UUCP (Jelske Kloppenburg) (04/09/89)

I have a little program for the auto folder wich tests the printer
and BELL's if not ready when you press ALT-HELP.
Excuse the german comments, I copy it as it is:

MODULE TstHCopy;
   (* 3.12.88 ALT HELP --> BELL wenn Drucker nicht ready     *)
   (* fuer AUTO Ordner / wie ACC binden                      *)
   (* TermRes: Lnge (SIZE.PRG oder *.MAP) + 100H (BasePage) *)
   (*     BasePageAddress *nicht* in GEMACCX !!!             *)
FROM SYSTEM IMPORT CODE, PUSH;
FROM XBIOS IMPORT SuperExec;
FROM GEMDOS IMPORT TermRes;
FROM BIOS IMPORT Device, BCosStat, BConOut;

VAR OldDumpVec: PROC;

PROCEDURE SetDumpAdr;
VAR dumpVec [502H]: PROC;
BEGIN
   OldDumpVec:=dumpVec; dumpVec:=TestPrinter;
END SetDumpAdr;

(*$P- no entry and exit code for the following procedure *)

PROCEDURE TestPrinter;
BEGIN
   IF BCosStat(PRT) THEN PUSH(OldDumpVec) ELSE BConOut(CON,7C) END;
   CODE(4E75H) (* rts *)
END TestPrinter;

BEGIN
   SuperExec(SetDumpAdr);
   TermRes(548H,0);
END TstHCopy.

      Kloppenburg@kmx.gmd.dbp.de
UUCP: kloppen@gmdzi