/ P?S/8 LINCTAPE BLOCK-ODT PAL8-VB0 23-JUL-86 PAGE 22 959 001600 0040 TABL1, " &177 /BLANK 960 001601 0012 12&177 /LINE FEED 961 001602 0015 15&177 /CARRIAGE RETURN 962 001603 0057 "/&177 // 963 001604 0073 ";&177 /; 964 001605 0053 "+&177 /+ 965 001606 0055 "-&177 /- 966 001607 0056 INTLIMI,".&177 /. 967 001610 0072 ":&177 /: 968 001611 0134 "\&177 /\ 969 001612 0123 "S&177 /S 970 001613 0105 "E&177 /E 971 001614 0127 "W&177 /W 972 001615 0130 "X&177 /X 973 001616 0074 "<&177 /< 974 001617 0120 "P&177 /P 975 001620 0115 SPTABL, "M&177 /M 976 001621 0110 "H&177 /H 977 001622 0125 "U&177 /U 978 001623 0117 "O&177 /O 979 001624 0126 "V&177 /V 980 001625 0116 "N&177 /N 981 001626 7710 -70 /END OF LIST USED FOR NUMERIC CHECK 982 983 001627 0206 TABL2, BEGNIN /BLANKS ARE IGNORED 984 001630 0334 LNFEED /CLOSE PREVIOUS, OPEN + DISPLAY NEXT 985 001631 0307 RETURN /CLOSE PREVIOUS 986 001632 0240 EXAMIN /DISPLAY CURRENT 987 001633 0311 SEMICOLON /SAME AS LINEFEED BUT NO DISPLAY 988 001634 1042 ADDIT /OPEN .+ARG LOCATION 989 001635 1043 SBTRCT /OPEN .-ARG LOCATION 990 001636 0347 POINT /CHANGE BLOCK 991 001637 0400 COLON /CHANGE UNIT 992 001640 1200 BKSLSH /DUMP MEMORY 993 001641 0460 SAVE /SAVE BUFFER AND BOOTSTRAP 994 001642 7600 SBOOT /UNCONDITIONALLY (HASTILY) EXIT 995 001643 1656 WRDSRCH /SEARCH CORE AGAINST MASK 996 001644 1655 ECKS /SEARCH CORE AGAINST MASK (COMPLEMENTED) 997 001645 0315 PREV /RESTORE PREVIOUS ADDRESS 998 001646 1741 SRCPRC /PROCEED TO NEXT WORD SEARCH 999 001647 1032 MX /SET SEARCH MASK 1000 001650 1031 HX /SET LOWER LIMIT 1001 001651 1030 UX /SET UPPER LIMIT 1002 001652 1027 OX /DISPLAY MODE 1003 001653 1026 VX /VIEW CONTROL WORD 1004 001654 1025 NX /SEARCH UNIT / P?S/8 LINCTAPE BLOCK-ODT PAL8-VB0 23-JUL-86 PAGE 24 1058 001741 4567 SRCPRC, JMS I [CRLF] /DO A , 1059 001742 5743 JMP I CHKLIMITS /RESTART THERE 1060 1061 001743 0200 CHKLIMI,BEGIN /CHECK LIMITS ROUTINE;INITIALIZED FOR FALSE RESTART 1062 001744 1044 TAD HOME /GET LOWER LIMIT 1063 001745 7141 CLL CIA /INVERT FOR TEST 1064 001746 1045 TAD UPPER /COMPARE TO UPPER LIMIT 1065 001747 7620 SNL CLA /SKIP IF OK TO PROCEED 1066 001750 5552 JMP I [BEGIN] /JUMP IF NOT 1067 001751 5743 JMP I CHKLIMITS /RETURN IF OK 1068 1069 001752 7200 NOQ, CLA /CLEAN UP 1070 001753 1375 TAD ("?-"0-11) /??=BAD INPUT CHARACTER 1071 001754 7001 NO9, IAC /?9=BAD ARGUMENT TO "/" 1072 001755 7001 NO8, IAC /?8=NO ARGUMENT TO ":" 1073 001756 7001 NO7, IAC /?7=BAD ARGUMENT TO ":" 1074 001757 7001 NO6, IAC /?6=NO ARGUMENT TO "G" OR "R" **** 1075 001760 7001 NO5, IAC /?5=DUPLICATE BREAKPOINT ATTEMPTED **** 1076 001761 7001 NO4, IAC /?4=BAD ARGUMENTS TO "\" 1077 001762 7001 NO3, IAC /?3=BREAKPOINT LOOKUP FAILURE IN "#" **** 1078 001763 7001 NO2, IAC /?2=NO ARGUMENT TO "#" **** 1079 001764 7001 NO1, IAC /?1=ILLEGAL ADDRESS OR VALUE 1080 001765 5774 NO0, JMP I (NOCOM) /?0=TOO MANY DIGITS 1081 1082 001774 0300 1083 001775 0006 1084 001776 0255 1085 001777 1714 1086 2000 PAGE / P?S/8 LINCTAPE BLOCK-ODT PAL8-VB0 23-JUL-86 PAGE 25 1087 / P?S/8 PDP-12 NON-SYSTEM HANDLER 1088 1089 / P?S/8 LINCTAPE NON-SYSTEM HANDLER FOR THE PDP-12. 1090 1091 / LAST EDIT: 17-APR-1986 10:00:00 CJL 1092 1093 / MAY BE ASSEMBLED WITH '/J' SWITCH SET. 1094 1095 / FEATURES: 1096 1097 / 1) SUPPORT OF EIGHT UNITS (0-7). 1098 1099 / 2) PARITY ERROR DETECTION AND RETRY (WITH COUNTER). 1100 1101 / 3) NOT READY OR WRITE LOCK DETECTION AND RETRY (WITH COUNTER). 1102 1103 / 4) WAITS IN PDP-8 MODE, THUS ALLOWING INTERRUPTS. 1104 1105 / 5) SUPPORTS 256 OR 257 WORDS/BLOCK LINCTAPES AS A NON-STANDARD 1106 / FEATURE OF THIS PROGRAM. / P?S/8 LINCTAPE BLOCK-ODT PAL8-VB0 23-JUL-86 PAGE 26 1107 2000 PAGE /START ON A GOOD BOUNDARY 1108 1109 2000 HERE= . /WHERE WE ARE 1110 1111 / DEFINITIONS. 1112 1113 0001 AXO= 0001 /LOAD EXTENDED OPERATIONS BUFFER 1114 0400 BLKSIZE=0400 /256 WORDS/BLOCK (ALSO ALLOWS 257) 1115 1000 LDA= 1000 /LOAD ACCUMULATOR 1116 6141 LINC= 6141 /GOTO LINC MODE 1117 6151 LMR= 6151 /LOAD MAINTENANCE REGISTER 1118 4000 LTLENGT=4000 /LINCTAPE BLOCK COUNT 1119 7326 NL0002= CLA CLL CML RTL /LOAD AC WITH 0002 1120 7330 NL4000= CLA CLL CML RAR /LOAD AC WITH 4000 1121 7346 NL7775= CLA CLL CMA RTL /LOAD AC WITH 7775 1122 0002 PDP= 0002 /GOTO PDP-8 MODE 1123 0702 RDE= 0702 /READ A TAPE BLOCK 1124 0002 REVISIO="B&77 /REVISION OF HANDLER 1125 0003 TAC= 0003 /TAPE ACCUMULATOR TO ACCUMULATOR 1126 0023 TMA= 0023 /LOAD TAPE MEMORY ADDRESS REGISTER 1127 6152 TRC= 6152 /TAPE REGISTER CLOCK 1128 6154 XFR= 6154 /TRANSFER SELECTED REGISTER TO ACCUMULATOR 1129 1130 / DEVICE HANDLER HEADER BLOCK. 1131 1132 0114 *"L&177;*"T&177;*"D&177 /GROUP NAME 1133 0124 1134 0104 1135 7777 *-1 /GROUP COUNT 1136 0114 *"L&177;*"T&177;*"D&177 /DEVICE NAME 1137 0124 1138 0104 1139 0000 *LINCTAPE&177 /ENTRY POINT 1140 3777 *LTLENGTH-1 /LENGTH EXPRESSED AS HIGHEST BLOCK 1141 0002 *REVISION /REVISION OF HANDLER / P?S/8 LINCTAPE BLOCK-ODT PAL8-VB0 23-JUL-86 PAGE 30 1274 / REGULAR LINC-8 LINCTAPE HANDLER 1275 1276 / P?S/8 NON-SYSTEM LINCTAPE HANDLER FOR THE REGULAR (UN-MODIFIED) LINC-8. 1277 1278 / LAST EDIT: 17-APR-1986 10:00:00 CJL 1279 1280 / MAY BE ASSEMBLED WITH '/J' SWITCH SET. 1281 1282 / FEATURES: 1283 1284 / 1) SUPPORT OF EIGHT UNITS (0-7). 1285 1286 / 2) STORAGE OF LATEST BLOCK SEARCHED. 1287 1288 / 3) CUSTOM OVERSHOOT FACTOR. 1289 1290 / 4) CORRECT INITIAL SEARCH DIRECTION BY COMPARING THE DESIRED 1291 / BLOCK TO THE LATEST BLOCK SEARCHED, OFFSET BY THE CUSTOM 1292 / OVERSHOOT FACTOR. 1293 1294 / 5) PARITY ERROR DETECTION. 1295 1296 / 6) SUPPORTS 256 WORDS/BLOCK LINCTAPES AS A NON-STANDARD FEATURE 1297 / OF THIS HANDLER. 1298 1299 / RESTRICTIONS: 1300 1301 / 1) NO RETRIES ON ERROR. 1302 1303 / 2) LATEST BLOCK SEARCHED IS IGNORANT OF CHANGE OF LOGICAL UNIT. / P?S/8 LINCTAPE BLOCK-ODT PAL8-VB0 23-JUL-86 PAGE 31 1304 2200 PAGE /START ON A GOOD BOUNDARY 1305 1306 2200 HERE= . /WHERE WE ARE 1307 1308 / DEFINITIONS. 1309 1310 0400 BLKSIZE=0400 /256 WORDS/BLOCK 1311 6171 IAAC= 6171 /READ LINC "A" REGISTER 1312 6167 IACA= 6167 /LOAD LINC "A" REGISTER 1313 6175 IACF= 6175 /LOAD LINC INDICATOR FLIP-FLOPS 1314 6141 ICON= 6141 /LOAD INTERFACE CONTROL 1315 6147 INTS= 6147 /READ INTERFACE STATUS 1316 6173 IZSA= 6173 /LOAD LINC "Z" REGISTER INTO LINC "A" REGISTER 1317 4000 LTLENGT=4000 /LINCTAPE BLOCK COUNT 1318 7326 NL0002= CLA CLL CML RTL /LOAD AC WITH 0002 1319 7240 NL7777= CLA CMA /LOAD AC WITH 7777 1320 0001 REVISIO="A&77 /REVISION OF HANDLER 1321 1322 / DEVICE HANDLER HEADER BLOCK. 1323 1324 0114 *"L&177;*"I&177;*"D&177 /GROUP NAME 1325 0111 1326 0104 1327 7777 *-1 /GROUP COUNT 1328 0114 *"L&177;*"I&177;*"D&177 /DEVICE NAME 1329 0111 1330 0104 1331 0000 *L8TAPE&177 /ENTRY POINT 1332 3777 *LTLENGTH-1 /LENGTH EXPRESSED AS HIGHEST BLOCK 1333 0001 *REVISION /REVISION OF HANDLER / P?S/8 LINCTAPE BLOCK-ODT PAL8-VB0 23-JUL-86 PAGE 37 1547 002506 1617 NOLMSG, TEXT "NO LINCTAPE HARDWARE!" 1548 002507 4014 1549 002510 1116 1550 002511 0324 1551 002512 0120 1552 002513 0540 1553 002514 1001 1554 002515 2204 1555 002516 2701 1556 002517 2205 1557 002520 4100 1558 1559 002572 7602 1560 002573 0501 1561 002574 4031 1562 002575 4033 1563 002576 6212 1564 002577 3540 1565 2600 PAGE 1566 1567 $ /HERE COME THE LITERALS! 1568 000143 0047 1569 000144 0017 1570 000145 0377 1571 000146 0400 1572 000147 0007 1573 000150 0503 1574 000151 2000 1575 000152 0200 1576 000153 7774 1577 000154 7770 1578 000155 0057 1579 000156 1115 1580 000157 0015 1581 000160 0707 1582 000161 0060 1583 000162 0010 1584 000163 1000 1585 000164 0741 1586 000165 7400 1587 000166 1107 1588 000167 0411 1589 000170 0460 1590 000171 7611 1591 000172 0177 1592 000173 0136 1593 000174 0077 1594 000175 0040 1595 000176 0420 1596 000177 1540