XBIOS Device and System Functions
Table 3-7. Structure of Table Pointed to by prtable (continued)
Byte
Element
Number
Name
type
22-23
24-25
port
26-29
masks
The prtblk() routine uses a number of RAM vectors. Be
fore it sends a character to the printer, it jumps through a
vector to a subroutine that returns the status of the printer.
A return of — 1 means the printer is ready, while a return of
0 means that it's still busy. When the printer is ready,
prtblk() pushes the character to be printed onto the stack
and jumps through another vector to the subroutine that ac
tually outputs the character to the printer. The four RAM
vectors, two for serial printers and two for parallel printers,
are:
Table 3-8. RAM Vectors for Printers
Vector
Address
Name
1286 ($506)
prv__lsto
1290 ($50a)
prv__1st
1294 ($50e)
prv__auxo
1298 (512)
prv__aux
These vectors can be used to divert screen prints to
other devices such as a laser printer connected to the DMA
port. Note, however, that since prtblk() only supports the
default printers, changing these vectors will not have any ef
fect if a custom driver is installed at the vector at $502.
Description
Printer type
0 = Atari monochrome dot-matrix
1 = Atari monochrome daisywheel
2 = Atari color dot-matrix
4
= Epson monochrome dot-matrix
Printer port
0 = Parallel
1 = RS232 serial
Starting address of half-tone mask table (if 0,
use default ROM table)
Pointer to lstostat(), the PRN: device
output status function
Pointer to lstout(), the PRN: device
output routine
Pointer to autostat(), the AUX: device
status function
Pointer to auxout(), the AUX: device
output routine
Description
47