4 / THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE
5 / AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
6 / CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY
7 / FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT.
9 / THE SOFTWARE DESCRIBED HEREIN IS FURNISHED TO THE PURCHASER
10 / UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED
11 / (WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH
12 / SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL.
14 / DIGITAL EQUIPMENT ASSUMES NO RESPONSIBILITY FOR THE USE
15 / OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED
18 / COPYRIGHT (C) 1977 BY DIGITAL EQUIPMENT CORPORATION
28 LPVERSION="A&77 /VERSION A (MH)
30 *0 /ORIGIN FOR BUILD INFO
33 DEVICE LQP /GROUP NAME
34 DEVICE LPT /DEVICE NAME
36 LQP&177+4000 /ENTRY POINT + TWO-PAGE FLAG
48 LQP, LPVERSION /ENTRY POINT (MH)
49 CLA STL RTL /RAISE RIBBON
53 DCA .-1 /---FIRST TIME ONLY---
55 JMS LQPDCZ /INIT SECOND PAGE LINK
61 TAD I LQP /GET FUNCTION WORD
64 DCA LQPBDF /SET BUFFER CDF
69 DCA LQPDWC /SET DOUBLE-WORD COUNT +1
73 DCA LQPBUF /SET BUFFER PTR
77 LQPBDF, 0 /CDF TO BUFFER
80 TAD (15);JMS LQPDOC /NEW PAGE ON BLOCK 0
83 JMP LQPGO1 /LOOP IF MORE TO DO
85 TAD (13);JMS LQPDOC /CLEAR SPACE ACCUMULATORS
86 LQPRDF, 0 /THEN RETURN TO CALLER
92 TAD I LQPBUF /GET NEXT WORD
95 DCA LQPCSV /SAVE PART OF THIRD CHAR
98 JMS LQPDOC /OUTPUT FIRST CHAR
102 JMS LQPDOC /OUTPUT SECOND CHAR
105 AND (7400) /PUT THIRD CHAR TOGETHER
109 JMS LQPDOC /OUTPUT THIRD CHAR
112 JMP LQPGO /LOOP FOR DONE TEST
125 KRS /CHECK FOR CONTROL C AT CONSOLE
131 CIF CDF 0 /RETURN TO OS8
135 \fLQPTCH, 24 /2*NUMBER OF INCRS PER CHAR
136 LQLINE, 20 /2*NUMBER OF INCRS PER LINE
137 LQPAGE, -102 /-NUMBER OF LINES PER PAGE
139 LQPDCX, 0 /OUTPUT ONE CHAR
141 TAD (-40) /TEST FOR SPECIAL OR BLANK
143 JMP LQPSPC /JUMP IF SPECIAL
145 JMP LQPIDX /JUMP IF BLANK
148 LQPDC1, DCA LQPCTM /SAVE CHAR CODE
150 LQPWLP, PDRS /LOOP TIL DEVICE READY
153 JMP .+5 /JUMP IF NO CHECK FLAG
154 PDRE /ELSE RESET DEVICE
155 DCA LQPX /AND HORIZONTAL POSITIONS
157 ISZ LQPDY /ADVANCE A LINE, FOR CLARITY
163 JMP LQPWLP /LOOP IF NOT READY
165 TAD LQPDY /DO Y MOTION, IF NEEDED
167 JMP LQPNDY /JUMP IF NONE
169 DCA LQPMTM /SAVE -NUMBER LINES TO DO
171 TAD LQLINE /SUM TOTAL INCRS TO DO
177 TAD LQPY /COMPUTE NEW POSITION
179 TAD LQPAGE /ON PAGE, PLEASE!!
188 LQPNDY, TAD LQPDX /DO X MOTION, IF NEEDED
190 JMP LQPNDX /JUMP IF NONE
194 CLL CIA /ADJUST FOR -X MOTION
197 TAD LQPTCH /SUM TOTAL INCRS TO DO
201 RAR /GET DIRECTION INDICATOR BACK
204 TAD LQPX /COMPUTE NEW POSITION
209 LQPNDX, TAD LQPCTM /RETRIEVE SAVED CHAR
211 JMP LQPDCR /JUMP IF NONE
212 CLL RAL /ADJUST FOR OFFSET
215 LQPIDX, ISZ LQPDX /BUMP SPACE COUNTER
216 JMP LQPDCR /RETURN TO CALLER
217 JMP LQPDCR /...IN CASE ISZ SKIPPED...
219 LQPSPC, /SPECIAL CHARACTER CHECKING
220 TAD (40-32) /CONTROL Z?
222 JMP I LQPDCX /TAKE EOF RETURN IF SO
224 TAD (32-15) /CARRIAGE RETURN?
226 JMP LQPCR /JUMP IF SO
230 JMP LQPFF /JUMP IF SO
234 JMP LQPDC1 /CLEAR ACCUMULATORS, IF SO
238 JMP LQPLF /BUMP LINE COUNTER IF SO
242 JMP LQPDCR /RETURN IF NOT RECOGNIZED
244 LQPTB, TAD LQPX /DO TAB
252 DCA LQPDX /SAVE CR OR TAB MOTION
254 LQPDCR, ISZ LQPDCX /BUMP TO OK RETURN
255 JMP I LQPDCX /AND TAKE IT
257 LQPLF, ISZ LQPDY /BUMP LINE COUNTER
258 TAD LQPY /CHECK FOR NEXT PAGE
262 JMP LQPDC1 /JUMP IF SO
264 JMP LQPDCR /ELSE, JUST RETURN
266 LQPFF, TAD LQPY /DO FORM FEED
270 JMP LQPDC1 /DO PAGE EJECT NOW