A large commit.
[pdp8.git] / sw / rescue / lab8e_goettingen / disk2_11 / rka / paroff / ks33.pa
CommitLineData
81e70d48
PH
1/KS33 PTR/PTP HANDLER FOR LOW SPEED\r
2/\r
3/\r
4/COPYRIGHT (C) 1974,1975 BY DIGITAL EQUIPMENT CORPORATION\r
5/\r
6/ COPY 15-FEB-83 H.A.\r
7/ UPDATES:\r
8/ REV B 15-FEB-83 FIXES "LOSS OF BYTE" ERROR WITH PIP ON PTR HANDLER\r
9/\r
10/THIS SOFTWARE IS BLAH BLAH BLAH ...\r
11/\r
12/\r
13\fTTI= 3 /CONSOLE TERMINAL ( FOR ^C ABORT )\r
14TTI1= IPTR /CONSOLE TERMINAL FOR "^ TO START PTP/PTR\r
15TTO1= TTI1+1 /CONSOLE TERMINAL FOR "^ TO START PTP/PTR\r
16IPTR= 35 /LOW SPEED PAPER TAPE READER (ASR 33)\r
17OPTP= IPTR+1 /LOW SPEED PAPER TAPE PUNCH (ASR 33)\r
18VERSION="B&77\r
19/\r
20CKSF= 10^TTI+6001\r
21CKRS= 10^TTI+6004\r
22/\r
23PKCF= 10^IPTR+6000\r
24PKSF= 10^IPTR+6001\r
25PKCC= 10^IPTR+6002\r
26PKRS= 10^IPTR+6004\r
27/\r
28PTSF= 10^OPTP+6001\r
29PTLS= 10^OPTP+6006\r
30/\r
31TTLS= 10^TTO1+6006 /OUTPUTS ^\r
32TKSF= 10^TTI1+6001 /WAIT FOR ANY CHAR TO START PTR/PTP\r
33/\r
34/\r
35 *0\r
36 -2\r
37 DEVICE KS33;DEVICE PTP;1020;PTP&177;ZBLOCK 2\r
38 DEVICE KS33;DEVICE PTR;2010;PTR&177;ZBLOCK 2\r
39 *200\r
40PTP, VERSION\r
41 CLA CLL CML /SET LINK ON TO INDICATE PUNCH\r
42 JMS PSETUP /DO COMMON CRAP\r
43PTPLP, CKSF\r
44 JMP PTPCNT /KEYBORD FLAG OFF - DON'T WORRY ABOUT ^C\r
45 CKRS\r
46 AND PTP177\r
47 TAD PTPM3\r
48 SZA CLA /IS THERE A ^C IN THE TTY BUFFER?\r
49 JMP PTPCNT /NO\r
50PTPCIF, CDF CIF 0\r
51 JMP I PT7600\r
52PTPCNT, TAD I PTPCA\r
53 JMS PTPPCH /FIRST CHAR IN LOW ORDER 8 BITS OF WORD 1\r
54 DCA PTR\r
55 ISZ PTPCA\r
56PT7700, 7700\r
57 TAD I PTPCA\r
58 JMS PTPPCH /SECOND CHAR IN LOW ORDER 8 BITS OF WORD 2\r
59 CLL RTR\r
60 RTR\r
61 TAD PTR\r
62 RTR\r
63 RTR /THIRD CHAR NOW IN AC\r
64 JMS PTPPCH\r
65PTPEND, ISZ PTPCA\r
66PT70, 70 /JUST IN CASE WHERE PUNCHING PG 7600 KEEP THIS LITERAL\r
67 JMP PTPISZ\r
68/\r
69\f/\r
70PSETUP, 0\r
71 RDF /GET FIELD OF CALLING PROGRAM\r
72 TAD PTPCIF\r
73 DCA PTPXIT /SET UP RETURN SEQUENCE\r
74 TAD I PTP\r
75 AND PT70\r
76 TAD PCDF\r
77 DCA PTPCDF\r
78 RAR /GET LINK (1=PTP,0=PTR)\r
79 TAD I PTP /GET FUNCTION WORD\r
80 ISZ PTP\r
81 SPA /CHECK CORRECT MODE\r
82 JMP PTPERR /SIGNAL "UNRECOVERABLE DEVICE ERROR"\r
83 AND PT7700\r
84 CMA /SET UP -(WORD COUNT)/2-1\r
85 DCA PTPWC\r
86 TAD I PTP /SET UP STARTING ADDRESS\r
87 ISZ PTP\r
88 DCA PTPCA\r
89 TAD I PTP\r
90PTPCDF, 0 /SET DATA FIELD TO ACCESS BUFFER\r
91 PTPEOF=PTPCDF\r
92 SNA CLA\r
93 SZL\r
94 JMP PTPISZ\r
95 PKCF /CLEAR READER RUN FLIP FLOP\r
96 TAD PTP336 /INPUT INITIALIZATION - TYPE "^" AND WAIT\r
97 TTLS\r
98 TKSF\r
99 JMP .-1\r
100PT7600, 7600\r
101PTPISZ, ISZ PTPWC\r
102 JMP I PSETUP /LOOP FOR BUFFER SIZE (128 WORDS)\r
103/\r
104PTPRTN, TAD PTPEOF\r
105 SZA CLA /DID WE RUN OUT OF TAPE?\r
106 ISZ PTP\r
107 ISZ PTP\r
108PTPXIT, HLT /EXIT CDF GOES HERE\r
109 JMP I PTP\r
110/\r
111\f/\r
112PTPPCH, 0\r
113 PTLS\r
114 PTSF /NOTICE THE GLORIOUS LACK OF OVERLAP\r
115 JMP .-1\r
116 AND PT7400\r
117 JMP I PTPPCH\r
118PTPCA, 0\r
119PTR, VERSION /**** CORRECT ENTRY IN MAIN ASSEMBLY IF THIS IS MOVED!\r
120 CLA CLL\r
121 TAD PTR\r
122 DCA PTP\r
123 JMS PSETUP /SET UP ADDRESS, COUNT. FIELDS\r
124PTRLP, JMS PTRGCH /READ FIRST CHAR OF 3\r
125 DCA I PTPCA\r
126 JMS PTRGCH\r
127 DCA PTPPCH\r
128 JMS PTRGCH\r
129 RTL\r
130 RTL\r
131 DCA PTR\r
132 TAD PTR\r
133 AND PT7400\r
134 TAD I PTPCA\r
135 DCA I PTPCA /HIGH ORDER 4 BITS INTO WORD 1\r
136 TAD PTR /GET THE CHAR FROM THE PTR BUFFER\r
137 RTL\r
138 RTL\r
139 AND PT7400\r
140 TAD PTPPCH\r
141 ISZ PTPCA\r
142PT7400, 7400\r
143 DCA I PTPCA /LOW ORDER 4 BITS INTO WORD 2\r
144 JMP PTPEND\r
145/\r
146/\r
147PTRGCH, 0\r
148 PKSF\r
149 PKCC /START THE READER \r
150 TAD PTPEOF\r
151 SNA CLA\r
152 JMP I PTRGCH\r
153 CLA CLL CMA RTL /-3\r
154 DCA PTPEOF\r
155 DCA PTR\r
156PTTIME, ISZ PTR /TIME OUT LOOP FOR LOW SPEED READER\r
157 JMP PTP232\r
158 ISZ PTPEOF /TIME OUT IN 132 MS (8/E) OR 205 MS (PDP 8)\r
159 JMP PTP232\r
160 TAD PTP232\r
161 JMP I PTRGCH /OVERFLOWED - PTPEOF IF NOW 0, RETURN ^Z\r
162PTP232, 232 /WASTE SOME TIME\r
163PTP177, 177\r
164 PKSF\r
165 JMP PTTIME /READER NOT READY - CONTINUE TIMEOUT\r
166 CLA /LOAD THE CHAR --> AC\r
167 PKRS /WITHOUT SWITCHING ON THE READER RUN FLIP FLOP\r
168 PKCF /SWITCH OFF THE READER RUN FLIP FLOP TO AVOID LOSS OF CHARACTERS\r
169 JMP I PTRGCH /RETURN WITH CHARACTER\r
170/\r
171/\r
172PTPERR, CLA CLL CML RAR /SIGNAL A "PERMANENT I/O ERROR" ON THE DEVICE\r
173 JMP PTPXIT-2\r
174PCDF, CDF 0\r
175PTP336, 336\r
176PTPWC, 0\r
177PTPM3, -3\r
178 $-$\r
179\1a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0