software: Added more and more
[pdp8.git] / sw / os8 / v3d / sources / system / dectapes / dectape3 / PT8E.PA
1 /1 HI SPEED READER/PUNCH HANDLER
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 \f/1 HI SPEED READER/PUNCH HANDLER
46 *0
47 -2
48 DEVICE PT8E;DEVICE PTP;1020;0;ZBLOCK 2
49 DEVICE PT8E;DEVICE PTR;2010;112;ZBLOCK 2
50
51 PTVERSION="A&77
52
53 *200
54 /THIS IS THE REAL HIGH SPEED HANDLER.
55 /HIGH SPEED PAPER TAPE HANDLER FOR BLEEP MONITOR
56 /PACKS 3 CHARACTERS IN 2 WORDS ON INPUT, UNPACKS ON OUTPUT
57 /PAGE RELOCATABLE
58 PTP, PTVERSION
59 CLA CLL CML /SET LINK ON TO INDICATE PUNCH
60 JMS PSETUP /DO COMMON CRAP
61 PTPLP, TAD I PTPCA
62 JMS PTPPCH /FIRST CHAR IN LOW ORDER 8 BITS OF WORD 1
63 DCA PTR
64 ISZ PTPCA
65 PT7700, 7700
66 TAD I PTPCA
67 JMS PTPPCH /SECOND CHAR IN LOW ORDER 8 BITS OF WORD 2
68 CLL RTR
69 RTR
70 TAD PTR
71 RTR
72 RTR /THIRD CHARACTER NOW IN AC
73 JMS PTPPCH
74 PTPEND, ISZ PTPCA
75 PT70, 70 /JUST IN CASE WERE PUNCHING PG 7600 KEEP THIS LITERAL HERE
76 KSF
77 JMP PTPISZ /KEYBOARD FLAG OFF - DON'T WORRY ABOUT ^C
78 PTPKRS, KRS
79 AND PTP177
80 TAD PTPM3
81 SZA CLA /IS THERE A ^C IN THE TTY BUFFER?
82 JMP PTPISZ /NO
83 PTPCIF, CDF CIF 0
84 JMP I .+1
85 7600
86 PSETUP, 0
87 RDF /GET FIELD OF CALLING PROGRAM
88 TAD PTPCIF
89 DCA PTPXIT /SET UP RETURN SEQUENCE
90 TAD I PTP
91 AND PT70
92 TAD PCDF
93 DCA PTPCDF
94 RAR /GET LINK(1=PTP,0=PTR)
95 TAD I PTP /GET FUNCTION WORD
96 ISZ PTP
97 SPA /CHECK CORRECT MODE
98 JMP PTPERR /SIGNAL "UNRECOVERABLE DEVICE ERROR"
99 AND PT7700
100 CMA /SET UP -(WORD COUNT)/2-1
101 DCA PTPWC
102 TAD I PTP /SET UP STARTING ADDRESS
103 ISZ PTP
104 DCA PTPCA
105 TAD I PTP
106 PTPCDF, 0 /SET DATA FIELD TO ACCESS BUFFER
107 PTPEOF=PTPCDF
108 SNA CLA
109 SZL
110 JMP PTPKRS
111 TAD PTP336 /INPUT INITIALIZATION - TYPE "^" AND WAIT
112 TLS
113 KSF
114 JMP .-1
115 JMS PTRGCH /INITIALIZE THE PTR BUFFER CHAR
116 6032 /CLEAR AC AND KEYBOARD FLAG
117 JMP PTPKRS /CHECK FOR ^C
118 PTPISZ, ISZ PTPWC
119 JMP I PSETUP /LOOP FOR BUFFER SIZE (128 WORDS)
120 PTPRTN, TAD PTPEOF
121 SZA CLA /DID WE RUN OUT OF TAPE?
122 ISZ PTP
123 ISZ PTP
124 PTPXIT, HLT /EXIT CDF GOES HERE
125 JMP I PTP
126 PTPPCH, 0
127 PLS /NOTICE THE GLORIOUS LACK OF OVERLAP
128 PSF
129 JMP .-1
130 AND PT7400
131 JMP I PTPPCH
132 PTPCA, 0
133 PTR, PTVERSION /*** CORRECT ENTRY IN MAIN ASSEMBLY IF THIS IS MOVED!
134 CLA CLL
135 TAD PTR
136 DCA PTP
137 JMS PSETUP /SET UP ADDRESS, COUNT, FIELDS
138 PTRLP, JMS PTRGCH /READ FIRST CHARACTER OF 3
139 DCA I PTPCA
140 JMS PTRGCH
141 DCA PTPPCH
142 JMS PTRGCH
143 RTL
144 RTL
145 AND PT7400
146 TAD I PTPCA
147 DCA I PTPCA /HIGH ORDER 4 BITS INTO WORD 1
148 TAD PTR /GET THE CHAR FROM THE PTR BUFFER
149 RTR
150 RTR
151 RAR /PUT THE LOW ORDER BITS INTO AC 0-3
152 AND PT7400
153 TAD PTPPCH
154 ISZ PTPCA
155 PT7400, 7400
156 DCA I PTPCA /LOW ORDER 4 BITS INTO WORD 2
157 JMP PTPEND
158 PTRGCH, 0
159 TAD PTPEOF
160 SNA CLA
161 JMP PT0BFR /MAKE SURE BUFFER IS ZEROED
162 RFC
163 DCA PTPEOF
164 PTTIME, ISZ PTPEOF /THIS LOOP OVERFLOWS IN APPROX. 100 MS ON A PDP-8,
165 JMP PGCHLP /72 MS ON A PDP-8/E
166 TAD PTP232 /SEND ^Z TO BUFFER
167 PT0BFR, DCA PTR
168 JMP PTRXX /AND 0 GARBAGE CHARACTER
169 PGCHLP, TAD PTPTMP
170 DCA PTR
171 PTP232, 232
172 PTP336, 336 /FALL THROUGH CONSTANTS TO STALL FOR TIME
173 PTP177, 177
174 RSF
175 JMP PTTIME /READER NOT READY - CHECK TIMING
176 RRB /READER READY - READ CHAR
177 PTRXX, DCA PTPTMP /BUFFER READER BY ONE CHARACTER TO ELIMINATE
178 TAD PTR /GARBAGE CHARACTER AT END OF TAPE
179 JMP I PTRGCH /AND RETURN
180 PTPERR, CLA CLL CML RAR /SIGNAL A "PERMANENT I/O ERROR" ON THE DEVICE
181 JMP PTPXIT-2
182 PCDF, CDF 0
183 PTPTMP, 0
184 PTPWC, 0
185 PTPM3, -3
186 $$$$$$$$
187 \f