/OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 1 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM / / / / / / / / / /COPYRIGHT (C) 1974 BY DIGITAL EQUIPMENT CORPORATION / / / / / / / / / / /THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE /AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT /CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY /FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT. / /THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER /UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED /(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH /SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL. / /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY /DIGITAL. / / / / / / / / / / /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 2 6772 DTRB=6772 6774 DTLB=6774 6764 DTXA=6764 6762 DTCA=6762 6761 DTRA=6761 6771 DTSF=6771 /WRITTEN BY MARK BRAMHALL 1970 /MODIFIED FOR TD8E BY R. LARY 1973 / /PIP10 IS A PIP FOR OS8 THAT HANDLES PDP-10 DECTAPES / /COMMAND DECODER RULES: / /*OUTPUT_INPUT,INPUT,... / /OUTPUT IS: / DEV:FILE.EXT[NN] / DEFAULT DEVICE IS DSK: / [NN] IGNORED IF PDP-10 OUTPUT / IF /L OR /F DEFAULT OUTPUT IS TTY: / /INPUT IS: / DEV:FILE.EXT / DEFAULT DEVICE IS DSK: / FOLLOWING DEFAULT DEVICES ARE THE PRECEEDING DEVICE / UP TO NINE (9) INPUT FILES / /OPTIONS ARE: / /L IS LIST DIRECTORY (ONLY VALID IF PDP-10 INPUT) / /F IS SHORT FORM DIRECTORY (ONLY PDP-10 INPUT) / /Z IS ZERO DIRECTORY BEFORE TRANSFER (ONLY IF PDP-10 OUTPUT) / /D IS DELETE OLD OUTPUT FILE BEFORE TRANSFER / /B IS BINARY MODE TRANSFER (I.E. 8 BITS PER 36 BITS) / /I IS IMAGE MODE TRANSFER (I.E. 3 12 BITS PER 36 BITS) / /P IS PRESERVE LINE NUMBERS (DEFAULT IS TO DELETE THEM) / /X IS READ A FILE OF TRIPLETS OF 4-DIGIT OCTAL NUMBERS, CONVERT / EACH TO A 12-BIT INTEGER, AND WRITE THEM TO THE OUTPUT AS / IF A /I SWITCH WERE IN FORCE. /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 3 /COMMAND DECODER SETS UP: / /AT "MOUTPU" THE LIST-- / LLL LLL LLD DDD OR UUU 100 000 000 / NAME (TRIMMED) NAME (EXCESS 40) / NAME NAME / NAME NAME / EXTENSION EXTENSION / 0 EXTENSION / / OS8 FILE OR PDP-10 FILE / /WHERE L IS LENGTH (8 BITS), D IS DEVICE (4 BITS), U IS UNIT (3 BITS) / /AT "MINPUT" THE LIST-- / LLL LLL LLD DDD OR UUU 100 000 000 / START BLOCK ANY BLOCK / / OS8 FILE OR PDP-10 FILE / /THE LIST ENDS WITH A ZERO (0) WORD / /AT "MPARAM" THE BLOCK-- / ABC DEF GHI JKL / MNO PQR STU VWX / YZ0 123 456 789 / /WHICH ARE THE OPTION CHARACTERS / /THE = CONSTRUCTION IS NOT IMPLEMENTED /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 4 /DEFINITIONS 7000 DIRECT=7000 /PDP-10 DIRECTORY BUFFER (FIELD 1) 3000 IBUF10=3000 /PDP-10 INPUT BUFFER (FIELD 1) 3000 INBUF=3000 /OS8 INPUT BUFFER (FIELD 1) 5000 OBUF10=5000 /PDP-10 OUTPUT BUFFER (FIELD 1) 5000 OUBUF=5000 /OS8 OUTPUT BUFFER (FIELD 1) 7200 OUDEVH=7200 /OUTPUT DEVICE (FIELD 0) 6600 INDEVH=6600 /INPUT DEVICE (FIELD 0) 1010 INCTL=1010 /INPUT CONTROL 5010 OUCTL=5010 /OUTPUT CONTROL 0004 INRECS=4 /INPUT RECORDS 7666 MDATE=7666 /MONITOR'S DATE (FIELD 1) 7617 MINPUT=7617 /INPUT LIST (FIELD 1) 7600 MOUTPU=7600 /OUTPUT LIST (FIELD 1) 7643 MPARAM=7643 /PARAMETER LIST (FIELD 1) 7746 JSBITS=7746 /0S8 JOB STATUS BITS 7760 DCB=7760 /DEVICE CONTROL BLOCK (FIELD 1) 0020 PTP=20 /DCB VALUE OF THE PAPER TAPE PUNCH /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 5 /PAGE ZERO AND POINTERS 0010 *10 000010 0000 INDEX0, 0 /AUTO-INDEX REGISTERS 000011 0000 INDEX1, 0 000012 0000 INDEX2, 0 000013 0000 INDEX3, 0 000014 0000 INDEX4, 0 000015 0000 INDEX5, 0 000016 0000 INDEX6, 0 000017 0000 IXR, 0 /INPUT LIST INDEX REGISTER 0020 *20 000020 0000 UNIT10, 0 /CURRENT PDP-10 UNIT (U400) 000021 0000 POINT, 0 /GENERAL POINTER 000022 0000 CNTR, 0 /GENERAL COUNTER 000023 0000 TEMP1, 0 /TEMPORARIES 000024 0000 TEMP2, 0 000025 0000 TEMP3, 0 000026 0000 TEMP4, 0 000027 0000 TEMP5, 0 000030 0000 TEMP6, 0 000031 0000 CHARNI, 0 /CHARACTER INPUT NUMBER 000032 0000 CHARNO, 0 /CHARACTER OUTPUT NUMBER 000033 0000 OUNIT, 0 /OUTPUT UNIT 000034 0000 IUNIT, 0 /INPUT UNIT 000035 0000 IBLOCK, 0 /INPUT BLOCK 000036 0000 OBLOCK, 0 /OUTPUT BLOCK 000037 0000 INPUT, 0 /INPUT ROUTINE POINTER 000040 0000 OUTPUT, 0 /OUTPUT ROUTINE POINTER 000041 0000 IPOINT, 0 /INPUT POINTER 000042 0000 OPOINT, 0 /OUTPUT POINTER 000043 0000 SAVELN, 0 /OPTION /P SWITCH 000044 0000 MODE, 0 /OPTION /I AND /B SWITCH 000045 0000 WORDS, 0 /WORDS LEFT COUNTER 000046 0000 DATE, 0 /TODAY'S DATE 000047 0000 FREEP, 0 /POINT TO FREE SPOT 000050 0000 PRINT0, 0 /PRINT ROUTINE TEMPORARIES 000051 0000 PRINT1, 0 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 5-1 000052 0000 PRINT2, 0 000053 0000 PRINT3, 0 000054 0000 PRINTC, 0 /240 FOR LEADING SPACES 000055 0000 RBFLAG, 0 /RUBOUT FLAG 000056 0000 CDDEVF, 0 /DEFAULT DEVICE NAME 000057 0000 0 000060 0000 CDNAME, 0 /FILE NAME 000061 0000 0 000062 0000 0 000063 0000 CDEXT, 0 /FILE EXTENSION 000064 0000 0 000065 0000 0 /FILLER WORD 000066 0000 PERSW, 0 /PERIOD SWITCH 000067 0000 DEVSW, 0 /DEVICE SWITCH 000070 0000 CDDEV, 0 /DEVICE 000071 0000 0 000072 0000 INSEG, 0 /PDP-10 UNIT WITH DIRECTORY IN CORE 000073 0000 PDP10D, ZBLOCK 10 /LIST OF KNOWN PDP-10 UNITS 000103 0000 CDCNT, 0 /INPUT LIST COUNTER 000104 0000 CDI04, 0 /POINTER SAVE 000105 0423 XDSK, TEXT /DSK/ /DEFAULT DEVICE DSK: 000106 1300 000107 0000 OCHARY, 0 /TEMPORARY 000110 0000 DVTYPE, 0 /DEVICE TYPE HOLDER 000111 0000 TDUNIT, 0 /0 OR 4000 000112 0000 TAPFUN, 0 /DECTAPE FUNCTION 000113 3600 XVERTP, XVERTQ /OUT OF SPACE ON PAGE CONTAINING MAIN LOOP, / PUT CALL ADDRESS ON PAGE ZERO 0200 PAGE /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 6 000200 5777 JMP I (PIP10 /NORMAL ENTRY 000201 4225 JMS ERROR /PIP10 CANNOT BE CHAINED TO 000202 4521 ERMES0-1 /ERROR ROUTINES 000203 4225 IOERR, JMS ERROR /I/O ERROR 000204 4540 ERMES1-1 000205 4225 NOROOM, JMS ERROR /NO ROOM IN TAPE OR DIRECTORY 000206 4546 ERMES2-1 000207 4225 NOOFIL, JMS ERROR /NO SUCH DEVICE 000210 4555 ERMES3-1 000211 4225 FNOTFD, JMS ERROR /FILE NOT FOUND 000212 4647 ERMES9-1 000213 4225 NOT10F, JMS ERROR /NOT A PDP-10 FILE 000214 4566 ERMES4-1 000215 4225 ERDELF, JMS ERROR /ERROR DELETING A FILE 000216 4577 ERMES5-1 000217 4225 NOTPSF, JMS ERROR /NOT A OS8 FILE 000220 4612 ERMES6-1 000221 4225 NOOOFL, JMS ERROR /ERROR OPENING THE OUTPUT FILE 000222 4622 ERMES7-1 000223 4225 SYNTAX, JMS ERROR /SYNTAX ERROR 000224 4637 ERMES8-1 000225 0000 ERROR, 0 /ERROR ROUTINE 000226 7200 CLA 000227 6201 CDF 000230 1625 TAD I ERROR 000231 3010 DCA INDEX0 /POINT TO MESSAG-1 000232 1376 TAD (ERROR3 000233 3040 DCA OUTPUT /SET TTY: OUTPUT 000234 4236 JMS ERROR4 /PRINT THE STRING 000235 5775 JMP I (PIPCD /AND BACK TO NORMAL 000236 0000 ERROR4, 0 /PRINT THE STRING POINTED BY INDEX0 000237 1410 TAD I INDEX0 000240 3023 DCA TEMP1 /SAVE WORD 000241 1023 TAD TEMP1 000242 7012 RTR 000243 7012 RTR 000244 7012 RTR 000245 4251 JMS ERROR2 /BREAK IT DOWN 000246 1023 TAD TEMP1 000247 4251 JMS ERROR2 000250 5237 JMP ERROR4+1 /LOOP 000251 0000 ERROR2, 0 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 6-1 000252 0177 AND [77 /USE 6 BITS 000253 7450 SNA 000254 5636 JMP I ERROR4 /END 000255 3024 DCA TEMP2 000256 1024 TAD TEMP2 000257 0374 AND (40 000260 7650 SNA CLA 000261 1373 TAD (100 000262 1176 TAD [200 /MAKE A CHAR 000263 1024 TAD TEMP2 000264 1372 TAD (-337 /_ IS SPECIAL 000265 7450 SNA 000266 1371 TAD (215-337 000267 1370 TAD (337 000270 4272 JMS ERROR7 /PUT IT 000271 5651 JMP I ERROR2 000272 0000 ERROR7, 0 000273 3024 DCA TEMP2 000274 1024 TAD TEMP2 000275 4440 JMS I OUTPUT 000276 1024 TAD TEMP2 000277 1367 TAD (-215 000300 7640 SZA CLA 000301 5672 JMP I ERROR7 000302 1366 TAD (212 000303 5273 JMP ERROR7+1 000304 0000 ERROR3, 0 000305 6046 TLS 000306 6041 TSF 000307 5306 JMP .-1 000310 7200 CLA 000311 5704 JMP I ERROR3 000366 0212 000367 7563 000370 0337 000371 7656 000372 7441 000373 0100 000374 0040 000375 3407 000376 0304 000377 3400 0400 PAGE /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 7 /PDP-10 DECTAPE SERVICE ROUTINE / /CALL: / JMS READT /READ PDP-10 DECTAPE / BUFFER /BUFFER ADDRESS - FIELD 1 / BLOCK /BLOCK NUMBER / / JMS WRITET /WRITE PDP-10 DECTAPE / BUFFER /BUFFER ADDRESS - FIELD 1 / BLOCK /BLOCK NUMBER / /THE UNIT IS IN "UNIT10" 000400 0002 TCON2, 2 /MUST BE AT BEGINNING OF PAGE! 000401 0000 WRITET, 0 /WRITE PDP-10 DECTAPE 000402 6201 CDF /BE SURE OF FIELD 0 000403 1201 TAD WRITET 000404 7120 STL 000405 4777 JMS I (TDIOCK /CHECK FOR TD IO 000406 1601 TAD I WRITET /GET BUFFER ADDRESS 000407 3274 DCA TBUF /AND SAVE IT 000410 4312 JMS RWTEST /TEST DIRECTION 000411 4776 WRITE2, JMS I (FLIP /REVERSE - FLIP BUFFER NOW 000412 1375 TAD (50 000413 3112 WRITE1, DCA TAPFUN /SET FUNCTION (30=READ, 50=WRITE) 000414 6774 DTLB /SEARCH INTO FIELD 0 000415 1374 TAD (TBLK 000416 3671 DCA I TCA /TAPE BLOCK INTO "TBLK" 000417 7006 TERR, RTL /ERROR BIT IS 0 INITIALLY 000420 7004 RAL /SHIFT END ZONE BIT INTO LINK 000421 7220 CML CLA /CLEAR REST OF THE JUNK 000422 1176 TAD [200 /'GO' BIT 000423 7420 TSTART, SNL /SKIP IF NO REVERSE DIRECTION 000424 1175 TAD [400 /'REVERSE' BIT 000425 6764 DTXA /START DRIVE GOING 000426 4773 TLOOP, JMS I (DTWAIT 000427 7510 TOUT, SPA /ERROR? 000430 5217 JMP TERR /YES - CHECK IT 000431 6761 DTRA /CHECK DIRECTION 000432 7006 RTL 000433 7006 RTL /DIRECTION BIT INTO LINK 000434 7630 TMOD1, SZL CLA /'SNL CLA' IF REVERSE MODE 000435 1200 TMOD4, TAD TCON2 /'CLL CLA CMA RAL' IF REVERSE MODE 000436 1273 TAD TBLK /GET BLOCK FOUND 000437 7040 CMA 000440 1601 TAD I WRITET /GET BLOCK DESIRED 000441 7040 CMA 000442 7640 SZA CLA /SKIP IF FOUND THE BLOCK 000443 5223 JMP TSTART /NOT FOUND - GO AGAIN 000444 7630 TMOD2, SZL CLA /'SNL CLA' IF REVERSE MODE 000445 5224 JMP TSTART+1 /FOUND BUT WRONG DIRECTION - REVERSE IT 000446 7240 CLA CMA 000447 1274 TAD TBUF /GET BUFFER ADDRESS-1 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 7-1 000450 3671 DCA I TCA /SET ADDRESS 000451 1372 TAD (10 000452 6774 DTLB /SET FIELD 1 BUFFER 000453 1112 TAD TAPFUN 000454 6764 DTXA /SET READ OR WRITE 000455 1343 TAD TM600 000456 3672 DCA I TWC /SET WORD COUNT OF 600 OCTAL WORDS 000457 6771 DTSF /FLAG? 000460 5257 JMP .-1 /NO - WAIT 000461 6772 DTRB /CHECK FOR ERRORS 000462 7710 SPA CLA 000463 5771 JMP I (IOERR /ERROR!! 000464 1176 TAD [200 000465 6764 DTXA /STOP THE DRIVE 000466 4776 TMOD3, JMS I (FLIP /POSSIBLE FLIP AFTER READ 000467 2201 ISZ WRITET 000470 5601 JMP I WRITET /EXIT 000471 7755 TCA, 7755 /DECTAPE CURRENT ADDRESS 000472 7754 TWC, 7754 /DECTAPE WORD COUNT 000473 0000 TBLK, 0 /SET TO BLOCK FOUND IN SEARCH 000474 0000 TBUF, 0 /HOLDS BUFFER ADDRESS /READ ENTRY POINT 000475 0000 READT, 0 /PDP-10 DECTAPE READ 000476 6201 CDF /INSURE FIELD 0 000477 1275 TAD READT 000500 7100 CLL 000501 4777 JMS I (TDIOCK /CHECK FOR TD IO 000502 1675 TAD I READT /GET BUFFER ADDRESS 000503 3274 DCA TBUF /AND SAVE IT 000504 1275 TAD READT 000505 3201 DCA WRITET /MOVE RETURN ADDRESS 000506 4312 JMS RWTEST /CHECK DIRECTION 000507 7000 NOP /NO INITIAL FLIP IF REVERSE 000510 1370 TAD (30 /READ FUNCTION 000511 5213 JMP WRITE1 /GO DO REST OF THE ROUTINE /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 8 000512 0000 RWTEST, 0 /CHECK DIRECTION TO READ/WRITE AND SEARCH 000513 2201 ISZ WRITET 000514 4767 JMS I (GOLDBK /GET OLD BLOCK NUMBER (NEGATIVE) 000515 1601 TAD I WRITET /GET DESIRED BLOCK 000516 3273 DCA TBLK /SAVE FOR FUTURE USE 000517 7630 SZL CLA 000520 1372 TAD (10 /FORWARD - SZL CLA 000521 1330 TAD TMOD6 /REVERSE - SNL CLA 000522 3234 DCA TMOD1 /SET UP FOR DIRECTION 000523 1234 TAD TMOD1 000524 3244 DCA TMOD2 000525 7620 SNL CLA 000526 1211 TAD WRITE2 /REVERSE - FLIP BUFFER AFTER 000527 3266 DCA TMOD3 /FORWARD - NO BUFFER FLIP 000530 7620 TMOD6, SNL CLA 000531 1366 TAD (7344-1200 /REVERSE - CLL CLA CMA RAL 000532 1351 TAD TMOD5 /FORWARD - TAD TCON2 000533 3235 DCA TMOD4 /X0002 OR 17776 000534 7630 SZL CLA 000535 2312 ISZ RWTEST /FORWARD - 2ND EXIT 000536 7001 IAC 000537 7420 SNL 000540 7041 CIA /REVERSE DIRECTION 000541 1601 TAD I WRITET 000542 7510 SPA 000543 7200 TM600, CLA /NO LOWER THAN 0 000544 3512 DCA I TAPFUN /SET NEW LAST SERVICED BLOCK 000545 1273 TAD TBLK /REMEMBER SAVING THIS? 000546 7100 CLL 000547 7540 SMA SZA /<0 AND 0 SKIP AND HAVE LINK=0 000550 7161 CLL CML CIA />0 BECOMES <0 AND HAS LINK=1 000551 1200 TMOD5, TAD TCON2 000552 7212 CLA RTR /LINK HAS SEARCH DIRECTION 000553 7012 RTR 000554 1372 TAD (10 /ADD 'SEARCH' BIT 000555 6766 DTCA DTXA /LOAD SEARCH AND DIRECTION 000556 1020 TAD UNIT10 /GET UNIT 000557 6764 DTXA /ADD UNIT (ALSO FLIPS DIRECTION) 000560 5712 JMP I RWTEST /EXIT 000566 6144 000567 0744 000570 0030 000571 0203 000572 0010 000573 6267 000574 0473 000575 0050 000576 0610 000577 0701 0600 PAGE /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 9 /"OLDTBL" IS LIST OF LAST SERVICED BLOCKS 000600 0000 OLDTBL, 0;0;0;0;0;0;0;0 000601 0000 000602 0000 000603 0000 000604 0000 000605 0000 000606 0000 000607 0000 /FLIP THE BUFFER ROUTINE 000610 0000 FLIP, 0 /FLIP A 600 WORD BUFFER (FIELD 1) 000611 1777 TAD I (TBUF /BUFFER START 000612 3241 DCA FLIP1 /SET START 000613 1376 TAD (577 000614 1777 TAD I (TBUF 000615 3242 DCA FLIP2 /SET END (END=START+577) 000616 1375 TAD (-300 000617 3243 DCA FLIP3 /SET COUNT (600/2=300) 000620 6211 CDF 10 /BUFFER IS IN FIELD 1 000621 1641 FLIP6, TAD I FLIP1 /GET START 000622 4247 JMS FLIP4 /FLIP IT 000623 3244 DCA FLIP5 /SAVE TEMPORARILY 000624 1642 TAD I FLIP2 /GET END 000625 4247 JMS FLIP4 /FLIP IT 000626 3641 DCA I FLIP1 /PUT END INTO START 000627 1244 TAD FLIP5 000630 3642 DCA I FLIP2 /PUT START INTO END 000631 2241 ISZ FLIP1 /BUMP POINTERS 000632 7240 CLA CMA 000633 1242 TAD FLIP2 000634 3242 DCA FLIP2 000635 2243 ISZ FLIP3 /DONE? 000636 5221 JMP FLIP6 /NO - LOOP 000637 6201 CDF /BACK TO FIELD 0 000640 5610 JMP I FLIP /EXIT 000641 0000 FLIP1, 0 /START POINTER 000642 0000 FLIP2, 0 /END POINTER 000643 0000 FLIP3, 0 /COUNTER 000644 0000 FLIP5, 0 /TEMPORARY 000645 0000 FLIP7, 0 /FLIPPING TEMPORARIES 000646 0000 FLIP8, 0 /" " 000647 0000 FLIP4, 0 /FLIP A CELL 000650 3245 DCA FLIP7 /SAVE IT 000651 1245 TAD FLIP7 000652 7006 RTL 000653 7006 RTL 000654 0374 AND (7 /GET ...1 000655 3246 DCA FLIP8 /ACCUMULATE RESULT 000656 1245 TAD FLIP7 000657 7012 RTR 000660 7010 RAR /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 9-1 000661 0373 AND (70 /GET ..2. 000662 1246 TAD FLIP8 000663 3246 DCA FLIP8 /BUILD RESULT 000664 1245 TAD FLIP7 000665 0373 AND (70 000666 7106 CLL RTL 000667 7004 RAL /GET .3.. 000670 1246 TAD FLIP8 000671 3246 DCA FLIP8 /BUILD RESULT 000672 1245 TAD FLIP7 000673 0374 AND (7 000674 7112 CLL RTR 000675 7012 RTR /GET 4... 000676 1246 TAD FLIP8 000677 7040 CMA /GET NOT 4321 000700 5647 JMP I FLIP4 /EXIT /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 10 /TD8E I/O ROUTINE - CALLS STANDARD ROUTINE 000701 0000 TDIOCK, 0 000702 3343 DCA TDRET /SAVE RETURN ADDR 000703 7010 RAR 000704 3335 DCA TDFUN /SAVE READ/WRITE 000705 4772 JMS I (GET10D /GET TYPE OF DECTAPE 000706 1371 TAD (-2 000707 7640 SZA CLA 000710 5701 JMP I TDIOCK /TC08 - CONTINUE 000711 1743 TAD I TDRET 000712 3336 DCA TDBUF /SAVE BUF ADDR 000713 2343 ISZ TDRET 000714 4344 JMS GOLDBK /GET OLD BLOCK # 000715 1743 TAD I TDRET 000716 7204 CLA RAL /GET DIRECTION 000717 1370 TAD (110 /ONE BLOCK, FIELD 1 000720 1335 TAD TDFUN 000721 3335 DCA TDFUN /SAVE FINAL FUNCTION WORD 000722 4767 JMS I (TDUSET /SET UP HANDLER 000723 1111 TAD TDUNIT 000724 7710 SPA CLA 000725 1366 TAD (DTA1-DTA0 000726 1365 TAD (DTA0 000727 3301 DCA TDIOCK /SET UP HANDLER ENTRY PTR 000730 1743 TAD I TDRET 000731 3512 DCA I TAPFUN 000732 1512 TAD I TAPFUN 000733 3337 DCA TDBLK 000734 4701 JMS I TDIOCK 000735 0000 TDFUN, 0 000736 0000 TDBUF, 0 000737 0000 TDBLK, 0 000740 5764 JMP I (IOERR 000741 2343 ISZ TDRET 000742 5743 JMP I TDRET 000743 0000 TDRET, 0 000744 0000 GOLDBK, 0 000745 1020 TAD UNIT10 /GET THE UNIT WE NEED 000746 7106 CLL RTL 000747 7006 RTL /SHIFT INTO BITS 9-11 000750 1363 TAD (OLDTBL 000751 3112 DCA TAPFUN /POINT TO THIS UNIT'S POSITION 000752 1512 TAD I TAPFUN /GET LAST SERVICED BLOCK 000753 7141 CLL CIA 000754 5744 JMP I GOLDBK 000763 0600 000764 0203 000765 6200 000766 0004 000767 4661 000770 0110 000771 7776 000772 6207 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 10-1 000773 0070 000774 0007 000775 7500 000776 0577 000777 0474 1000 PAGE /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 11 /GET A LINE ROUTINE 001000 0000 GLINE, 0 /GET A LINE 001001 1174 TAD ["* 001002 4573 JMS I [ERROR3 /ANNOUNCE US WITH A * 001003 3055 DCA RBFLAG /RESET RUBOUT FLAG 001004 1172 TAD [LINBUF-1 001005 3017 DCA IXR /POINT TO THE BUFFER 001006 6031 CHLOOP, KSF 001007 5206 JMP CHLOOP /WAIT FOR TTY: 001010 1176 TAD [200 001011 6034 KRS /READ TTY: 001012 3023 DCA TEMP1 001013 6032 KCC 001014 1171 TAD [SPADR-1 001015 3010 DCA INDEX0 /SET LIST SEARCH 001016 1410 TAD I INDEX0 001017 7450 SNA 001020 5226 JMP .+6 /END OF LIST 001021 1023 TAD TEMP1 001022 7650 SNA CLA 001023 5410 JMP I INDEX0 /FOUND SO JUMP 001024 2010 ISZ INDEX0 001025 5216 JMP .-7 /LOOP 001026 4350 JMS PRNT /PRINT IT 001027 1023 CINSRT, TAD TEMP1 001030 3417 DCA I IXR /STORE THE CHARACTER 001031 1017 TAD IXR 001032 1377 TAD (-LINBUF-100 001033 7640 SZA CLA 001034 5206 JMP CHLOOP /GET ANOTHER CHARACTER 001035 4311 JMS CRCR 001036 5776 JMP I (SYNTAX /ERROR 001037 4311 CARRET, JMS CRCR 001040 3417 CLFINI, DCA I IXR /SET END 001041 3417 DCA I IXR 001042 5600 JMP I GLINE /EXIT 001043 7553 SPADR, -225;JMP CTRLU 001044 5275 001045 7563 -215;JMP CARRET 001046 5237 001047 7401 -377;JMP RUBOUT 001050 5324 001051 7403 -375;JMP ALTMOD 001052 5320 001053 7402 -376;JMP ALTMOD 001054 5320 001055 7545 -233;JMP ALTMOD 001056 5320 001057 7600 -200;JMP CHLOOP 001060 5206 001061 7561 -217;JMP CHLOOP /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 11-1 001062 5206 001063 7441 -337;JMP BAKARR 001064 5272 001065 7566 -212;JMP LFEED 001066 5361 001067 7575 -203;JMP CTRLC 001070 5275 001071 0000 0 001072 4350 BAKARR, JMS PRNT /"_" 001073 1170 TAD ["< 001074 5230 JMP CINSRT+1 /USE "<" INSTEAD CTRLC, 001075 1167 CTRLU, TAD ["^ 001076 4573 JMS I [ERROR3 /CONTROL CHARACTERS 001077 1023 TAD TEMP1 001100 1166 TAD [100 001101 4573 CLRLIN, JMS I [ERROR3 001102 4311 JMS CRCR 001103 1410 TAD I INDEX0 001104 7640 SZA CLA 001105 5201 JMP GLINE+1 /NOT "^C" 001106 6041 TSF 001107 5306 JMP .-1 001110 5775 JMP I (7605 /TO MONITOR 001111 0000 CRCR, 0 001112 1165 TAD [215 001113 3023 DCA TEMP1 001114 4350 JMS PRNT 001115 1164 TAD [212 001116 4573 JMS I [ERROR3 /PRINT CR-LF 001117 5711 JMP I CRCR 001120 1163 ALTMOD, TAD ["$ 001121 3023 DCA TEMP1 /ALTMODE IS "$" 001122 4350 JMS PRNT 001123 5240 JMP CLFINI /ENDS THE LINE 001124 1017 RUBOUT, TAD IXR 001125 1374 TAD (1-LINBUF 001126 7650 SNA CLA 001127 5344 JMP RBSPCL /SPECIAL TREATMENT 001130 1373 TAD ("\ 001131 2055 ISZ RBFLAG 001132 4573 JMS I [ERROR3 /PRINT \ 001133 7240 CLA CMA 001134 3055 DCA RBFLAG /SET FLAG 001135 1017 TAD IXR 001136 3024 DCA TEMP2 001137 1424 TAD I TEMP2 001140 4573 JMS I [ERROR3 /PRINT RUBED CHAR 001141 7240 LBCKUP, CLA CMA 001142 1017 TAD IXR /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 11-2 001143 5205 JMP CHLOOP-1 /GO GET ANOTHER 001144 2055 RBSPCL, ISZ RBFLAG 001145 5302 JMP CLRLIN+1 /NOT INTO RUBOUTS 001146 1373 TAD ("\ 001147 5301 JMP CLRLIN 001150 0000 PRNT, 0 001151 2055 ISZ RBFLAG 001152 5355 JMP .+3 001153 1373 TAD ("\ 001154 4573 JMS I [ERROR3 /END OF RUBOUTS 001155 3055 DCA RBFLAG 001156 1023 TAD TEMP1 001157 4573 JMS I [ERROR3 /PRINT CHAR 001160 5750 JMP I PRNT 001161 4311 LFEED, JMS CRCR 001162 3417 DCA I IXR /SET END 001163 1172 TAD [LINBUF-1 001164 3017 DCA IXR 001165 1174 TAD ["* 001166 4573 JMS I [ERROR3 001167 1417 TAD I IXR /PRINT THE LINE 001170 7450 SNA 001171 5341 JMP LBCKUP 001172 5366 JMP .-4 001173 0334 001174 3401 001175 7605 001176 0223 001177 3300 1200 PAGE /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 12 /FIND A SLOT ROUTINE /SLOT NUMBERS BETWEEN 0 AND 1101 /RETURN WITH A 5 BIT NUMBER (1 TO 26 OCTAL) / /CALL: / JMS FINDSL /FIND A SLOT / SLOT# /SLOT NUMBER / (AC) /VALUE OF SLOT RETURNED / /SLOT NUMBER OF 0 RETURNS 7777 001200 0000 FINDSL, 0 /FIND A SLOT 001201 7240 CLA CMA 001202 1600 TAD I FINDSL /GET SLOT NUMBER-1 001203 2200 ISZ FINDSL 001204 7510 SPA /WAS IT 0? 001205 5213 JMP FINDSA /YES 001206 4224 JMS DIV7 /NO - DIVIDE BY 7 001207 1377 TAD (JMP I FINDS0+7 001210 3212 DCA DIV1 /USE REMAINDER FOR JUMPING 001211 6211 CDF 10 /BUFFER IS IN FIELD 1 001212 7402 DIV1, HLT /TEMPORARY AND JUMP CELL 001213 7240 FINDSA, CLA CMA 001214 5600 JMP I FINDSL /EXIT WITH 7777 FOR SLOT NUMBER 0 001215 1240 FINDS0, FINDS1 /JUMP TABLE 001216 1247 FINDS2 001217 1252 FINDS3 001220 1266 FINDS4 001221 1272 FINDS5 001222 1303 FINDS6 001223 1310 FINDS7 /DIVIDE BY 7 ROUTINE 001224 0000 DIV7, 0 /DIVIDE BY 7 001225 3212 DCA DIV1 /SAVE IT 001226 1376 TAD (DIRECT 001227 3021 DCA POINT /POINT TO DIRECTORY 001230 1212 TAD DIV1 001231 1375 DIV3, TAD (-7 /SUBTRACT 7'S 001232 7510 SPA 001233 5624 JMP I DIV7 /EXIT WITH REMAINDER 001234 2021 ISZ POINT /BUMP POINTER BY 3 001235 2021 ISZ POINT 001236 2021 ISZ POINT 001237 5231 JMP DIV3 /AND LOOP /FIND SLOT ROUTINE #1 /USE WORD 1 BITS 0-4 001240 1421 FINDS1, TAD I POINT /GET CELL 001241 7006 RTL 001242 7006 RTL /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 12-1 001243 7006 RTL /GET FIRST 5 BITS 001244 0162 FINDS8, AND [37 /ONLY 5 BITS 001245 6201 CDF /BACK TO FIELD 0 001246 5600 JMP I FINDSL /AND EXIT WITH VALUE IN AC /FIND SLOT ROUTINE #2 /USE WORD 1 BITS 5-9 001247 1421 FINDS2, TAD I POINT 001250 7012 RTR /USE BITS 5-9 001251 5244 JMP FINDS8 /FIND SLOT ROUTINE #3 /USE WORD 1 BITS 10-11 AND WORD 2 BITS 0-2 001252 1421 FINDS3, TAD I POINT 001253 0161 AND [3 /USE BITS 10-11 OF 1ST WORD 001254 7106 CLL RTL 001255 7004 RAL /SHIFT TO BITS 7-8 001256 3212 DCA DIV1 /SAVE IT 001257 2021 ISZ POINT /NEXT WORD 001260 1421 TAD I POINT 001261 7106 CLL RTL 001262 7006 FINDS9, RTL /GET INTO BITS 8-11 001263 0160 AND [17 /GET ONLY BITS 8-11 001264 1212 TAD DIV1 /ADD OTHER BITS 001265 5244 JMP FINDS8 /FIND SLOT ROUTINE #4 /USE WORD 2 BITS 3-7 001266 2021 FINDS4, ISZ POINT /USE 2ND WORD 001267 1421 TAD I POINT 001270 7012 RTR /USE BITS 3-7 001271 5250 JMP FINDS2+1 /FIND SLOT ROUTINE #5 /USE WORD 2 BITS 8-11 AND WORD 3 BIT 0 001272 2021 FINDS5, ISZ POINT /USE 2ND WORD 001273 1421 TAD I POINT 001274 0160 AND [17 001275 7104 CLL RAL /GET BITS 7-10 001276 3212 DCA DIV1 /AND SAVE THEM 001277 2021 ISZ POINT /NEXT WORD 001300 7330 CLL CLA CML RAR 001301 0421 AND I POINT /GET BIT 0 001302 5262 JMP FINDS9 /FIND SLOT ROUTINE #6 /USE WORD 2 BITS 1-5 001303 2021 FINDS6, ISZ POINT 001304 2021 ISZ POINT /USE 3RD WORD 001305 1421 TAD I POINT /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 12-2 001306 7004 RAL 001307 5241 JMP FINDS1+1 /FIND SLOT ROUTINE #7 /USE WORD 3 BITS 6-10 001310 2021 FINDS7, ISZ POINT 001311 2021 ISZ POINT /USE 3RD WORD 001312 1421 TAD I POINT 001313 7010 RAR /GET RID OF LAST BIT 001314 5244 JMP FINDS8 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 13 /DELETE A PDP-10 ENTRY / /CALL: / (AC) /POINT TO NAME-1 (FIELD 1) / JMS DELETE /DELETE A PDP-10 ENTRY / -NO- /NOT FOUND / -OK- /ENTRY DELETED 001315 0000 DELETE, 0 /DELETE A PDP-10 ENTRY 001316 4774 JMS I (FIND /TRY TO FIND IT FIRST 001317 5715 JMP I DELETE /NOT FOUND 001320 2315 ISZ DELETE /FOUND - 2ND EXIT 001321 3360 DCA DELET1 /SAVE SLOT NUMBER 001322 7201 CLA IAC 001323 3327 DCA DELET2 /START AT SLOT 1 001324 1373 TAD (-1101 001325 3361 DCA DELET3 /DO 1101 SLOTS 001326 4200 JMS FINDSL /FIND A SLOT 001327 0000 DELET2, 0 /SLOT NUMBER 001330 7041 CIA 001331 1360 TAD DELET1 /IS IT ONE OF OURS? 001332 7640 SZA CLA 001333 5341 JMP DELET4 /NO 001334 1327 TAD DELET2 /YES 001335 3337 DCA .+2 /SET SLOT NUMBER AGAIN 001336 4772 JMS I (FILLSL /FILL WITH A 0 001337 0000 0 001340 0000 0 /FILL WITH A 0 001341 2327 DELET4, ISZ DELET2 /NEXT SLOT 001342 2361 ISZ DELET3 /MORE? 001343 5326 JMP DELET2-1 /YES - LOOP 001344 6211 CDF 10 /DIRECTORY IS IN FIELD 1 001345 3410 DCA I INDEX0 /REMEMBER "FIND" SETTING THIS UP? 001346 3410 DCA I INDEX0 /REMOVE THE FILE NAME 001347 3410 DCA I INDEX0 001350 1010 TAD INDEX0 001351 1177 TAD [77 001352 3010 DCA INDEX0 /POINT TO EXTENSION 001353 3410 DCA I INDEX0 001354 3410 DCA I INDEX0 /REMOVE EXTENSION 001355 3410 DCA I INDEX0 001356 6201 CDF 001357 5715 JMP I DELETE /EXIT 001360 0000 DELET1, 0 /HOLDS FOUND SLOT NUMBER 001361 0000 DELET3, 0 /COUNTER 001372 1400 001373 6677 001374 4266 001375 7771 001376 7000 001377 5624 1400 PAGE /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 14 /FILL A SLOT ROUTINE / /CALL: / JMS FILLSL /FILL A SLOT / SLOT# /SLOT NUMBER / VALUE /VALUE TO FILL SLOT WITH / /SLOT NUMBER 0 IS ILLEGAL! 001400 0000 FILLSL, 0 /FILL A SLOT ROUTINE 001401 7240 CLA CMA 001402 1600 TAD I FILLSL /GET SLOT NUMBER-1 001403 2200 ISZ FILLSL 001404 4777 JMS I (DIV7 /DIVIDE BY 7 001405 1376 TAD (JMP I FILLS0+7 001406 3213 DCA FILLS9 /USE REMAINDER FOR JUMPING 001407 1600 TAD I FILLSL /GET VALUE 001410 2200 ISZ FILLSL 001411 0162 AND [37 /5 BIT VALUE ONLY 001412 6211 CDF 10 /DIRECTORY IS IN FIELD 1 001413 7402 FILLS9, HLT /TEMPORARY AND JUMP CELL /JUMP TABLE 001414 1424 FILLS0, FILLS1 001415 1436 FILLS2 001416 1443 FILLS3 001417 1466 FILLS4 001420 1475 FILLS5 001421 1516 FILLS6 001422 1527 FILLS7 001423 0000 FILLSA, 0 /TEMPORARY /FILL SLOT ROUTINE #1 /BITS 0-4 OF WORD 1 001424 7112 FILLS1, CLL RTR 001425 7012 RTR /VALUE INTO BITS 0-4 001426 7012 RTR 001427 3213 DCA FILLS9 /SAVE VALUE 001430 1421 TAD I POINT 001431 0157 AND [177 /AND OFF BITS 0-4 001432 1213 FILLS8, TAD FILLS9 /ADD IN VALUE 001433 3421 DCA I POINT /SET NEW WORD 001434 6201 CDF /BACK TO FIELD 0 001435 5600 JMP I FILLSL /EXIT /FILL SLOT ROUTINE #2 /BITS 5-9 OF WORD 1 001436 7106 FILLS2, CLL RTL /VALUE INTO BITS 5-9 001437 3213 DCA FILLS9 /SAVE VALUE 001440 1421 TAD I POINT 001441 0375 AND (7603 /AND OFF BITS 5-9 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 14-1 001442 5232 JMP FILLS8 /FILL SLOT ROUTINE #3 /BITS 10-11 OF WORD 1 AND BITS 0-2 OF WORD 2 001443 3213 FILLS3, DCA FILLS9 /SAVE VALUE 001444 1213 TAD FILLS9 001445 7110 CLL RAR 001446 7110 CLL RAR /GET BITS 10-11 001447 7110 CLL RAR 001450 3223 DCA FILLSA /SAVE 001451 1421 TAD I POINT 001452 0374 AND (7774 /AND OFF BITS 10-11 001453 1223 TAD FILLSA /ADD IN BITS 10-11 001454 3421 DCA I POINT /SET NEW WORD 001455 2021 ISZ POINT /GOTO WORD 2 001456 1213 TAD FILLS9 001457 0156 AND [7 /GET BITS 0-2 001460 7112 CLL RTR 001461 7012 RTR /SHIFT THEM 001462 3213 DCA FILLS9 /SAVE VALUE 001463 1421 TAD I POINT 001464 0373 AND (777 /AND OFF BITS 0-2 001465 5232 JMP FILLS8 /FILL SLOT ROUTINE #4 /BITS 3-7 OF WORD 2 001466 7106 FILLS4, CLL RTL 001467 7006 RTL /SHIFT INTO POSITION 001470 3213 DCA FILLS9 /AND SAVE 001471 2021 ISZ POINT /USE WORD 2 001472 1421 TAD I POINT 001473 0372 AND (7017 /AND OFF BITS 3-7 001474 5232 JMP FILLS8 /FILL SLOT ROUTINE #5 /BITS 8-11 OF WORD 2 AND BIT 0 OF WORD 3 001475 3213 FILLS5, DCA FILLS9 001476 1213 TAD FILLS9 /GET VALUE 001477 7110 CLL RAR /GET BITS 8-11 001500 3223 DCA FILLSA /AND SAVE 001501 2021 ISZ POINT /USE WORD 2 FIRST 001502 1421 TAD I POINT 001503 0155 AND [7760 /AND OFF BITS 8-11 001504 1223 TAD FILLSA /ADD IN THOSE BITS 001505 3421 DCA I POINT /SET NEW WORD 2 001506 2021 ISZ POINT /NOW WORD 3 001507 7201 CLA IAC 001510 0213 AND FILLS9 /GET BIT 0 001511 7112 CLL RTR /AND SHIFT INTO POSITION 001512 3213 DCA FILLS9 /AND SAVE IT 001513 7350 CLL CLA CMA RAR 001514 0421 AND I POINT /AND OFF BIT 0 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 14-2 001515 5232 JMP FILLS8 /FILL SLOT ROUTINE #6 /BITS 1-5 OF WORD 3 001516 7106 FILLS6, CLL RTL 001517 7006 RTL /SHIFT INTO POSITION 001520 7006 RTL 001521 3213 DCA FILLS9 /AND SAVE 001522 2021 ISZ POINT 001523 2021 ISZ POINT /USE WORD 3 001524 1421 TAD I POINT 001525 0371 AND (4077 /AND OFF BITS 1-5 001526 5232 JMP FILLS8 /FILL SLOT ROUTINE #7 /BITS 6-10 OF WORD 3 /BIT 11 OF WORD 3 A 0 001527 7104 FILLS7, CLL RAL /SHIFT INTO POSITION 001530 3213 DCA FILLS9 /AND SAVE 001531 2021 ISZ POINT 001532 2021 ISZ POINT /USE WORD 3 001533 1421 TAD I POINT 001534 0154 AND [7700 /AND OFF BITS 6-11 001535 5232 JMP FILLS8 001571 4077 001572 7017 001573 0777 001574 7774 001575 7603 001576 5623 001577 1224 1600 PAGE /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 15 /GET NEXT SLOT ROUTINE /GOES BY 5'S EITHER FORWARD OR BACKWARD / /CALL: / (AC) /CURRENT BLOCK NUMBER / JMS NEXTSL /GET NEXT SLOT / (AC) /NEXT BLOCK NUMBER / /GOES TO "NOROOM" IF DIRECTORY FULL 001600 0000 NEXTSL, 0 /GET NEXT SLOT 001601 1276 TAD NEXTDI /ADD IN DIRECTION FACTOR 001602 7510 SPA 001603 5231 JMP NEXTS2 /<0 MEANS REVERSE DIRECTION 001604 1153 TAD [-1102 001605 7500 SMA 001606 5231 JMP NEXTS2 />1101 MEANS REVERSE DIRECTION 001607 1377 TAD (1102 001610 3212 DCA NEXTS1 /SET NEW BLOCK NUMBER 001611 4776 JMS I (FINDSL /IS THIS SLOT FREE? 001612 0000 NEXTS1, 0 /BLOCK NUMBER 001613 7640 SZA CLA 001614 5241 JMP NEXTS3 /NO - NOT FREE 001615 1212 TAD NEXTS1 /FREE 001616 3220 DCA NEXTS7+1 /SET BLOCK AGAIN 001617 4775 NEXTS7, JMS I (FILLSL /FILL THIS SLOT THEN 001620 0000 0 /SLOT TO FILL 001621 0000 SLOTNO, 0 /VALUE TO FILL WITH 001622 1276 TAD NEXTDI 001623 7700 SMA CLA /MAKE SURE DIRECTION IS -4 OR 4 001624 1374 TAD (10 001625 1373 TAD (-4 001626 3276 DCA NEXTDI 001627 1220 TAD NEXTS7+1 /GET NEW BLOCK 001630 5600 JMP I NEXTSL /EXIT 001631 7200 NEXTS2, CLA /REVERSE DIRECTION 001632 1276 TAD NEXTDI 001633 7700 SMA CLA /SET 0 OR 1101 001634 1372 TAD (1101 001635 3212 DCA NEXTS1 /INTO BLOCK NUMBER 001636 1276 TAD NEXTDI 001637 7041 CIA /REVERSE DIRECTION 001640 5242 JMP NEXTS3+1 /GO PRETEND WE FOUND A FULL SLOT 001641 1276 NEXTS3, TAD NEXTDI 001642 7700 SMA CLA /MAKE DIRECTION -1 OR 1 001643 7344 CLL CLA CMA RAL 001644 7040 CMA 001645 3276 DCA NEXTDI /DIRECTION IS -1 OR 1 001646 1153 TAD [-1102 001647 3275 DCA NEXTS4 /CHECK 1102 BLOCKS 001650 1212 TAD NEXTS1 001651 3253 DCA NEXTS5 /SET START BLOCK 001652 4776 JMS I (FINDSL /CHECK A SLOT /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 15-1 001653 0000 NEXTS5, 0 /SLOT TO CHECK 001654 7650 SNA CLA 001655 5273 JMP NEXTS6 /FOUND A FREE SLOT 001656 2275 ISZ NEXTS4 /TRY MORE? 001657 7410 SKP /YES 001660 5771 JMP I (NOROOM /NO - OUT OF ROOM 001661 1253 TAD NEXTS5 001662 1276 TAD NEXTDI /ADD DIRECTION TO SLOT 001663 7510 SPA 001664 5231 JMP NEXTS2 /<0 IS TOO FAR 001665 1153 TAD [-1102 001666 7500 SMA 001667 5231 JMP NEXTS2 />1101 IS TOO FAR 001670 1377 TAD (1102 001671 3253 DCA NEXTS5 /SET NEW BLOCK 001672 5252 JMP NEXTS5-1 /KEEP GOING 001673 1253 NEXTS6, TAD NEXTS5 /GET FREE BLOCK 001674 5216 JMP NEXTS7-1 /AND SET IT 001675 0000 NEXTS4, 0 /COUNTER 001676 0000 NEXTDI, 0 /DIRECTION (5, -5, 1, -1) /MORE PDP-10 OUTPUT /OUTPUT CHARACTER #3 - BITS 9-11 WORD 2 AND BITS 0-3 WORD 3 001677 1107 OCHAR3, TAD OCHARY 001700 7112 CLL RTR 001701 7012 RTR 001702 0156 AND [7 001703 1442 TAD I OPOINT 001704 3442 DCA I OPOINT 001705 2042 ISZ OPOINT 001706 1107 TAD OCHARY 001707 0160 AND [17 001710 7112 CLL RTR 001711 7012 RTR 001712 7010 RAR 001713 5770 JMP I (OCHARD 001770 2127 001771 0205 001772 1101 001773 7774 001774 0010 001775 1400 001776 1200 001777 1102 2000 PAGE /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 16 /PDP-10 CHARACTER OUTPUT ROUTINE / /CALL: / (AC) /CHARACTER / JMS OCHR10 /OUTPUT TO PDP-10 / -RETURN- /O.K. RETURN 002000 0000 OCHR10, 0 /OUTPUT TO PDP-10 002001 3107 DCA OCHARY /SAVE CHAR 002002 1044 TAD MODE /IMAGE MODE? 002003 7440 SZA 002004 5215 JMP OC10A1 /YES /I OR /B 002005 1107 TAD OCHARY /NO - USE 7 BITS 002006 0157 AND [177 002007 3107 OC10A2, DCA OCHARY 002010 1032 OC10A3, TAD CHARNO /GET CHAR NUMBER 002011 1377 TAD (JMP I OCHARX 002012 3214 DCA OCHARZ /USE TO SET UP JUMP 002013 6211 CDF 10 /BUFFER IS IN FIELD 1 002014 0000 OCHARZ, 0 /JUMP TO THE ROUTINE 002015 7700 OC10A1, SMA CLA /BINARY? 002016 5210 JMP OC10A3 /NO 002017 1107 TAD OCHARY /YES 002020 0152 AND [377 002021 5207 JMP OC10A2 002022 2027 OCHARX, OCHAR0 002023 2132 OCHAR1 002024 2150 OCHAR2 002025 1677 OCHAR3 002026 2160 OCHAR4 /OUTPUT CHARACTER #0 - BITS 0-6 WORD 1 002027 1551 OCHAR0, TAD I [OBUF10+2 002030 0157 AND [177 /GET COUNT 002031 1376 TAD (-177 002032 7640 SZA CLA 002033 5301 JMP OCHARA /STILL ROOM IN BUFFER 002034 6201 CDF /NO ROOM IN BUFFER 002035 1036 TAD OBLOCK 002036 4775 JMS I (NEXTSL /GET THE NEXT BLOCK NUMBER 002037 3214 DCA OCHARZ /AND SAVE IT 002040 6211 CDF 10 /BACK TO FIELD 1 002041 1214 TAD OCHARZ 002042 0154 AND [7700 002043 7112 CLL RTR 002044 7012 RTR 002045 7012 RTR /GET LINK POINTER 002046 3550 DCA I [OBUF10 002047 1214 TAD OCHARZ 002050 0177 AND [77 002051 7106 CLL RTL 002052 7006 RTL /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 16-1 002053 7006 RTL 002054 1547 TAD I [OBUF10+1 002055 3547 DCA I [OBUF10+1 /AND SET POINTER 002056 1033 TAD OUNIT 002057 3020 DCA UNIT10 /SET OUR UNIT 002060 1036 TAD OBLOCK 002061 3264 DCA .+3 /AND OUR BLOCK 002062 4774 JMS I (WRITET /WRITE PDP-10 DECTAPE 002063 5000 OBUF10 002064 0000 0 /BLOCK NUMBER IS SET 002065 6211 CDF 10 /BACK TO FIELD 1 002066 3550 DCA I [OBUF10 002067 1547 TAD I [OBUF10+1 002070 0177 AND [77 002071 3547 DCA I [OBUF10+1 /CLEAR POINTER 002072 1214 TAD OCHARZ 002073 3036 DCA OBLOCK /SET NEW BLOCK 002074 1551 TAD I [OBUF10+2 002075 0146 AND [7400 002076 3551 DCA I [OBUF10+2 /ZERO COUNT 002077 1373 TAD (OBUF10+3 002100 3042 DCA OPOINT /RESET POINTER 002101 2551 OCHARA, ISZ I [OBUF10+2 /BUMP COUNT 002102 1044 TAD MODE /IMAGE MODE? 002103 7450 SNA 002104 5323 JMP OCHARB /NO 002105 7700 SMA CLA /BINARY? 002106 5321 JMP OC10A4 /NO 002107 3442 DCA I OPOINT /YES 002110 2042 ISZ OPOINT 002111 3442 DCA I OPOINT 002112 2042 ISZ OPOINT 002113 1107 TAD OCHARY 002114 3442 DCA I OPOINT /SET 8 BITS 002115 2042 ISZ OPOINT 002116 6201 OCHARC, CDF /BACK TO FIELD 0 002117 5600 JMP I OCHR10 /EXIT 002120 2042 OC10A5, ISZ OPOINT 002121 1107 OC10A4, TAD OCHARY 002122 5327 JMP OCHARD 002123 1107 OCHARB, TAD OCHARY 002124 7106 CLL RTL 002125 7006 RTL 002126 7004 RAL /USE BITS 0-6 002127 3442 OCHARD, DCA I OPOINT /SET IT 002130 2032 ISZ CHARNO /BUMP CHARACTER NUMBER 002131 5316 JMP OCHARC /OUTPUT CHARACTER #1 - BITS 7-11 WORD 1 AND BITS 0-1 WORD 2 002132 1044 OCHAR1, TAD MODE 002133 7640 SZA CLA 002134 5320 JMP OC10A5 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 16-2 002135 1107 TAD OCHARY 002136 7110 CLL RAR /GET BITS 7-11 002137 7110 CLL RAR 002140 1442 TAD I OPOINT 002141 3442 DCA I OPOINT /SET WORD 1 002142 2042 ISZ OPOINT /NOW WORD 2 002143 1107 TAD OCHARY 002144 0161 AND [3 002145 7112 CLL RTR 002146 7010 RAR /GET BITS 0-1 002147 5327 JMP OCHARD /OUTPUT CHARACTER #2 - BITS 2-8 WORD 2 002150 1044 OCHAR2, TAD MODE 002151 7640 SZA CLA 002152 5367 JMP OC10A6 002153 1107 TAD OCHARY 002154 7106 CLL RTL 002155 7004 RAL /GET BITS 2-8 002156 1442 TAD I OPOINT 002157 5327 JMP OCHARD /OUTPUT CHARACTER #4 - BITS 4-10 WORD 3 /BIT 11 WORD 3 IS 0 002160 1107 OCHAR4, TAD OCHARY 002161 7104 CLL RAL /BITS 4-10 002162 1442 TAD I OPOINT 002163 3442 OC10A7, DCA I OPOINT /SET WORD 3 002164 2042 ISZ OPOINT 002165 3032 DCA CHARNO /RESET CHARACTER NUMBER 002166 5316 JMP OCHARC 002167 2042 OC10A6, ISZ OPOINT 002170 1107 TAD OCHARY 002171 5363 JMP OC10A7 002173 5003 002174 0401 002175 1600 002176 7601 002177 5622 2200 PAGE /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 17 /PDP-10 CHARACTER INPUT / /CALL: / JMS ICHR10 /PDP-10 INPUT / -EOF- /END OF FILE RETURN / (AC) /NORMAL RETURN - CHARACTER IN AC 002200 0000 ICHR10, 0 /PCP-10 INPUT ROUTINE 002201 1031 TAD CHARNI 002202 1377 TAD (JMP I ICHARX 002203 3205 DCA ICHARY /USE CHARACTER NUMBER TO FORM JUMP 002204 6211 CDF 10 /BUFFER IS IN FIELD 1 002205 0000 ICHARY, 0 /TEMPORARY AND JUMP CELL 002206 2213 ICHARX, ICHAR0 002207 2321 ICHAR1 002210 2337 ICHAR2 002211 2346 ICHAR3 002212 2362 ICHAR4 /INPUT CHARACTER #0 - BITS 0-6 WORD 1 002213 1045 ICHAR0, TAD WORDS /GET NUMBER OF WORD LEFT 002214 7640 SZA CLA 002215 5253 JMP ICHARA /STILL MORE WORDS LEFT 002216 1035 TAD IBLOCK /GET NEXT BLOCK 002217 7450 SNA 002220 5271 JMP ICHARC+1 /NONE - EOF 002221 3226 DCA .+5 /SET NEXT BLOCK 002222 1034 TAD IUNIT 002223 3020 DCA UNIT10 /SET OUR UNIT 002224 4776 JMS I (READT /READ PDP-10 DECTAPE 002225 3000 IBUF10 002226 0000 0 /OUR BLOCK IS SET 002227 6211 CDF 10 /BACK TO FIELD 1 002230 1545 TAD I [IBUF10+2 002231 0157 AND [177 002232 3045 DCA WORDS /SET NUMBER OF WORDS 002233 1544 TAD I [IBUF10+1 002234 7012 RTR 002235 7012 RTR 002236 7012 RTR 002237 0177 AND [77 002240 3035 DCA IBLOCK /SET NEXT BLOCK 002241 1543 TAD I [IBUF10 002242 0177 AND [77 002243 7106 CLL RTL 002244 7006 RTL 002245 7006 RTL 002246 1035 TAD IBLOCK 002247 3035 DCA IBLOCK /SET NEXT BLOCK 002250 1375 TAD (IBUF10+3 002251 3041 DCA IPOINT /RESET POINTER 002252 5213 JMP ICHAR0 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 17-1 002253 7240 ICHARA, CLA CMA 002254 1045 TAD WORDS 002255 3045 DCA WORDS /COUNT DOWM ON NUMBER OF WORDS 002256 1044 TAD MODE /IMAGE MODE? 002257 7450 SNA 002260 5273 JMP ICHARB /NO 002261 7700 SMA CLA 002262 5371 JMP IC10A1 002263 2041 ISZ IPOINT /YES 002264 2041 ISZ IPOINT 002265 1441 TAD I IPOINT /GET WORD 3 002266 2041 ISZ IPOINT 002267 0152 AND [377 /USE 8 BITS 002270 2200 ICHARC, ISZ ICHR10 /2ND EXIT 002271 6201 CDF /BACK TO FIELD 0 002272 5600 JMP I ICHR10 /EXIT 002273 1043 ICHARB, TAD SAVELN /PRESERVE OPTION? 002274 7640 SZA CLA 002275 5311 JMP ICHARF /YES 002276 7326 CLL CLA CML RTL /NO 002277 1041 TAD IPOINT 002300 3205 DCA ICHARY /POINT TO WORD 3 002301 1605 TAD I ICHARY 002302 7110 CLL RAR 002303 7620 SNL CLA 002304 5311 JMP ICHARF /WORD O.K. 002305 2041 ISZ IPOINT 002306 2041 ISZ IPOINT /IGNORE THIS WORD 002307 2041 ISZ IPOINT 002310 5213 JMP ICHAR0 002311 1441 ICHARF, TAD I IPOINT 002312 7012 RTR 002313 7012 RTR /GET BITS 0-6 002314 7010 RAR 002315 2031 ICHARD, ISZ CHARNI /BUMP COUNTER 002316 0157 AND [177 /USE 7 BITS 002317 1176 TAD [200 /ADD BIT 8 002320 5270 JMP ICHARC /INPUT CHARACTER #1 - BITS 7-11 WORD 1 AND BITS 0-1 WORD 2 002321 1044 ICHAR1, TAD MODE 002322 7640 SZA CLA 002323 5371 JMP IC10A1 002324 1441 TAD I IPOINT 002325 0162 AND [37 002326 7106 CLL RTL /GET BITS 7-11 002327 3205 DCA ICHARY 002330 2041 ISZ IPOINT /USE WORD 2 NOW 002331 1441 TAD I IPOINT 002332 7106 CLL RTL 002333 7004 RAL 002334 0161 AND [3 /GET BITS 0-1 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 17-2 002335 1205 ICHARE, TAD ICHARY /ADD IN OTHER BITS 002336 5315 JMP ICHARD /INPUT CHARACTER #2 - BITS 2-8 WORD 2 002337 1044 ICHAR2, TAD MODE 002340 7640 SZA CLA 002341 5367 JMP IC10A3 002342 1441 TAD I IPOINT 002343 7010 RAR 002344 7012 RTR /GET BITS 2-8 002345 5315 JMP ICHARD /INPUT CHARACTER #3 - BITS 9-11 WORD 2 AND BITS 0-3 WORD 3 002346 1441 ICHAR3, TAD I IPOINT 002347 0156 AND [7 002350 7106 CLL RTL 002351 7006 RTL /GET BITS 9-11 002352 3205 DCA ICHARY 002353 2041 ISZ IPOINT /USE WORD 3 NOW 002354 1441 TAD I IPOINT 002355 7006 RTL 002356 7006 RTL 002357 7004 RAL 002360 0160 AND [17 /GET BITS 0-3 002361 5335 JMP ICHARE /INPUT CHARACTER #4 - BITS 4-10 WORD 3 002362 3031 ICHAR4, DCA CHARNI /RESET CHARACTER COUNT 002363 1441 TAD I IPOINT 002364 2041 ISZ IPOINT 002365 7010 RAR 002366 5316 JMP ICHARD+1 002367 3031 IC10A3, DCA CHARNI 002370 7410 SKP 002371 2031 IC10A1, ISZ CHARNI 002372 1441 TAD I IPOINT 002373 2041 ISZ IPOINT 002374 5270 JMP ICHARC 002375 3003 002376 0475 002377 5606 2400 PAGE /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 18 /CLOSE A PDP-10 FILE / /CALL: / JMS CLOS10 /CLOSE A PDP-10 FILE / -RETURN- 002400 0000 CLOS10, 0 /CLOSE A PDP-10 FILE 002401 1044 TAD MODE /IMAGE MODE? 002402 7710 SPA CLA 002403 5211 JMP CLOS1A /YES - NO FILL NEEDED 002404 1032 TAD CHARNO 002405 7650 SNA CLA 002406 5211 JMP CLOS1A /CHARACTER NUMBER IS 0 - FILL DONE 002407 4777 JMS I (OCHR10 /0 FILL 002410 5204 JMP .-4 /LOOP 002411 1033 CLOS1A, TAD OUNIT 002412 3020 DCA UNIT10 /SET OUR UNIT 002413 1036 TAD OBLOCK 002414 3217 DCA .+3 /SET THE BLOCK 002415 4776 JMS I (WRITET /WRITE PDP-10 DECTAPE 002416 5000 OBUF10 002417 0000 0 /BLOCK IS SET 002420 1375 TAD (MOUTPU 002421 4774 JMS I (DELETE /DELETE THE OLD FILE 002422 7000 NOP /O.K. IF IT IS NOT THERE 002423 1047 TAD FREEP 002424 3010 DCA INDEX0 /POINT TO THE FREE SPOT 002425 1142 TAD [MOUTPU 002426 3011 DCA INDEX1 /POINT TO THE FILE NAME 002427 6211 CDF 10 /TO FIELD 1 002430 1411 TAD I INDEX1 002431 3410 DCA I INDEX0 002432 1411 TAD I INDEX1 /SET THE NAME 002433 3410 DCA I INDEX0 002434 1411 TAD I INDEX1 002435 3410 DCA I INDEX0 002436 1010 TAD INDEX0 002437 1177 TAD [77 002440 3010 DCA INDEX0 /POINT TO THE EXTENSION 002441 1411 TAD I INDEX1 002442 3410 DCA I INDEX0 /SET THE EXTENSION 002443 1411 TAD I INDEX1 002444 3410 DCA I INDEX0 002445 1046 TAD DATE 002446 3410 DCA I INDEX0 /SET THE DATE 002447 4776 JMS I (WRITET /WRITE PDP-10 DECTAPE 002450 7000 DIRECT /DIRECTORY 002451 0144 144 /BLOCK 100 BASE 10 002452 5600 JMP I CLOS10 /EXIT /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 19 /OPEN A PDP-10 FILE FOR OUTPUT / /CALL: / JMS OOPN10 /OPEN A PDP-10 FILE / -RETURN- 002453 0000 OOPN10, 0 /OPEN A PDP-10 FILE 002454 1373 TAD (ZFREE-1 002455 4772 JMS I (FIND /FIND A FREE SPOT 002456 5771 JMP I (NOROOM /NO ROOM LEFT 002457 3770 DCA I (SLOTNO /SET THIS SLOT 002460 1010 TAD INDEX0 002461 3047 DCA FREEP /SAVE POINTER TO FREE SPOT 002462 7240 CLA CMA 002463 3767 DCA I (NEXTDI /SET DIRECTION = -1 002464 1366 TAD (144 002465 4765 JMS I (NEXTSL /FIND FIRST OPEN SLOT 002466 3036 DCA OBLOCK /AND SET IT 002467 6211 CDF 10 002470 1542 TAD I [MOUTPU 002471 3033 DCA OUNIT /SET UNIT 002472 1036 TAD OBLOCK 002473 0160 AND [17 002474 7112 CLL RTR 002475 7012 RTR 002476 7010 RAR 002477 3551 DCA I [OBUF10+2 /SET FIRST BLOCK POINTER 002500 1036 TAD OBLOCK 002501 7112 CLL RTR 002502 7012 RTR 002503 0177 AND [77 002504 3547 DCA I [OBUF10+1 /SET FIRST BLOCK POINTER 002505 3550 DCA I [OBUF10 /ZERO LINK POINTER 002506 3032 DCA CHARNO /RESET CHARACTER NUMBER 002507 1364 TAD (OBUF10+3 002510 3042 DCA OPOINT /RESET POINTER 002511 6201 CDF 002512 5653 JMP I OOPN10 /EXIT /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 20 /OPEN PDP-10 INPUT FILE / /CALL: / (AC) /POINT TO FILE NAME-1 / JMS IOPN10 /OPEN PDP-10 INPUT FILE / -NO- /NOT THERE / (AC) /ANY BLOCK OF THE FILE 002513 0000 IOPN10, 0 /OPEN PDP-10 INPUT FILE 002514 4772 JMS I (FIND /FIND THE FILE 002515 5713 JMP I IOPN10 /NOT THERE 002516 3343 DCA IOPN1B /SAVE SLOT NUMBER 002517 1363 TAD (143 002520 3324 DCA IOPN1A 002521 1362 TAD (CLA CMA 002522 3331 DCA IOPN1D 002523 4761 IOPN1F, JMS I (FINDSL /FIND A SLOT 002524 0000 IOPN1A, 0 /SLOT TO FIND 002525 7041 CIA 002526 1343 TAD IOPN1B /IS IT US? 002527 7650 SNA CLA 002530 5347 JMP IOPN1C /YES 002531 7240 IOPN1D, CLA CMA 002532 1324 TAD IOPN1A /BUMP BLOCK NUMBER 002533 7510 SPA 002534 5344 JMP IOPN1E /TOO FAR 002535 1153 TAD [-1102 002536 7500 SMA 002537 5713 JMP I IOPN10 /TOO FAR - EXIT 002540 1360 TAD (1102 002541 3324 DCA IOPN1A /SET NEW BLOCK 002542 5323 JMP IOPN1F /RETRY 002543 0000 IOPN1B, 0 /SLOT THAT WE WANT 002544 7200 IOPN1E, CLA 002545 1357 TAD (CLA IAC 002546 5322 JMP IOPN1F-1 /CHANGE DIRECTION AND RETRY 002547 1324 IOPN1C, TAD IOPN1A 002550 6201 CDF 002551 2313 ISZ IOPN10 002552 5713 JMP I IOPN10 /EXIT 002557 7201 002560 1102 002561 1200 002562 7240 002563 0143 002564 5003 002565 1600 002566 0144 002567 1676 002570 1621 002571 0205 002572 4266 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 20-1 002573 1777 002574 1315 002575 7600 002576 0401 002577 2000 2600 PAGE /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 21 /CONVERT OS8 DATE TO PDP-10 DATE 002600 0000 CVDATE, 0 002601 7450 SNA 002602 5600 JMP I CVDATE /0 CONVERTS TO 0 002603 3023 DCA TEMP1 002604 1023 TAD TEMP1 002605 0156 AND [7 /GET OS8 YEAR (-1970) DECIMAL 002606 1377 TAD (1970-1964 OCTAL 002607 3246 DCA DATE1 /SAVE YEAR 002610 1246 TAD DATE1 002611 7104 CLL RAL /*2 002612 1246 TAD DATE1 /*2+1=*3 002613 7106 CLL RTL /*3*4=*12 002614 3246 DCA DATE1 /DATE1=DATE1*12 002615 1023 TAD TEMP1 002616 7006 RTL 002617 7006 RTL 002620 7004 RAL 002621 0160 AND [17 /GET MONTH 002622 1376 TAD (-1 002623 1246 TAD DATE1 /ADD IN MONTH 002624 3246 DCA DATE1 002625 1246 TAD DATE1 002626 7104 CLL RAL /*2 002627 1246 TAD DATE1 /*2+1=*3 002630 3024 DCA TEMP2 002631 1024 TAD TEMP2 002632 7106 CLL RTL /*3*4=*12 002633 1024 TAD TEMP2 /*12+*3=*15 002634 7104 CLL RAL /*15*2=*30 002635 1246 TAD DATE1 /*30+1=*31 002636 3246 DCA DATE1 /DATE1=DATE1+MONTH-1 * 31 002637 1023 TAD TEMP1 002640 7012 RTR 002641 7010 RAR 002642 0162 AND [37 002643 1376 TAD (-1 /DAY-1 002644 1246 TAD DATE1 002645 5600 JMP I CVDATE 002646 0000 DATE1, 0 /TYPE A PDP-10 DATE 002647 0000 DATE10, 0 002650 3246 DCA DATE1 /SAVE VALUE 002651 3322 DCA DATE2 /WILL BE YEAR 002652 1246 DATE11, TAD DATE1 002653 7700 SMA CLA 002654 5262 JMP DATE12 /MUST BE POSITIVE 002655 2322 ISZ DATE2 /BUMP YEAR 002656 1246 TAD DATE1 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 21-1 002657 1375 TAD (-564 /-372 DECIMAL (DAYS PER YEAR) 002660 3246 DCA DATE1 002661 5252 JMP DATE11 002662 3323 DATE12, DCA DATE3 /WILL BE MONTH 002663 1246 TAD DATE1 /DIVIDE BY 31 002664 1374 TAD (-37 002665 7510 SPA 002666 5272 JMP .+4 002667 2323 ISZ DATE3 /BUMP MONTH 002670 3246 DCA DATE1 002671 5263 JMP .-6 002672 7200 CLA 002673 2246 ISZ DATE1 /+1 IS DAY 002674 1373 TAD (100 002675 1322 TAD DATE2 002676 3322 DCA DATE2 /ADD (19)64 TO YEAR 002677 1323 TAD DATE3 /DIVIDE BY 12 002700 1372 TAD (-14 002701 7510 SPA 002702 5306 JMP .+4 002703 2322 ISZ DATE2 /BUMP YEAR 002704 3323 DCA DATE3 002705 5277 JMP .-6 002706 7201 CLA IAC 002707 1323 TAD DATE3 /+1 IS MONTH 002710 4324 JMS PRINT /PRINT MONTH 002711 1371 TAD ("/ 002712 4440 JMS I OUTPUT 002713 1246 TAD DATE1 002714 4324 JMS PRINT /PRINT DAY 002715 1371 TAD ("/ 002716 4440 JMS I OUTPUT 002717 1322 TAD DATE2 002720 4324 JMS PRINT /PRINT YEAR 002721 5647 JMP I DATE10 002722 0000 DATE2, 0 /YEAR 002723 0000 DATE3, 0 /MONTH /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 22 /PRINT ROUTINE 002724 0000 PRINT, 0 002725 3050 DCA PRINT0 002726 3054 PRINT7, DCA PRINTC /SET SWITCH 002727 1370 TAD (PRINTL 002730 3051 DCA PRINT1 002731 7346 CLL CLA CMA RTL 002732 3053 DCA PRINT3 002733 3052 PRINT4, DCA PRINT2 002734 5337 JMP .+3 002735 3050 DCA PRINT0 002736 2052 ISZ PRINT2 002737 1050 TAD PRINT0 002740 1451 TAD I PRINT1 002741 7500 SMA 002742 5335 JMP .-5 002743 7200 CLA 002744 2051 ISZ PRINT1 002745 1052 TAD PRINT2 002746 7440 SZA 002747 5354 JMP PRINT5 /IT IS NON-ZERO 002750 1054 TAD PRINTC 002751 7440 SZA 002752 4440 JMS I OUTPUT /PRINT LEADING SPACE IF DESIRED 002753 5357 JMP PRINT6 002754 1367 PRINT5, TAD ("0 002755 4440 JMS I OUTPUT 002756 7330 CLL CLA CML RAR 002757 2053 PRINT6, ISZ PRINT3 002760 5333 JMP PRINT4 002761 1050 TAD PRINT0 002762 1367 TAD ("0 002763 4440 JMS I OUTPUT 002764 5724 JMP I PRINT 002767 0260 002770 3000 002771 0257 002772 7764 002773 0100 002774 7741 002775 7214 002776 7777 002777 0006 3000 PAGE /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 23 DECIMAL 003000 6030 PRINTL, -1000 003001 7634 -100 003002 7766 -10 OCTAL 003003 0000 PRINTZ, 0 /PRINT WITH LEADING SPACES 003004 3050 DCA PRINT0 003005 1203 TAD PRINTZ 003006 3777 DCA I (PRINT 003007 1376 TAD (240 003010 5775 JMP I (PRINT7 /ZERO A DIRECTORY (PDP-10) 003011 0000 ZERO10, 0 /ZERO THE PDP-10 DIRECTORY 003012 1542 TAD I [MOUTPU 003013 0160 AND [17 003014 7640 SZA CLA 003015 5774 JMP I (NOT10F /NOT A PDP-10 003016 1542 TAD I [MOUTPU 003017 3020 DCA UNIT10 /SET UNIT 003020 1373 TAD (DIRECT-1 003021 3010 DCA INDEX0 /POINT TO DIRECTORY 003022 1372 TAD (-600 003023 3022 DCA CNTR /COUNT OF 600 003024 3410 DCA I INDEX0 /ZERO THE DIRECTORY 003025 2022 ISZ CNTR 003026 5224 JMP .-2 /LOOP 003027 1371 TAD (7570 003030 3770 DCA I (DIRECT /SAVE BLOCKS 1 AND 2 003031 1367 TAD (170 003032 3766 DCA I (DIRECT+52 /SAVE BLOCK 144 003033 1365 TAD (777 003034 3764 DCA I (DIRECT+367 /SAVE BLOCKS 1102 ON UP 003035 7240 CLA CMA 003036 3763 DCA I (DIRECT+370 003037 4762 JMS I (WRITET /WRITE PDP-10 DECTAPE 003040 7000 DIRECT /DIRECTORY 003041 0144 144 /DIRECTORY BLOCK 003042 6211 CDF 10 003043 5611 JMP I ZERO10 /EXIT /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 24 /DELETE A PDP-10 FILE 003044 0000 DELE10, 0 /DELETE A PDP-10 FILE 003045 1542 TAD I [MOUTPU 003046 0160 AND [17 003047 7440 SZA 003050 5263 JMP DELOS8 /DELETE A OS8 FILE 003051 1542 TAD I [MOUTPU 003052 3020 DCA UNIT10 /SET UNIT 003053 1142 TAD [MOUTPU 003054 6201 CDF 003055 4761 JMS I (DELETE /DELETE THE PDP-10 FILE 003056 5760 JMP I (ERDELF /NOT THERE 003057 4762 JMS I (WRITET /WRITE PDP-10 DECTAPE 003060 7000 DIRECT 003061 0144 144 /DIRECTORY BLOCK 003062 5644 JMP I DELE10 /EXIT 003063 6213 DELOS8, CIF CDF 10 003064 4757 JMS I (DELPS1 /DELETE A OS8 FILE 003065 5644 JMP I DELE10 003066 5760 JMP I (ERDELF /ERROR DELETING THE FILE /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 25 003157 2010 003160 0215 003161 1315 003162 0401 003163 7370 003164 7367 003165 0777 003166 7052 003167 0170 003170 7000 003171 7570 003172 7200 003173 6777 003174 0213 003175 2726 003176 0240 003177 2724 3200 PAGE /GET THE NEXT INPUT FILE 003200 0000 NEXIFL, 0 /GET THE NEXT INPUT FILE 003201 3031 DCA CHARNI /RESET STUFF 003202 3045 DCA WORDS 003203 6211 CDF 10 003204 7240 CLA CMA 003205 3777 DCA I (INCHCT 003206 3776 DCA I (INEOF 003207 1375 TAD (INDEVH+1 003210 3227 DCA INDEVX 003211 1417 TAD I IXR /GET NEXT 003212 7450 SNA 003213 5276 JMP NEXIF2 /E.O.F 003214 3034 DCA IUNIT 003215 1417 TAD I IXR 003216 3035 DCA IBLOCK /SET START BLOCK 003217 6201 CDF 003220 1034 TAD IUNIT 003221 0160 AND [17 003222 7450 SNA 003223 5247 JMP NEXIF1 /PDP-10 FILE 003224 6212 CIF 10 003225 4576 JMS I [200 003226 0001 1 003227 0000 INDEVX, 0 003230 5774 JMP I (NOOFIL 003231 6211 CDF 10 003232 1227 TAD INDEVX 003233 3773 DCA I (INHNDL 003234 1035 TAD IBLOCK 003235 3772 DCA I (INREC 003236 1034 TAD IUNIT 003237 0155 AND [7760 003240 7440 SZA 003241 1160 TAD [17 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 25-1 003242 7132 CLL CML RTR 003243 7012 RTR 003244 3771 DCA I (INCTR 003245 1370 TAD (ICHRPS 003246 5274 JMP NEXIF3 003247 1034 NEXIF1, TAD IUNIT 003250 3020 DCA UNIT10 003251 1035 TAD IBLOCK 003252 3255 DCA .+3 003253 4767 JMS I (READT 003254 3000 IBUF10 003255 0000 0 /READ ANY BLOCK 003256 6211 CDF 10 003257 1545 TAD I [IBUF10+2 003260 7006 RTL 003261 7006 RTL 003262 7004 RAL 003263 0160 AND [17 003264 3035 DCA IBLOCK 003265 1544 TAD I [IBUF10+1 003266 0177 AND [77 003267 7106 CLL RTL 003270 7006 RTL 003271 1035 TAD IBLOCK 003272 3035 DCA IBLOCK /SET START BLOCK 003273 1366 TAD (ICHR10 003274 3037 NEXIF3, DCA INPUT /SET ROUTINE POINTER 003275 2200 ISZ NEXIFL 003276 6201 NEXIF2, CDF 003277 5600 JMP I NEXIFL /EXIT 003300 0000 ICHRPS, 0 003301 6213 CIF CDF 10 003302 4765 JMS I (ICHARP 003303 7410 SKP 003304 2300 ISZ ICHRPS 003305 5700 JMP I ICHRPS 003306 0000 OCHRPS, 0 003307 6212 CIF 10 003310 4764 JMS I (OCHARP 003311 5763 JMP I (IOERR 003312 5706 JMP I OCHRPS 003363 0203 003364 2444 003365 2020 003366 2200 003367 0475 003370 3300 003371 2005 003372 2047 003373 2006 003374 0207 003375 6601 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 25-2 003376 2135 003377 2136 3400 PAGE /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 26 003400 6211 PIP10, CDF 10 /STARTS HERE - JUMPED TO FROM 200 003401 1777 TAD I (MDATE /GET TODAY'S DATE 003402 6201 CDF 003403 4776 JMS I (CVDATE /CONVERT IT 003404 3046 DCA DATE /AND STORE IT 003405 1375 TAD (3401 /UNRESTARTABLE, DOESN'T DESTROY BATCH OR USR AREA 003406 3774 DCA I (JSBITS 003407 6201 PIPCD, CDF 003410 4773 JMS I (CD /COMMAND DECODE 003411 6211 CDF 10 003412 1772 TAD I (MPARAM 003413 0371 AND (2010 003414 7104 CLL RAL 003415 3044 DCA MODE /SET /I SWITCH 003416 1770 TAD I (MPARAM+1 003417 0367 AND (400 003420 3043 DCA SAVELN /SET /P SWITCH 003421 1772 TAD I (MPARAM 003422 0366 AND (101 003423 7640 SZA CLA 003424 5765 JMP I (LIST10 /EITHER /F OR /L 003425 1542 TAD I [MOUTPU 003426 7640 SZA CLA 003427 5234 JMP PIP001 /IS AN OUTPUT FILE 003430 1764 TAD I (MINPUT 003431 7650 SNA CLA 003432 5207 JMP PIPCD /NO OUTPUT OR INPUT FILES 003433 5763 JMP I (NOOOFL /INPUT, BUT NO OUTPUT 003434 7332 PIP001, CLL CLA CML RTR 003435 0762 AND I (MPARAM+2 003436 7640 SZA CLA 003437 4761 JMS I (ZERO10 /IT IS /Z OPTION 003440 1360 TAD (OUDEVH+1 003441 3324 DCA OUDEVX 003442 1542 TAD I [MOUTPU 003443 0160 AND [17 003444 7440 SZA 003445 5320 JMP PIPB /OUTPUT IS OS8 003446 1542 TAD I [MOUTPU 003447 3020 DCA UNIT10 /SET UNIT 003450 4757 JMS I (READT 003451 7000 DIRECT /GET DIRECTORY INTO CORE 003452 0144 144 003453 6211 PIPA, CDF 10 003454 1324 TAD OUDEVX 003455 3756 DCA I (OUHNDL 003456 1772 TAD I (MPARAM 003457 0367 AND (400 003460 7640 SZA CLA 003461 4755 JMS I (DELE10 /DELETE A PDP-10 FILE FIRST 003462 6211 CDF 10 003463 1354 TAD (MINPUT-1 003464 3017 DCA IXR 003465 1417 TAD I IXR /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 26-1 003466 7650 SNA CLA 003467 5207 JMP PIPCD /NO INPUT 003470 1354 TAD (MINPUT-1 003471 3017 DCA IXR /SET INPUT LIST 003472 1542 TAD I [MOUTPU 003473 0160 AND [17 003474 6201 CDF 003475 7640 SZA CLA 003476 5313 JMP PIPC /OUTPUT IS OS8 003477 4753 JMS I (OOPN10 /OPEN PDP-10 OUTPUT 003500 1352 TAD (OCHR10 003501 3040 PIPD, DCA OUTPUT /SET OUTPUT ROUTINE 003502 7640 PIPE, SZA CLA /IS IT ERROR OR EOF 003503 5751 JMP I (IOERR /ERROR 003504 4750 JMS I (NEXIFL /GET NEXT FILE 003505 5327 JMP PIPF /FINAL EOF 003506 4513 PIPX, JMS I XVERTP /SHOULD WE DO THE ALDERSON CONVERSION? 003507 4437 JMS I INPUT /GET INPUT 003510 5302 JMP PIPE /EOF OR ERROR 003511 4440 JMS I OUTPUT /OUTPUT 003512 5307 JMP .-3 /LOOP 003513 6213 PIPC, CIF CDF 10 003514 4747 JMS I (OOPNPS /OPEN OS8 OUTPUT 003515 5763 JMP I (NOOOFL 003516 1346 TAD (OCHRPS 003517 5301 JMP PIPD 003520 6201 PIPB, CDF 0 003521 6212 CIF 10 003522 4576 JMS I [200 003523 0001 1 /GET OS8 OUTPUT HANDLER 003524 0000 OUDEVX, 0 003525 5745 JMP I (NOOFIL 003526 5253 JMP PIPA 003527 6211 PIPF, CDF 10 003530 1542 TAD I [MOUTPU /NOW CLOSE THE OUTPUT FILE 003531 0160 AND [17 003532 6201 CDF 003533 7640 SZA CLA 003534 5337 JMP PIPG 003535 4744 JMS I (CLOS10 003536 5207 JMP PIPCD 003537 6213 PIPG, CIF CDF 10 003540 4743 JMS I (OCLOSE 003541 5751 JMP I (IOERR 003542 5207 JMP PIPCD 003543 2262 003544 2400 003545 0207 003546 3306 003547 2200 003550 3200 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 26-2 003551 0203 003552 2000 003553 2453 003554 7616 003555 3044 003556 2226 003557 0475 003560 7201 003561 3011 003562 7645 003563 0221 003564 7617 003565 4000 003566 0101 003567 0400 003570 7644 003571 2010 003572 7643 003573 5400 003574 7746 003575 3401 003576 2600 003577 7666 3600 PAGE /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 27 /RMA 2013-03 CONVERSION SPECIFIED (/X)? DO IT, OR GET OUT! / USEFUL FOR TRANSFERING PDP-10 BINARIES TO DECTAPE / WHEN NO PDP-10 DECTAPE IS AVAILABLE BUT SERIAL / LINE COMMUNICATIONS ARE 003600 0000 XVERTQ, 0 003601 6211 CDF 10 003602 6202 CIF 0 003603 7200 CLA 003604 1777 TAD I (MPARAM+1 003605 0376 AND (1 003606 7650 SNA CLA 003607 5600 JMP I XVERTQ /NO /X SEEN, GO AWAY 003610 1375 TAD (PIPE /CHEAT ON RETURN ADDRESS 003611 3200 DCA XVERTQ / (SINCE IT WILL BE EOF ANYWAY) 003612 1044 SAVMOD, TAD MODE /SAVE MODE (/I/B) SETTING 003613 3027 DCA TEMP5 003614 1374 XLOOP, TAD (-4 /INITIALIZE COUNTER FOR 4 DIGITS 003615 3030 DCA TEMP6 003616 1342 TAD XTEMP1 /INITIALIZE POINTER TO TEMPORARY STORAGE 003617 3343 DCA XTEMP 003620 3044 DCA MODE /CHARACTER-AT-A-TIME MODE FOR INPUT ROUTINE 003621 4437 GETDIG, JMS I INPUT /GET AN INPUT CHARACTER 003622 5600 JMP I XVERTQ /EITHER ERROR OR EOF, SAVE THE STATE 003623 3743 DCA I XTEMP /SAVE INPUT CHARACTER FOR CHECKING 003624 1743 TAD I XTEMP /CHECK FOR LEGAL OCTAL DIGIT 003625 1373 TAD (-200 /CHECK FOR 200 BIT IN CHARACTER 003626 7100 CLL 003627 7510 SPA /WAS ON, LEAVE IT OFF 003630 1372 TAD (200 /FIX UP NEGATIVE VALUE 003631 1371 TAD (-44 /IS THERE A DOLLAR SIGN? 003632 7450 SNA /NO 003633 5600 JMP I XVERTQ /YES, GO GET NEXT INPUT FILE /// TAD (-60 /ASCII (2)60 = "0" 003634 1370 TAD (-14 /COMPENSATE FOR DOLLAR SIGN CHECK 003635 7100 CLL 003636 7510 SPA /LESS THAN (2)60? (ASCII "0") 003637 5767 JMP I (IOERR /YES, GO COMPLAIN 003640 1366 TAD (-10 003641 7100 CLL 003642 7500 SMA /LESS THAN (2)70? (ASCII "8") 003643 5767 JMP I (IOERR /NO, GO COMPLAIN 003644 1365 TAD (10 003645 3743 DCA I XTEMP /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 27-1 003646 2343 ISZ XTEMP /BUMP TEMP STORAGE POINTER 003647 2030 ISZ TEMP6 /FINISHED WITH NUMERIC PORTION? 003650 5221 JMP GETDIG /NO, GET NEXT DIGIT 003651 4437 GTCRLF, JMS I INPUT /GET NEXT CHARACTER 003652 5600 JMP I XVERTQ /EITHER ERROR OR EOF, SAVE THE STATE 003653 1373 TAD (-200 003654 7100 CLL 003655 7510 SPA 003656 1372 TAD (200 003657 1364 TAD (-12 003660 7100 CLL 003661 7450 SNA /LINE FEED? 003662 5301 JMP PACK 003663 1363 TAD (-3 /CARRIAGE RETURN? 003664 7100 CLL 003665 7640 SZA CLA 003666 5767 JMP I (IOERR /NO, COMPLAIN 003667 4437 JMS I INPUT /LOOK FOR FOLLOWING LF 003670 5600 JMP I XVERTQ /EITHER ERROR OR EOF, SAVE THE STATE 003671 1373 TAD (-200 003672 7100 CLL 003673 7510 SPA 003674 1372 TAD (200 003675 1364 TAD (-12 003676 7100 CLL 003677 7640 SZA CLA /LINE FEED? 003700 5767 JMP I (IOERR /NO, COMPLAIN 003701 1342 PACK, TAD XTEMP1 /COMPLETE LINE, INITIALIZE POINTER TO 003702 3343 DCA XTEMP / HOLDING BUFFER 003703 7621 CLA MQL /CLEAR AC AND MQ = 7621 003704 7100 CLL /CLEAR LINK 003705 1743 DIGPAK, TAD I XTEMP /GET HIGH-ORDER BITS 003706 7106 CLL RTL /ROTATE THROUGH CLEARED LINK 003707 7004 RAL /ROTATE ONCE MORE 003710 7421 MQL /STORE IN MQ 003711 2343 ISZ XTEMP /INCREMENT STORAGE POINTER 003712 1743 TAD I XTEMP /GET NEXT 3 BITS 003713 7501 MQA /OR HELD VALUE INTO AC 003714 7106 CLL RTL /ROTATE THROUGH CLEARED LINK 003715 7004 RAL /ROTATE ONCE MORE 003716 7421 MQL /STORE IN MQ 003717 2343 ISZ XTEMP /INCREMENT STORAGE POINTER 003720 1743 TAD I XTEMP /GET NEXT 3 BITS 003721 7501 MQA /OR HELD VALUE INTO AC 003722 7106 CLL RTL /ROTATE THROUGH CLEARED LINK 003723 7004 RAL /ROTATE ONCE MORE 003724 7421 MQL /STORE IN MQ 003725 2343 ISZ XTEMP /INCREMENT STORAGE POINTER /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 27-2 003726 1743 TAD I XTEMP /GET LOW-ORDER BITS 003727 7501 MQA /OR HELD VALUE INTO AC 003730 7100 CLL /JUST ON GENERAL PRINCIPLES 003731 3343 DCA XTEMP /SAVE MOMENTARILY 003732 1362 TAD (20 /WORD-AT-A-TIME MODE SETTING FOR OUTPUT 003733 3044 DCA MODE 003734 1343 TAD XTEMP /GET VALUE FOR OUTPUT 003735 4440 JMS I OUTPUT 003736 5214 JMP XLOOP /PROCESS NEXT VALUE 003737 1027 TAD TEMP5 /RESTORE MODE SETTING 003740 3044 DCA MODE 003741 5600 JMP I XVERTQ 003742 3745 XTEMP1, XTEMP+2 /INITIAL VALUE FOR HOLD BUFFER POINTER 003743 0000 XTEMP, ZBLOCK 5 /HOLD BUFFER = POINTER + 4 DATA WORDS 003762 0020 003763 7775 003764 7766 003765 0010 003766 7770 003767 0203 003770 7764 003771 7734 003772 0200 003773 7600 003774 7774 003775 3502 003776 0001 003777 7644 4000 PAGE /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 28 004000 1377 LIST10, TAD (OUDEVH+1 004001 3217 DCA OUDEVY 004002 1377 TAD (OUDEVH+1 004003 3234 DCA OUDEVZ 004004 1376 TAD (3100 /RESET THINGS 004005 3216 DCA LISTDV+1 004006 1542 TAD I [MOUTPU 004007 7440 SZA 004010 5225 JMP LIST11 /OUTPUT FILE EXISTS 004011 6201 CDF 0 004012 6212 CIF 10 004013 4576 JMS I [200 004014 0001 1 004015 2424 LISTDV, TEXT /TTY/ /LOOKUP THE TTY: 004016 3100 004017 0000 OUDEVY, 0 004020 5775 JMP I (NOOOFL 004021 6211 CDF 10 004022 1216 TAD LISTDV+1 004023 3542 DCA I [MOUTPU /SET TTY: DEVICE NUMBER 004024 1542 TAD I [MOUTPU 004025 0160 LIST11, AND [17 004026 7450 SNA 004027 5774 JMP I (NOTPSF /NOT A OS8 FILE 004030 6201 CDF 0 004031 6212 CIF 10 004032 4576 JMS I [200 004033 0001 1 /LOOKUP DEVICE 004034 0000 OUDEVZ, 0 004035 5773 JMP I (NOOFIL 004036 6213 LIST12, CDF CIF 10 004037 1234 TAD OUDEVZ 004040 3772 DCA I (OUHNDL 004041 4771 JMS I (OOPNPS /OPEN OUTPUT FILE 004042 5775 JMP I (NOOOFL 004043 1370 TAD (OCHRPS 004044 3040 DCA OUTPUT /SET OUTPUT ROUTINE 004045 6211 CDF 10 004046 1767 TAD I (MINPUT 004047 3020 DCA UNIT10 004050 6201 CDF 004051 1020 TAD UNIT10 004052 7450 SNA 004053 5766 JMP I (PIPCD /NO INPUT 004054 0160 AND [17 004055 7640 SZA CLA 004056 5765 JMP I (NOT10F 004057 4764 JMS I (READT /READ THE DIRECTORY 004060 7000 DIRECT 004061 0144 144 004062 1363 TAD (LISTL-1 004063 3010 DCA INDEX0 004064 1362 TAD (-40 004065 3022 DCA CNTR 004066 3410 DCA I INDEX0 /CLEAR THE COUNTS /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 28-1 004067 2022 ISZ CNTR 004070 5266 JMP .-2 004071 1361 TAD (-1101 004072 3341 DCA LIST13 004073 7201 CLA IAC 004074 3276 DCA LIST14 004075 4760 JMS I (FINDSL /FIND ALL SLOTS 004076 0000 LIST14, 0 004077 1357 TAD (LISTL 004100 3342 DCA LIST15 004101 2742 ISZ I LIST15 /COUNT THE NUMBER IN EACH SLOT 004102 2276 ISZ LIST14 004103 2341 ISZ LIST13 004104 5275 JMP LIST14-1 004105 4756 JMS I (CRLF 004106 1757 TAD I (LISTL 004107 4755 JMS I (PRINTZ /PRINT FREE BLOCKS 004110 1354 TAD (LISTM1-1 004111 3010 DCA INDEX0 004112 4753 JMS I (ERROR4 /"FREE BLOCKS" 004113 4756 JMS I (CRLF 004114 1352 TAD (-26 004115 3341 DCA LIST13 004116 1351 TAD (DIRECT+370 004117 3016 DCA INDEX6 004120 6211 LIST17, CDF 10 /MAIN LOOP 004121 1416 TAD I INDEX6 004122 7450 SNA 004123 5750 JMP I (LIST16 /DO NOT PRINT THIS BLANK ENTRY 004124 4747 JMS I (LIST18 004125 1416 TAD I INDEX6 004126 4747 JMS I (LIST18 004127 1416 TAD I INDEX6 004130 4747 JMS I (LIST18 004131 6201 CDF 004132 1346 TAD (". 004133 4440 JMS I OUTPUT 004134 6211 CDF 10 004135 1016 TAD INDEX6 004136 1177 TAD [77 004137 3015 DCA INDEX5 004140 5745 JMP I (LIST22 004141 0000 LIST13, 0 004142 0000 LIST15, 0 004145 4200 004146 0256 004147 4245 004150 4233 004151 7370 004152 7752 004153 0236 004154 4504 004155 3003 004156 4236 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 28-2 004157 4400 004160 1200 004161 6677 004162 7740 004163 4377 004164 0475 004165 0213 004166 3407 004167 7617 004170 3306 004171 2200 004172 2226 004173 0207 004174 0217 004175 0221 004176 3100 004177 7201 4200 PAGE /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 29 004200 1415 LIST22, TAD I INDEX5 /GET EXTENSION 004201 4245 JMS LIST18 004202 1415 TAD I INDEX5 004203 0154 AND [7700 004204 4245 JMS LIST18 004205 7201 CLA IAC 004206 0777 AND I (MPARAM 004207 7650 SNA CLA 004210 5224 JMP LIST19 /NO EXTRA IF NOT /L 004211 4245 JMS LIST18 004212 6201 CDF 004213 1776 TAD I (LIST13 004214 1375 TAD (LISTL+27 004215 3244 DCA LIST23 004216 1644 TAD I LIST23 /GET NUMBER OF BLOCKS 004217 4774 JMS I (PRINTZ 004220 4245 JMS LIST18 004221 1415 TAD I INDEX5 004222 6201 CDF 004223 4773 JMS I (DATE10 004224 6201 LIST19, CDF 004225 4236 JMS CRLF 004226 6201 LIST20, CDF 004227 2776 ISZ I (LIST13 004230 5772 JMP I (LIST17 /LOOP 004231 4236 JMS CRLF 004232 5771 JMP I (PIPG /CLOSE THE FILE 004233 2016 LIST16, ISZ INDEX6 004234 2016 ISZ INDEX6 004235 5226 JMP LIST20 004236 0000 CRLF, 0 004237 1165 TAD [215 004240 4440 JMS I OUTPUT 004241 1164 TAD [212 004242 4440 JMS I OUTPUT 004243 5636 JMP I CRLF 004244 0000 LIST23, 0 004245 0000 LIST18, 0 004246 6201 CDF 004247 3023 DCA TEMP1 004250 1023 TAD TEMP1 004251 7012 RTR 004252 7012 RTR 004253 7012 RTR 004254 4261 JMS LIST21 004255 1023 TAD TEMP1 004256 4261 JMS LIST21 004257 6211 CDF 10 004260 5645 JMP I LIST18 004261 0000 LIST21, 0 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 29-1 004262 0177 AND [77 004263 1141 TAD [240 004264 4440 JMS I OUTPUT 004265 5661 JMP I LIST21 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 30 /FIND A PDP-10 ENTRY IN DIRECTORY / /CALL: / (AC) /POINT TO NAME-1 (FIELD 1) / JMS FIND /FIND A PDP-10 ENTRY / -NO- /NOT FOUND / (AC) /SLOT NUMBER IF FOUND 004266 0000 FIND, 0 /FIND A PDP-10 FILE 004267 3351 DCA FIND4 /SAVE POINTER 004270 1370 TAD (DIRECT+370 004271 3010 DCA INDEX0 /POINT TO DIRECTORY START 004272 1367 TAD (-26 004273 3022 DCA CNTR /22 DECIMAL FILES 004274 6211 CDF 10 /DIRECTORY IS IN FIELD 1 004275 1351 FIND2, TAD FIND4 /GET POINTER 004276 3012 DCA INDEX2 /POINT TO NAME,EXT 004277 1410 TAD I INDEX0 004300 7041 CIA 004301 1412 TAD I INDEX2 /CHECK WORD 1 004302 7640 SZA CLA 004303 5344 JMP FIND1 /NO 004304 1410 TAD I INDEX0 004305 7041 CIA 004306 1412 TAD I INDEX2 /CHECK WORD 2 004307 7640 SZA CLA 004310 5345 JMP FIND1+1 /NO 004311 1410 TAD I INDEX0 004312 7041 CIA 004313 1412 TAD I INDEX2 /CHECK WORD 3 004314 7640 SZA CLA 004315 5346 JMP FIND1+2 /NO 004316 1010 TAD INDEX0 004317 1177 TAD [77 004320 3011 DCA INDEX1 /POINT TO EXTENSIONS 004321 1411 TAD I INDEX1 004322 7041 CIA 004323 1412 TAD I INDEX2 /CHECK WORD 4 004324 7640 SZA CLA 004325 5346 JMP FIND1+2 /NO 004326 1411 TAD I INDEX1 004327 0154 AND [7700 004330 7041 CIA 004331 1412 TAD I INDEX2 /CHECK WORD 5 004332 7640 SZA CLA 004333 5346 JMP FIND1+2 /NO 004334 7346 CLL CLA CMA RTL 004335 1010 TAD INDEX0 004336 3010 DCA INDEX0 /POINT TO ENTRY AGAIN 004337 1022 TAD CNTR 004340 1366 TAD (27 004341 2266 ISZ FIND /WE FOUND IT - 2ND EXIT 004342 6201 FIND3, CDF /BACK TO FIELD 0 004343 5666 JMP I FIND /EXIT /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 30-1 004344 2010 FIND1, ISZ INDEX0 /EXTRA POINTER BUMPS 004345 2010 ISZ INDEX0 004346 2022 ISZ CNTR /MORE FILES? 004347 5275 JMP FIND2 /YES - LOOP 004350 5342 JMP FIND3 /NO - NOT FOUND 004351 0000 FIND4, 0 /POINTER TO NAME-1 004366 0027 004367 7752 004370 7370 004371 3537 004372 4120 004373 2647 004374 3003 004375 4427 004376 4141 004377 7643 4400 PAGE /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 31 4400 LINBUF=. 004400 0000 LISTL, ZBLOCK 105 004505 4006 LISTM1, TEXT / FREE BLOCKS PIP10 V2_/ 004506 2205 004507 0540 004510 0214 004511 1703 004512 1323 004513 4040 004514 4020 004515 1120 004516 6160 004517 4026 004520 6237 004521 0000 004522 3720 ERMES0, TEXT /_PIP10 CANNOT BE CHAINED TO_/ 004523 1120 004524 6160 004525 4003 004526 0116 004527 1617 004530 2440 004531 0205 004532 4003 004533 1001 004534 1116 004535 0504 004536 4024 004537 1737 004540 0000 004541 3711 ERMES1, TEXT #_I/O ERROR_# 004542 5717 004543 4005 004544 2222 004545 1722 004546 3700 004547 3704 ERMES2, TEXT /_DEVICE FULL_/ 004550 0526 004551 1103 004552 0540 004553 0625 004554 1414 004555 3700 004556 3716 ERMES3, TEXT /_NO SUCH DEVICE_/ 004557 1740 004560 2325 004561 0310 004562 4004 004563 0526 004564 1103 004565 0537 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 31-1 004566 0000 004567 3716 ERMES4, TEXT /_NOT PDP-10 FILE_/ 004570 1724 004571 4020 004572 0420 004573 5561 004574 6040 004575 0611 004576 1405 004577 3700 004600 3705 ERMES5, TEXT /_ERROR DELETING FILE_/ 004601 2222 004602 1722 004603 4004 004604 0514 004605 0524 004606 1116 004607 0740 004610 0611 004611 1405 004612 3700 004613 3716 ERMES6, TEXT /_NOT OS8 FILE_/ 004614 1724 004615 4017 004616 2370 004617 4006 004620 1114 004621 0537 004622 0000 004623 3717 ERMES7, TEXT /_OUTPUT FILE OPEN ERROR_/ 004624 2524 004625 2025 004626 2440 004627 0611 004630 1405 004631 4017 004632 2005 004633 1640 004634 0522 004635 2217 004636 2237 004637 0000 004640 3723 ERMES8, TEXT /_SYNTAX ERROR_/ 004641 3116 004642 2401 004643 3040 004644 0522 004645 2217 004646 2237 004647 0000 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 31-2 004650 3706 ERMES9, TEXT /_FILE NOT FOUND_/ 004651 1114 004652 0540 004653 1617 004654 2440 004655 0617 004656 2516 004657 0437 004660 0000 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 32 /ROUTINE TO SET TD8E UNIT INFORMATION FROM UNIT10 004661 0000 TDUSET, 0 004662 1020 TAD UNIT10 004663 7106 CLL RTL 004664 7004 RAL 004665 0377 AND (7 004666 1376 TAD (DVCTBL 004667 3310 DCA DVCPTR 004670 7010 RAR 004671 3111 DCA TDUNIT /SAVE EVEN/ODD BIT 004672 1375 TAD (TDUTBL 004673 3306 DCA TDUPTR 004674 1706 TDULP, TAD I TDUPTR 004675 7450 SNA 004676 5661 JMP I TDUSET 004677 3307 DCA TDUT 004700 1707 TAD I TDUT 004701 0377 AND (7 004702 1710 TAD I DVCPTR 004703 3707 DCA I TDUT 004704 2306 ISZ TDUPTR 004705 5274 JMP TDULP 004706 0000 TDUPTR, 0 004707 0000 TDUT, 0 004710 0000 DVCPTR, 0 004711 6770 DVCTBL, 6770;6760;6750;6740 004712 6760 004713 6750 004714 6740 004715 6216 TDUTBL, DIO01 004716 6234 DIO02 004717 6240 DIO03 004720 6247 DIO04 004721 6250 DIO05 004722 6254 DIO06 004723 6260 DIO07 004724 6263 DIO08 004725 6304 DIO09 004726 6310 DIO10 004727 6312 DIO11 004730 6323 DIO12 004731 6335 DIO13 004732 6350 DIO14 004733 6406 DIO15 004734 6410 DIO16 004735 6420 DIO17 004736 6431 DIO18 004737 6506 DIO19 004740 6510 DIO20 004741 6514 DIO21 004742 6516 DIO22 004743 6307 IOTX1 004744 6311 IOTX2 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 32-1 004745 6317 IOTX3 004746 6322 IOTX4 004747 6324 IOTX5 004750 6341 IOTX6 004751 6352 IOTX7 004752 6354 IOTX8 004753 0000 0 004775 4715 004776 4711 004777 0007 5000 PAGE /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 33 /GET A CHARACTER 005000 0000 GCH, 0 005001 1417 TAD I IXR /GET A CHAR 005002 1377 TAD (-240 005003 7450 SNA 005004 5201 JMP GCH+1 /IGNORE SPACES 005005 1376 TAD (240-"/ 005006 7450 SNA 005007 5215 JMP SLASH 005010 1375 TAD ("/-"( 005011 7450 SNA 005012 5220 JMP OPENP 005013 1374 TAD ("( 005014 5600 JMP I GCH /EXIT 005015 1417 SLASH, TAD I IXR 005016 4227 JMS SLSHCH /GET OPTION 005017 5201 JMP GCH+1 005020 1417 OPENP, TAD I IXR 005021 1373 TAD (-") 005022 7450 SNA 005023 5201 JMP GCH+1 /END 005024 1372 TAD (") 005025 4227 JMS SLSHCH /GET OPTION 005026 5220 JMP OPENP 005027 0000 SLSHCH, 0 005030 7450 SNA 005031 5771 JMP I (SYNTAX /ERROR 005032 3030 DCA TEMP6 005033 1370 TAD (MPARAM-1 005034 3027 DCA TEMP5 /POINT TO PARAMETERS 005035 4263 JMS DECODE 005036 5771 JMP I (SYNTAX 005037 7430 SZL 005040 1367 TAD (32 /ADD 005041 1366 TAD (-14 005042 2027 ISZ TEMP5 005043 7500 SMA 005044 5241 JMP .-3 /FIND DIVIDED BY 12 005045 3026 DCA TEMP4 005046 7120 CLL CML 005047 7004 RAL 005050 2026 ISZ TEMP4 005051 5247 JMP .-2 /SHIFT A BIT 005052 3026 DCA TEMP4 /SAVE IT 005053 6211 CDF 10 005054 1026 TAD TEMP4 005055 7040 CMA 005056 0427 AND I TEMP5 005057 1026 TAD TEMP4 /OR IN THAT BIT 005060 3427 DCA I TEMP5 005061 6201 CDF /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 33-1 005062 5627 JMP I SLSHCH 005063 0000 DECODE, 0 005064 1030 TAD TEMP6 005065 1365 TAD (-"9-1 005066 7100 CLL 005067 1364 TAD ("9+1-"0 005070 7430 SZL 005071 5276 JMP DECOD1 005072 1363 TAD ("0-"Z-1 005073 7120 CLL CML 005074 1367 TAD ("Z-"A+1 005075 7420 SNL 005076 2263 DECOD1, ISZ DECODE 005077 5663 JMP I DECODE 005100 0000 EXA40, 0 005101 1362 TAD (CDNAME 005102 3027 DCA TEMP5 005103 1361 TAD (-5 005104 3026 DCA TEMP4 005105 7330 EXA401, CLL CLA CML RAR 005106 1427 TAD I TEMP5 005107 0154 AND [7700 005110 7104 CLL RAL 005111 7440 SZA 005112 7010 RAR 005113 3025 DCA TEMP3 005114 1427 TAD I TEMP5 005115 1360 TAD (40 005116 0177 AND [77 005117 1357 TAD (-40 005120 7440 SZA 005121 1360 TAD (40 005122 1025 TAD TEMP3 005123 3427 DCA I TEMP5 005124 2027 ISZ TEMP5 005125 2026 ISZ TEMP4 005126 5305 JMP EXA401 005127 5700 JMP I EXA40 005157 7740 005160 0040 005161 7773 005162 0060 005163 7725 005164 0012 005165 7506 005166 7764 005167 0032 005170 7642 005171 0223 005172 0251 005173 7527 005174 0250 005175 0007 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 33-2 005176 7761 005177 7540 5200 PAGE /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 34 /GET A NAME ROUTINE 005200 0000 GNAME, 0 005201 3070 DCA CDDEV /CLEAR AREA 005202 3071 DCA CDDEV+1 005203 7240 CLA CMA 005204 3067 DCA DEVSW /ALLOW DEVICES 005205 3060 GNAME1, DCA CDNAME /CLEAR NAME,EXTENSION 005206 3061 DCA CDNAME+1 005207 3062 DCA CDNAME+2 005210 3063 DCA CDEXT 005211 3064 DCA CDEXT+1 005212 7240 CLA CMA 005213 3066 DCA PERSW /ALLOW EXTENSIONS 005214 1377 TAD (CDNAME 005215 3021 DCA POINT /SET POINTER 005216 3022 DCA CNTR /SET SWITCH 005217 4776 GNAME2, JMS I (GCH /GET A CHAR 005220 3030 DCA TEMP6 005221 1030 TAD TEMP6 005222 7450 SNA 005223 5306 JMP GNAME6 /END 005224 1375 TAD (-": 005225 7450 SNA 005226 5272 JMP GNAME5 /: IS DEVICE 005227 1374 TAD (":-". 005230 7450 SNA 005231 5262 JMP GNAME4 /. IS EXTENSION 005232 1373 TAD (". 005233 3030 DCA TEMP6 /SAVE THE CHAR 005234 4772 JMS I (DECODE 005235 5305 JMP GNAME6-1 /NOT 0-9 OR A-Z IS END 005236 7200 CLA 005237 1030 TAD TEMP6 005240 0177 AND [77 /GET TRIMMED ASCII 005241 2022 ISZ CNTR 005242 5247 JMP GNAME3 /LEFT HALF 005243 1421 TAD I POINT 005244 3421 DCA I POINT /SET RIGHT HALF 005245 2021 ISZ POINT 005246 5217 JMP GNAME2 /LOOP 005247 7106 GNAME3, CLL RTL 005250 7006 RTL 005251 7006 RTL 005252 3421 DCA I POINT /SET LEFT HALF 005253 7240 CLA CMA 005254 3022 DCA CNTR 005255 1021 TAD POINT 005256 1371 TAD (-CDEXT-2 005257 7640 SZA CLA 005260 5217 JMP GNAME2 /LOOP 005261 5216 JMP GNAME2-1 /LOOP - IGNORE 005262 1060 GNAME4, TAD CDNAME /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 34-1 005263 7640 SZA CLA 005264 2066 ISZ PERSW 005265 5770 JMP I (SYNTAX /ERROR 005266 3063 DCA CDEXT 005267 3064 DCA CDEXT+1 /CLEAR EXTENSION 005270 1367 TAD (CDEXT 005271 5215 JMP GNAME2-2 /GET EXTENSION 005272 2067 GNAME5, ISZ DEVSW 005273 5770 JMP I (SYNTAX /ERROR 005274 2066 ISZ PERSW 005275 5770 JMP I (SYNTAX /ERROR 005276 1060 TAD CDNAME 005277 7450 SNA 005300 5770 JMP I (SYNTAX /ERROR 005301 3070 DCA CDDEV 005302 1061 TAD CDNAME+1 005303 3071 DCA CDDEV+1 /SET DEVICE 005304 5205 JMP GNAME1 /NOW GET THE NAME 005305 7200 CLA 005306 3065 GNAME6, DCA CDEXT+2 005307 1064 TAD CDEXT+1 005310 0154 AND [7700 005311 3064 DCA CDEXT+1 005312 2066 ISZ PERSW 005313 5600 JMP I GNAME /EXIT 005314 3063 DCA CDEXT 005315 3064 DCA CDEXT+1 /CLEAR EXTENSION 005316 5600 JMP I GNAME /EXIT 005367 0063 005370 0223 005371 7713 005372 5063 005373 0256 005374 0014 005375 7506 005376 5000 005377 0060 5400 PAGE /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 35 005400 0000 CD, 0 005401 1140 TAD [MOUTPU-1 005402 3010 DCA INDEX0 005403 1377 TAD (-47 005404 3022 DCA CNTR 005405 6211 CDF 10 005406 3410 DCA I INDEX0 /CLEAR AREAS 005407 2022 ISZ CNTR 005410 5206 JMP .-2 005411 6201 CDF 005412 6212 CIF 10 005413 4576 JMS I [200 005414 0013 13 /RESET TABLES 005415 0000 0 005416 3072 DCA INSEG /NO DIRECTORY IN CORE 005417 3073 DCA PDP10D /NO KNOWN PDP-10 DRIVES 005420 3074 DCA PDP10D+1 005421 3075 DCA PDP10D+2 005422 3076 DCA PDP10D+3 005423 3077 DCA PDP10D+4 005424 3100 DCA PDP10D+5 005425 3101 DCA PDP10D+6 005426 3102 DCA PDP10D+7 005427 3103 DCA CDCNT /ZERO INPUT COUNT 005430 4776 JMS I (GLINE /GET A LINE 005431 1172 TAD [LINBUF-1 005432 3017 DCA IXR 005433 1417 TAD I IXR 005434 7450 SNA 005435 5353 JMP NOBAKB /NO "<" IS LINE 005436 1375 TAD (-"< 005437 7640 SZA CLA 005440 5233 JMP .-5 005441 1172 TAD [LINBUF-1 005442 3017 DCA IXR 005443 1105 TAD XDSK 005444 3056 DCA CDDEVF /SET "DSK" AS DEFAULT 005445 1106 TAD XDSK+1 005446 3057 DCA CDDEVF+1 005447 4774 JMS I (GNAME /GET THE NAME 005450 1030 TAD TEMP6 005451 1373 TAD (-"[ 005452 7640 SZA CLA 005453 5301 JMP CDX03 /NO SIZE SPECIFIED 005454 4772 CDX01, JMS I (GCH 005455 1371 TAD (-"] 005456 7450 SNA 005457 5277 JMP CDX02 /END OF SIZE 005460 1370 TAD ("]-"0 005461 7510 SPA 005462 5767 JMP I (SYNTAX /ERROR 005463 3023 DCA TEMP1 005464 1065 TAD CDEXT+2 005465 7106 CLL RTL 005466 1065 TAD CDEXT+2 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 35-1 005467 7004 RAL 005470 1023 TAD TEMP1 005471 3065 DCA CDEXT+2 /ADD IN NUMBER 005472 1023 TAD TEMP1 005473 1366 TAD (-11 005474 7740 SMA SZA CLA 005475 5767 JMP I (SYNTAX /ERROR 005476 5254 JMP CDX01 005477 4772 CDX02, JMS I (GCH 005500 7410 SKP 005501 1030 CDX03, TAD TEMP6 005502 1375 TAD (-"< 005503 7640 SZA CLA 005504 5767 JMP I (SYNTAX /ERROR 005505 4765 JMS I (CDOUTX /SET OUTPUT STUFF 005506 1364 NOBAKA, TAD (MINPUT-1 005507 3016 DCA INDEX6 005510 1105 TAD XDSK 005511 3056 DCA CDDEVF /SET DEFAULT 005512 1106 TAD XDSK+1 005513 3057 DCA CDDEVF+1 005514 1017 TAD IXR 005515 3104 DCA CDI04 /SAVE POINTER 005516 4772 JMS I (GCH 005517 7650 SNA CLA 005520 5600 JMP I CD /NO INPUT FILES 005521 1104 TAD CDI04 005522 3017 DCA IXR /RESET POINTER 005523 4774 CDI01, JMS I (GNAME /GET A FILE 005524 2067 ISZ DEVSW 005525 5332 JMP CDI02 /DEVICE SPECIFIED 005526 1056 TAD CDDEVF 005527 3070 DCA CDDEV 005530 1057 TAD CDDEVF+1 005531 3071 DCA CDDEV+1 /SET DEFAULT DEVICE 005532 1070 CDI02, TAD CDDEV 005533 3056 DCA CDDEVF 005534 1071 TAD CDDEV+1 005535 3057 DCA CDDEVF+1 /SET NEW DEFAULT 005536 2103 ISZ CDCNT /COUNT INPUT FILES 005537 1103 TAD CDCNT 005540 1363 TAD (-12 005541 7700 SMA CLA 005542 5767 JMP I (SYNTAX /TOO MANY FILES 005543 4762 JMS I (CDINX /SET INPUT STUFF 005544 1030 TAD TEMP6 005545 7450 SNA 005546 5600 JMP I CD /MAIN EXIT 005547 1361 TAD (-", 005550 7650 SNA CLA 005551 5323 JMP CDI01 005552 5767 JMP I (SYNTAX /ERROR 005553 1172 NOBAKB, TAD [LINBUF-1 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 35-2 005554 3017 DCA IXR 005555 5306 JMP NOBAKA 005561 7524 005562 6000 005563 7766 005564 7616 005565 5600 005566 7767 005567 0223 005570 0055 005571 7443 005572 5000 005573 7445 005574 5200 005575 7504 005576 1000 005577 7731 5600 PAGE /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 36 005600 0000 CDOUTX, 0 /SET OUTPUT STUFF 005601 2067 ISZ DEVSW 005602 5212 JMP CDOUT9 /DEVICE SPECIFIED 005603 1060 TAD CDNAME 005604 7650 SNA CLA 005605 5600 JMP I CDOUTX /NO NAME AND NO DEVICE IS NOTHING 005606 1056 TAD CDDEVF 005607 3070 DCA CDDEV 005610 1057 TAD CDDEVF+1 005611 3071 DCA CDDEV+1 /SET DEFAULT DEVICE 005612 1377 CDOUT9, TAD (OUDEVH+1 005613 3227 DCA CDOUT2 /SET OUTPUT HANDLER ADDRESS 005614 1140 TAD [MOUTPU-1 005615 3016 DCA INDEX6 005616 1070 TAD CDDEV 005617 3225 DCA CDOUT1 005620 1071 TAD CDDEV+1 005621 3226 DCA CDOUT1+1 /SET DEVICE 005622 6212 CIF 10 005623 4576 JMS I [200 005624 0012 12 /FIND HANDLER 005625 0000 CDOUT1, 0 005626 0000 0 005627 0000 CDOUT2, 0 005630 5776 JMP I (NOOFIL 005631 1226 TAD CDOUT1+1 005632 4775 JMS I (GTDVTP /GET DEVICE TYPE AND COMPARE WITH TC08 AND TD8E 005633 7640 SZA CLA 005634 5254 JMP CDOUT3 /NOT DECTAPE 005635 1377 TAD (OUDEVH+1 005636 3243 DCA CDOUT5 005637 1226 TAD CDOUT1+1 005640 6212 CIF 10 005641 4576 JMS I [200 005642 0001 1 /GET HANDLER 005643 0000 CDOUT5, 0 005644 5776 JMP I (NOOFIL 005645 1243 TAD CDOUT5 005646 4303 JMS SETUNT /SET UP PHYSICAL UNIT FROM HANDLER ENTRY POINT 005647 4774 JMS I (ROCK /CHECK THE TAPE 005650 5254 JMP CDOUT3 /NOT PDP-10 DECTAPE 005651 4773 JMS I (EXA40 /EXCESS 40 CONVERSION 005652 1020 TAD UNIT10 005653 5265 JMP CDOUT4 /SET PARAMETERS 005654 3064 CDOUT3, DCA CDEXT+1 005655 1065 TAD CDEXT+2 /GET LENGTH 005656 1372 TAD (-400 005657 7710 SPA CLA 005660 1065 TAD CDEXT+2 /O.K. - USE LENGTH 005661 7106 CLL RTL 005662 7006 RTL 005663 0155 AND [7760 /8 BIT LENGTH 005664 1226 TAD CDOUT1+1 /ADD IN DEVICE NUMBER 005665 6211 CDOUT4, CDF 10 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 36-1 005666 3416 DCA I INDEX6 /SET DEVICE 005667 1060 TAD CDNAME 005670 3416 DCA I INDEX6 /SET NAME 005671 1061 TAD CDNAME+1 005672 3416 DCA I INDEX6 005673 1062 TAD CDNAME+2 005674 3416 DCA I INDEX6 005675 1063 TAD CDEXT 005676 3416 DCA I INDEX6 005677 1064 TAD CDEXT+1 005700 3416 DCA I INDEX6 005701 6201 CDF 005702 5600 JMP I CDOUTX /EXIT 005703 0000 SETUNT, 0 005704 7120 STL 005705 1371 TAD (-7607 005706 7440 SZA /IF IT IS 7607, 005707 1370 TAD (7 /ITS UNIT 0 005710 0370 AND (7 005711 7132 CLL CML RTR 005712 7012 RTR 005713 3020 DCA UNIT10 005714 1110 TAD DVTYPE 005715 0367 AND (10 005716 7650 SNA CLA 005717 5703 JMP I SETUNT /TC08 - FINISHED 005720 7100 CLL 005721 1020 TAD UNIT10 005722 0366 AND (7000 /TD8E ENTRY POINTS ARE STRANGE - 005723 1020 TAD UNIT10 /MUST ROTATE UNIT NUMBER LEFT 1 005724 7430 SZL 005725 1365 TAD (1000 005726 3020 DCA UNIT10 005727 4764 JMS I (TDUSET /SET UP TD8E OPCODES 005730 5703 JMP I SETUNT 005764 4661 005765 1000 005766 7000 005767 0010 005770 0007 005771 0171 005772 7400 005773 5100 005774 6200 005775 6122 005776 0207 005777 7201 6000 PAGE /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 37 006000 0000 CDINX, 0 /SET INPUT STUFF 006001 1377 TAD (OUDEVH+1 006002 3214 DCA CDIN1 006003 1070 TAD CDDEV 006004 3212 DCA CDIN2 /SET DEVICE 006005 1071 TAD CDDEV+1 006006 3213 DCA CDIN2+1 006007 6212 CIF 10 006010 4576 JMS I [200 006011 0001 1 /GET HANDLER 006012 0000 CDIN2, 0 006013 0000 0 006014 0000 CDIN1, 0 006015 5776 JMP I (NOOFIL 006016 1213 TAD CDIN2+1 006017 4322 JMS GTDVTP /COMPARE DCB ENTRY WITH TC08 OR TD8E 006020 7640 SZA CLA 006021 5266 JMP CDIN3 /NOT DECTAPE 006022 1214 TAD CDIN1 006023 4775 JMS I (SETUNT /SET UP UNIT NUMBER 006024 4774 JMS I (ROCK /CHECK THE TAPE 006025 5266 JMP CDIN3 /NOT PDP-10 DECTAPE 006026 4773 JMS I (EXA40 /DO EXCESS 40 006027 1072 TAD INSEG 006030 7041 CIA 006031 1020 TAD UNIT10 /IS DIRECTORY IN CORE? 006032 7650 SNA CLA 006033 5244 JMP CDIN8 /YES - NO READ 006034 1060 TAD CDNAME 006035 7650 SNA CLA 006036 5263 JMP CDIN7 /NO NAME - NO READ 006037 4772 JMS I (READT 006040 7000 DIRECT /READ DIRECTORY 006041 0144 144 006042 1020 TAD UNIT10 006043 3072 DCA INSEG /SET DIRECTORY IN CORE 006044 1371 CDIN8, TAD (-5 006045 3022 DCA CNTR 006046 1370 TAD (CDNAME-1 006047 3010 DCA INDEX0 006050 1367 TAD (CDINXX-1 006051 3011 DCA INDEX1 006052 1410 TAD I INDEX0 006053 6211 CDF 10 006054 3411 DCA I INDEX1 006055 6201 CDF 006056 2022 ISZ CNTR 006057 5252 JMP .-5 006060 1367 TAD (CDINXX-1 006061 4766 JMS I (IOPN10 /OPEN THE PDP-10 FILE 006062 5765 JMP I (FNOTFD 006063 3277 CDIN7, DCA CDIN4 006064 1020 TAD UNIT10 006065 5312 JMP CDIN6 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 37-1 006066 1364 CDIN3, TAD (CDNAME 006067 3277 DCA CDIN4 006070 1060 TAD CDNAME 006071 7650 SNA CLA 006072 5320 JMP CDIN9 /NO LOOKUP IF NO NAME 006073 1213 TAD CDIN2+1 006074 6212 CIF 10 006075 4576 JMS I [200 006076 0002 2 006077 0060 CDIN4, CDNAME /LOOKUP 006100 0000 CDIN5, 0 006101 5765 JMP I (FNOTFD 006102 1300 TAD CDIN5 006103 1363 TAD (400 006104 7510 SPA 006105 7200 CLA 006106 7106 CLL RTL 006107 7006 RTL 006110 0155 AND [7760 /GET LENGTH 006111 1213 TAD CDIN2+1 /ADD DEVICE 006112 6211 CDIN6, CDF 10 006113 3416 DCA I INDEX6 006114 1277 TAD CDIN4 006115 3416 DCA I INDEX6 /SET BLOCK STARTING 006116 6201 CDF 006117 5600 JMP I CDINX 006120 3277 CDIN9, DCA CDIN4 006121 5311 JMP CDIN6-1 006122 0000 GTDVTP, 0 006123 1362 TAD (DCB-1 006124 3023 DCA TEMP1 006125 6211 CDF 10 006126 1423 TAD I TEMP1 /GET DCB ENTRY 006127 6201 CDF 006130 3110 DCA DVTYPE 006131 1110 TAD DVTYPE 006132 0361 AND (770 006133 1360 TAD (-210 006134 7440 SZA 006135 1357 TAD (30 006136 5722 JMP I GTDVTP 006157 0030 006160 7570 006161 0770 006162 7757 006163 0400 006164 0060 006165 0211 006166 2513 006167 2511 006170 0057 006171 7773 006172 0475 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 37-2 006173 5100 006174 6200 006175 5703 006176 0207 006177 7201 6200 PAGE /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 38 006200 0000 ROCK, 0 006201 4207 JMS GET10D /GET ENTRY IN TAPE TYPE TABLE 006202 7450 SNA 006203 5217 JMP ROCK4 /UNKNOWN - ROCK IT 006204 7700 SMA CLA 006205 2200 ISZ ROCK 006206 5600 JMP I ROCK /EXIT 006207 0000 GET10D, 0 006210 1020 TAD UNIT10 006211 7106 CLL RTL 006212 7006 RTL 006213 1377 TAD (PDP10D 006214 3027 DCA TEMP5 /POINT TO KNOWN TABLE 006215 1427 TAD I TEMP5 006216 5607 JMP I GET10D 006217 7240 ROCK4, CLA CMA 006220 3427 DCA I TEMP5 006221 1110 TAD DVTYPE 006222 0376 AND (10 006223 7640 SZA CLA /WHAT KIND OF TAPE? 006224 5305 JMP TDCHK /TD8E 006225 1375 TAD (OBUF10-1 006226 3774 DCA I (7755 006227 1376 TAD (10 006230 6774 DTLB 006231 7006 ROCK1, RTL 006232 7004 RAL 006233 7630 SZL CLA 006234 1373 TAD (-400 006235 1020 TAD UNIT10 006236 1372 TAD (210 006237 6766 DTCA DTXA 006240 4267 ROCK2, JMS DTWAIT 006241 7510 ROCK3, SPA 006242 5231 JMP ROCK1 006243 7200 CLA 006244 1375 TAD (OBUF10-1 006245 3774 DCA I (7755 006246 1371 TAD (-600 006247 3770 DCA I (7754 006250 1367 TAD (30 006251 6764 DTXA 006252 6773 DTSF DTRB 006253 5252 JMP .-1 006254 7710 SPA CLA 006255 5217 JMP ROCK4 /RETRY 006256 1176 TAD [200 006257 6764 DTXA /STOP DRIVE 006260 1770 TAD I (7754 006261 7640 SZA CLA 006262 5600 JMP I ROCK /OS8 UNIT 006263 7201 CLA IAC /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 38-1 006264 3427 SET10, DCA I TEMP5 006265 2200 ISZ ROCK 006266 5600 JMP I ROCK /PDP-10 UNIT 006267 0000 DTWAIT, 0 /WAIT FOR DECTAPE FLAG 006270 6773 DTSF DTRB 006271 7610 SKP CLA 006272 5667 JMP I DTWAIT 006273 6031 KSF 006274 5270 JMP DTWAIT+1 006275 1176 TAD [200 006276 6034 KRS 006277 1366 TAD (-203 006300 7640 SZA CLA 006301 5270 JMP DTWAIT+1 006302 1176 TAD [200 006303 6764 DTXA /STOP THE TAPE 006304 5542 JMP I [7600 006305 7332 TDCHK, CLA STL RTR 006306 1111 TAD TDUNIT 006307 6774 IOTX1, SDLC 006310 7200 CLA 006311 6776 IOTX2, SDRC 006312 0365 AND (100 /CHECK FOR TAPE NOT READY 006313 7640 SZA CLA 006314 5305 JMP TDCHK /WAIT FOR TAPE TO COME UP 006315 1111 TAD TDUNIT 006316 1364 TAD (1000 006317 6774 IOTX3, SDLC 006320 4351 JMS SKIP4 006321 4351 JMS SKIP4 006322 6771 IOTX4, SDSS 006323 5322 JMP .-1 006324 6776 IOTX5, SDRC 006325 0177 AND [77 006326 1363 TAD (-26 006327 7640 SZA CLA /WAIT FOR GUARD 006330 5322 JMP IOTX4 006331 3356 DCA TDT 006332 4351 TDCLP, JMS SKIP4 006333 2356 ISZ TDT 006334 0177 AND [77 006335 1362 TAD (-51 /SEARCH FOR SOME CRAP NEAR END OF RECORD 006336 7640 SZA CLA 006337 5332 JMP TDCLP 006340 1361 TAD UNIT 006341 6774 IOTX6, SDLC /STOP TAPE 006342 7200 CLA 006343 1356 TAD TDT 006344 1361 TAD (-611 /9 WORDS FOR GOOD LUCK 006345 7640 SZA CLA 006346 5600 JMP I ROCK 006347 7126 STL RTL /SET TABLE ENTRY TO 2 FOR TD8E TAPE 006350 5264 JMP SET10 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 38-2 006351 0000 SKIP4, 0 006352 6773 IOTX7, SDSQ 006353 5352 JMP .-1 006354 6776 IOTX8, SDRC 006355 5751 JMP I SKIP4 006356 0000 TDT, 0 006361 7167 006362 7727 006363 7752 006364 1000 006365 0100 006366 7575 006367 0030 006370 7754 006371 7200 006372 0210 006373 7400 006374 7755 006375 4777 006376 0010 006377 0073 6400 PAGE 000140 7577 000141 0240 000142 7600 000143 3000 000144 3001 000145 3002 000146 7400 000147 5001 000150 5000 000151 5002 000152 0377 000153 6676 000154 7700 000155 7760 000156 0007 000157 0177 000160 0017 000161 0003 000162 0037 000163 0244 000164 0212 000165 0215 000166 0100 000167 0336 000170 0274 000171 1042 000172 4377 000173 0304 000174 0252 000175 0400 000176 0200 000177 0077 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 38-3 0000 FIELD 0 /DUMP PG 0 LITERALS HERE /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 39 /TD8E DECTAPE ROUTINE /VERSION 01 /JULY 2 1971 GB/RL/EF /COPYRIGHT 1971 DIGITAL EQUIPMENT CORP. / MAYNARD, MASS. /ABSTRACT-- / THE ROUTINE DESCRIBED AND LISTED HERE IS A GENERAL /DATA HANDLER FOR THE TD8E DECTAPE SYSTEM. THE ROUTINE /CONTAINS SEARCH, READ, AND WRITE FUNCTIONS IN A FORMAT /WHICH IS COMPATIBLE WITH PS/8 DEVICE HANDLER CALLING /SEQUENCES. /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 40 /THIS ROUTINE CAN BE RE-EDITED AND ASSEMBLED TO PRODUCE /VARIATIONS ON THE BASIC TD8E SYSTEM. ASSEMBLY PARAMETERS /CONTROL: /A) WHAT DRIVES (UNITS 0-7) WILL BE USED /B) THE ORIGIN OF THE TWO PAGE ROUTINE /C) WHAT MEMORY FIELD THE ROUTINE WILL RUN IN /D) THE SIZE OF THE DECTAPE BLOCK TO BE READ/WRITTEN /FOLLOWING ARE THE PARAMETERS SET UP FOR THE STANDARD /DEC VERSION OF THIS ROUTINE: 0010 DRIVE=10 /UNITS 0 AND 1 SELECTED 6200 ORIGIN=6200 /ENTRIES AT 6200 AND 6204 0000 AFIELD=0 /INITIAL FIELD SETTING 0000 MFIELD=00 /AFIELD*10=MFIELD 0600 WDSBLK=600 /384 WORDS PER BLOCK /THE USE OF THE PARAMETERS IS AS FOLLOWS: / DRIVE: DRIVE DETERMINES WHICH UNITS WILL BE SELECTED / DRIVE=10 IMPLIES UNITS 0 &1 / DRIVE=20 IMPLIES UNITS 2&3 / DRIVE=30 IMPLIES UNITS 4&5 / DRIVE=40 IMPLIES UNITS 6&7 /ORIGIN: ALTERING ORIGIN CAUSES ASSEMBLY IN A DIFFERENT / MEMORY LOCATION. WHEN CHANGING ORIGIN KEEP IN MIND /THAT THIS IS A TWO PAGE ROUTINE. /AFIELD: AFIELD DETERMINES THE INITIAL FIELD SETTING FOR THE / LOADER. PERMISSIBLE VALUES FOR AFIELD ARE 0 TO 7. /MFIELD: MFIELD IS USED IN A CIF CDF MFIELD INSTRUCTION. / THE VALUE INSERTED FOR MFIELD SHOULD BE 10(8) TIMES / THE VALUE FOR AFIELD. THE PERMISSIBLE VALUES ARE 00-70. /WDSBLK: WDSBLK GOVERNS HOW MANY WORDS THE ROUTINE THINKS ARE / IN A DECTAPE BLOCK. THE STANDARD VALUE IS 201(8) OR / 128 DECIMAL. NOTE THAT THE FUNCTION WORD BIT 10 CAN / BE USED TO SUBTRACT ONE FROM WDSBLK. THE VALUE USED / FOR WDSBLK SHOULD BE THE NUMBER OF WORDS THE TAPE WAS / FORMATTED TO CONTAIN. /IF WE WANT A HANDLER FOR UNITS 2&3 TO RESIDE IN /FIELD 2 AT LOCATION 3000 AND READ/WRITE 256(10) WORDS /PER BLOCK, THE PARAMETERS WOULD BE: / DRIVE=20 / ORIGIN=3000 / AFIELD=2 / MFIELD=20 / WDSBLK=400 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 41 /THE CALL TO THE SUBROUTINE FOLLOWS BASICALLY THE /CALLING SEQUENCE FOR PS/8 DEVICE HANDLERS. /THE CALLING SEQUENCE IS: / CDF CURRENT / CIF MFIELD /MFIELD=FIELD ASSEMBLED IN / JMS ENTRY /ENTRY=ORIGIN (EVEN NUMBERED DRIVE /AND ORIGIN+4 FOR ODD NUMBERED DRIVE. / ARG1 / ARG2 / ARG3 / ERROR RETURN / NORMAL RETURN /THE ARGUMENTS ARE: /ARG1: FUNCTION WORD BIT0: 0=READ, 1=WRITE / BITS 1-5: # BLOCKS IN OPERATION / BITS 6-8: FIELD OF BUFFER AREA / BIT 9: UNUSED / BIT 10: # OF WORDS/BLOCK. / 0= WDSBLK, 1=WDSBLK-1 / BIT 11: 1=START FORWARD, 0=REVERSE /ARG2: BUFFER ADDRESS FOR OPERATION /ARG3: STARTING BLOCK FOR OPERATION /ERRORS: THE HANDLER DETECTS TWO TYPES OF ERRORS: /A) FATAL ERRORS- PARITY ERROR, TIMING ERROR, / TOO GREAT A BLOCK NUMBER / FATAL ERRORS TAKE ERROR RETURN WITH THE / AC=4000. /B) NON-FATAL- SELECT ERROR. / IF NO PROPER UNIT IS SELECTED, THE ERROR / RETURN IS TAKEN WITH CLEAR AC. /FATAL ERRORS TRY THREE TIMES BEFORE TAKING ERROR RETURN. /THE NORMAL RETURN IS TAKEN AFTER ALL INDICATED /BLOCKS HAVE BEEN TRANSFERRED. THE AC IS CLEAR. /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 42 /THE TD8E IOT'S ARE: 6771 SDSS=7001-DRIVE /SKIP ON SINGLE LINE FLAG 6772 SDST=7002-DRIVE /SKIP ON TIMING ERROR 6773 SDSQ=7003-DRIVE /SKIP ON QUAD LINE FLAG 6774 SDLC=7004-DRIVE /LOAD COMMAND REGISTER 6775 SDLD=7005-DRIVE /LOAD DATA REGISTER 6776 SDRC=7006-DRIVE /READ COMMAND REGISTER 6777 SDRD=7007-DRIVE /READ DATA REGISTER /THE IOT'S IN GENERAL ARE 677X,676X,675X,AND 674X. /THE OTHERS CONTROL UNITS 2-7. 6204 BLOCK=DTA1 0000 FIELD AFIELD 6200 *ORIGIN 006200 0000 DTA0, 0 /ENTRY POINT FROM UNIT 0 006201 7300 CLA CLL /0 TO LINK 006202 5210 JMP DTA1X 006203 1000 C1000, 1000 006204 0000 DTA1, 0 /UNIT 2 ENTRY 006205 7320 CLA CLL CML /1 TO LINK 006206 1204 TAD DTA1 006207 3200 DCA DTA0 /PICK UP ARGS AT DTA0 006210 7010 DTA1X, RAR 006211 3361 DCA UNIT /LINK TO UNIT POSITION 006212 6214 RDF 006213 1354 TAD C6203 /GET DATA FIELD AND SETUP RETURN 006214 3352 DCA LEAVE 006215 1600 TAD I DTA0 /GET FUNCTION WORD 006216 6775 DIO01, SDLD /PUT FUNCTION INTO DATA REGISTER 006217 7112 CLL RTR /AC STILL HAS FUNCTION. PUT # WORDS PER /BLOCK INTO LINK 006220 7630 SZL CLA /KNOCK ONE OFF WDSBLK? 006221 7001 IAC /YES 006222 1360 TAD MWORDS 006223 3356 DCA WCOUNT /STORE MASTER WORD COUNT 006224 2200 ISZ DTA0 /TO BUFFER 006225 1600 TAD I DTA0 006226 3357 DCA BUFF 006227 2200 ISZ DTA0 /TO BLOCK NUMBER 006230 1600 TAD I DTA0 006231 3204 DCA BLOCK 006232 2200 ISZ DTA0 /POINT TO ERROR EXIT 006233 6203 CIF CDF MFIELD /TO ROUTINES DATA FIELD 006234 6777 DIO02, SDRD /GET FUNCTION INTO AC 006235 7104 CLL RAL 006236 0307 AND CM200 /GET # PAGES TO XFER 006237 3364 DCA PGCT 006240 6777 DIO03, SDRD 006241 0374 C374, AND C70 /GET FIELD FOR XFER 006242 1354 TAD C6203 /FORM CDF N 006243 3377 DCA XFIELD /IF=0 AND DF=N AT XFER. 006244 7346 CLA CLL CMA RTL /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 42-1 006245 3367 DCA TRYCNT /3 ERROR TRIES 006246 1361 TAD UNIT /TEST FOR SELECT ERROR 006247 6774 DIO04, SDLC 006250 6776 DIO05, SDRC 006251 0366 AND C100 006252 7640 SZA CLA 006253 5346 JMP FATAL-1 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 43 006254 6777 DIO06, SDRD /PUT FUNCT INTO XFUNCT IN SECOND PG. 006255 3762 DCA I CXFUN 006256 1356 TAD WCOUNT 006257 3765 DCA I CXWCT 006260 6777 DIO07, SDRD /GET MOTION BIT TO LINK 006261 7110 CLL RAR 006262 5301 JMP GO /AND START THE MOTION. DIO08, 006263 6772 RWCOM, SDST /ANY CHECKSUM ERRORS? 006264 7640 SZA CLA /OR CHECKSUM ERRORS? 006265 5341 JMP TRY3 /PLEASE NOTE THAT THE LINK IS ALWAYS /SET AT RWCOM. GETCHK SETS IT. 006266 1364 TAD PGCT /NO ERROR..FINISHED XFER? 006267 1307 TAD CM200 006270 7450 SNA 006271 5345 JMP EXIT /ALL DONE. GET OUT 006272 3364 DCA PGCT /NEW PAGE COUNT 006273 2204 ISZ BLOCK /NEXT BLOCK TO XFER 006274 1356 TAD WCOUNT /FORM NEXT BUFFER ADDRESS 006275 7041 CIA 006276 1357 TAD BUFF 006277 3357 DCA BUFF 006300 7120 CLL CML /FORCES MOTION FORWARD 006301 7232 GO, CLA CML RTR /LINK BECOMES MOTION BIT 006302 1203 TAD C1000 006303 1361 TAD UNIT /PUT IN 'GO' AND UNIT # 006304 6774 DIO09, SDLC /LOOK FOR BLOCK NO. 006305 4755 JMS I CRDQUD /WAIT AT LEAST 6 LINES TO LOOK 006306 4755 JMS I CRDQUD 006307 7600 CM200, 7600 /COULD HAVE SAVED A LOC. HERE DIO10, 006310 6771 SRCH, SDSS 006311 5310 JMP .-1 /WAIT FOR SINGLE LINE FLAG 006312 6776 DIO11, SDRC 006313 7106 CLL RTL /DIRECTION TO LINK. INFO BITS /ARE SHIFTED. 006314 0241 AND C374 /ISOLATE MARK TRACK BITS 006315 1333 TAD M110 /IS IT END ZONE? 006316 7450 SNA /THE LINK STAYS SAME THRU THIS 006317 5335 JMP ENDZ 006320 1363 TAD M20 /CHECK FOR BLOCK MARK 006321 7640 SZA CLA 006322 5310 JMP SRCH 006323 6777 DIO12, SDRD /GET THE BLOCK NUMBER 006324 7430 SZL /IF WE ARE IN REVERSE, LOOK FOR 3 /BLOCKS BEFORE TARGET BLOCK. THIS /ALLOWS TURNAROUND AND UP TO SPEED. 006325 1375 TAD C3 /REVERSE 006326 7040 CMA 006327 1204 TAD BLOCK 006330 7040 CMA /IS IT RIGHT BLOCK? 006331 7450 SNA 006332 5370 JMP FOUND /YES..HOORAY! /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 43-1 006333 7670 M110, SZL SNA CLA /NO, BUT ARE WE HEADED FOR IT? /ABOVE SNA IS SUPERFLUOUS. 006334 5310 JMP SRCH /YES DIO13, 006335 6776 ENDZ, SDRC /WE ARE IN THE END ZONE 006336 7106 CLL RTL /DIRECTION TO LINK 006337 7630 SZL CLA /ARE WE IN REVERSE? 006340 5301 JMP GO /YES..TURN US AROUND /IF WE ARE IN THE END ZONE GOING FORWARD, IT IS AN ERROR 006341 2367 TRY3, ISZ TRYCNT 006342 5301 JMP GO /TRY 3 TIMES 006343 7300 CLL CLA 006344 5347 JMP FATAL /LINK OFF MEANS AC=4000 ON RETURN 006345 2200 EXIT, ISZ DTA0 006346 7120 CLL CML /AC=0 ON NORMAL RETURN 006347 1361 FATAL, TAD UNIT 006350 6774 DIO14, SDLC /STOP THE UNIT 006351 7230 CLA CML RAR 006352 7402 LEAVE, HLT 006353 5600 JMP I DTA0 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 44 006354 6203 C6203, 6203 006355 6513 CRDQUD, RDQUAD 006356 0000 WCOUNT, 0 006357 0000 BUFF, 0 006360 7200 MWORDS, -WDSBLK 006361 0000 UNIT, 0 006362 6553 CXFUN, XFUNCT 006363 7760 M20, -20 006364 0000 PGCT, 0 006365 6561 CXWCT, XWCT 006366 0100 C100, 100 006367 7775 TRYCNT, -3 6370 *ORIGIN+170 006370 7630 FOUND, SZL CLA /RIGHT BLOCK. HOW ABOUT DIRECTION? 006371 5301 JMP GO /WRONG..TURN AROUND 006372 1361 TAD UNIT /PUT UNIT INTO LINK 006373 7104 CLL RAL /AC IS NOW 0 006374 0070 C70, 70 /********DON'T MOVE THIS!!!!****** 006375 0003 C3, 3 006376 1357 TAD BUFF /GET BUFFER ADDRESS 006377 7402 XFIELD, HLT /INTO NEXT PAGE 6400 *ORIGIN+200 6520 XUNIT=EQUFUN 006400 6202 CIF MFIELD 006401 3360 DCA XBUFF /SAVE ADDRESS 006402 7010 RAR /NOW GET UNIT # 006403 3320 DCA XUNIT 006404 1361 TAD XWCT 006405 3357 DCA DWORDS /WORD COUNTER DIO15, 006406 6771 REVGRD, SDSS 006407 5206 JMP .-1 /LOOK FOR REVERSE GUARD 006410 6776 DIO16, SDRC 006411 0241 AND K77 006412 1354 TAD CM32 /IS IT REVERSE GUARD? 006413 7640 SZA CLA 006414 5206 JMP REVGRD /NO.KEEP LOOKING 006415 1353 TAD XFUNCT /GET FUNCTION READ OR WRITE 006416 7700 K7700, SMA CLA 006417 5254 JMP READ /NEG. IS WRITE DIO17, 006420 6776 WRITE, SDRC 006421 0266 AND C300 /CHECK FOR WRITE LOCK AND SELECT ERROR 006422 7120 CLL CML /LOCK OUT AND SELECT ARE AC 0 ERRORS 006423 7640 SZA CLA 006424 5751 JMP I CFATAL /FATAL ERROR. LINK MUST BE ON 006425 4313 JMS RDQUAD /NO ONE EVER USES THIS WORD! 006426 7600 C7600, 7600 006427 1355 TAD C1400 006430 1320 TAD XUNIT /INITIATE WRITE MODE /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 44-1 006431 6774 DIO18, SDLC 006432 7240 CLA CMA 006433 4304 JMS WRQUAD /PUT 77 IN REVERSE CHECKSUM 006434 7240 CLA CMA 006435 3356 DCA CHKSUM 006436 1760 WRLP, TAD I XBUFF /GLORY BE! THE ACTUAL WRITE! 006437 4304 JMS WRQUAD 006440 2360 ISZ XBUFF /BUMP CORE POINTER 006441 0077 K77, 77 /ABOVE MAY SKIP 006442 2357 ISZ DWORDS /DONE THIS BLOCK? 006443 5236 JMP WRLP /NOT YET..LOOP A WHILE 006444 1353 TAD XFUNCT /IS THE OPERATION FOR WDSBLK PER BLOCK? 006445 7112 CLL RTR /IF NO, WRITE A 0 WORD 006446 7630 SZL CLA /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 45 006447 4304 JMS WRQUAD /WRITE A WORD OF 0 006450 4335 JMS GETCHK /DO THE CHECK SUM 006451 4304 JMS WRQUAD /WRITE FORWARD CHECKSUM 006452 4304 JMS WRQUAD /ALLOW CHECKSUM TO BE WRITTEN 006453 5752 JMP I CRWCOM 006454 4313 READ, JMS RDQUAD 006455 4313 JMS RDQUAD 006456 4313 JMS RDQUAD /SKIP CONTROL WORDS 006457 0241 AND K77 006460 1216 TAD K7700 /TACK 7700 ONTO CHECKSUM. 006461 3356 DCA CHKSUM /CHECKSUM ONLY LOW 6 BITS ANYWAY 006462 4313 RDLP, JMS RDQUAD 006463 4320 JMS EQUFUN /COMPUT CHECKSUM AS WE GO 006464 3760 DCA I XBUFF /IT GETS CONDENSED LATER 006465 2360 ISZ XBUFF 006466 0300 C300, 300 /PROTECTION 006467 2357 ISZ DWORDS /DONE THIS OP? 006470 5262 JMP RDLP /NO SUCH LUCK 006471 1353 TAD XFUNCT /IF OP WAS FOR WDSBLK-1, READ AND 006472 7112 CLL RTR /CHECKSUM THE LAST TAPE WORD 006473 7620 SNL CLA 006474 5277 JMP RDLP2 006475 4313 JMS RDQUAD /NOT NEEDED FOR WDSBLK/BLOCK 006476 4320 JMS EQUFUN /CHECKSUM IT 006477 4313 RDLP2, JMS RDQUAD /READ CHECKSUM 006500 0216 AND K7700 006501 4320 JMS EQUFUN 006502 4335 JMS GETCHK /GET SIX BIT CHECKSUM 006503 5752 JMP I CRWCOM 006504 0000 WRQUAD, 0 /WRITE OUT A 12 BIT WORD 006505 4320 JMS EQUFUN /ADD THIS TO CHECKSUM 006506 6773 DIO19, SDSQ /SKIP ON QUADLINE FLAG 006507 5306 JMP .-1 006510 6775 DIO20, SDLD /LOAD DATA ONTO BUS 006511 7200 CLA /SDLD DOESN'T CLEAR AC 006512 5704 JMP I WRQUAD 006513 0000 RDQUAD, 0 /READ A 12 BIT WORD 006514 6773 DIO21, SDSQ 006515 5314 JMP .-1 006516 6777 DIO22, SDRD /READ DATA 006517 5713 JMP I RDQUAD /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 46 006520 0000 EQUFUN, 0 /COMPUTE EQUIVALENCE CHECKSUM 006521 7040 CMA 006522 3362 DCA EQUTMP /ACTUALLY CHECKSUMS ON DECTAPE ARE 006523 1362 TAD EQUTMP /EQUIVALENCE OF ALL WORDS IN A RECORD 006524 0356 AND CHKSUM /SIX BITS AT A TIME. BUT SINCE EQUIVALENCE 006525 7041 CIA /IS ASSOCIATIVE, WE CAN DO IT 12 006526 7104 CLL RAL /BITS AT A TIME AND CONDENSE LATER. 006527 1362 TAD EQUTMP /THIS ROUTINE USES THESE IDENTITIES: 006530 1356 TAD CHKSUM /A+B=(A.XOR.B)+2*(A.AND.B) 006531 3356 DCA CHKSUM /A.EQU.B=.NOT.(A.XOR.B)=A.XOR.(.NOT.B) 006532 1362 TAD EQUTMP /A.EQU.B=(A+(.NOT.B))-2*(A.AND.(.NOT.B)) 006533 7040 CMA 006534 5720 JMP I EQUFUN 006535 0000 GETCHK, 0 /FORM 6 BIT CHECKSUM 006536 7200 CLA 006537 1356 TAD CHKSUM 006540 7040 CMA 006541 7106 CLL RTL 006542 7006 RTL 006543 7006 RTL 006544 4320 JMS EQUFUN 006545 7320 CLA CLL CML /FORCES LINK ON AT RWCOM 006546 1356 TAD CHKSUM 006547 0216 AND K7700 006550 5735 JMP I GETCHK 006551 6347 CFATAL, FATAL 006552 6263 CRWCOM, RWCOM 006553 0000 XFUNCT, 0 006554 7746 CM32, -32 006555 1400 C1400, 1400 006556 0000 CHKSUM, 0 006557 0000 DWORDS, 0 006560 0000 XBUFF, 0 006561 0000 XWCT, 0 006562 0000 EQUTMP, 0 6600 PAGE /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 47 0001 FIELD 1 2000 *2000 012000 0000 ZFREE, ZBLOCK 5 012005 0000 INCTR, 0 012006 0000 INHNDL, 0 012007 0000 INPTR, 0 012010 0000 DELPS1, 0 012011 4777 JMS I (200 012012 0004 4 012013 7601 MOUTPU+1 012014 0000 0 012015 2210 ISZ DELPS1 012016 6203 CIF CDF 0 012017 5610 JMP I DELPS1 012020 0000 ICHARP, 0 012021 2275 ISZ INJMP 012022 2336 ISZ INCHCT 012023 5275 INJMPP, JMP INJMP 012024 1335 TAD INEOF 012025 7640 SZA CLA 012026 5333 JMP INEXIT 012027 1205 INGBUF, TAD INCTR 012030 7100 CLL 012031 1376 TAD (INRECS 012032 7420 SNL 012033 3205 DCA INCTR 012034 7430 SZL 012035 2335 ISZ INEOF 012036 7172 CLL CML CMA RTR 012037 7012 RTR 012040 7012 RTR 012041 1375 TAD (INCTL+1 012042 3245 DCA INCTLW 012043 6202 CIF 0 012044 4606 JMS I INHNDL 012045 0000 INCTLW, 0 012046 3000 INBUFP, INBUF 012047 0000 INREC, 0 012050 5270 JMP INERRX 012051 1247 INBREC, TAD INREC 012052 1376 TAD (INRECS 012053 3247 DCA INREC 012054 1245 TAD INCTLW 012055 0374 AND (7600 012056 7104 CLL RAL 012057 1245 TAD INCTLW 012060 0374 AND (7600 012061 7040 CMA 012062 3336 DCA INCHCT 012063 1223 TAD INJMPP /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 47-1 012064 3275 DCA INJMP 012065 1246 TAD INBUFP 012066 3207 DCA INPTR 012067 5221 JMP ICHARP+1 012070 2335 INERRX, ISZ INEOF 012071 7700 SMA CLA 012072 5251 JMP INBREC 012073 7330 INERR, CLL CLA CML RAR 012074 5333 JMP INEXIT 012075 7402 INJMP, HLT 012076 5337 JMP INCHR1 012077 5313 JMP INCHR2 012100 1223 INCHR3, TAD INJMPP 012101 3275 DCA INJMP 012102 1607 TAD I INPTR 012103 0373 AND (7400 012104 7112 CLL RTR 012105 7012 RTR 012106 1245 TAD INCTLW 012107 7012 RTR 012110 7012 RTR 012111 2207 ISZ INPTR 012112 5325 JMP INCOMN 012113 6201 INCHR2, CDF 0 012114 1772 TAD I (MODE 012115 6211 CDF 10 012116 7740 SMA SZA CLA 012117 5347 JMP IC8A1 012120 1607 TAD I INPTR 012121 0373 AND (7400 012122 3245 DCA INCTLW 012123 2207 ISZ INPTR 012124 1607 IC8A2, TAD I INPTR 012125 0371 INCOMN, AND (377 012126 1370 TAD (-232 012127 7450 SNA 012130 5333 JMP INEXIT 012131 1367 TAD (232 012132 2220 ISZ ICHARP 012133 6203 INEXIT, CIF CDF 0 012134 5620 JMP I ICHARP 012135 0001 INEOF, 1 012136 7777 INCHCT, -1 012137 6201 INCHR1, CDF 0 012140 1772 TAD I (MODE 012141 6211 CDF 10 012142 7750 SPA SNA CLA 012143 5324 JMP IC8A2 012144 1607 IC8A3, TAD I INPTR 012145 2207 ISZ INPTR /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 47-2 012146 5332 JMP INEXIT-1 012147 1223 IC8A1, TAD INJMPP 012150 3275 DCA INJMP 012151 2336 ISZ INCHCT 012152 5344 JMP IC8A3 012167 0232 012170 7546 012171 0377 012172 0044 012173 7400 012174 7600 012175 1011 012176 0004 012177 0200 2200 PAGE /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 48 012200 0000 OOPNPS, 0 012201 1377 TAD (MOUTPU+1 012202 3206 DCA OUBLK 012203 1776 TAD I (MOUTPU 012204 4775 JMS I (200 012205 0003 3 012206 0000 OUBLK, 0 012207 0000 OUELEN, 0 012210 5216 JMP OUEFAL 012211 3325 DCA OUCCNT 012212 4774 JMS I (OUSETP 012213 2200 ISZ OOPNPS 012214 6203 OUEEXT, CIF CDF 0 012215 5600 JMP I OOPNPS 012216 1776 OUEFAL, TAD I (MOUTPU 012217 0373 AND (7760 012220 7650 SNA CLA 012221 5214 JMP OUEEXT 012222 1776 TAD I (MOUTPU 012223 0372 AND (17 012224 3776 DCA I (MOUTPU 012225 5201 JMP OOPNPS+1 012226 0000 OUHNDL, 0 012227 0000 OUTDMP, 0 012230 3254 DCA OUCTLW 012231 1325 TAD OUCCNT 012232 7450 SNA 012233 2254 ISZ OUCTLW 012234 1206 TAD OUBLK 012235 3256 DCA OUREC 012236 1254 TAD OUCTLW 012237 7106 CLL RTL 012240 7006 RTL 012241 7006 RTL 012242 0372 AND (17 012243 1325 TAD OUCCNT 012244 3325 DCA OUCCNT 012245 1325 TAD OUCCNT 012246 7120 CLL CML 012247 1207 TAD OUELEN 012250 7660 SNL SZA CLA 012251 5627 JMP I OUTDMP 012252 6202 CIF 0 012253 4626 JMS I OUHNDL 012254 0000 OUCTLW, 0 012255 5000 OUBUF 012256 0000 OUREC, 0 012257 5627 JMP I OUTDMP 012260 2227 ISZ OUTDMP 012261 5627 JMP I OUTDMP 012262 0000 OCLOSE, 0 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 48-1 012263 6201 CDF 0 012264 1771 TAD I (MODE 012265 6211 CDF 10 012266 7740 SMA SZA CLA 012267 5303 JMP OULLLP+2 012270 4770 JMS I (OTYPE 012271 0367 AND (770 012272 1373 TAD (-PTP 012273 7640 SZA CLA 012274 1366 TAD (232 012275 4765 JMS I (OCHARP 012276 5330 JMP OURET 012277 4765 JMS I (OCHARP 012300 5330 JMP OURET 012301 4765 OULLLP, JMS I (OCHARP 012302 5330 JMP OURET 012303 4770 JMS I (OTYPE 012304 7710 SPA CLA 012305 1364 TAD (100 012306 1363 TAD (77 012307 0762 AND I (OUDWCT 012310 7640 SZA CLA 012311 5301 JMP OULLLP 012312 1762 TAD I (OUDWCT 012313 1361 TAD (OUCTL&3700 012314 7450 SNA 012315 5321 JMP OUDUMP 012316 1360 TAD (4010 012317 4227 JMS OUTDMP 012320 5330 JMP OURET 012321 1776 OUDUMP, TAD I (MOUTPU 012322 4775 JMS I (200 012323 0004 4 012324 7601 MOUTPU+1 012325 0000 OUCCNT, 0 012326 7410 SKP 012327 2262 ISZ OCLOSE 012330 6203 OURET, CIF CDF 0 012331 5662 JMP I OCLOSE 012360 4010 012361 1000 012362 2502 012363 0077 012364 0100 012365 2444 012366 0232 012367 0770 012370 2503 012371 0044 012372 0017 012373 7760 012374 2433 012375 0200 012376 7600 012377 7601 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 48-2 2400 PAGE /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 49 012400 0000 OUTEMP, 0 012401 7402 OUJMP, HLT 012402 5273 JMP OCHR1 012403 5263 JMP OCHR2 012404 1200 OCHR3, TAD OUTEMP 012405 7106 CLL RTL 012406 7006 RTL 012407 0377 AND (7400 012410 1700 TAD I OUPOLD 012411 3700 DCA I OUPOLD 012412 1200 TAD OUTEMP 012413 7112 CLL RTR 012414 7012 RTR 012415 7010 RAR 012416 0377 AND (7400 012417 1701 TAD I OUPTR 012420 3701 OC8A1, DCA I OUPTR 012421 1262 TAD OUJMPP 012422 3201 DCA OUJMP 012423 2301 ISZ OUPTR 012424 2302 ISZ OUDWCT 012425 5275 JMP OUCOMN 012426 1376 TAD (OUCTL 012427 4775 JMS I (OUTDMP 012430 5276 JMP OUCRET 012431 4233 JMS OUSETP 012432 5275 JMP OUCOMN 012433 0000 OUSETP, 0 012434 1374 TAD (OUCTL&3700 012435 7041 CIA 012436 3302 DCA OUDWCT 012437 1373 TAD (OUBUF 012440 3301 DCA OUPTR 012441 1262 TAD OUJMPP 012442 3201 DCA OUJMP 012443 5633 JMP I OUSETP 012444 0000 OCHARP, 0 012445 3200 DCA OUTEMP 012446 6214 RDF 012447 1372 TAD (CIF CDF 0 012450 3276 DCA OUCRET 012451 6201 CDF 0 012452 1771 TAD I (MODE 012453 7740 SMA SZA CLA 012454 5260 JMP .+4 012455 1200 TAD OUTEMP 012456 0370 AND (377 012457 3200 DCA OUTEMP 012460 6211 CDF 10 012461 2201 ISZ OUJMP 012462 5201 OUJMPP, JMP OUJMP /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 49-1 012463 6201 OCHR2, CDF 0 012464 1771 TAD I (MODE 012465 6211 CDF 10 012466 7740 SMA SZA CLA 012467 5317 JMP OC8A2 012470 1301 TAD OUPTR 012471 3300 DCA OUPOLD 012472 2301 ISZ OUPTR 012473 1200 OCHR1, TAD OUTEMP 012474 3701 DCA I OUPTR 012475 2244 OUCOMN, ISZ OCHARP 012476 6203 OUCRET, CIF CDF 0 012477 5644 JMP I OCHARP 012500 0000 OUPOLD, 0 012501 0000 OUPTR, 0 012502 0000 OUDWCT, 0 012503 0000 OTYPE, 0 012504 1767 TAD I (MOUTPU 012505 0366 AND (17 012506 1365 TAD (DCB-1 012507 3233 DCA OUSETP 012510 1633 TAD I OUSETP 012511 5703 JMP I OTYPE 012512 0000 CDINXX, ZBLOCK 5 012517 2301 OC8A2, ISZ OUPTR 012520 1200 TAD OUTEMP 012521 5220 JMP OC8A1 012565 7757 012566 0017 012567 7600 012570 0377 012571 0044 012572 6203 012573 5000 012574 1000 012575 2227 012576 5010 012577 7400 2600 PAGE /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 50 $-$-$ /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 51 AFIELD 0000 CVDATE 2600 DIV1 1212 FINDSL 1200 ALTMOD 1120 CXFUN 6362 DIV3 1231 FINDS0 1215 BAKARR 1072 CXWCT 6365 DIV7 1224 FINDS1 1240 BLOCK 6204 C100 6366 DRIVE 0010 FINDS2 1247 BUFF 6357 C1000 6203 DTA0 6200 FINDS3 1252 CARRET 1037 C1400 6555 DTA1 6204 FINDS4 1266 CD 5400 C3 6375 DTA1X 6210 FINDS5 1272 CDCNT 0103 C300 6466 DTCA 6762 FINDS6 1303 CDDEV 0070 C374 6241 DTLB 6774 FINDS7 1310 CDDEVF 0056 C6203 6354 DTRA 6761 FINDS8 1244 CDEXT 0063 C70 6374 DTRB 6772 FINDS9 1262 CDINX 6000 C7600 6426 DTSF 6771 FIND1 4344 CDINXX 2512 DATE 0046 DTWAIT 6267 FIND2 4275 CDIN1 6014 DATE1 2646 DTXA 6764 FIND3 4342 CDIN2 6012 DATE10 2647 DVCPTR 4710 FIND4 4351 CDIN3 6066 DATE11 2652 DVCTBL 4711 FLIP 0610 CDIN4 6077 DATE12 2662 DVTYPE 0110 FLIP1 0641 CDIN5 6100 DATE2 2722 DWORDS 6557 FLIP2 0642 CDIN6 6112 DATE3 2723 ENDZ 6335 FLIP3 0643 CDIN7 6063 DCB 7760 EQUFUN 6520 FLIP4 0647 CDIN8 6044 DECODE 5063 EQUTMP 6562 FLIP5 0644 CDIN9 6120 DECOD1 5076 ERDELF 0215 FLIP6 0621 CDI01 5523 DELETE 1315 ERMES0 4522 FLIP7 0645 CDI02 5532 DELET1 1360 ERMES1 4541 FLIP8 0646 CDI04 0104 DELET2 1327 ERMES2 4547 FNOTFD 0211 CDNAME 0060 DELET3 1361 ERMES3 4556 FOUND 6370 CDOUTX 5600 DELET4 1341 ERMES4 4567 FREEP 0047 CDOUT1 5625 DELE10 3044 ERMES5 4600 GCH 5000 CDOUT2 5627 DELOS8 3063 ERMES6 4613 GETCHK 6535 CDOUT3 5654 DELPS1 2010 ERMES7 4623 GETDIG 3621 CDOUT4 5665 DEVSW 0067 ERMES8 4640 GET10D 6207 CDOUT5 5643 DIGPAK 3705 ERMES9 4650 GLINE 1000 CDOUT9 5612 DIO01 6216 ERROR 0225 GNAME 5200 CDX01 5454 DIO02 6234 ERROR2 0251 GNAME1 5205 CDX02 5477 DIO03 6240 ERROR3 0304 GNAME2 5217 CDX03 5501 DIO04 6247 ERROR4 0236 GNAME3 5247 CFATAL 6551 DIO05 6250 ERROR7 0272 GNAME4 5262 CHARNI 0031 DIO06 6254 EXA40 5100 GNAME5 5272 CHARNO 0032 DIO07 6260 EXA401 5105 GNAME6 5306 CHKSUM 6556 DIO08 6263 EXIT 6345 GO 6301 CHLOOP 1006 DIO09 6304 FATAL 6347 GOLDBK 0744 CINSRT 1027 DIO10 6310 FILLSA 1423 GTCRLF 3651 CLFINI 1040 DIO11 6312 FILLSL 1400 GTDVTP 6122 CLOS1A 2411 DIO12 6323 FILLS0 1414 IBLOCK 0035 CLOS10 2400 DIO13 6335 FILLS1 1424 IBUF10 3000 CLRLIN 1101 DIO14 6350 FILLS2 1436 ICHARA 2253 CM200 6307 DIO15 6406 FILLS3 1443 ICHARB 2273 CM32 6554 DIO16 6410 FILLS4 1466 ICHARC 2270 CNTR 0022 DIO17 6420 FILLS5 1475 ICHARD 2315 CRCR 1111 DIO18 6431 FILLS6 1516 ICHARE 2335 CRDQUD 6355 DIO19 6506 FILLS7 1527 ICHARF 2311 CRLF 4236 DIO20 6510 FILLS8 1432 ICHARP 2020 CRWCOM 6552 DIO21 6514 FILLS9 1413 ICHARX 2206 CTRLC 1075 DIO22 6516 FIND 4266 ICHARY 2205 CTRLU 1075 DIRECT 7000 FINDSA 1213 ICHAR0 2213 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 51-1 ICHAR1 2321 IOTX4 6322 NOBAKB 5553 OUDWCT 2502 ICHAR2 2337 IOTX5 6324 NOOFIL 0207 OUEEXT 2214 ICHAR3 2346 IOTX6 6341 NOOOFL 0221 OUEFAL 2216 ICHAR4 2362 IOTX7 6352 NOROOM 0205 OUELEN 2207 ICHRPS 3300 IOTX8 6354 NOTPSF 0217 OUHNDL 2226 ICHR10 2200 IPOINT 0041 NOT10F 0213 OUJMP 2401 IC10A1 2371 IUNIT 0034 OBLOCK 0036 OUJMPP 2462 IC10A3 2367 IXR 0017 OBUF10 5000 OULLLP 2301 IC8A1 2147 JSBITS 7746 OCHARA 2101 OUNIT 0033 IC8A2 2124 K77 6441 OCHARB 2123 OUPOLD 2500 IC8A3 2144 K7700 6416 OCHARC 2116 OUPTR 2501 INBREC 2051 LBCKUP 1141 OCHARD 2127 OUREC 2256 INBUF 3000 LEAVE 6352 OCHARP 2444 OURET 2330 INBUFP 2046 LFEED 1161 OCHARX 2022 OUSETP 2433 INCHCT 2136 LINBUF 4400 OCHARY 0107 OUTDMP 2227 INCHR1 2137 LISTDV 4015 OCHARZ 2014 OUTEMP 2400 INCHR2 2113 LISTL 4400 OCHAR0 2027 OUTPUT 0040 INCHR3 2100 LISTM1 4505 OCHAR1 2132 PACK 3701 INCOMN 2125 LIST10 4000 OCHAR2 2150 PDP10D 0073 INCTL 1010 LIST11 4025 OCHAR3 1677 PERSW 0066 INCTLW 2045 LIST12 4036 OCHAR4 2160 PGCT 6364 INCTR 2005 LIST13 4141 OCHRPS 3306 PIPA 3453 INDEVH 6600 LIST14 4076 OCHR1 2473 PIPB 3520 INDEVX 3227 LIST15 4142 OCHR10 2000 PIPC 3513 INDEX0 0010 LIST16 4233 OCHR2 2463 PIPCD 3407 INDEX1 0011 LIST17 4120 OCHR3 2404 PIPD 3501 INDEX2 0012 LIST18 4245 OCLOSE 2262 PIPE 3502 INDEX3 0013 LIST19 4224 OC10A1 2015 PIPF 3527 INDEX4 0014 LIST20 4226 OC10A2 2007 PIPG 3537 INDEX5 0015 LIST21 4261 OC10A3 2010 PIPX 3506 INDEX6 0016 LIST22 4200 OC10A4 2121 PIP001 3434 INEOF 2135 LIST23 4244 OC10A5 2120 PIP10 3400 INERR 2073 MDATE 7666 OC10A6 2167 POINT 0021 INERRX 2070 MFIELD 0000 OC10A7 2163 PRINT 2724 INEXIT 2133 MINPUT 7617 OC8A1 2420 PRINTC 0054 INGBUF 2027 MODE 0044 OC8A2 2517 PRINTL 3000 INHNDL 2006 MOUTPU 7600 OLDTBL 0600 PRINTZ 3003 INJMP 2075 MPARAM 7643 OOPNPS 2200 PRINT0 0050 INJMPP 2023 MWORDS 6360 OOPN10 2453 PRINT1 0051 INPTR 2007 M110 6333 OPENP 5020 PRINT2 0052 INPUT 0037 M20 6363 OPOINT 0042 PRINT3 0053 INREC 2047 NEXIFL 3200 ORIGIN 6200 PRINT4 2733 INRECS 0004 NEXIF1 3247 OTYPE 2503 PRINT5 2754 INSEG 0072 NEXIF2 3276 OUBLK 2206 PRINT6 2757 IOERR 0203 NEXIF3 3274 OUBUF 5000 PRINT7 2726 IOPN1A 2524 NEXTDI 1676 OUCCNT 2325 PRNT 1150 IOPN1B 2543 NEXTSL 1600 OUCOMN 2475 PTP 0020 IOPN1C 2547 NEXTS1 1612 OUCRET 2476 RBFLAG 0055 IOPN1D 2531 NEXTS2 1631 OUCTL 5010 RBSPCL 1144 IOPN1E 2544 NEXTS3 1641 OUCTLW 2254 RDLP 6462 IOPN1F 2523 NEXTS4 1675 OUDEVH 7200 RDLP2 6477 IOPN10 2513 NEXTS5 1653 OUDEVX 3524 RDQUAD 6513 IOTX1 6307 NEXTS6 1673 OUDEVY 4017 READ 6454 IOTX2 6311 NEXTS7 1617 OUDEVZ 4034 READT 0475 IOTX3 6317 NOBAKA 5506 OUDUMP 2321 REVGRD 6406 /OS8 PIP10 - PDP-10 CONVERSION PROGRAM PAL8-VB0 NO DATE PAGE 51-2 ROCK 6200 TMOD3 0466 ROCK1 6231 TMOD4 0435 ROCK2 6240 TMOD5 0551 ROCK3 6241 TMOD6 0530 ROCK4 6217 TM600 0543 RUBOUT 1124 TOUT 0427 RWCOM 6263 TRYCNT 6367 RWTEST 0512 TRY3 6341 SAVELN 0043 TSTART 0423 SAVMOD 3612 TWC 0472 SDLC 6774 UNIT 6361 SDLD 6775 UNIT10 0020 SDRC 6776 WCOUNT 6356 SDRD 6777 WDSBLK 0600 SDSQ 6773 WORDS 0045 SDSS 6771 WRITE 6420 SDST 6772 WRITET 0401 SETUNT 5703 WRITE1 0413 SET10 6264 WRITE2 0411 SKIP4 6351 WRLP 6436 SLASH 5015 WRQUAD 6504 SLOTNO 1621 XBUFF 6560 SLSHCH 5027 XDSK 0105 SPADR 1043 XFIELD 6377 SRCH 6310 XFUNCT 6553 SYNTAX 0223 XLOOP 3614 TAPFUN 0112 XTEMP 3743 TBLK 0473 XTEMP1 3742 TBUF 0474 XUNIT 6520 TCA 0471 XVERTP 0113 TCON2 0400 XVERTQ 3600 TDBLK 0737 XWCT 6561 TDBUF 0736 ZERO10 3011 TDCHK 6305 ZFREE 2000 TDCLP 6332 TDFUN 0735 TDIOCK 0701 TDRET 0743 TDT 6356 TDULP 4674 TDUNIT 0111 TDUPTR 4706 TDUSET 4661 TDUT 4707 TDUTBL 4715 TEMP1 0023 TEMP2 0024 TEMP3 0025 TEMP4 0026 TEMP5 0027 TEMP6 0030 TERR 0417 TLOOP 0426 TMOD1 0434 TMOD2 0444 ERRORS DETECTED: 0 LINKS GENERATED: 0