Add README.md
[pdp8.git] / sw / os8 / v3d / sources / system / dectapes / dectape3 / LSPT.PA
1 /1 PTR/PTP HANDLER FOR LOW SPEED
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /COPYRIGHT (C) 1974,1975 BY DIGITAL EQUIPMENT CORPORATION
12 /
13 /
14 /
15 /
16 /
17 /
18 /
19 /
20 /
21 /
22 /THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE
23 /AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
24 /CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY
25 /FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT.
26 /
27 /THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER
28 /UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED
29 /(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH
30 /SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL.
31 /
32 /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE
33 /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY
34 /DIGITAL.
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 *0
46 -2
47 DEVICE KS33;DEVICE PTP;1020;0;ZBLOCK 2
48 DEVICE KS33;DEVICE PTR;2010;110;ZBLOCK 2
49
50 VERSION="A&77
51
52 *200
53 PTP, VERSION
54 CLA CLL CML /SET LINK ON TO INDICATE PUNCH
55 JMS PSETUP /DO COMMON CRAP
56 PTPLP, KSF
57 JMP PTPCNT /KEYBOARD FLAG OFF - DON'T WORRY ABOUT ^C
58 KRS
59 AND PTP177
60 TAD PTPM3
61 SZA CLA /IS THERE A ^C IN THE TTY BUFFER?
62 JMP PTPCNT /NO
63 PTPCIF, CDF CIF 0
64 JMP I PT7600
65 PTPCNT, TAD I PTPCA
66 JMS PTPPCH /FIRST CHAR IN LOW ORDER 8 BITS OF WORD 1
67 DCA PTR
68 ISZ PTPCA
69 PT7700, 7700
70 TAD I PTPCA
71 JMS PTPPCH /SECOND CHAR IN LOW ORDER 8 BITS OF WORD 2
72 CLL RTR
73 RTR
74 TAD PTR
75 RTR
76 RTR /THIRD CHARACTER NOW IN AC
77 JMS PTPPCH
78 PTPEND, ISZ PTPCA
79 PT70, 70 /JUST IN CASE WERE PUNCHING PG 7600 KEEP THIS LITERAL HERE
80 JMP PTPISZ
81 PSETUP, 0
82 RDF /GET FIELD OF CALLING PROGRAM
83 TAD PTPCIF
84 DCA PTPXIT /SET UP RETURN SEQUENCE
85 TAD I PTP
86 AND PT70
87 TAD PCDF
88 DCA PTPCDF
89 RAR /GET LINK(1=PTP,0=PTR)
90 TAD I PTP /GET FUNCTION WORD
91 ISZ PTP
92 SPA /CHECK CORRECT MODE
93 JMP PTPERR /SIGNAL "UNRECOVERABLE DEVICE ERROR"
94 AND PT7700
95 CMA /SET UP -(WORD COUNT)/2-1
96 DCA PTPWC
97 TAD I PTP /SET UP STARTING ADDRESS
98 ISZ PTP
99 DCA PTPCA
100 TAD I PTP
101 PTPCDF, 0 /SET DATA FIELD TO ACCESS BUFFER
102 PTPEOF=PTPCDF
103 SNA CLA
104 SZL
105 JMP PTPISZ
106 TAD PTP336 /INPUT INITIALIZATION - TYPE "^" AND WAIT
107 TLS
108 KSF
109 JMP .-1
110 PT7600, 7600
111 PTPISZ, ISZ PTPWC
112 JMP I PSETUP /LOOP FOR BUFFER SIZE (128 WORDS)
113 PTPRTN, TAD PTPEOF
114 SZA CLA /DID WE RUN OUT OF TAPE?
115 ISZ PTP
116 ISZ PTP
117 PTPXIT, HLT /EXIT CDF GOES HERE
118 JMP I PTP
119 PTPPCH, 0
120 TLS
121 TSF /NOTICE THE GLORIOUS LACK OF OVERLAP
122 JMP .-1
123 AND PT7400
124 JMP I PTPPCH
125 PTPCA, 0
126 PTR, VERSION /*** CORRECT ENTRY IN MAIN ASSEMBLY IF THIS IS MOVED!
127 CLA CLL
128 TAD PTR
129 DCA PTP
130 JMS PSETUP /SET UP ADDRESS, COUNT, FIELDS
131 PTRLP, JMS PTRGCH /READ FIRST CHARACTER OF 3
132 DCA I PTPCA
133 JMS PTRGCH
134 DCA PTPPCH
135 JMS PTRGCH
136 RTL
137 RTL
138 DCA PTR
139 TAD PTR
140 AND PT7400
141 TAD I PTPCA
142 DCA I PTPCA /HIGH ORDER 4 BITS INTO WORD 1
143 TAD PTR /GET THE CHAR FROM THE PTR BUFFER
144 RTL
145 RTL
146 AND PT7400
147 TAD PTPPCH
148 ISZ PTPCA
149 PT7400, 7400
150 DCA I PTPCA /LOW ORDER 4 BITS INTO WORD 2
151 JMP PTPEND
152 PTRGCH, 0
153 TAD PTPEOF
154 SNA CLA
155 JMP I PTRGCH
156 CLA CLL CMA RTL /-3
157 DCA PTPEOF
158 DCA PTR
159 PTTIME, ISZ PTR /TIMEOUT LOOP FOR LOW SPEED READER
160 JMP PTP232
161 ISZ PTPEOF /TIMES OUT IN 132 MS(PDP 8/E) OR 205 MS(PDP 8)
162 JMP PTP232
163 TAD PTP232
164 JMP I PTRGCH /OVERFLOWED - PTPEOF IS NOW 0, RETURN ^Z
165 PTP232, 232 /WASTE SOME TIME
166 PTP177, 177
167 KSF
168 JMP PTTIME /READER NOT READY - CONTINUE TIMEOUT
169 KRB
170 JMP I PTRGCH /RETURN WITH CHARACTER
171 PTPERR, CLA CLL CML RAR /SIGNAL A "PERMANENT I/O ERROR" ON THE DEVICE
172 JMP PTPXIT-2
173 PCDF, CDF 0
174 PTP336, 336
175 PTPWC, 0
176 PTPM3, -3
177 $$$$$$$
178 \f