Article View: net.micro.pc
Article #8372Re: Printer status in MSDOS 2.X
From: bobm
Date: Fri, 17 Oct 1986 18:39
Date: Fri, 17 Oct 1986 18:39
22 lines
1659 bytes
1659 bytes
The "Not Ready" error occurs because the PRN driver is returing an error code to DOS on a status call - you're right, that's not such a hot design. What you need to do to work around the problem is take over int 24H - the Fatal error abort address. When this routine is called (by DOS on a device error), the low half of register DI contains the driver error code (2 for Not Ready, 9 for out of paper), BP:SI points to the device driver header, and bit 7 of AH is 1 if the error was a non-disk (block) error. You need to look at this bit, and the device name (BP:SI+0AH) to determine if the error was from the printer or another device. If it was from the printer, you can immediately set AL = 0 and IRET, This will return to DOS and tell it to ignore the error. If it was *not* a printer error, you should jump to the old int 24H vector (Don't use a call - this stuff is stack-dependent), which will do the standard "Abort, Retry, Ignore" prompting. See the DOS Tech Ref Manual for more info. Bob May hplabs!hp-pcd!bobm
Technical Details
Message-ID:
<15200037@hpcvlo.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!watmath!clyde!caip!rutgers!husc6!panda!genrad!decvax!tektronix!hplabs!hp-pcd!bobmReferences:
<160@darth.UUCP>Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: arc1-ca.pugleaf.net!utzoo!watmath!clyde!caip!rutgers!husc6!panda!genrad!decvax!tektronix!hplabs!hp-pcd!bobm From: bobm@hp-pcd.UUCP Newsgroups: net.micro.pc Subject: Re: Printer status in MSDOS 2.X Message-ID: <15200037@hpcvlo.UUCP> Date: Fri, 17-Oct-86 14:39:00 EDT Article-I.D.: hpcvlo.15200037 Posted: Fri Oct 17 14:39:00 1986 Date-Received: Tue, 21-Oct-86 06:34:34 EDT References: <160@darth.UUCP> Organization: Hewlett-Packard - Corvallis, OR Lines: 22 Nf-ID: #R:darth:-16000:hpcvlo:15200037:000:1030 Nf-From: hpcvlo!bobm Oct 17 10:39:00 1986