File: TDFR50.LS of Disk: V50/Source/Source-Listing-PAL-1
(Source file text)
/TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 1 /TD8E FORMATTER V50 / / / / / / // / / / / /COPYRIGHT (C) 1971, 1975 /DIGITAL EQUIPMENT CORPORATION, WVDMARK / / / /THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A /SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE INCLU- /SION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR ANT OTHER /COPIES THEREOF, MAY NOT BR PROVIDED OR OTHERWISE MADE AVAILABLE /TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO /AGREES TO THESE LICENSE TERMS. TITLE TO AND OWNERSHIP OF THE /SOFTWARE SHALL AT ALL TIMES REMAIN IN DEC. / / /THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT /NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL /EQUIPMRNT COROPATION. / /DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS /SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. / / / / / / /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 2 /TD8E DECTAPE FORMATTER COPYRIGHT 1971 /DIGITAL EQUIPMENT CORP. /MAYNARD , MASS 0010 X1=10 0011 X2=11 /SYMBOL TABLE AUGMENTATION 6771 SDSS=6771 6772 SDST=6772 6773 SDSQ=6773 6774 SDLC=6774 6775 SDLD=6775 6776 SDRC=6776 6777 SDRD=6777 0000 *0 000000 0000 0 000001 5001 JMP 1 /HLT PROGRAM GOT INTERRUPTED SOMEHOW 000002 0002 2 000003 0003 3 000004 0000 0 000005 0000 0 /WORKING LOCATIONS 0020 *20 000020 0000 W1, 0000 000021 0000 W2, 0000 000022 0000 W3, 0000 000023 0000 W4, 0000 000024 0000 W5, 0000 000025 0000 W6, 0000 000026 0000 BLOCKS, 0000 000027 0000 DTA, 0000 000030 0000 PHASE, 0000 000031 0000 TOTAL, 0000 000032 0000 VAR1, 0000 000033 0000 VAR2, 0000 /CONSTANTS 000034 0017 C0017, 0017 000035 0070 C0070, 0070 000036 0077 C0077, 0077 000037 0007 C0007, 0007 /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 2-1 000040 0700 C0700, 0700 000041 0203 C203, 0203 000042 0201 C201, 0201 000043 0260 C260, 0260 000044 0261 C261, 0261 000045 0270 C270, 0270 000046 0271 C271, 0271 000047 0277 C277, 0277 000050 1620 C1620, 1620 000051 7000 C7000, 7000 000052 7700 C7700, 7700 000053 7714 C7714, 7714 000054 7761 C7761, 7761 000055 0215 CRCOD, 0215 000056 0313 LETK, 0313 000057 0212 LFCOD, 0212 000060 7776 M2, -2 000061 7775 M3, -3 000062 7772 M6, -6 000063 7771 M7, -7 000064 7764 M14, -14 000065 7634 M144, -144 000066 0240 SPCOD, 0240 000067 3377 BADD, BUFFER-1 000070 3400 BFR, BUFFER 000071 0325 COMPAR, COMPRE 000072 1066 IT, INIT1 000073 0400 QU1, Q1 000074 0410 QU2, Q2 000075 0422 QU3, Q3 000076 0434 QU4, Q4 000077 0454 MESS, MES 000100 1011 STX, START 000101 0523 TYOCT, TYCT 000102 0202 TYPE, MESAGE 000103 0260 TYPIN, TYPN 000104 0600 WAIT, STALL 000105 0000 WC, 0 000106 0000 MTR, 0 000107 3120 SLRDRC, SRDRC 000110 0000 DATRD, 0 000111 7723 M55, -55 000112 7753 M25, -25 000113 7752 M26, -26 000114 7746 M32, -32 000115 7770 M10, -10 000116 7710 M70, -70 000117 7705 M73, -73 000120 7727 M51, -51 000121 7733 M45, -45 000122 7756 M22, -22 000123 7635 M143, -143 000124 7726 M52, -52 000125 7747 M31, -31 /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 2-2 000126 7472 M306, -306 000127 0000 CNT, 0 000130 7774 M4, -4 000131 7471 M307, -307 000132 3000 SSDSQT, SDSQT 000133 3027 SA3LNS, A3LNS 000134 3056 SCEXPC, CEXPC 000135 0077 MSK77, 0077 000136 3133 NUD, NUDTA 000137 0000 BLK, 0 000140 0000 REVBLK, 0 000141 3070 BCXOR, SBCXOR 000142 0000 CHKSUM, 0 000143 0000 SBWORD, 0 /TYPE THE CHARACTER IN THE AC ON THE KEYBOARD PRINTER 000144 0000 RSEND, 0000 000145 6046 TLS /LOAD AND PRINT, CLEAR FLAG 000146 6041 TSF /WAIT FOR CONFIRMATION 000147 5146 JMP .-1 /ENDLESSLY 000150 6042 TCF /CLEAR THE FLAG ANYWAY 000151 5544 JMP I RSEND /PRINT A "?" ON THE KEYBOARD TYPER 000152 0153 QU, .+1 000153 6002 IOF 000154 7300 CLA CLL /C(AC)+C(L)=0 000155 1047 TAD C277 /"?" 000156 4144 JMS RSEND /TYPE THE CHARACTER 000157 5560 JMP I .+1 /RESTART 000160 1072 INIT /DECTAPE CONTROL WORDS 000161 1400 DT1400, 1400 000162 0400 DT0400, 0400 000163 2000 DT2000, 2000 000164 3000 DT3000, 3000 000165 1000 DT1000, 1000 000166 3155 BINCO, BINCON 000167 0724 SELTIM, ZTIM 000170 0657 MARKER, ZMKTK 000171 0613 BLKERR, ZBLK 000172 0637 DATERR, ZDATA 000173 0702 CHKERR, ZPAR 000174 1400 DOMARK, STMK 000175 0000 DBUFPT, 0 /POINTER TO CURRENT POSITION IN DTA LIST /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 2-3 0200 *200 /PAGE 1 /TYPE CANNED MESSAGES..... /THANKS TO DIGITAL 8-18-U 000200 5601 JMP I .+1 000201 0515 PATCH 000202 0000 MESAGE, 0 000203 6002 IOF 000204 7240 CLA CMA /SET C(AC)=-1 000205 1202 TAD MESAGE /ADD LOCATION 000206 3010 DCA 10 /AUTO INDEX REGISTER 000207 1410 TAD I 10 /FETCH FIRST WORD 000210 3221 DCA MSRGHT /SAVE IT 000211 1221 TAD MSRGHT 000212 7012 RTR 000213 7012 RTR /ROTATE 6 BITS TO THE RIGHT 000214 7012 RTR 000215 4222 JMS TYPECH /TYPE IT 000216 1221 TAD MSRGHT /GET DATA AGAIN 000217 4222 JMS TYPECH /TYPE RIGHT HALF 000220 5207 JMP MESAGE+5 /CONTINUE 000221 0000 MSRGHT, 0 /TEMPORARY STORAGE 000222 0000 TYPECH, 0 /TYPE CHARACTER IN C(AC)6-11 000223 0036 AND C0077 000224 7450 SNA /IS IT END OF MESSAGE? 000225 5410 JMP I 10 /YES: EXIT 000226 1253 TAD M40 /SUBTRACT 40 000227 7500 SMA /<40? 000230 5233 JMP .+3 /NO 000231 1254 TAD C340 /YES: ADD 300 000232 5246 JMP MTP /TO CODES <40 000233 1061 TAD M3 /SUBTRACT 3 000234 7440 SZA /IS IT ZERO? 000235 5240 JMP .+3 /NO 000236 1255 TAD C212 /YES: CODE 43 IS 000237 5246 JMP MTP /LINE-FEED (212) 000240 1060 TAD M2 /SUBTRACT 2 000241 7440 SZA /IS IT ZERO? 000242 5245 JMP .+3 /NO 000243 1256 TAD C215 /YES: CODE 45 IS 000244 5246 JMP MTP /CARRIAGE RETURN (215) 000245 1257 TAD C245 /ADD 200 TO OTHERS >40 000246 6046 MTP, TLS /TRANSMIT CHARACTER 000247 6041 TSF /WAIT FOR THE FLAG 000250 5247 JMP .-1 /NOT SET YET 000251 7200 CLA /SET: CLEAR C(AC) 000252 5622 JMP I TYPECH /RETURN /CONSTANTS 000253 7740 M40, -40 000254 0340 C340, 340 000255 0212 C212, 212 000256 0215 C215, 215 /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 2-4 000257 0245 C245, 245 /ROUTINE WAITS UNTILL A COMPLETE MESSAGE HAS BEEN ENTERED /SIGNIFIED BY A CR. 000260 0000 TYPN, 0 000261 6002 IOF 000262 6032 KCC /CLEAR AC, KEYBOARD FLAG 000263 1067 TAD BADD /GET BUFFER ADDRESS 000264 3020 DCA W1 /STORE FOR THE CHARACTER STRING /READ AND RESPOND WITH THE CHARACTER 000265 2020 NTYRTN, ISZ W1 /NORMAL RETURN. INCREMENT BUFFER 000266 6031 KSF /WAIT FOR KEYBOARD 000267 5266 JMP .-1 /FLAG TO RAISE 000270 6036 KRB /GOT FLAG, RESET IT, GET CHARACTER 000271 4144 JMS RSEND /SEND CHARACTER BACK 000272 0377 AND (177 /TAKE CARE OF PARITY 000273 1376 TAD (200 000274 3420 DCA I W1 /LOAD CHARACTER INTO BUFFER AREA 000275 1420 TAD I W1 /CHECK FOR CTRL C 000276 7041 CIA 000277 1041 TAD C203 000300 7640 SZA CLA 000301 5306 JMP CHKSP /NO- CHECK FOR SPACE 000302 6007 6007 /CAF- CLEAR ALL FLAGS 000303 7000 NOP /JUST IN CASE 000304 7200 CLA 000305 5775' JMP 7605 /IF CHARACTER IS A SPACE, IGNORE IT 000306 1420 CHKSP, TAD I W1 /CHARACTER INTO THE AC 000307 7041 CIA /SUBTRACT FROM SPACE CODE (240) 000310 1066 TAD SPCOD /COMPLETE COMPARISON 000311 7650 SNA CLA /WAS IT A SPACE? 000312 5266 JMP NTYRTN+1 /YES: DO NOT INCREMENT BUFFER /IF CHARACTER IS A CR, EXIT FROM ROUTINE 000313 1420 TAD I W1 /CHARACTER TO AC 000314 7041 CIA /SET AC TO SUBTRACT CR (215) 000315 1055 TAD CRCOD /COMPLETE COMPARISON 000316 7640 SZA CLA /WAS IT CR? 000317 5265 JMP NTYRTN /NO: INCREMENT BUFFER + WAIT /CARRIAGE RETURN FOUND, EXIT FROM ROUTINE 000320 1057 TAD LFCOD /GIVE KEYBOARD LINE FEED 000321 4144 JMS RSEND /EXECUTE LINE FEED 000322 7300 CLA CLL /EXIT WITH C(ACC) + AND C(L)=0 000323 6002 IOF 000324 5660 JMP I TYPN /RETURN TO CALL /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 3 /COMPARE A STRING OF CHARACTERS IN "BUFFER" /TO A CHARACTER STRING AFTER A JMS IN ASCII 000325 0000 COMPRE, 0 000326 7240 CLA CMA /C(AC)=7777 000327 1325 TAD COMPRE /SUBTRACT 1 FOR INDEX REG 1 000330 3010 DCA 10 /AUTO INDEX 1 SET TO CHA STRING 000331 1067 TAD BADD /AUTO INDEX 2 SET TO BUFFER-1 000332 3011 DCA 11 /LOAD X2 /COMPARE CHARACTERS TILL ONE DOESN'T COMPARE OR TILL /A 0 IS FOUND IN X1. IF OK, RETURN TO TWO PLUS THE /ZERO, IF BAD ONE PLUS 000333 1410 TAD I X1 /CHARACTER FROM PROGRAM 000334 7041 CIA /TO SUBTRACT FROM 000335 1411 TAD I X2 /CHARACTER IN BUFFER 000336 7640 SZA CLA /COMPARE? 000337 5345 JMP CERR /NO:RESYNC FOR NON COMPARE EXIT 000340 1410 TAD I X1 /YES: CHECK FOR GOOD EXIT 000341 7440 SZA /IF 0, EXIT GOOD 000342 5334 JMP .-6 /NO: TEST NEXT CHAACTER 000343 2010 ISZ X1 /+1 TO X1(TOTAL 2 FROM THE 0) 000344 5410 JMP I X1 /+1 TO X1, EXIT /ERROR FOUND. RESYNC AND EXIT NO COMPARE 000345 1410 CERR, TAD I X1 /CHARACTER FROM PROGRAM 000346 7640 SZA CLA /IS THIS EXIT KEY? (0000) 000347 5345 JMP .-2 /NO: GET NEXT 000350 5410 JMP I X1 /YES: EXIT, NOT COMPARE /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 4 000375 7605 000376 0200 000377 0177 0400 *400 /VARIOUS ERROR MESSAGES /"NOT DECIMAL" 000400 4502 Q1, JMS I TYPE 000401 1617 1617 /NO 000402 2440 2440 /T 000403 0405 0405 /DE 000404 0311 0311 /CI 000405 1501 1501 /MA 000406 1400 1400 /L 000407 5247 JMP QUX /"TO MANY WORDS" 000410 4502 Q2, JMS I TYPE 000411 2417 2417 /TO 000412 1740 1740 /O 000413 1501 1501 /MA 000414 1631 1631 /NY 000415 4027 4027 / W 000416 1722 1722 /OR 000417 0423 0423 /DS 000420 0000 0000 /00 000421 5247 JMP QUX /"TO MANY BLOCKS" 000422 4502 Q3, JMS I TYPE 000423 2417 2417 /TO 000424 1740 1740 /O 000425 1501 1501 /MA 000426 1631 1631 /NY 000427 4002 4002 / B 000430 1417 1417 /LO 000431 0313 0313 /CK 000432 2300 2300 /S0 000433 5247 JMP QUX /"NOT DIVISIBLE BY 3" 000434 4502 Q4, JMS I TYPE 000435 1617 1617 /NO 000436 2440 2440 /T 000437 0411 0411 /DI 000440 2611 2611 /VI 000441 2311 2311 /SI 000442 0214 0214 /BL 000443 0540 0540 /E 000444 0231 0231 /BY 000445 4063 4063 / 3 /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 4-1 000446 0000 0000 /00 000447 4502 QUX, JMS I TYPE 000450 4345 4345 /CR+LF 000451 0000 0000 /END 000452 5653 JMP I .+1 000453 1072 INIT /THE CODING BELOW CREATES THE BLOCK NUMBER /CONVERSION PRIOR TO THE TAPE WRITE. 000454 0000 MES, 0 000455 3023 DCA W4 /SAVE WORD 000456 7100 CLL 000457 1023 TAD W4 000460 7052 CMA RTR 000461 7012 RTR 000462 0051 AND C7000 000463 3306 DCA V1 000464 1023 TAD W4 000465 7046 CMA RTL 000466 7004 RAL 000467 0040 AND C0700 000470 3307 DCA V2 000471 1023 TAD W4 000472 7052 CMA RTR 000473 7010 RAR 000474 0035 AND C0070 000475 3313 DCA V3 000476 1023 TAD W4 000477 7046 CMA RTL 000500 7006 RTL 000501 0037 AND C0007 000502 1306 TAD V1 000503 1307 TAD V2 000504 1313 TAD V3 000505 5654 JMP I MES 000506 0000 V1, 0000 000507 0000 V2, 0000 000510 7777 7777 000511 7700 7700 000512 0000 0000 000513 0000 V3, 0000 000514 0000 0000 000515 7200 PATCH, CLA 000516 1322 TAD .+4 000517 3001 DCA 1 000520 5721 JMP I .+1 000521 1000 STAR0 000522 7402 HLT /TYPE ONE FOUR CHARACTER OCTAL WORD GIVEN TO THE /ROUTINE VIA C(ACC). C(ACC)=0 ON EXIT 000523 0000 TYCT, 0 000524 3363 DCA TW1 /STORE WORD GIVEN /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 4-2 000525 1363 TAD TW1 /TO C(ACC) AGAIN 000526 7012 RTR 000527 7012 RTR /6 BITS RIGHT 000530 7012 RTR 000531 3360 DCA TYCT1+2 /SAVE ROTATED VALUE, 1ST TWO 000532 1360 TAD TYCT1+2 /TO C(ACC) AGAIN 000533 0037 AND C0007 /ISOLATE SECOND CHARACTER 000534 1364 TAD C6060 /CONVERT TO ASCII 000535 3357 DCA TYCT1+1 /STORE AS FIRST PARTIAL 2 000536 1360 TAD TYCT1+2 /ROTATED VALUE STORED ABOVE 000537 7006 RTL 000540 7004 RAL /3 BITS LEFT 000541 0040 AND C0700 /ISOLATE FIRST CHARACTER 000542 1357 TAD TYCT1+1 /CONVERT 1ST TO ASCII 000543 3357 DCA TYCT1+1 /1ST AND 2ND CHARACTERS READY 000544 1363 TAD TW1 /ORIGIONAL WORD 000545 0037 AND C0007 /ISOLATE 4TH CHARACTER 000546 1364 TAD C6060 /CONVERT 4 TH TO ASCII 000547 3360 DCA TYCT1+2 /STORE 4TH FOR A MOMENT 000550 1363 TAD TW1 /ORIGIONAL WORD 000551 7006 RTL 000552 7004 RAL /POSITION IT 3RD CHARACTER 000553 0040 AND C0700 /ISOLATE 3RD CHARACTER 000554 1360 TAD TYCT1+2 /CONVERT TO ASCII 000555 3360 DCA TYCT1+2 /CONVERSION COMPLETE 000556 4502 TYCT1, JMS I TYPE /TYPE THE FOUR CHARACTERS 000557 0000 0 /FIRST 2 000560 0000 0 /SECOND 2 000561 0000 0 /KILL KEY 000562 5723 JMP I TYCT /EXIT FROM ROUTINE /SOME CONSTANTS FOR THE ROUTINE 000563 0000 TW1, 0000 000564 6060 C6060, 6060 /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 5 0600 *600 000600 0000 STALL, 0 000601 7200 CLA 000602 1412 TAD I 12 /WORD TO BE WRITTEN 000603 6773 SDSQ /WAIT FOR QUADLINE FLAG 000604 5203 JMP .-1 000605 6775 SDLD /LOAD DATA REGISTERS 000606 6772 SDST /CHECK FOR TIMING ERROR 000607 7410 SKP 000610 4567 JMS I SELTIM /TIMING ERROR 000611 7200 CLA 000612 5600 JMP I STALL /GO GET NEXT WORD /WAIT TILL WORD COUNT REGISTER GOES TO ZERO /BLOCK NUMBER ERROR 000613 0000 ZBLK, 0 000614 7200 CLA 000615 1027 TAD DTA 000616 6774 SDLC /STOP MOVEMENT OF TAPE 000617 4502 JMS I TYPE 000620 2003 2003 /PC 000621 4000 4000 /END 000622 7240 CLA CMA 000623 1213 TAD ZBLK 000624 4501 JMS I TYOCT 000625 4502 JMS I TYPE 000626 4040 4040 /DOUBLE SPACE 000627 0214 0214 /BL 000630 1703 1703 /OC 000631 1340 1340 /K 000632 1625 1625 /NU 000633 1502 1502 /MB 000634 0522 0522 /ER 000635 4000 4000 /END 000636 5344 JMP ZCOM /DATA ERRORS 000637 0000 ZDATA, 0 000640 7200 CLA 000641 1027 TAD DTA 000642 6774 SDLC /STOP THE TAPE 000643 4502 JMS I TYPE 000644 2003 2003 000645 4000 4000 000646 7240 CLA CMA 000647 1237 TAD ZDATA 000650 4501 JMS I TYOCT 000651 4502 JMS I TYPE 000652 4040 4040 /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 5-1 000653 0401 0401 /DA 000654 2401 2401 /TA 000655 4000 4000 /END 000656 5344 JMP ZCOM /MARK TRACK ERROR 000657 0000 ZMKTK, 0 000660 7200 CLA 000661 1027 TAD DTA 000662 6774 SDLC /STOP THE TAPE 000663 4502 JMS I TYPE 000664 2003 2003 /PC 000665 4000 4000 /END 000666 7240 CLA CMA 000667 1257 TAD ZMKTK 000670 4501 JMS I TYOCT 000671 4502 JMS I TYPE 000672 4040 4040 000673 1501 1501 /MA 000674 2213 2213 /RK 000675 4024 4024 / T 000676 2201 2201 /RA 000677 0313 0313 /CK 000700 4000 4000 / 0 000701 5344 JMP ZCOM /PARITY ERROR 000702 0000 ZPAR, 0 000703 7200 CLA 000704 1027 TAD DTA 000705 6774 SDLC /STOP THE TAPE 000706 4502 JMS I TYPE 000707 2003 2003 /PC 000710 4000 4000 /END 000711 7240 CLA CMA 000712 1302 TAD ZPAR 000713 4501 JMS I TYOCT 000714 4502 JMS I TYPE 000715 4040 4040 000716 0310 0310 /CH 000717 0503 0503 /EC 000720 1323 1323 /KS 000721 2515 2515 /UM 000722 4000 4000 /0 000723 5344 JMP ZCOM /TIMING ERROR 000724 0000 ZTIM, 0 000725 7200 CLA 000726 1027 TAD DTA 000727 6774 SDLC /STOP THE TAPE 000730 4502 JMS I TYPE /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 5-2 000731 2003 2003 000732 4000 4000 000733 7240 CLA CMA 000734 1324 TAD ZTIM 000735 4501 JMS I TYOCT 000736 4502 JMS I TYPE 000737 4040 4040 000740 2411 2411 /TI 000741 1511 1511 /MI 000742 1607 1607 /NG 000743 4000 4000 / 0 /TYPE "ERROR PHASE X" 000744 1030 ZCOM, TAD PHASE /WHAT PHASE OF OPERATION 000745 1363 TAD PFORM /WAS THE MACHINE IN 000746 3356 DCA TFORM /WHEN ERROR OCCURED 000747 4502 JMS I TYPE 000750 0522 0522 /ER 000751 2217 2217 /RO 000752 2240 2240 /R 000753 2010 2010 /PH 000754 0123 0123 /AS 000755 0540 0540 /E 000756 4060 TFORM, 4060 / X 000757 4543 4543 /CR+LF 000760 0000 0000 /END 000761 5762 JMP I .+1 000762 2726 RETRY 000763 4060 PFORM, 4060 /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 6 /HERE STARTS THIS PROGRAM. IT WILL ASK THE /OPERATOR FOR DRIVE NUMBERS, THEN ASK HIM FOR /A DIRECTION ON WHAT TO DO WITH THE DRIVES. /THE SEQUENCE FOR MARKING A TAPE WOULD APPEAR AS: /UNIT? (0 OR 1 OR 0 1) /FORMAT? (MARK 1215) /2277 WORDS, 0256 BLOCKS.OK? YES OR NO /(YES) /THAT DATA IN PARENTHESIS IS TYPED BY THE OPERATOR /(HE DOESN'T TYPE THE PARENTHESIS) /IF HE HAD ANSWERED NO, "FORMAT?" WOULD BE TYPED OUT. /IF THE DRIVE WAS WRONG, HE WOULD TYPE RESTART. /IF HE HAD TYPED "MARK" IN RESPONSE TO "FORMAT?" THE /TAPE WOULD BE MARKED WITH THE STANDARD PDP-8 CONFIGURATION. /IF HE HAD TYPED "MARK 384" THE TAPE WOULD /BE MARKED WITH THE STANDARD PDP-10 CONFIGURATION /NOTE: THE WORD AND BLOCK NUMBERS ARE TYPED IN OCTAL /IF A MISTAKE OCCURS ON THE OPERATORS PART (WITH REFERANCE /TO BLOCK + WORD SIZE) HE WILL BE TOLD ABOUT IT 1000 *1000 /MAKE A CALL FOR THE DECTAPE NUMBERS TO BE /WORKED. 001000 4502 STAR0, JMS I TYPE /TYPE VERSION NUMBER 001001 4543 4543 /CR+LF 001002 4300 4300 /LF+0 001003 4502 JMS I TYPE 001004 2404 TEXT /TDFMT V50/ 001005 0615 001006 2440 001007 2665 001010 6000 001011 4502 START, JMS I TYPE /SET UP TYPER 001012 4543 4543 /CR+LF 001013 4300 4300 /LF+END 001014 4502 TYQU, JMS I TYPE /"UNIT?" 001015 2516 2516 /UN 001016 1124 1124 /IT 001017 7740 7740 /? 001020 0000 0000 /END /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 6-1 /WAIT FOR A REPLY 001021 4503 JMS I TYPIN /GET NUMBERS 001022 1067 TAD BADD /INITIALIZE POINTER (BFR) 001023 7001 IAC /(BADD=BUFFER-1, SO BUMP THE AC) 001024 3070 DCA BFR /TO START OF INPUT BUFFER 001025 3777' DCA DCTR /INITIALIZE DTA COUNTER TO 0 001026 3357 DCA CRFLAG /CLEAR FLAG SO CR NOT ACCEPTIBLE 001027 1055 CRCHK, TAD CRCOD /GET CODE FOR CAR. RETN 001030 7041 CIA /NEGATE IT 001031 1470 TAD I BFR /SEE IF NEXT CHAR. IN 001032 7450 SNA /BUFFER IS CAR. RETN. 001033 5255 JMP OKCR /YES: SEE IF C.R. LEGAL HERE 001034 3357 DCA CRFLAG /NO: SO C.R. IS LEGAL NOW 001035 1043 VALCHK, TAD C260 /SEE IF # IS LESS THAN 001036 7041 CIA /ASCII 0 (260) 001037 1470 TAD I BFR /SUBTRACT BUFFER DATA 001040 7710 SPA CLA /IS IT LESS THAN ASII 0? 001041 5214 JMP TYQU /YES: TELL OUTSIDE WORLD 001042 1044 TAD C261 /NO: SEE IF GREATER THAN 001043 7040 CMA /ASC II 1 (261) 001044 1470 TAD I BFR /SUBTRACT BUFFER DATA 001045 7700 SMA CLA /GREATER THAN ASCII 7? 001046 5214 JMP TYQU /YES: TELL OUTSIDE WORLD 001047 1470 TAD I BFR /NO: ACCEPT BUFFER 001050 7012 RTR 001051 0051 AND C7000 /ISOLATE DTA 001052 4776' JMS REPEAT /GO CHECK FOR REPEATED DTA AND STORE # 001053 2070 ISZ BFR /INCREMENT INPUT BUF. PTR. 001054 5227 JMP CRCHK /GO LOOK AT NEXT CHAR. /THIS SECTION CHECKS TO SEE IF THERE HAS BEEN ANY /VALID INPUT ONCE A CARRIAGE RETURN IS SEEN 001055 7200 OKCR, CLA /CLEAR AC 001056 1357 TAD CRFLAG /LOAD CR FLAG; 0 MEANS NO GOOD 001057 7650 SNA CLA 001060 5211 JMP START /0: NO VALID INPUT; RESTART 001061 1777' TAD DCTR /NOT 0: SO HAVE VALID INPUT 001062 1775' TAD DBUFAD /CALCULATE END OF DTA LIST +1 001063 3175 DCA DBUFPT /STORE IT IN BUFFER POINTER, THEN 001064 7040 CMA /COMPLEMENT THE AC AND 001065 3575 DCA I DBUFPT /TERMINATE DTA LIST WITH 7777 001066 7200 INIT1, CLA /CLEAR AC IF COME THRU LOC IT 001067 1775' TAD DBUFAD /AND RESET LIST POINTER 001070 3175 DCA DBUFPT /TO START OF LIST 001071 4756 JMS I GETDTA /GO GET A DTA NUMBER /INFORM THE OPERATOR THAT THE PROGRAM IS SET TO START /TYPE "FORMAT" AND WAIT FOR THE REPLY 001072 4502 INIT, JMS I TYPE /MESSAGE OUT 001073 0617 0617 /FO 001074 2215 2215 /RM 001075 0124 0124 /AT 001076 7740 7740 /? /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 6-2 001077 0000 0000 /END 001100 4503 JMS I TYPIN /WAIT FOR A REPLY 001101 4471 JMS I COMPAR /DID HE TYPE "MARK"? 001102 0315 0315 /M 001103 0301 0301 /A 001104 0322 0322 /R 001105 0313 0313 /K 001106 0000 0000 /END 001107 5312 JMP .+3 001110 5711 JMP I .+1 001111 1200 MARK /TO MARK A TAPE /SEE IF HE TYPED "RDR" (READ AND TYPE FIRST 12 /BLOCK NUMBERS IN REVERSE). 001112 4471 JMS I COMPAR 001113 0322 0322 /R 001114 0304 0304 /D 001115 0322 0322 /R 001116 0000 0000 /0 001117 5322 JMP .+3 001120 5721 JMP I .+1 001121 2677 RDR /TYPE BLOCKS /SEE IF HE TYPED "RDF" (READ AND TYPE FIRST 12 /BLOCK NUMBERS FORWARD). 001122 4471 JMS I COMPAR 001123 0322 0322 /R 001124 0304 0304 /D 001125 0306 0306 /F 001126 0000 0000 /0 001127 5332 JMP .+3 001130 5731 JMP I .+1 001131 2600 RDFA /TYPE BLOCKS /SEE IF HE TYPED "SAME" (MEANING MARK A TAPE /USING THE SAME CONSTANTS AS BEFORE). 001132 4471 JMS I COMPAR 001133 0323 0323 /S 001134 0301 0301 /A 001135 0315 0315 /M 001136 0305 0305 /E 001137 0000 0000 /0 001140 5343 JMP .+3 001141 5742 JMP I .+1 001142 3200 SWCHK /TO MARK AS BEFORE /SEE IF HE TYPED "RESTART" 001143 4471 JMS I COMPAR 001144 0322 0322 /R 001145 0305 0305 /E 001146 0323 0323 /S 001147 0324 0324 /T /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 6-3 001150 0301 0301 /A 001151 0322 0322 /R 001152 0324 0324 /T 001153 0000 0000 /0 001154 4152 JMS QU /MUST BE NONSENSE 001155 5211 JMP START /START ALL OVER 001156 3133 GETDTA, NUDTA /POINTER TO ROUTINE TO SWITCH UNITS 001157 0000 CRFLAG, 0 /=0, CR NO GOOD; NOT 0, CR IS OK /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 7 /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 8 001175 2544 001176 2525 001177 2543 1200 *1200 /MARK WAS TYPED IN, IF W1-1 IS NOT A "K",ASSUME THAT /A NUMBER WAS TYPED IN, AND VERIFY THIS. IF W1-1 IS /A "K", ASSUME STANDARD FORMAT.(W1=LAST ENTRY INTO THE BUFFER) 001200 1566 MARK, TAD I BINCO /ADDRESS OF FIRST BINARY 001201 3024 DCA W5 /CONSTANT FOR DEC TO BIN 001202 3031 DCA TOTAL /WILL BE BINARY EQUIVILANT /SAVE C(X1) FOR DECREMENT THROUGH BUFFER 001203 7240 DNC, CLA CMA /DECREMENT BUFFER ADDRESS 001204 1020 TAD W1 /ADDRESS BY 1 001205 3020 DCA W1 /W1=SWEEP ADDRESS /LOOK FOR END OF PROCESSING BY LOOKING FOR A "K" IN BUFFER 001206 1056 TAD LETK /LETTER ASCII "K" 001207 7041 CIA /SUBTRACT FROM CHARACTER 001210 1420 TAD I W1 /IN BUFFER 001211 7650 SNA CLA /EQUAL? 001212 5244 JMP DIV3 /YES: SEE IF DIVISIBLE BY 3 /VERIFY THIS CHARACTER AS BEING OF DECIMAL ORIGIN 001213 1043 TAD C260 /ASCII FOR 0 001214 7041 CIA /TO SEE IF CHARACTER 001215 1420 TAD I W1 /IS LESS THAN 260 001216 7710 SPA CLA /IS IT? 001217 5473 JMP I QU1 /YES: NOT DECIMAL CHARACTER 001220 1046 TAD C271 /ASCII FOR 9 001221 7040 CMA /TO SEE IF GREATER THAN 001222 1420 TAD I W1 /9 001223 7700 SMA CLA /IS IT? 001224 5473 JMP I QU1 /NOT A DECIMAL CHARACTER /CHARACTER IS DECIMAL. NOW CONVERT IT TO BINARY /REMEMBER POSITION OF CHARACTER IN BUFFER MAY BE /10,100,1000. 001225 1420 TAD I W1 /ISOLATE THE NUMBER 001226 0034 AND C0017 /FOR PROPER CONVERSION 001227 7450 SNA /IF 0, NO BINARY CONVERSION NEEDED 001230 5242 JMP IBS /YES: 0: INCREMENT BINARY CONVERSION /NOT 0, SET UP CONVERSION LOOP 001231 7141 CLL CIA /NUMBER OF ADDITIONS 001232 3023 DCA W4 /TO NEGATIVE FOR ISZ 001233 1424 TAD I W5 /BINARY POSITION TO C(ACC) 001234 1031 TAD TOTAL /ADD TO PRESENT TOTAL /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 8-1 001235 7430 SZL /CHECK ON TO MANY WORDS 001236 5474 JMP I QU2 /TO MANY WORDS CALLED FOR 001237 3031 DCA TOTAL /KEEP RUNNING SUM 001240 2023 ISZ W4 /LAST ADDITION? 001241 5233 JMP .-6 /NO: ADD AGAIN /FINAL ADDITION FOR THIS POSITION COMPLETED 001242 2024 IBS, ISZ W5 /NEXT POSITION 001243 5203 JMP DNC /DO NEXT CHARACTER /LAST CHARACTER COMPLETED. SEE IF DIVISIBLE BY 3 /IF NOT A NORMAL INPUT 001244 1031 DIV3, TAD TOTAL /GET TOTAL WORDS 001245 7450 SNA /IF TOTAL 0, NORMAL INPUT 001246 1042 TAD C201 /129 OCT. THIS TEST REDUNDANT 001247 1034 TAD C0017 /ADD CONSTANT 15 TO TOTAL 001250 3031 DCA TOTAL /FOR FUTURE CONSIDERATIONS 001251 3032 DCA VAR1 /# OF WORDS/3 FOR MARK TRACK WRITING 001252 1031 TAD TOTAL /RESTORE IN THE ACC 001253 7100 CLL /TO DIVIDE BY 3, LINK KEEPS OVERFLOW 001254 1061 TAD M3 /SUBTRACT 3 001255 2032 ISZ VAR1 /ON EACH DIVISION, KEEP RUNNING SUM 001256 7440 SZA /IF AC = 0,NO REMAINDER 001257 7420 SNL /WHEN LINC GOES TO 0, DIVISION ENDED 001260 7410 SKP /NOW SEE IF IT DIVIDED EVENLY 001261 5253 JMP .-6 /SUBTRACT 3 MORE 001262 7640 SZA CLA /IF 0,OK. OTHERWISE ERROR 001263 5476 JMP I QU4 /NOT DIVISIBLE BY 3 /CORRECT "VAR1" ( THE NUMBER OF WORDS/3) FOR THE +15 /ADDED JUST ABOVE AND AN INHERANT +2 DUE TO MARK TRACK /CONFIGURATION TO BE WRITTEN. 001264 1063 TAD M7 /SUBTRACT 7 FROM PHONY SETUP 001265 1032 TAD VAR1 /GIVING THE NUMBER OF TIMES 001266 7041 CIA /TO BE USED LATER IN A ISZ 001267 3032 DCA VAR1 /DATA MARK WILL BE WRITTEN /COMPUTE A VALUE FOR TOTAL NUMBER OF BLOCKS /RECORD SIZE + 15 INTO 636160 OCT. 001270 1053 TAD C7714 /EXTENDED 64 VALUE. SETS AC#2 001271 3020 DCA W1 /SET FOR 640000 001272 4755 JMS I FORM10 /PATCH TO CHECK FOR STD.10 FORMAT 001273 1050 TAD C1620 /VERNIER ADJUSTMENT FOR FORMULA 001274 7100 CLL /ACC#2 CARRY FUNCTION 001275 1031 TAD TOTAL /WORD COUNT 001276 2026 ISZ BLOCKS /+1 TO BLOCK COUNT 001277 7410 SKP 001300 5475 JMP I QU3 /TO MANY BLOCKS CALLED FOR 001301 7420 SNL /CARRY INTO ACC#2? 001302 5275 JMP .-5 /NO: CONTINUE COUNT 001303 2020 ISZ W1 /YES: FULLY DIVIDED? 001304 5274 JMP .-10 /NO: CONTINUE PROCESS /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 8-2 001305 7300 CLA CLL /C(ACC)+ C(L)=0 001306 1026 F10RTN, TAD BLOCKS /FOR MARK TRACK (COME HERE FR F10PAT IF 10 FRMT) 001307 7040 CMA /WRITING 001310 3033 DCA VAR2 /SEE MARK WRITE /VALUES FOR BLOCK AND RECORD SIZE HAVE BEEN /COMPUTED. TELL OUTSIDE WORLD AND GET THE OK. 001311 1031 TAD TOTAL /SUBTRACT 15 FROM TOTAL 001312 1054 TAD C7761 /WORDS FOOLING OPERATOR 001313 3031 DCA TOTAL /CORRECTED FOR TAPE WRITING 001314 1031 TAD TOTAL /FOR OCTAL TYPEOUT 001315 4501 JMS I TYOCT /TYPE OCTAL WORDS 001316 4502 JMS I TYPE /TYPE MESSAGE 001317 4027 4027 / W 001320 1722 1722 /OR 001321 0423 0423 /DS 001322 5400 5400 /, END 001323 1026 TAD BLOCKS /TYPE OUT BLOCK #S 001324 7001 IAC /TO FOOL THE OPERATOR 001325 4501 JMS I TYOCT /IN OCTAL 001326 4502 JMS I TYPE /TYPE MESSAGES 001327 4002 4002 / B 001330 1417 1417 /LO 001331 0313 0313 /CK 001332 2356 2356 /S. 001333 1713 1713 /OK 001334 7733 7733 /?( 001335 3105 3105 /YE 001336 2340 2340 /S 001337 1722 1722 /OR 001340 4016 4016 / N 001341 1735 1735 /O) 001342 4543 4543 /CR+LF 001343 0000 0000 /END 001344 4503 JMS I TYPIN /WAIT FOR REPLY /SEE IF A YES OR NO ANSWER WAS GIVEN 001345 4471 JMS I COMPAR 001346 0331 0331 /Y 001347 0305 0305 /E 001350 0323 0323 /S 001351 0000 0000 /END 001352 5472 JMP I IT 001353 5754 JMP I .+1 001354 3200 SWCHK 001355 1556 FORM10, F10PAT /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 9 1400 *1400 /SET THE TAPE INTO MOTION. ALL VARIABLES ARE SET. /WRITE TIMING AND MARK TRACK 001400 7200 STMK, CLA 001401 3030 DCA PHASE 001402 1161 TAD DT1400 /FWD, WRITE, GO 001403 1027 TAD DTA /GET UNIT NUMBER 001404 6774 SDLC /LOAD COMMAND REGISTER 001405 1033 TAD VAR2 /TO MAKE A RESTART FOR THE SAME 001406 3025 DCA W6 /OPTION POSSIBLE /WRITE ABOUT 10 FEET OF END ZONE 001407 3020 DCA W1 001410 1310 CEZ, TAD REZ /ADDRESS OF DATA 001411 4270 JMS SETUP 001412 2020 ISZ W1 001413 5210 JMP CEZ /NOT END FOOTAGE 001414 1065 TAD M144 /OK WRITE INTERBLOCK SYNC 001415 3020 DCA W1 001416 4222 JMS INBLSY 001417 2020 ISZ W1 001420 5216 JMP .-2 001421 5230 JMP WDZ /WRITE INTERBLOCK SYNC 001422 0000 INBLSY, 0 001423 1032 TAD VAR1 /RESET THE WORDS 001424 3024 DCA W5 001425 1314 TAD IBZ /ADDRESS OF DATA 001426 4270 JMS SETUP /GO OUT AND WRITE 1 001427 5622 JMP I INBLSY /GO DO AGAIN /WRITE FORWARD BLOCKMARK AND REVERSE GUARD 001430 1320 WDZ, TAD FBM /ADDRESS OF PATTERN 001431 4270 JMS SETUP /WRITE LOCKMARK, REVERSE CHECKSUM, REV FINAL, REV PREFINAL 001432 1324 LRCFP, TAD WLMRF 001433 4300 JMS SETUP1 /WRITE THE DATA TRACK 001434 1333 DTRK, TAD DZ /ADDRESS OF PATTERN 001435 4270 JMS SETUP 001436 2024 ISZ W5 001437 5234 JMP DTRK /NOW WRITE DATA MARK TRACK AGAIN /WRITE PREFINAL, FINAL, CHECKSUM, AND REVERSE LOCK 001440 1337 PFCRC, TAD FEZ /ADDRESS OF DATA 001441 4300 JMS SETUP1 /WRITE GUARD REVERSE BLOCK 001442 1346 GRB, TAD GRZ /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 9-1 001443 4270 JMS SETUP /THIS COMPLETES 1 BLOCK, GO BACK AND WRITE THE REST 001444 4222 JMS INBLSY /WRITE INTERBLOCK SYNC 001445 2025 ISZ W6 /TOTAL NUMBER OF BLOCKS 001446 5230 JMP WDZ /WRITTEN? NO: /ALL DATA BLOCKS WRITTEN NOW WRITE BUFFER ZONE OF INTERBLOCK SYNC 001447 1123 TAD M143 /198 EXPAND CODES AT END OF BLOCKS 001450 3020 DCA W1 001451 4222 JMS INBLSY 001452 2020 ISZ W1 001453 5251 JMP .-2 /FINISHED BLOCK WRITTING, WRITE ANOTHER 10(1) OF END ZONES 001454 3020 DCA W1 001455 1352 WEZF, TAD EZM 001456 4270 JMS SETUP 001457 2020 ISZ W1 001460 5255 JMP WEZF 001461 6772 SDST 001462 7610 SKP CLA 001463 4567 JMS I SELTIM /TIMING ERROR 001464 1373 TAD C1 001465 3030 DCA PHASE 001466 5667 JMP I .+1 001467 1600 MWTM 001470 0000 SETUP, 0 001471 3012 DCA 12 /WORD TO BE WRITTEN ON MARK TRACK 001472 1061 TAD M3 001473 3105 DCA WC 001474 4504 JMS I WAIT 001475 2105 ISZ WC 001476 5274 JMP .-2 001477 5670 JMP I SETUP 001500 0000 SETUP1, 0 001501 3012 DCA 12 001502 1062 TAD M6 001503 3105 DCA WC 001504 4504 JMS I WAIT 001505 2105 ISZ WC 001506 5304 JMP .-2 001507 5700 JMP I SETUP1 /THESE ARE THE DATA CONFIGURATIONS FOR THE MARK TRACK /REVERSE END ZONE 001510 1510 REZ, . 001511 4044 4044 /ON TAPE AS 5555 (OCT) 001512 0440 0440 001513 4404 4404 /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 9-2 /INTERBLOCK SYNC 001514 1514 IBZ, . 001515 0404 0404 /ON TAPE AS 2525 (OCT) 001516 0404 0404 001517 0404 0404 /FORWARD BLOCK MARK AND REVERSE GUARD 001520 1520 FBM, . 001521 0404 0404 /ON TAPE AS 2632 (OCT) 001522 4004 4004 001523 4040 4040 /LOCK MARK, REVERSE CHECKSUM, REVERSE FINAL /AND REVERSE PREFINAL 001524 1524 WLMRF, . 001525 0040 0040 /ON TAPE AS 10101010 (OCT) 001526 0000 0000 001527 4000 4000 001530 0040 0040 001531 0000 0000 001532 4000 4000 /DATA MARK 001533 1533 DZ, . 001534 4440 4440 /ON TAPE AS 7070 (OCT) 001535 0044 0044 001536 4000 4000 /PREFINAL, FINAL, FWD CHECKSUM, AND REVERSE LOCK 001537 1537 FEZ, . 001540 4440 4440 /ON TAPE AS 73737373 (OCT) 001541 4444 4444 001542 4044 4044 001543 4440 4440 001544 4444 4444 001545 4044 4044 /FORWARD GUARD AND REVERSE BLOCK NUMBER 001546 1546 GRZ, . 001547 4040 4040 /ON TAPE AS 5145 (OCT) 001550 0440 0440 001551 0404 0404 /FORWARD END ZONE 001552 1552 EZM, . 001553 0400 0400 /ON TAPE AS 2222 (OCT) 001554 4004 4004 001555 0040 0040 /SUBROUTINE TO SEE IF USER TYPED MARK 384 /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 9-3 /TO SPECIFY STANDARD PDP-10 FORMAT 001556 0000 F10PAT, 0 001557 3026 DCA BLOCKS /CLEAR LOC. BLOCKS IN CASE NOT 10-FORMAT 001560 1031 TAD TOTAL /AND GET NUMBER TYPED BY USER 001561 1371 TAD M617 /WAS IT 384? 001562 7640 SZA CLA 001563 5756 JMP I F10PAT /NO-RETURN 001564 3020 DCA W1 /YES-CLEAR W1 FOR WAIT LOOP 001565 1372 TAD C1101 /AND ADJUST BLOCK TOTAL FOR 001566 3026 DCA BLOCKS /1102(OCTAL) BLOCKS. 001567 5770 JMP I .+1 001570 1306 F10BAK, F10RTN 001571 7161 M617, -617 001572 1101 C1101, 1101 001573 0001 C1, 0001 /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 10 1600 *1600 /THE MARK TRACK HAS BEEN WRITTEN, AND TAPE IS /MOVING FORWARD IN THE FORWARD END ZONE. STOP /THE TAPE AND SEE IF THERE ARE ANY TAPES LEFT TO /MARK--IF SO GO DO THEM, ELSE TELL OPERATOR TO THROW THE /"OFF/WTM" SWITCH TO "OFF" /HE WILL THEN CONTINUE AFTER THIS ACTION /KILL WRITE,STOP TAPE 001600 7200 MWTM, CLA 001601 1027 TAD DTA /UNIT 001602 6774 SDLC 001603 4777' JMS NUDTA 001604 5574 JMP I DOMARK /MESSAGE TO THE OPERATOR 001605 4502 OFF, JMS I TYPE 001606 2305 2305 /SE 001607 2440 2440 /T 001610 2327 2327 /SW 001611 1124 1124 /IT 001612 0310 0310 /CH 001613 4024 4024 /T 001614 1740 1740 /O 001615 1706 1706 /OF 001616 0600 0600 /F 001617 4503 JMS I TYPIN /WAIT FOR CR 001620 5621 JMP I .+1 001621 3327 SWOFF /CHECK TO MAKE SURE THAT SWITCH IS OFF /REVERSE TAPE AND READ MARK TRACK 001622 1164 PSER, TAD DT3000 /REVERSE GO 001623 1027 TAD DTA /UNIT 001624 6774 SDLC /LOAD COMMAND REGISTER 001625 3020 DCA W1 /STALL ROUTINE TO GET UP TO SPEED 001626 6773 SDSQ 001627 5226 JMP .-1 001630 6776 SDRC 001631 2020 ISZ W1 001632 5226 JMP .-4 001633 6773 SDSQ /SKIP ON QUAD LINE IF SET AFTER WAIT ROUTINE 001634 7410 SKP 001635 5240 JMP .+3 /FLAG WAS SET 001636 6771 SDSS /READ IN A LINE OF TAPE 001637 5236 JMP .-1 001640 6776 SDRC /READ THE COMMAND REGISTER 001641 6772 SDST /CHECK FOR A TIMING ERROR 001642 7410 SKP 001643 4567 JMS I SELTIM /TIMING ERROR 001644 0135 AND MSK77 /CHECK TO SEE IF TAPE IS STILL IN END ZONE 001645 1111 TAD M55 001646 7640 SZA CLA /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 10-1 001647 5236 JMP .-11 /NOT A 55 YET 001650 4532 JMS I SSDSQT /YES,READ IN SOME MORE 001651 1111 TAD M55 /IS IT END ZONE 001652 7650 SNA CLA 001653 5250 JMP .-3 /STILL IN END ZONE 001654 1106 TAD MTR /GET THE MARK TRACK 001655 1112 TAD M25 /IS IT EXPAND CODE 001656 7640 SZA CLA 001657 4534 JMS I SCEXPC /NOT YET,CHECK FOR A 52,AND ADVANCE 3 LINES 001660 7200 CLA /YES IT IS EXPAND CODE 001661 1126 TAD M306 /SET UP FOR 198 EXPAND CODES 001662 3127 DCA CNT 001663 4532 JMS I SSDSQT /THE TAPE SHOULD BE IN SYNC NOW 001664 1112 TAD M25 /READ THE REST OF EXPAND CODE 001665 7640 SZA CLA 001666 4570 JMS I MARKER /MARK TRACK ERROR 001667 2127 ISZ CNT /INCREMENT COUNTER 001670 5263 JMP .-5 001671 1033 TAD VAR2 /NUMBER OF BLOCKS 001672 3025 DCA W6 001673 4532 RSTBLK, JMS I SSDSQT /START OF A STANDARD BLOCK 001674 1112 TAD M25 /FIRST EXPAND CODE AT BEGINNING 001675 7640 SZA CLA /OF BLOCK 001676 4570 JMS I MARKER /MARK TRACK ERROR 001677 4532 JMS I SSDSQT /READ MARK BLOCK NUMBER 001700 1113 TAD M26 001701 7640 SZA CLA 001702 4570 JMS I MARKER /MARK TRACK ERROR 001703 4532 JMS I SSDSQT /READ MARK GUARD 001704 1114 TAD M32 001705 7640 SZA CLA 001706 4570 JMS I MARKER /MARK TRACK ERROR 001707 1130 TAD M4 001710 3127 DCA CNT 001711 4532 JMS I SSDSQT /READ L,CK,F,PF 001712 1115 TAD M10 001713 7640 SZA CLA 001714 4570 JMS I MARKER /MARK TRACK ERROR 001715 2127 ISZ CNT 001716 5311 JMP .-5 001717 7300 CLA CLL 001720 1032 TAD VAR1 001721 7004 RAL 001722 3024 DCA W5 /NUMBER OF DATA MARKS 001723 4532 JMS I SSDSQT /READ DATA MARKS 001724 1116 TAD M70 001725 7640 SZA CLA 001726 4570 JMS I MARKER /MARK TRACK ERROR 001727 2024 ISZ W5 /COUNT FOR NUMBER OF BLOCKS 001730 5323 JMP .-5 001731 1130 TAD M4 001732 3127 DCA CNT 001733 4532 JMS I SSDSQT /READ PF,F,CK,L 001734 1117 TAD M73 001735 7640 SZA CLA /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 10-2 001736 4570 JMS I MARKER /MARK TRACK ERROR 001737 2127 ISZ CNT 001740 5333 JMP .-5 001741 4532 JMS I SSDSQT /READ REVERSE GUARD 001742 1120 TAD M51 001743 7640 SZA CLA 001744 4570 JMS I MARKER 001745 4532 JMS I SSDSQT /READ BLOCK NUMBER 001746 1121 TAD M45 001747 7640 SZA CLA 001750 4570 JMS I MARKER /MARK TRACK ERROR 001751 4532 JMS I SSDSQT /READ EXPAND CODE 001752 1112 TAD M25 001753 7640 SZA CLA 001754 4570 JMS I MARKER /END OF ONE BLOCK,MARK TRACK ERROR 001755 2025 ISZ W6 /FINISHED ALL BLOCKS 001756 5273 JMP RSTBLK /NO:DO OTHER BLOCKS 001757 1131 TAD M307 /SET UP FOR INTERBLOCK SYNC AT END OF TAPE 001760 3127 DCA CNT 001761 4532 JMS I SSDSQT /CHECK FOR 199 EXPAND CODES 001762 1112 TAD M25 001763 7640 SZA CLA 001764 4570 JMS I MARKER /MARK TRACK ERROR 001765 2127 ISZ CNT 001766 5361 JMP .-5 001767 4532 JMS I SSDSQT 001770 1122 TAD M22 001771 7640 SZA CLA 001772 4570 JMS I MARKER 001773 1027 TAD DTA 001774 6774 SDLC 001775 5776 JMP I .+1 001776 2000 WDBLKN, DBLKN /GO OUT TO WRITE DATA AND BLOCK NUMBERS FORWARD /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 11 001777 3133 2000 *2000 002000 1356 DBLKN, TAD C2 002001 3030 DCA PHASE 002002 1033 TAD VAR2 /NUMBER OF BLOCKS 002003 3025 DCA W6 002004 3137 DCA BLK /INITIAL BLOCK IS 0 002005 1137 TAD BLK 002006 4477 JMS I MESS /COMPUTE THE COMP OBVERSE OF REV BLK 002007 3140 DCA REVBLK 002010 6775 SDLD 002011 1161 TAD DT1400 /FORWARD,WRITE,GO 002012 1027 TAD DTA /UNIT 002013 6774 SDLC /LOAD THE COMMAND REGISTER 002014 6776 SDRC /CHECK TO MAKE SURE WRITE IS SET 002015 7006 RTL 002016 7004 RAL 002017 7700 SMA CLA 002020 4357 JMS WLO /WRITE FAILED TO SET 002021 1062 TAD M6 002022 3127 DCA CNT 002023 6773 SDSQ /ROUTINE TO GET UP TO SPEED 002024 5223 JMP .-1 002025 6775 SDLD 002026 2127 ISZ CNT 002027 5223 JMP .-4 002030 6775 SDLD 002031 6772 SDST 002032 7410 SKP 002033 4567 JMS I SELTIM /TIMING ERROR 002034 6771 LINE, SDSS /WRITE ALL ZEROES TO THE FIRST BLOCK 002035 5234 JMP .-1 002036 6775 SDLD /LOAD THE DATA BUFFER 002037 6776 SDRC 002040 6772 SDST 002041 7410 SKP 002042 4567 JMS I SELTIM /TIMING ERROR 002043 0135 AND MSK77 002044 3106 DCA MTR 002045 1106 TAD MTR 002046 1113 TAD M26 002047 7640 SZA CLA 002050 5234 JMP LINE 002051 6775 SDLD 002052 6772 SDST 002053 7410 SKP 002054 4567 JMS I SELTIM /TIMING ERROR 002055 5265 JMP WDOBLK /GO AND WRITE REVERSE GUARD 002056 7300 WDBLK, CLA CLL /BEGINNING OF BLOCK,WRITE DATA AND BLOCK NUMBER 002057 4346 JMS W4L /WRITE EIGHT LINES 002060 4346 JMS W4L /END OF EXPAND CODE,BEGINNING OF BLK NUMBER 002061 1137 TAD BLK /GET FORWARD BLOCK NUMBER /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 11-1 002062 4346 JMS W4L /WRITE IT 002063 7200 CLA 002064 4346 JMS W4L /WRITE FIRST WORD OF REV GUARD 002065 7200 WDOBLK, CLA 002066 4346 JMS W4L /SECOND WORD OF REVERSE GUARD 002067 4346 JMS W4L 002070 4346 JMS W4L /FIRST WORD OF REVERSE CHECKSUM 002071 1031 WDATA, TAD TOTAL /NUMBER OF DATA WORDS TO BE WRITTEN 002072 7041 CIA 002073 3024 DCA W5 /SET UP COUNTER 002074 4346 JMS W4L 002075 2024 ISZ W5 /INCREMENT COUNTER 002076 5274 JMP .-2 002077 7300 CLA CLL 002100 1135 TAD MSK77 /COME BACK TO WRITE LAST WORD AND CHECKSUM 002101 4346 JMS W4L 002102 7200 CLA 002103 4346 JMS W4L /FINISH CHECKSUM 002104 4346 JMS W4L /FIRST WORD OF REVERSE LOCK 002105 4346 JMS W4L /LAST WORD OF RL. AND HALF OF GUARD 002106 4346 JMS W4L /REST OF GUARD 002107 1140 TAD REVBLK /GET REVERSE BLOCK NUMBER 002110 4346 JMS W4L 002111 7240 CLA CMA 002112 4346 JMS W4L /END OF BLOCK NUMBER AND HALF OF EXPAND CODE 002113 4346 JMS W4L /END OF EXPAND CODE 002114 2137 ISZ BLK 002115 7200 CLA 002116 1137 TAD BLK 002117 4477 JMS I MESS /COMPUTE NEW BLK NUMBER 002120 3140 DCA REVBLK 002121 6772 SDST 002122 7410 SKP 002123 4567 JMS I SELTIM /TIMING ERROR 002124 2025 ISZ W6 /IS IT DONE WRITING BLK AND DATA 002125 5256 JMP WDBLK /NO 002126 6773 SDSQ 002127 5326 JMP .-1 002130 6777 SDRD 002131 7200 CLA 002132 1165 TAD DT1000 /SEARCH FOR END ZONE 002133 1027 TAD DTA /GET UNIT 002134 6774 SDLC /LOAD THE COMMAND REG 002135 6771 SDSS 002136 5335 JMP .-1 002137 6776 SDRC 002140 0135 AND MSK77 002141 1122 TAD M22 002142 7640 SZA CLA 002143 5335 JMP .-6 002144 5745 JMP I .+1 002145 2400 DBLOCK 002146 0000 W4L, 0 002147 6773 SDSQ /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 11-2 002150 5347 JMP .-1 /SKIP ON QUAD LINE FLAG 002151 6775 SDLD /LOAD THE DATA BUFFER 002152 6772 SDST /CHECK FOR A TIMING ERROR 002153 7410 SKP 002154 4567 JMS I SELTIM /TIMING ERROR 002155 5746 JMP I W4L 002156 0002 C2, 0002 002157 0000 WLO, 0 002160 1027 TAD DTA /STOP THE TAPE 002161 6774 SDLC /LOAD THE COMMAND REGISTER 002162 4502 JMS I TYPE 002163 2003 2003 /PC 002164 4000 4000 /END 002165 7240 CLA CMA 002166 1357 TAD WLO 002167 4501 JMS I TYOCT 002170 4502 JMS I TYPE 002171 4040 4040 002172 2722 2722 /WR 002173 1124 1124 /IT 002174 0540 0540 /E 002175 0000 0000 /END 002176 5777 JMP I .+1 002177 0744 ZCOM /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 12 2200 *2200 002200 1372 BLCSD, TAD C4 002201 3030 DCA PHASE 002202 7300 CLA CLL 002203 1033 TAD VAR2 002204 3025 DCA W6 /SET UP FOR THE NUMBER OF BLOCKS 002205 3137 DCA BLK /SET BLK TO 0 002206 1165 TAD DT1000 /FORWARD READ 002207 1027 TAD DTA /UNIT 002210 6774 SDLC /LOAD THE COMMAND REG 002211 1137 TAD BLK 002212 4477 JMS I MESS /CALCULATE THE COMPLEMENT OBVERSE 002213 3140 DCA REVBLK 002214 6772 SDST 002215 7410 SKP 002216 4567 JMS I SELTIM /TIMING ERROR 002217 1062 TAD M6 /WAIT TO GET UP TO SPEED 002220 3127 DCA CNT /SET UP COUNTER 002221 6773 SDSQ /SKIP ON A QUAD LINE FLAG 002222 5221 JMP .-1 002223 6777 SDRD /READ THE DATA BUFFER TO CLEAR FLAG 002224 2127 ISZ CNT 002225 5221 JMP .-4 002226 7200 CLA 002227 3142 BLCSDA, DCA CHKSUM 002230 4507 JMS I SLRDRC /READ A SINGLE LINE AT A TIME 002231 1113 TAD M26 002232 7640 SZA CLA /IS IT BLOCK MARK 002233 5777' JMP SRDRC+4 /NO,GO BACK 002234 6772 SDST 002235 7410 SKP 002236 4567 JMS I SELTIM /TIMING ERROR 002237 1110 TAD DATRD 002240 7041 CIA 002241 1137 TAD BLK 002242 7640 SZA CLA 002243 4571 JMS I BLKERR /BLK NUMBER ERROR 002244 4532 JMS I SSDSQT /READ GUARD 002245 4532 JMS I SSDSQT /READ REVERSE LOCK 002246 4532 JMS I SSDSQT /READ CHECKSUM 002247 6777 SDRD /READ THE DATA BUFFER 002250 6772 SDST 002251 7410 SKP 002252 4567 JMS I SELTIM /TIMING ERROR 002253 0135 AND MSK77 002254 4541 JMS I BCXOR /GO OUT TO CHECKSUM ROUTINE 002255 1031 RDATA, TAD TOTAL /NUMBER OF WORDS PER BLOCK 002256 7041 CIA 002257 3024 DCA W5 /SET UP COUNTER 002260 6773 SDSQ 002261 5260 JMP .-1 002262 6777 SDRD /READ THE DATA BUFFER 002263 6772 SDST /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 12-1 002264 7410 SKP 002265 4567 JMS I SELTIM /TIMING ERROR 002266 3110 DCA DATRD 002267 1110 TAD DATRD /SAVE THE DATA WORD 002270 7640 SZA CLA 002271 4572 JMS I DATERR /DATA ERROR 002272 1110 TAD DATRD 002273 4541 JMS I BCXOR 002274 6772 SDST /CHECK FOR A TIMING ERROR 002275 7410 SKP 002276 4567 JMS I SELTIM /TIMING ERROR 002277 2024 ISZ W5 002300 5260 JMP RDATA+3 002301 6773 SDSQ /READ REVERSE CHECKSUM 002302 5301 JMP .-1 002303 6777 SDRD /READ IT IN 002304 6772 SDST 002305 7410 SKP 002306 4567 JMS I SELTIM /TIMING ERROR 002307 0052 AND C7700 002310 4541 JMS I BCXOR /CHECK CHECK SUM 002311 1142 TAD CHKSUM 002312 0135 AND MSK77 002313 7001 IAC 002314 1052 TAD C7700 002315 7640 SZA CLA 002316 4573 JMS I CHKERR /CHECKSUM ERROR 002317 6772 SDST 002320 7410 SKP 002321 4567 JMS I SELTIM /TIMING ERROR 002322 4507 JMS I SLRDRC /ADVANCE A SINGLE LINE FLAG 002323 1125 TAD M31 /LOOK FOR REV BLK NUMBER 002324 7640 SZA CLA 002325 5777' JMP SRDRC+4 002326 6772 SDST 002327 7410 SKP 002330 4567 JMS I SELTIM /TIMING ERROR 002331 1110 TAD DATRD 002332 7041 CIA 002333 1140 TAD REVBLK /COMPARE BLOCK READ WITH ONE COMPUTED 002334 7640 SZA CLA 002335 4571 JMS I BLKERR /BLOCK NUMBER ERROR 002336 6773 SDSQ 002337 5336 JMP .-1 002340 6777 SDRD 002341 6772 SDST 002342 7410 SKP 002343 4567 JMS I SELTIM /TIMING ERROR 002344 7300 CLA CLL 002345 2137 ISZ BLK 002346 1137 TAD BLK 002347 4477 JMS I MESS 002350 3140 DCA REVBLK 002351 6772 SDST 002352 7410 SKP /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 12-2 002353 4567 JMS I SELTIM /TIMING ERROR 002354 2025 ISZ W6 002355 5227 JMP BLCSDA 002356 1165 TAD DT1000 002357 1027 TAD DTA 002360 6774 SDLC 002361 6771 SDSS 002362 5361 JMP .-1 002363 6776 SDRC 002364 0135 AND MSK77 002365 1122 TAD M22 002366 7640 SZA CLA 002367 5361 JMP .-6 002370 5771 JMP I .+1 002371 2442 RDBLKS 002372 0004 C4, 0004 /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 13 002377 3124 2400 *2400 002400 1240 DBLOCK, TAD C3 002401 3030 DCA PHASE 002402 7300 CLA CLL 002403 3235 DCA DISBLK 002404 1164 TAD DT3000 /REVERSE,GO 002405 1027 TAD DTA /UNIT 002406 6774 SDLC /LOAD THE COMMAND REGISTER 002407 7300 CLA CLL 002410 6771 DISLUP, SDSS 002411 5210 JMP .-1 002412 7300 CLA CLL 002413 6777 SDRD 002414 3236 DCA DISDAT /SAVE THE DATA BUFFER 002415 6776 SDRC 002416 0135 AND MSK77 /MASK OUT THE MARK TRACK 002417 1113 TAD M26 /CHECK FOR BLOCK NUMBER 002420 7440 SZA 002421 5226 JMP DISEND /NOT BLK MARK,CHECK FOR END ZONE 002422 1236 TAD DISDAT /DISPLAY THE NUMBER IN THE AC 002423 2235 ISZ DISBLK 002424 5223 JMP .-1 002425 5210 JMP DISLUP /GO SEARCH FOR THE NEXT BLOCK 002426 1237 DISEND, TAD FOUR /IS IT END ZONE 002427 7640 SZA CLA 002430 5210 JMP DISLUP /NO,GO GET NEXT LINE 002431 1027 TAD DTA /STOP GET READY TO READ 002432 6774 SDLC /LOAD THE COMMAND REGISTER 002433 5634 JMP I .+1 002434 2200 BLCSD 002435 0000 DISBLK, 0 002436 0000 DISDAT, 0 002437 0004 FOUR, 4 002440 0003 C3, 0003 002441 0005 C5, 0005 002442 1241 RDBLKS, TAD C5 002443 3030 DCA PHASE 002444 1033 TAD VAR2 002445 3024 DCA W5 /SET UP FOR NUMBER OF BLOCKS 002446 7001 IAC 002447 1033 TAD VAR2 002450 3025 DCA W6 /SET UP TO CHECK BLK REVERSE 002451 1164 TAD DT3000 /READ REVERSE GO 002452 1027 TAD DTA /UNIT 002453 6774 SDLC /LOAD THE COMMAND REGISTER 002454 1062 TAD M6 002455 3127 DCA CNT 002456 6771 SDSS 002457 5256 JMP .-1 002460 6776 SDRC 002461 7200 CLA /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 13-1 002462 2127 ISZ CNT 002463 5256 JMP .-5 002464 6771 RDBLK, SDSS 002465 5264 JMP .-1 002466 6777 SDRD /READ THE DATA BUFFER AND STORE IT AWAY 002467 3127 DCA CNT 002470 6776 SDRC 002471 0135 AND MSK77 002472 1113 TAD M26 002473 7640 SZA CLA /IS IT BLOCK NUMBER 002474 5264 JMP RDBLK 002475 1127 TAD CNT 002476 1025 TAD W6 002477 7640 SZA CLA 002500 4571 JMS I BLKERR /BLOCK NUMBER ERROR 002501 7001 IAC 002502 1025 TAD W6 /INCREMENT A NUMBER FOR COMPARE COUNTER 002503 3025 DCA W6 002504 2024 ISZ W5 /INCREMENT BLK COUNTER 002505 5264 JMP RDBLK 002506 6771 SDSS 002507 5306 JMP .-1 002510 6776 SDRC 002511 0135 AND MSK77 002512 1122 TAD M22 002513 7640 SZA CLA 002514 5306 JMP .-6 002515 1027 TAD DTA 002516 6774 SDLC /LOAD THE COMMAND REGISTER WITH UNIT STOP 002517 7001 IAC 002520 3030 DCA PHASE 002521 4777' JMS NUDTA 002522 5776' JMP PSER 002523 5724 JMP I .+1 002524 1072 INIT /END GO BACK TO DIRECT / / /SUBROUTINE TO CHECK FOR REPEATED DTA NUMBERS /DTA # TO COMPARE TO LIST IS IN AC ON ENTRY--THIS /ROUTINE STORES THE DTA # IF IT IS NEW AND IGNORES IT /IF IT IS NOT-CALL BY JMS REPEAT WITH DTA # IN AC 002525 0000 REPEAT, 0 002526 3345 DCA DNUM /TEM STORAGE FOR NEW DTA # 002527 1344 TAD DBUFAD /INITIALIZE POINTER (DBUFPT) 002530 3175 DCA DBUFPT /TO START OF DTA LIST 002531 1343 TAD DCTR /LOAD NUM. OF DTAS STORED 002532 7040 CMA /COMPLEMENT IT 002533 3342 DCA COMCTR /STORE IN COMPARE COUNTER 002534 2342 COMCHK, ISZ COMCTR /DONE WITH ALL COMPARES? 002535 5346 JMP DOCOMP /NO: GO DO COMPARE 002536 1345 TAD DNUM /YES: STORE NEW DTA# 002537 3575 DCA I DBUFPT /AT END OF LIST 002540 2343 ISZ DCTR /INCR. # OF DTAS STORED 002541 5725 JMP I REPEAT /RETURN /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 13-2 002542 0000 COMCTR, 0 /COUNTER FOR # OF LIST COMPARISONS TO BE DONE 002543 0000 DCTR, 0 /COUNTER FOR # OF DTAS IN LIST 002544 3162 DBUFAD, DTABUF /START OF DTA NUM. LIST 002545 0000 DNUM, 0 /TEM STORAGE FOR DTA # / / /THIS SECTION DOES THE ACTUAL COMPARISON BETWEEN /THE DTA# PASSED TO THE ROUTINE AND A NUMBER ON THE LIST 002546 1575 DOCOMP, TAD I DBUFPT /GET NXT DTA NUMBER PASSED 002547 7041 CIA /NEGATE IT 002550 1345 TAD DNUM /ADD IN DTA NUMBER PASSED 002551 7650 SNA CLA /ARE THEY THE SAME 002552 5725 JMP I REPEAT /YES: RETURN 002553 2175 ISZ DBUFPT /NO: INCREMENT LIST POINTER 002554 5334 JMP COMCHK /SEE IF DONE ALL COMPARES / / /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 14 002576 1622 002577 3133 2600 *2600 002600 7300 RDFA, CLA CLL 002601 1164 TAD DT3000 /REVERSE READ GO 002602 1027 TAD DTA /GET UNIT 002603 6774 SDLC /LOAD THE COMMAND REGISTER 002604 6771 SDSS /SKIP ON A SINGLE LINE FLAG 002605 5204 JMP .-1 002606 6776 SDRC /READ THE COMMAND REGISTER 002607 0135 AND MSK77 002610 1122 TAD M22 /IS IT END ZONE 002611 7640 SZA CLA /YES 002612 5204 JMP .-6 /NO GO BACK AND LOOK AGAIN 002613 1165 TAD DT1000 /FORWARD READ GO 002614 1027 TAD DTA /UNIT 002615 6774 SDLC /LOAD THE COMMAND REGISTER 002616 1062 TAD M6 002617 3127 DCA CNT 002620 6771 SDSS 002621 5220 JMP .-1 002622 6776 SDRC 002623 7200 CLA 002624 2127 ISZ CNT 002625 5220 JMP .-5 002626 1113 RDFA1, TAD M26 002627 3022 DCA W3 /SET UP COUNTER TO READ 22 BLOCKS 002630 1067 TAD BADD /SET UP BUFFER ADDRESS 002631 3011 DCA X2 002632 6771 SDSS /GO SINGLE LINE FLAGS 002633 5232 JMP .-1 002634 6777 SDRD /READ THE DATA BUFFER 002635 3127 DCA CNT 002636 6776 SDRC /READ THE COMMAND REGISTER 002637 0135 AND MSK77 002640 1113 TAD M26 /SEARCH FOR BLOCK NUMBER 002641 7640 SZA CLA 002642 5232 JMP RDFA1+4 /NOT BLOCK NUMBER YET GO BACK AGAIN 002643 1127 TAD CNT /OK BLK NUMBER STORE IT AWAY 002644 3411 DCA I X2 002645 2022 ISZ W3 /INCREMENT COUNTER 002646 5232 JMP RDFA1+4 /NOT 22 BLOCKS YET 002647 1027 TAD DTA 002650 6774 SDLC /STOP THE DTA /TYPE OUT BLOCK NUMBERS AND DTA UNIT# 002651 4502 JMS I TYPE 002652 0424 0424 /DT 002653 0140 0140 /A 002654 0000 0000 /END 002655 1027 TAD DTA /GET UNIT NUMBER /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 14-1 002656 7006 RTL 002657 4501 JMS I TYOCT /AND TYPE IT OUT 002660 4502 JMS I TYPE 002661 4345 4345 /CR&LF 002662 0000 0000 /END 002663 1113 TAD M26 /WILL TYPE ALL 002664 3020 DCA W1 /22 WORDS 002665 1067 TAD BADD /ADDRESS OF BLOCK 002666 3011 DCA X2 /NUMBERS TO INDEX 002667 1411 TAD I X2 /FIRST OR NEXT BLOCK 002670 4501 JMS I TYOCT /TYPE IT OUT 002671 4502 JMS I TYPE /CR&LF 002672 4345 4345 /CR&LF 002673 0000 0000 /END 002674 2020 ISZ W1 /COMPLETE 002675 5267 JMP .-6 002676 5472 JMP I IT /GO ASK FOR FORMAT 002677 7300 RDR, CLA CLL 002700 1165 TAD DT1000 /FORWARD READ GO 002701 1027 TAD DTA /UNIT 002702 6774 SDLC /LOAD THE COMMAND REGISTER 002703 6771 SDSS /SKIP ON A SINGLE LINE FLAG 002704 5303 JMP .-1 002705 6776 SDRC /READ THE COMMAND REGISTER 002706 0135 AND MSK77 002707 1122 TAD M22 /CHECK FOR END ZONE 002710 7640 SZA CLA 002711 5303 JMP .-6 /NOT YET GO BACK 002712 1164 TAD DT3000 /REVERSE READ GO 002713 1027 TAD DTA /UNIT 002714 6774 SDLC /LOAD THE COMMAND REGISTER 002715 1062 TAD M6 002716 3127 DCA CNT 002717 6771 SDSS 002720 5317 JMP .-1 002721 6776 SDRC 002722 7200 CLA 002723 2127 ISZ CNT 002724 5317 JMP .-5 002725 5226 JMP RDFA1 /STORE NUMBERS IN REVERSE 002726 4503 RETRY, JMS I TYPIN 002727 4471 JMS I COMPAR 002730 0322 0322 /R 002731 0305 0305 /E 002732 0324 0324 /T 002733 0322 0322 /R 002734 0331 0331 /Y 002735 0000 0000 /END 002736 5472 JMP I IT /GUESS HE DOESN'T WANT TO TRY AGAIN 002737 7200 CLA 002740 1165 TAD DT1000 /FORWARD READ GO 002741 1027 TAD DTA /UNIT 002742 6774 SDLC /LOAD THE COMMAND REGISTER /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 14-2 002743 1062 TAD M6 002744 3127 DCA CNT /WAIT 6 LINES 002745 6771 SDSS 002746 5345 JMP .-1 002747 6776 SDRC /READ THE COMMAND REGISTER 002750 2127 ISZ CNT 002751 5345 JMP .-4 002752 6771 SDSS 002753 5352 JMP .-1 002754 6776 SDRC 002755 0135 AND MSK77 002756 1122 TAD M22 002757 7640 SZA CLA 002760 5352 JMP .-6 002761 1164 TAD DT3000 002762 1027 TAD DTA 002763 6774 SDLC 002764 7201 CLA IAC 002765 3030 DCA PHASE 002766 5767 JMP I .+1 002767 1633 PSER+11 /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 15 3000 *3000 003000 0000 SDSQT, 0 003001 6773 SDSQ /ADVANCE SIX LINES 003002 5201 JMP .-1 /SKIP ON QUAD LINE FLAG 003003 6776 SDRC /READ COMMAND REGISTER 003004 6772 SDST 003005 7410 SKP 003006 4567 JMS I SELTIM /TIMING ERROR 003007 6771 SDSS 003010 5207 JMP .-1 /SKIP ON SINGLE LINE FLAG 003011 6776 SDRC 003012 6772 SDST 003013 7410 SKP 003014 4567 JMS I SELTIM /TIMING ERROR 003015 6771 SDSS 003016 5215 JMP .-1 003017 6776 SDRC /READ THE COMMAND REGISTER 003020 6772 SDST 003021 7410 SKP 003022 4567 JMS I SELTIM /TIMING ERROR 003023 0135 AND MSK77 /SAVE THE MARK TRACK LAST 6 BITS 003024 3106 DCA MTR 003025 1106 TAD MTR 003026 5600 JMP I SDSQT 003027 0000 A3LNS, 0 /ADVANCE THREE LINES 003030 6771 SDSS 003031 5230 JMP .-1 /SKIP ON SINGLE LINE FLAG 003032 6776 SDRC 003033 6772 SDST 003034 7410 SKP 003035 4567 JMS I SELTIM /TIMING ERROR 003036 6771 SDSS 003037 5236 JMP .-1 003040 6776 SDRC 003041 6772 SDST 003042 7410 SKP 003043 4567 JMS I SELTIM /TIMING ERROR 003044 6771 SDSS 003045 5244 JMP .-1 003046 6776 SDRC 003047 6772 SDST 003050 7410 SKP 003051 4567 JMS I SELTIM /TIMING ERROR 003052 0135 AND MSK77 003053 3106 DCA MTR 003054 1106 TAD MTR 003055 5627 JMP I A3LNS 003056 0000 CEXPC, 0 003057 1106 TAD MTR /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 15-1 003060 1124 TAD M52 003061 7640 SZA CLA 003062 4570 JMS I MARKER /MARK TRACK ERROR 003063 4227 JMS A3LNS /READ THREE MORE LINES 003064 1112 TAD M25 /IS IT 25 NOW 003065 7640 SZA CLA 003066 4570 JMS I MARKER /NO ,MARK TRACK ERROR 003067 5656 JMP I CEXPC /YES:IT IS EXPAND CODE NUMBER 1 /SIXBIT COMPLEMENT XOR SUBROUTINE /SUBROUTINE IS ENTERED WITH DATA WORD TO BE XORED IN AC /TWO SIX-BIT COMPLEMENT XORS WILL TAKE PLACE TO LOC CHKSUM /WITH THE RESULT IN CHKSUM 003070 0000 SBCXOR, 0 003071 7040 CMA /COMPLEMENT WORD 003072 3143 DCA SBWORD /AND SAV 003073 1143 TAD SBWORD 003074 0142 AND CHKSUM 003075 7041 CIA 003076 7104 CLL RAL 003077 1143 TAD SBWORD 003100 1142 TAD CHKSUM 003101 3142 DCA CHKSUM 003102 1143 TAD SBWORD 003103 7112 RTR CLL;RTR;RTR 003104 7012 003105 7012 003106 3143 DCA SBWORD 003107 1143 TAD SBWORD 003110 0142 AND CHKSUM 003111 7041 CIA 003112 7104 CLL RAL 003113 1143 TAD SBWORD 003114 1142 TAD CHKSUM 003115 0135 AND MSK77 003116 3142 DCA CHKSUM 003117 5670 JMP I SBCXOR 003120 0000 SRDRC, 0 003121 6773 SDSQ 003122 7410 SKP 003123 5326 JMP .+3 003124 6771 SDSS 003125 5324 JMP .-1 003126 6777 SDRD 003127 3110 DCA DATRD 003130 6776 SDRC 003131 0135 AND MSK77 003132 5720 JMP I SRDRC 003133 0000 NUDTA, 0 003134 1754 TAD I LSTPT /GET CURRENT VALUE OF DATA LIST PTR 003135 3353 DCA TBUFPT /STORE IT AS TEM,BUF,PTR 003136 1753 TAD I TBUFPT /GET A DTA # FROM THE LIST /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 15-2 003137 0037 AND C0007 003140 7640 SZA CLA /IS IT A 7777 003141 5346 JMP LSTEND /YES END OF LIST 003142 1753 TAD I TBUFPT /NO;GET IT BACK 003143 3027 DCA DTA 003144 2754 ISZ I LSTPT /INCREMENT LIST POINTER 003145 5733 JMP I NUDTA /RETURN /COME HERE AT END OF LIST TO RESET POINTERS AND RETURN TO CALL+2 003146 2333 LSTEND, ISZ NUDTA /INCREMENT RETURN POINTER 003147 1752 TAD I STRTPT /GET ADR OF START OF LIST 003150 3754 DCA I LSTPT 003151 5334 JMP NUDTA+1 /GO GET FIRST DTA# AND RETURN 003152 2544 STRTPT, DBUFAD /POINTER TO START OF DATA LIST 003153 0000 TBUFPT, 0 /TEM STORAGE FOR BOT PTR 003154 0175 LSTPT, DBUFPT /POINTER TO CURRENT VALUE OF DTA LIST PTR /CONSTANTS FOR FORMULA TRANSLATION SECTION 003155 3156 BINCON, .+1 003156 0001 0001 003157 0012 0012 003160 0144 0144 003161 1750 1750 003162 0000 DTABUF, 0 /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 16 3200 *3200 /CHECK SWITCH TO SEE IF SET TO WTM POSITION 003200 4502 SWCHK, JMS I TYPE /TYPE OUT MESSAGE 003201 2305 2305 /SE 003202 2440 2440 /T 003203 2327 2327 /SW 003204 1124 1124 /IT 003205 0310 0310 /CH 003206 4024 4024 /T 003207 1740 1740 /O 003210 2724 2724 /WT 003211 1500 1500 /M 003212 4503 JMS I TYPIN /WAIT FOR CR 003213 7200 CLA 003214 3256 DCA CNTERL 003215 6775 SDLD /CLEAR SINGLE AND QUAD FLAGS 003216 6771 SDSS 003217 7410 SKP 003220 5224 JMP .+4 003221 2256 ISZ CNTERL 003222 5216 JMP .-4 003223 5267 JMP SWCHER /ERROR,TYPE ERROR MESSAGE AND GO TO SWCHK /SEE IF THE DRIVE IS OK 003224 6774 RSTSM, SDLC /LOAD CR TO CLEAR TIMEING ERROR 003225 6775 SDLD /LOAD DATA BUFFER TO CLEAR S Q FLAGS 003226 1162 TAD DT0400 /SET WRITE 003227 1027 TAD DTA /GET UNIT 003230 3257 DCA SAV /STORE IT AWAY 003231 1257 TAD SAV 003232 6771 SDSS 003233 5232 JMP .-1 003234 6774 SDLC 003235 1257 TAD SAV 003236 6774 SDLC /LOAD THE TRANSPORT 003237 6776 SDRC /READ THE COMMAND REGISTER AND CHECK IT 003240 7006 RTL 003241 7004 RAL 003242 7500 SMA /CHECK WRITE TO BE SET 003243 5260 JMP ERCHK /WRITE IS NOT SET 003244 7004 RAL /CHECK WLO 003245 7510 SPA 003246 5260 JMP ERCHK /WLO 003247 7004 RAL /CHECK SELECT AND TIMING ERROR 003250 7710 SPA CLA 003251 5260 JMP ERCHK /SELECT OR TIMING ERROR 003252 4777' JMS NUDTA /CHECK OTHER DRIVE IF ANY 003253 5213 JMP RSTSM-11 /CHECK OTHER DRIVE 003254 5655 JMP I .+1 003255 1400 STMK 003256 0000 CNTERL, 0 003257 0000 SAV, 0 003260 4502 ERCHK, JMS I TYPE /INCORRECT SETUP /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 16-1 003261 2305 2305 /SE 003262 2425 2425 /TU 003263 2077 2077 /P 003264 0000 0000 /END 003265 5666 JMP I .+1 003266 1011 START 003267 4502 SWCHER, JMS I TYPE 003270 2327 2327 /SW 003271 1124 1124 /IT 003272 0310 0310 /CH 003273 4016 4016 /N 003274 1724 1724 /OT 003275 4023 4023 /S 003276 0524 0524 /ET 003277 4024 4024 /T 003300 1740 1740 /O 003301 2724 2724 /WT 003302 1540 1540 /M 003303 1722 1722 /OR 003304 4023 4023 /S 003305 1116 1116 /IN 003306 0714 0714 /GL 003307 0540 0540 /E 003310 1411 1411 /LI 003311 1605 1605 /NE 003312 4006 4006 /F 003313 1401 1401 /LA 003314 0740 0740 /G 003315 0601 0601 /FA 003316 1114 1114 /IL 003317 0504 0504 /ED 003320 4024 4024 /T 003321 1740 1740 /O 003322 2305 2305 /SE 003323 2440 2440 /T 003324 4543 4543 /CR LF 003325 0000 0000 /END 003326 5200 JMP SWCHK 003327 7200 SWOFF, CLA 003330 3256 DCA CNTERL 003331 6775 SDLD /CLEAR ANY FLAGS THAT ARE SET 003332 6771 SDSS 003333 7410 SKP 003334 5776' JMP OFF /FLAG SHOULDN'T BE SET 003335 2256 ISZ CNTERL 003336 5332 JMP .-4 003337 7200 CLA 003340 5741 JMP I .+1 003341 1622 PSER 003376 1605 003377 3133 /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 16-2 3400 *3400 /INPUT BUFFER FOR TELETYPE THIS MUST BE AT THE END OF PROGRAM 003400 0000 BUFFER, 0 $ /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 17 A3LNS 3027 DATERR 0172 MSRGHT 0221 RETRY 2726 BADD 0067 DATRD 0110 MTP 0246 REVBLK 0140 BCXOR 0141 DBLKN 2000 MTR 0106 REZ 1510 BFR 0070 DBLOCK 2400 MWTM 1600 RSEND 0144 BINCO 0166 DBUFAD 2544 M10 0115 RSTBLK 1673 BINCON 3155 DBUFPT 0175 M14 0064 RSTSM 3224 BLCSD 2200 DCTR 2543 M143 0123 SAV 3257 BLCSDA 2227 DISBLK 2435 M144 0065 SA3LNS 0133 BLK 0137 DISDAT 2436 M2 0060 SBCXOR 3070 BLKERR 0171 DISEND 2426 M22 0122 SBWORD 0143 BLOCKS 0026 DISLUP 2410 M25 0112 SCEXPC 0134 BUFFER 3400 DIV3 1244 M26 0113 SDLC 6774 CERR 0345 DNC 1203 M3 0061 SDLD 6775 CEXPC 3056 DNUM 2545 M306 0126 SDRC 6776 CEZ 1410 DOCOMP 2546 M307 0131 SDRD 6777 CHKERR 0173 DOMARK 0174 M31 0125 SDSQ 6773 CHKSP 0306 DTA 0027 M32 0114 SDSQT 3000 CHKSUM 0142 DTABUF 3162 M4 0130 SDSS 6771 CNT 0127 DTRK 1434 M40 0253 SDST 6772 CNTERL 3256 DT0400 0162 M45 0121 SELTIM 0167 COMCHK 2534 DT1000 0165 M51 0120 SETUP 1470 COMCTR 2542 DT1400 0161 M52 0124 SETUP1 1500 COMPAR 0071 DT2000 0163 M55 0111 SLRDRC 0107 COMPRE 0325 DT3000 0164 M6 0062 SPCOD 0066 CRCHK 1027 DZ 1533 M617 1571 SRDRC 3120 CRCOD 0055 ERCHK 3260 M7 0063 SSDSQT 0132 CRFLAG 1157 EZM 1552 M70 0116 STALL 0600 C0007 0037 FBM 1520 M73 0117 START 1011 C0017 0034 FEZ 1537 NTYRTN 0265 STAR0 1000 C0070 0035 FORM10 1355 NUD 0136 STMK 1400 C0077 0036 FOUR 2437 NUDTA 3133 STRTPT 3152 C0700 0040 F10BAK 1570 OFF 1605 STX 0100 C1 1573 F10PAT 1556 OKCR 1055 SWCHER 3267 C1101 1572 F10RTN 1306 PATCH 0515 SWCHK 3200 C1620 0050 GETDTA 1156 PFCRC 1440 SWOFF 3327 C2 2156 GRB 1442 PFORM 0763 TBUFPT 3153 C201 0042 GRZ 1546 PHASE 0030 TFORM 0756 C203 0041 IBS 1242 PSER 1622 TOTAL 0031 C212 0255 IBZ 1514 QU 0152 TW1 0563 C215 0256 INBLSY 1422 QUX 0447 TYCT 0523 C245 0257 INIT 1072 QU1 0073 TYCT1 0556 C260 0043 INIT1 1066 QU2 0074 TYOCT 0101 C261 0044 IT 0072 QU3 0075 TYPE 0102 C270 0045 LETK 0056 QU4 0076 TYPECH 0222 C271 0046 LFCOD 0057 Q1 0400 TYPIN 0103 C277 0047 LINE 2034 Q2 0410 TYPN 0260 C3 2440 LRCFP 1432 Q3 0422 TYQU 1014 C340 0254 LSTEND 3146 Q4 0434 VALCHK 1035 C4 2372 LSTPT 3154 RDATA 2255 VAR1 0032 C5 2441 MARK 1200 RDBLK 2464 VAR2 0033 C6060 0564 MARKER 0170 RDBLKS 2442 V1 0506 C7000 0051 MES 0454 RDFA 2600 V2 0507 C7700 0052 MESAGE 0202 RDFA1 2626 V3 0513 C7714 0053 MESS 0077 RDR 2677 WAIT 0104 C7761 0054 MSK77 0135 REPEAT 2525 WC 0105 /TD8E FORMATTER V50 PAL8-V50Y 31-DEC-22 PAGE 17-1 WDATA 2071 WDBLK 2056 WDBLKN 1776 WDOBLK 2065 WDZ 1430 WEZF 1455 WLMRF 1524 WLO 2157 W1 0020 W2 0021 W3 0022 W4 0023 W4L 2146 W5 0024 W6 0025 X1 0010 X2 0011 ZBLK 0613 ZCOM 0744 ZDATA 0637 ZMKTK 0657 ZPAR 0702 ZTIM 0724 ERRORS DETECTED: 0 LINKS GENERATED: 13