Add README.md
[pdp8.git] / sw / os8 / v3d / sources / system / dectapes / dectape3 / PT8E.PA
CommitLineData
7af5ad59
PH
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
48DEVICE PT8E;DEVICE PTP;1020;0;ZBLOCK 2
49DEVICE 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
58PTP, PTVERSION
59 CLA CLL CML /SET LINK ON TO INDICATE PUNCH
60 JMS PSETUP /DO COMMON CRAP
61PTPLP, TAD I PTPCA
62 JMS PTPPCH /FIRST CHAR IN LOW ORDER 8 BITS OF WORD 1
63 DCA PTR
64 ISZ PTPCA
65PT7700, 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
74PTPEND, ISZ PTPCA
75PT70, 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
78PTPKRS, KRS
79 AND PTP177
80 TAD PTPM3
81 SZA CLA /IS THERE A ^C IN THE TTY BUFFER?
82 JMP PTPISZ /NO
83PTPCIF, CDF CIF 0
84 JMP I .+1
85 7600
86PSETUP, 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
106PTPCDF, 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
118PTPISZ, ISZ PTPWC
119 JMP I PSETUP /LOOP FOR BUFFER SIZE (128 WORDS)
120PTPRTN, TAD PTPEOF
121 SZA CLA /DID WE RUN OUT OF TAPE?
122 ISZ PTP
123 ISZ PTP
124PTPXIT, HLT /EXIT CDF GOES HERE
125 JMP I PTP
126PTPPCH, 0
127 PLS /NOTICE THE GLORIOUS LACK OF OVERLAP
128 PSF
129 JMP .-1
130 AND PT7400
131 JMP I PTPPCH
132PTPCA, 0
133PTR, 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
138PTRLP, 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
155PT7400, 7400
156 DCA I PTPCA /LOW ORDER 4 BITS INTO WORD 2
157 JMP PTPEND
158PTRGCH, 0
159 TAD PTPEOF
160 SNA CLA
161 JMP PT0BFR /MAKE SURE BUFFER IS ZEROED
162 RFC
163 DCA PTPEOF
164PTTIME, 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
167PT0BFR, DCA PTR
168 JMP PTRXX /AND 0 GARBAGE CHARACTER
169PGCHLP, TAD PTPTMP
170 DCA PTR
171PTP232, 232
172PTP336, 336 /FALL THROUGH CONSTANTS TO STALL FOR TIME
173PTP177, 177
174 RSF
175 JMP PTTIME /READER NOT READY - CHECK TIMING
176 RRB /READER READY - READ CHAR
177PTRXX, DCA PTPTMP /BUFFER READER BY ONE CHARACTER TO ELIMINATE
178 TAD PTR /GARBAGE CHARACTER AT END OF TAPE
179 JMP I PTRGCH /AND RETURN
180PTPERR, CLA CLL CML RAR /SIGNAL A "PERMANENT I/O ERROR" ON THE DEVICE
181 JMP PTPXIT-2
182PCDF, CDF 0
183PTPTMP, 0
184PTPWC, 0
185PTPM3, -3
186$$$$$$$$
187\f