1 /1 PTR/PTP HANDLER FOR LOW SPEED 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 *0 46 000000 7776 -2 47 000001 1323 DEVICE KS33;DEVICE PTP;1020;0;ZBLOCK 2 000002 6363 000003 2024 000004 2000 000005 1020 000006 0000 000007 0000 000010 0000 48 000011 1323 DEVICE KS33;DEVICE PTR;2010;110;ZBLOCK 2 000012 6363 000013 2024 000014 2200 000015 2010 000016 0110 000017 0000 000020 0000 49 50 VERSION="A&77 51 52 *200 53 000200 0001 PTP, VERSION 54 000201 7320 CLA CLL CML /SET LINK ON TO INDICATE PUNCH 55 000202 4234 JMS PSETUP /DO COMMON CRAP 56 000203 6031 PTPLP, KSF 57 000204 5214 JMP PTPCNT /KEYBOARD FLAG OFF - DON'T WORRY ABOUT ^C 58 000205 6034 KRS 59 000206 0360 AND PTP177 60 000207 1372 TAD PTPM3 61 000210 7640 SZA CLA /IS THERE A ^C IN THE TTY BUFFER? 62 000211 5214 JMP PTPCNT /NO 63 000212 6203 PTPCIF, CDF CIF 0 64 000213 5670 JMP I PT7600 65 000214 1707 PTPCNT, TAD I PTPCA 66 000215 4301 JMS PTPPCH /FIRST CHAR IN LOW ORDER 8 BITS OF WORD 1 67 000216 3310 DCA PTR 68 000217 2307 ISZ PTPCA 69 000220 7700 PT7700, 7700 70 000221 1707 TAD I PTPCA 71 000222 4301 JMS PTPPCH /SECOND CHAR IN LOW ORDER 8 BITS OF WORD 2 72 000223 7112 CLL RTR 73 000224 7012 RTR 74 000225 1310 TAD PTR 75 000226 7012 RTR 76 000227 7012 RTR /THIRD CHARACTER NOW IN AC 77 000230 4301 JMS PTPPCH 78 000231 2307 PTPEND, ISZ PTPCA 79 000232 0070 PT70, 70 /JUST IN CASE WERE PUNCHING PG 7600 KEEP THIS LITERAL HERE 80 000233 5271 JMP PTPISZ 81 000234 0000 PSETUP, 0 82 000235 6214 RDF /GET FIELD OF CALLING PROGRAM 83 000236 1212 TAD PTPCIF 84 000237 3277 DCA PTPXIT /SET UP RETURN SEQUENCE 85 000240 1600 TAD I PTP 86 000241 0232 AND PT70 87 000242 1367 TAD PCDF 88 000243 3260 DCA PTPCDF 89 000244 7010 RAR /GET LINK(1=PTP,0=PTR) 90 000245 1600 TAD I PTP /GET FUNCTION WORD 91 000246 2200 ISZ PTP 92 000247 7510 SPA /CHECK CORRECT MODE 93 000250 5365 JMP PTPERR /SIGNAL "UNRECOVERABLE DEVICE ERROR" 94 000251 0220 AND PT7700 95 000252 7040 CMA /SET UP -(WORD COUNT)/2-1 96 000253 3371 DCA PTPWC 97 000254 1600 TAD I PTP /SET UP STARTING ADDRESS 98 000255 2200 ISZ PTP 99 000256 3307 DCA PTPCA 100 000257 1600 TAD I PTP 101 000260 0000 PTPCDF, 0 /SET DATA FIELD TO ACCESS BUFFER 102 PTPEOF=PTPCDF 103 000261 7650 SNA CLA 104 000262 7430 SZL 105 000263 5271 JMP PTPISZ 106 000264 1370 TAD PTP336 /INPUT INITIALIZATION - TYPE "^" AND WAIT 107 000265 6046 TLS 108 000266 6031 KSF 109 000267 5266 JMP .-1 110 000270 7600 PT7600, 7600 111 000271 2371 PTPISZ, ISZ PTPWC 112 000272 5634 JMP I PSETUP /LOOP FOR BUFFER SIZE (128 WORDS) 113 000273 1260 PTPRTN, TAD PTPEOF 114 000274 7640 SZA CLA /DID WE RUN OUT OF TAPE? 115 000275 2200 ISZ PTP 116 000276 2200 ISZ PTP 117 000277 7402 PTPXIT, HLT /EXIT CDF GOES HERE 118 000300 5600 JMP I PTP 119 000301 0000 PTPPCH, 0 120 000302 6046 TLS 121 000303 6041 TSF /NOTICE THE GLORIOUS LACK OF OVERLAP 122 000304 5303 JMP .-1 123 000305 0337 AND PT7400 124 000306 5701 JMP I PTPPCH 125 000307 0000 PTPCA, 0 126 000310 0001 PTR, VERSION /*** CORRECT ENTRY IN MAIN ASSEMBLY IF THIS IS MOVED! 127 000311 7300 CLA CLL 128 000312 1310 TAD PTR 129 000313 3200 DCA PTP 130 000314 4234 JMS PSETUP /SET UP ADDRESS, COUNT, FIELDS 131 000315 4342 PTRLP, JMS PTRGCH /READ FIRST CHARACTER OF 3 132 000316 3707 DCA I PTPCA 133 000317 4342 JMS PTRGCH 134 000320 3301 DCA PTPPCH 135 000321 4342 JMS PTRGCH 136 000322 7006 RTL 137 000323 7006 RTL 138 000324 3310 DCA PTR 139 000325 1310 TAD PTR 140 000326 0337 AND PT7400 141 000327 1707 TAD I PTPCA 142 000330 3707 DCA I PTPCA /HIGH ORDER 4 BITS INTO WORD 1 143 000331 1310 TAD PTR /GET THE CHAR FROM THE PTR BUFFER 144 000332 7006 RTL 145 000333 7006 RTL 146 000334 0337 AND PT7400 147 000335 1301 TAD PTPPCH 148 000336 2307 ISZ PTPCA 149 000337 7400 PT7400, 7400 150 000340 3707 DCA I PTPCA /LOW ORDER 4 BITS INTO WORD 2 151 000341 5231 JMP PTPEND 152 000342 0000 PTRGCH, 0 153 000343 1260 TAD PTPEOF 154 000344 7650 SNA CLA 155 000345 5742 JMP I PTRGCH 156 000346 7346 CLA CLL CMA RTL /-3 157 000347 3260 DCA PTPEOF 158 000350 3310 DCA PTR 159 000351 2310 PTTIME, ISZ PTR /TIMEOUT LOOP FOR LOW SPEED READER 160 000352 5357 JMP PTP232 161 000353 2260 ISZ PTPEOF /TIMES OUT IN 132 MS(PDP 8/E) OR 205 MS(PDP 8) 162 000354 5357 JMP PTP232 163 000355 1357 TAD PTP232 164 000356 5742 JMP I PTRGCH /OVERFLOWED - PTPEOF IS NOW 0, RETURN ^Z 165 000357 0232 PTP232, 232 /WASTE SOME TIME 166 000360 0177 PTP177, 177 167 000361 6031 KSF 168 000362 5351 JMP PTTIME /READER NOT READY - CONTINUE TIMEOUT 169 000363 6036 KRB 170 000364 5742 JMP I PTRGCH /RETURN WITH CHARACTER 171 000365 7330 PTPERR, CLA CLL CML RAR /SIGNAL A "PERMANENT I/O ERROR" ON THE DEVICE 172 000366 5275 JMP PTPXIT-2 173 000367 6201 PCDF, CDF 0 174 000370 0336 PTP336, 336 175 000371 0000 PTPWC, 0 176 000372 7775 PTPM3, -3 177 $$$$$$$ PCDF 0367 PSETUP 0234 PT70 0232 PT7400 0337 PT7600 0270 PT7700 0220 PTP 0200 PTP177 0360 PTP232 0357 PTP336 0370 PTPCA 0307 PTPCDF 0260 PTPCIF 0212 PTPCNT 0214 PTPEND 0231 PTPEOF 0260 PTPERR 0365 PTPISZ 0271 PTPLP 0203 unreferenced PTPM3 0372 PTPPCH 0301 PTPRTN 0273 unreferenced PTPWC 0371 PTPXIT 0277 PTR 0310 PTRGCH 0342 PTRLP 0315 unreferenced PTTIME 0351 VERSIO 0001