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 /1 HI SPEED READER/PUNCH HANDLER 46 *0 47 000000 7776 -2 48 000001 2024 DEVICE PT8E;DEVICE PTP;1020;0;ZBLOCK 2 000002 7005 000003 2024 000004 2000 000005 1020 000006 0000 000007 0000 000010 0000 49 000011 2024 DEVICE PT8E;DEVICE PTR;2010;112;ZBLOCK 2 000012 7005 000013 2024 000014 2200 000015 2010 000016 0112 000017 0000 000020 0000 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 000200 0001 PTP, PTVERSION 59 000201 7320 CLA CLL CML /SET LINK ON TO INDICATE PUNCH 60 000202 4234 JMS PSETUP /DO COMMON CRAP 61 000203 1711 PTPLP, TAD I PTPCA 62 000204 4303 JMS PTPPCH /FIRST CHAR IN LOW ORDER 8 BITS OF WORD 1 63 000205 3312 DCA PTR 64 000206 2311 ISZ PTPCA 65 000207 7700 PT7700, 7700 66 000210 1711 TAD I PTPCA 67 000211 4303 JMS PTPPCH /SECOND CHAR IN LOW ORDER 8 BITS OF WORD 2 68 000212 7112 CLL RTR 69 000213 7012 RTR 70 000214 1312 TAD PTR 71 000215 7012 RTR 72 000216 7012 RTR /THIRD CHARACTER NOW IN AC 73 000217 4303 JMS PTPPCH 74 000220 2311 PTPEND, ISZ PTPCA 75 000221 0070 PT70, 70 /JUST IN CASE WERE PUNCHING PG 7600 KEEP THIS LITERAL HERE 76 000222 6031 KSF 77 000223 5273 JMP PTPISZ /KEYBOARD FLAG OFF - DON'T WORRY ABOUT ^C 78 000224 6034 PTPKRS, KRS 79 000225 0362 AND PTP177 80 000226 1376 TAD PTPM3 81 000227 7640 SZA CLA /IS THERE A ^C IN THE TTY BUFFER? 82 000230 5273 JMP PTPISZ /NO 83 000231 6203 PTPCIF, CDF CIF 0 84 000232 5633 JMP I .+1 85 000233 7600 7600 86 000234 0000 PSETUP, 0 87 000235 6214 RDF /GET FIELD OF CALLING PROGRAM 88 000236 1231 TAD PTPCIF 89 000237 3301 DCA PTPXIT /SET UP RETURN SEQUENCE 90 000240 1600 TAD I PTP 91 000241 0221 AND PT70 92 000242 1373 TAD PCDF 93 000243 3260 DCA PTPCDF 94 000244 7010 RAR /GET LINK(1=PTP,0=PTR) 95 000245 1600 TAD I PTP /GET FUNCTION WORD 96 000246 2200 ISZ PTP 97 000247 7510 SPA /CHECK CORRECT MODE 98 000250 5371 JMP PTPERR /SIGNAL "UNRECOVERABLE DEVICE ERROR" 99 000251 0207 AND PT7700 100 000252 7040 CMA /SET UP -(WORD COUNT)/2-1 101 000253 3375 DCA PTPWC 102 000254 1600 TAD I PTP /SET UP STARTING ADDRESS 103 000255 2200 ISZ PTP 104 000256 3311 DCA PTPCA 105 000257 1600 TAD I PTP 106 000260 0000 PTPCDF, 0 /SET DATA FIELD TO ACCESS BUFFER 107 PTPEOF=PTPCDF 108 000261 7650 SNA CLA 109 000262 7430 SZL 110 000263 5224 JMP PTPKRS 111 000264 1361 TAD PTP336 /INPUT INITIALIZATION - TYPE "^" AND WAIT 112 000265 6046 TLS 113 000266 6031 KSF 114 000267 5266 JMP .-1 115 000270 4343 JMS PTRGCH /INITIALIZE THE PTR BUFFER CHAR 116 000271 6032 6032 /CLEAR AC AND KEYBOARD FLAG 117 000272 5224 JMP PTPKRS /CHECK FOR ^C 118 000273 2375 PTPISZ, ISZ PTPWC 119 000274 5634 JMP I PSETUP /LOOP FOR BUFFER SIZE (128 WORDS) 120 000275 1260 PTPRTN, TAD PTPEOF 121 000276 7640 SZA CLA /DID WE RUN OUT OF TAPE? 122 000277 2200 ISZ PTP 123 000300 2200 ISZ PTP 124 000301 7402 PTPXIT, HLT /EXIT CDF GOES HERE 125 000302 5600 JMP I PTP 126 000303 0000 PTPPCH, 0 127 000304 6026 PLS /NOTICE THE GLORIOUS LACK OF OVERLAP 128 000305 6021 PSF 129 000306 5305 JMP .-1 130 000307 0340 AND PT7400 131 000310 5703 JMP I PTPPCH 132 000311 0000 PTPCA, 0 133 000312 0001 PTR, PTVERSION /*** CORRECT ENTRY IN MAIN ASSEMBLY IF THIS IS MOVED! 134 000313 7300 CLA CLL 135 000314 1312 TAD PTR 136 000315 3200 DCA PTP 137 000316 4234 JMS PSETUP /SET UP ADDRESS, COUNT, FIELDS 138 000317 4343 PTRLP, JMS PTRGCH /READ FIRST CHARACTER OF 3 139 000320 3711 DCA I PTPCA 140 000321 4343 JMS PTRGCH 141 000322 3303 DCA PTPPCH 142 000323 4343 JMS PTRGCH 143 000324 7006 RTL 144 000325 7006 RTL 145 000326 0340 AND PT7400 146 000327 1711 TAD I PTPCA 147 000330 3711 DCA I PTPCA /HIGH ORDER 4 BITS INTO WORD 1 148 000331 1312 TAD PTR /GET THE CHAR FROM THE PTR BUFFER 149 000332 7012 RTR 150 000333 7012 RTR 151 000334 7010 RAR /PUT THE LOW ORDER BITS INTO AC 0-3 152 000335 0340 AND PT7400 153 000336 1303 TAD PTPPCH 154 000337 2311 ISZ PTPCA 155 000340 7400 PT7400, 7400 156 000341 3711 DCA I PTPCA /LOW ORDER 4 BITS INTO WORD 2 157 000342 5220 JMP PTPEND 158 000343 0000 PTRGCH, 0 159 000344 1260 TAD PTPEOF 160 000345 7650 SNA CLA 161 000346 5354 JMP PT0BFR /MAKE SURE BUFFER IS ZEROED 162 000347 6014 RFC 163 000350 3260 DCA PTPEOF 164 000351 2260 PTTIME, ISZ PTPEOF /THIS LOOP OVERFLOWS IN APPROX. 100 MS ON A PDP-8, 165 000352 5356 JMP PGCHLP /72 MS ON A PDP-8/E 166 000353 1360 TAD PTP232 /SEND ^Z TO BUFFER 167 000354 3312 PT0BFR, DCA PTR 168 000355 5366 JMP PTRXX /AND 0 GARBAGE CHARACTER 169 000356 1374 PGCHLP, TAD PTPTMP 170 000357 3312 DCA PTR 171 000360 0232 PTP232, 232 172 000361 0336 PTP336, 336 /FALL THROUGH CONSTANTS TO STALL FOR TIME 173 000362 0177 PTP177, 177 174 000363 6011 RSF 175 000364 5351 JMP PTTIME /READER NOT READY - CHECK TIMING 176 000365 6012 RRB /READER READY - READ CHAR 177 000366 3374 PTRXX, DCA PTPTMP /BUFFER READER BY ONE CHARACTER TO ELIMINATE 178 000367 1312 TAD PTR /GARBAGE CHARACTER AT END OF TAPE 179 000370 5743 JMP I PTRGCH /AND RETURN 180 000371 7330 PTPERR, CLA CLL CML RAR /SIGNAL A "PERMANENT I/O ERROR" ON THE DEVICE 181 000372 5277 JMP PTPXIT-2 182 000373 6201 PCDF, CDF 0 183 000374 0000 PTPTMP, 0 184 000375 0000 PTPWC, 0 185 000376 7775 PTPM3, -3 186 $$$$$$$$ PCDF 0373 PGCHLP 0356 PSETUP 0234 PT0BFR 0354 PT70 0221 PT7400 0340 PT7700 0207 PTP 0200 PTP177 0362 PTP232 0360 PTP336 0361 PTPCA 0311 PTPCDF 0260 PTPCIF 0231 PTPEND 0220 PTPEOF 0260 PTPERR 0371 PTPISZ 0273 PTPKRS 0224 PTPLP 0203 unreferenced PTPM3 0376 PTPPCH 0303 PTPRTN 0275 unreferenced PTPTMP 0374 PTPWC 0375 PTPXIT 0301 PTR 0312 PTRGCH 0343 PTRLP 0317 unreferenced PTRXX 0366 PTTIME 0351 PTVERS 0001