Commit | Line | Data |
---|---|---|
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 | |
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 |