BBS: Inland Empire Archive Date: 04-10-92 (22:39) Number: 170 From: BEN KAHN Refer#: NONE To: MICHAEL POKRIEFKA Recvd: NO Subj: Re: On Error Goto Printer Conf: (2) Quik_Bas
** I Heard Michael Pokriefka Say To Ben Kahn **
MP> BK> not be able to read it. If you want the code to ask bios for
MP> BK> printer info, write back. I don't feel like putting it in.
Ugh. I just looked at the code. Oh well. First, I'd
just like to say that the PC Magazine book called BASIC:
Techniques and Utilities is where I got the code from.
It's a great book, but it's expensive ($34!). Well, I said
I'd type out the code dor you if you asked sooo...
Please note: THIS CODE NEEDS THE LIBRARY QB.QLB TO BE
LOADED IF IT IS RUN IN THE EDITOR. TO DO THIS TYPE: C:\>QB
/L
DEFINT A-Z
DECLARE SUB INTERRUPT (IntNo, InRegs AS ANY, OutRegs AS ANY)
DELCARE SUB FUNCTION LPTReady% (LPTNumber)
'$INCLUDE: 'REGTYPE.BI'
' REGTYPE.BI will by after this note.
LPTNumber = 1
IF LPTReady%(LPTNumber) THEN
PRINT "The printer is on-line and ready to go."
ELSE
PRINT "Sorry, the printer is not available."
END IF
END
FUNCTION LPTReady% (LPTNumber) STATIC
DIM Regs AS RegType 'For CALL INTERRUPT
LPTReady% = 0 'assume not ready
Address = &H477 + LPTNumber 'LPT timeout address
DEF SEG = 0 'access segment zero
OldValue = PEEK(Address) 'save current setting
POKE Address, 1 'one retry
Registers.AX = 32 'first print a space
Registers.DX = LPTNumber - 1 'convert to 0-based
CALL INTERRUPT(&H17, Regs, Regs) 'print the space
Result = (Regs.AX \ 256) OR 128 'get AX, ignore busy
Result = Result AND 191 'and acknowledge
IF Result = 144 THEN 'it worked!
Registers.AX = 8 'print a backspace
CALL INTERRUPT(&H17, Regs, Regs) ' to undo the space
LPTReady% = -1 'return success
END IF
POKE Address, OldValue
Whew! I don't want to do that again! Well, here comes REGTYPE.BI.
TYPE RegType
AX AS INTEGER
BX AS INTEGER
CX AS INTEGER
DX AS INTEGER
BP AS INTEGER
SI AS INTEGER
DI AS INTEGER
Flags AS INTEGER
DS AS INTEGER
ES AS INTEGER
END TYPE
Well, that's it. You just need to grab it, and paste it to a file. I HOPE
you can use it. If you can't well... I just hope someone
else can. I'm saveing this message to a file so I can
easily paste it back up if need be.
-Ben
---
* Origin: Paradise Theatre ][ BBS - 203-949-1691 (1:141/828)

Books at Amazon:
Back to BASIC: The History, Corruption, and Future of the Language
Hackers: Heroes of the Computer Revolution (including Tiny BASIC)
Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution
The Advent of the Algorithm: The Idea that Rules the World
Moths in the Machine: The Power and Perils of Programming
Mastering Visual Basic .NET