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