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