FILE:  PRINTER.TXT

REGISTER AH
INTERRUPT 17h
FUNCTION 02h

BIT 7  Set if printer is not busy
BIT 6  Set on acknowledge
BIT 5  Set if printer is out of paper
BIT 4  Set if printer is selected (ready)
BIT 3  Set if an I/O error occurred
BIT 2  not used
BIT 1  not used
BIT 0  Set if printer is timed-out

----------------------------------------------------------

MOV     AH,2
MOV     DX,0  ;0=LPT1, 1=LPT2, 2=LPT3
INT     17H
TEST    AH,10H
JZ      NOT_READY

----------------------------------------------------------

DEBUG SCRIPT
============

N PRSTAT.COM
A 100
JMP     0113
DB      "LPT1 Status: $"
DB      0D,0A,"$"
MOV     AH,9
MOV     DX,0102
INT     21
MOV     AH,2             ;GET STATUS VALUE
XOR     DX,DX
INT     17
PUSH    AX               ;DISPLAY HIGH NYBBLE OF AH
MOV     CL,4
SHR     AH,CL
CALL    013B
POP     AX
AND     AH,0F            ;THEN DISPLAY THE LOW NIBBLE
CALL    013B
MOV     AH,9
MOV     DX,0110
INT     21
MOV     AX,4C00          ;EXIT
INT     21
ADD     AH,30            ;SUBROUTINE TO PRINT A 4-BIT
CMP     AH,39            ;   HEX VALUE
JBE     0146
ADD     AH,7
MOV     DL,AH
MOV     AH,2
INT     21
RET

RCX
4D
W
Q
----------------------------------------------------------
Parallel Ports   (PC 25-pin female DB-25 for printer)
  Pin     Description     Active Polarity   Direction
   1      Strobe          Low               Out
   2      Data bit 0      High              Out
   3               1      High              Out
   4               2      High              Out
   5               3      High              Out
   6               4      High              Out
   7               5      High              Out
   8               6      High              Out
   9               7      High              Out
  10      Acknowledge     Low               In
  11      Busy            High              In
  12      Out of Paper    High              In
  13      Select          High              In
  14      Auto Feed       Low               Out
  15      Error           Low               In
  16      Initialize      Low               Out
  17      Select Input    Low               In
  18      Ground          -                 -
  19      Ground          -                 -
  20      Ground          -                 -
  21      Ground          -                 -
  22      Ground          -                 -
  23      Ground          -                 -
  24      Ground          -                 -
  25      Ground          -                 -

Centronics Parallel Connector (Amphenol 57-30360):
  Pin     Description     Active Polarity   Direction
   1      -Strobe         Low               In
   2      Data bit 0      High              In
   3               1      High              In
   4               2      High              In
   5               3      High              In
   6               4      High              In
   7               5      High              In
   8               6      High              In
   9               7      High              In
  10      -Acknowledge    Low               Out  (~5 us pulse)
  11      Busy            High              Out
  12      Out of Paper    High              Out
  13      Select          High              Out
  14      -Auto Feed      Low               In
  15      NOT USED        -                 -
  16      Logical gnd     -                 -
  17      Chassis gnd     -                 -
  18      NOT USED        -                 -
  19      Gnd for -Strobe -                 -
  20      Gnd for Data 0  -                 -
  21      Gnd for Data 1  -                 -
  22      Gnd for Data 2  -                 -
  23      Gnd for Data 3  -                 -
  24      Gnd for Data 4  -                 -
  25      Gnd for Data 5  -                 -
  26      Gnd for Data 6  -                 -
  27      Gnd for Data 7  -                 -
  28      Gnd for -Ack.   -                 -
  29      Gnd for busy    -                 -
  30      Ground          -                 -
  31      -Initialize     Low               In
  32      -Fault          Low               Out
  33      Ground          -                 -
  34      NOT USED        -                 -
  35      +5 V (4.7Kohm)  -                 -
  36      -Select         High              In
