/7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 1 /7 OS/8 MCPIP MAGTAPE AND CASSETTE PIP / / / / / / / / / /COPYRIGHT (C) 1974,1975,1977 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. / / / / / / / / / / /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 2 / S.R. / REVISED FEB. 11, 1974 / SECOND REVISION: 7-AUG-75 /1. INSTALLED PATCH SEQ #1 , SEPT. 1974 DSN / (NOW TRANSFERS LAST 2 BYTES CORRECTLY IN IMAGE MODE) /2. BUMPED VERSION NUMBER TO V5 /3. FIXED /L BUG IF DEVICE NOT MAGTAPE OR CASSETTE 6700 KCLR=6700 /CLEAR ALL /CLEAR STATUS A AND B REGISTERS. 6701 KSDR=6701 /SKIP ON DATA FLAG 6702 KSEN=6702 /SKIP ON ERROR 6703 KSBF=6703 /SKIP ON READY FLAG 6704 KLSA=6704 /LOAD STATUS A FROM AC 4-11 /CLEAR AC, THEN /LOAD 8 BIT COMPLEMENT OF STATUS A /BACK INTO AC 6705 KSAF=6705 /SKIP ON ANY FLAG OR ERROR 6706 KGOA=6706 /ASSERT THE CONTENTS OF STATUS A, /TRANSFER DATA IF READ OR WRITE 6707 KRSB=6707 /READ STATUS B INTO AC 4-11 4400 FIXMRI CALL=4400 5400 FIXMRI EXIT=5400 2000 FIXMRI INCR=2000 /CORE ALLOCATION /00000-01777 COMMAND DECODER /02000-02377 OUTPUT HANDLER /02400-02777 INPUT HANDLER /03000-03777 CASSETTE OUTPUT BUFFER /04000-04777 CASSETTE INPUT BUFFER /05000-05577 STAND ALONE CASSETTE HANDLER /05600-07577 LOOKUP, ENTER, CLOSE /07600-07777 OS/8 /10000-11777 USR /12000-14577 PIPC /14600-17577 OS/8 INPUT/OUTPUT BUFFER /17600-17777 OS/8 /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 3 /USR HAS THE FOLLOWING FREE LOCATIONS: /0-6 /10-17 (BUT GET DESTROYED) /20-37 0020 TEMP=20 0021 TEMP1=21 0022 TEMP2=22 0023 TEMP3=23 / STARTING ADDRESS = 12000 / JOB STATUS WORD = 6003 2400 INHAND=2400 2000 OUTHAND=2000 3000 COBUF=3000 4000 CIBUF=4000 0006 PIPVERSION=6 0001 PATCHLEV=77&"A 0006 SPCODE=6 0000 CLCODE=0 0001 REWCOD=1 0003 FICODE=3 0005 EOCODE=5 0002 RECCOD=2 /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 4 /V3 CHANGES: /1. SHRUNK 0S/8 BUFFER TO 3000 WORDS /2. ADDED VERSION NUMBER (/V) /3. MADE INDEPENDENT OF MAGIC LOCATIONS IN CASSETTE HANDLER /4. ADDED MAGTAPE SUPPORT OF CASSETTE FILE STRUCTURE /5. ALTMODE MEANS RETURN TO KBM /6. ^C DOESN'T CLOSE CASSETTES UNLESS WE ALREADY WROTE ON IT /7. FIXED BUG THAT CSA2 THRU CSA7 DIDN'T WORK /8. CR ALONE TO CD GIVES NO ERROR MESSAGE /9. ADDED ^O AND ^C SUPPORT TO MESSAGE PRINTOUT /10. GIVE ERRORS ON ILLEGAL * OR ? IN NAME /11. USES TTY: AS DEFAULT OUTPUT DEVICE ON /L /PROPOSED: /8. ALLOW *.* FOR CASSETTE INPUT /9. SUPPORT OF UNLABELED MAGTAPE STANDARD /10. /7 OR /9 SPECIFIES CHANNEL /FIXES SINCE FIELD TEST : /1. ^C ALWAYS BRINGS YOU BACK TO KBM /2. FIXED BUG RE CHECK FOR FILE FULL /3. MADE COMPATIBLE WITH NEW TM8E HANDLER /4. TIME-OUT ON CASSETTE READ /5. BE NICE-GUY IF OS/8 LOOKUP FAILURE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 5 /THIS ROUTINE LEAVES WITH INTERRUPTS OFF AND DEVICE SELECTED /AND READY. /THE NEW UNIT NUMBER (0-7) IS IN THE AC. /THE UNIT NUMBER IS IN BITS 8-11 OF THE AC. /RETURN 1 IS MADE IF THE UNIT IS NOT READY. /CINUSE IS SET TO 1. /THE HANDLER MUST NOT ALREADY BE IN USE. /THE DATA FIELD IS INTERROGATED /AND A RETURN CIF CDF IS BUILT /AND STORED IN LOCATION RETCIF /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 6 5000 *5000 05000 0000 FIXDVC, 0 05001 3245 DCA DVC 05002 6214 RDF 05003 1377 TAD (CIF CDF 05004 6201 CDF 0 05005 3244 DCA TMP 05006 1600 TAD I FIXDVC 05007 3261 DCA ERRET 05010 2200 ISZ FIXDVC 05011 1244 TAD TMP 05012 3661 DCA I ERRET 05013 1245 TAD DVC 05014 7450 SNA 05015 5247 JMP CHECKR 05016 7010 RAR /MOVE UNIT TO LINK; DEVICE TO AC 05017 0376 AND (3 /MASK OFF DEVICE CODE 05020 3245 DCA DVC /SAVE DEVICE CODE 05021 7430 SZL 05022 1375 TAD (100 05023 3774 DCA I (ABUNIT /SET UNIT IN BIT 5 05024 1245 TAD DVC 05025 7106 CLL RTL 05026 7004 RAL /UGLY 05027 3245 DCA DVC /MOVE TO BITS 6-8 05030 1373 TAD (IOTBL 05031 3246 DCA IOTPTR 05032 1646 IOTLOOP,TAD I IOTPTR 05033 7450 SNA /END OF TABLE? 05034 5247 JMP CHECKR /YES 05035 3244 DCA TMP 05036 1644 TAD I TMP 05037 0372 AND (7707 /MASK OUT OLD DVC 05040 1245 TAD DVC /INSERT NEW ONE 05041 3644 DCA I TMP /REPLACE 05042 2246 ISZ IOTPTR /POINT TO NEXT ONE 05043 5232 JMP IOTLOOP 05044 0000 TMP, 0 05045 0000 DVC, 0 /DEVICE CODE 05046 0000 IOTPTR, 0 /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 7 05047 4771 CHECKR, JMS I (CLEAR 05050 1370 TAD (200 05051 4767 JMS I (LOADA /SELECT DRIVE 05052 4766 JMS I (CHECKB 05053 0365 AND (7735 /IGNORE EOT/BOT FLAG /AND WLO 05054 1364 TAD (-1 05055 7640 SZA CLA 05056 5661 JMP I ERRET /NOT READY 05057 2763 ISZ I (CINUSE 05060 5600 JMP I FIXDVC 05061 0000 ERRET, 0 /ERROR RETURN LOCATION /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 8 05062 0000 FIDDLE, 0 05063 6212 CIF 10 05064 4762 JMS I (FID2 /NEED ROOM 05065 1361 TAD (CIBUF+11 05066 3010 DCA 10 05067 1331 TAD FAST 05070 7640 SZA CLA 05071 5322 JMP DIREOL 05072 1360 TAD (40 05073 3410 DCA I 10 05074 1757 TAD I (CIBUF+20 05075 3410 DCA I 10 05076 1757 TAD I (CIBUF+20 05077 0356 AND (177 05100 7440 SZA 05101 1355 TAD (-40 05102 7640 SZA CLA 05103 1354 TAD ("/-40 05104 1360 TAD (40 05105 3332 DCA SLSH 05106 1753 TAD I (CIBUF+21 05107 3410 DCA I 10 05110 1332 TAD SLSH 05111 3410 DCA I 10 05112 2010 INCR 10 05113 2010 INCR 10 05114 1332 TAD SLSH 05115 3410 DCA I 10 05116 1752 TAD I (CIBUF+22 05117 3410 DCA I 10 05120 1751 TAD I (CIBUF+23 05121 3410 DCA I 10 05122 1350 DIREOL, TAD (15 05123 3410 DCA I 10 05124 1347 TAD (12 05125 3410 DCA I 10 05126 1346 TAD (32 05127 3410 DCA I 10 05130 5662 FIDLV, EXIT FIDDLE /0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 /F I L E N A M E S D D M M Y Y /F I L E N A . M E S M M / D D / Y Y CR LF ^Z 05131 0000 FAST, 0 /0 MEANS F NOT SPECIFIED /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 9 05132 0257 SLSH, "/ 05133 5262 IOTBL, IOT0 05134 5273 IOT1 05135 5741 IOT4 05136 5336 IOT5 05137 5265 IOT6 05140 5472 IOT6C 05141 5254 IOT7 05142 0000 0 05146 0032 05147 0012 05150 0015 05151 4023 05152 4022 05153 4021 05154 0217 05155 7740 05156 0177 05157 4020 05160 0040 05161 4011 05162 2400 05163 5303 05164 7777 05165 7735 05166 5253 05167 5737 05170 0200 05171 5260 05172 7707 05173 5133 05174 5747 05175 0100 05176 0003 05177 6203 5200 PAGE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 10 05200 0000 UTIL, 0 05201 3250 DCA TEMPU 05202 3252 DCA REWSW /ZERO REWIND SWITCH 05203 1600 TAD I UTIL 05204 1377 TAD (-10 05205 7450 SNA 05206 2252 ISZ REWSW 05207 2200 ISZ UTIL 05210 1376 TAD (210 05211 3251 DCA TEMPFN 05212 1250 TAD TEMPU 05213 4775 JMS I (FIXDVC /FIX DEVICE CODE 05214 5226 UTEND /UNIT NOT READY 05215 1374 TAD (UT 05216 3330 DCA CRET /SET RETURN ADDRESS 05217 7240 STA 05220 3773 DCA I (RW /NOTE FACT THAT OP AINT READ 05221 1251 TAD TEMPFN 05222 4772 JMS I (LOADA 05223 4264 JMS GO /INITIATE UTIL 05224 5331 JMP CRET+1 05225 2200 ISZ UTIL 05226 7402 UTEND, HLT 05227 5600 JMP I UTIL 05230 4253 UT, JMS CHECKB /LOOK AT STATUS B 05231 0371 AND (50 /CHECK FOR CL, EMPTY, OR WLO /GIVE NO ERROR ON WLO ************ /BAD FOR WRGAP 05232 7450 SNA 05233 5242 JMP OK /NO ERRORS 05234 1370 TAD (-40 05235 7640 SZA CLA 05236 5241 JMP NOTOK /ERROR NOT CL 05237 1252 TAD REWSW 05240 7650 SNA CLA /CL OK IF DID REWIND 05241 7240 NOTOK, STA 05242 4260 OK, JMS CLEAR 05243 1303 TAD CINUSE 05244 7700 SMA CLA 05245 5225 JMP UTEND-1 05246 1304 TAD BSTATE /ERROR 05247 5226 JMP UTEND 05250 0000 TEMPU, 0 05251 0000 TEMPFN, 0 05252 0000 REWSW, 0 /1 MEANS OPERATION IS REWIND /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 11 05253 0000 CHECKB, 0 05254 6707 IOT7, KRSB /READ STATUS B INTO AC 4-11 05255 3304 DCA BSTATE /SAVE STATUS B 05256 1304 TAD BSTATE 05257 5653 JMP I CHECKB 05260 0000 CLEAR, 0 05261 3303 DCA CINUSE /LEAVE STATUS CONDITION IN AC; -1 MEANS ERROR 05262 6700 IOT0, KCLR /CLEAR STATUS A AND B 05263 5660 JMP I CLEAR 05264 0000 GO, 0 05265 6706 IOT6, KGOA /ASSERT CONTENTS OF STATUS A 05266 7200 CLA 05267 5664 JMP I GO 05270 0000 CHK, 0 05271 4767 JMS I (CHECKB 05272 0366 AND (374 05273 6701 IOT1, KSDR 05274 7410 SKP /DATA FLAG NOT UP - 05275 5670 JMP I CHK 05276 1365 TAD (-20 05277 7650 SNA CLA /IS IT END OF FILE? 05300 5764 JMP I (ERRR /YES, ERROR - BUT DON'T RETRY 05301 1304 TAD BSTATE 05302 5670 JMP I CHK 05303 0000 CINUSE, 0 /1 MEANS HANDLER IN USE 05304 0000 BSTATE, 0 /STATUS OF REGISTER B ON ERROR /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 12 05305 0000 DTEM, 0 05306 4763 DOPTION,JMS I (CONVRT 05307 7601 7601 05310 3305 DCA DTEM 05311 1762 TAD I (OUNIT 05312 4761 JMS I (LOOKUP 05313 5760 JMP I (XER4 05314 5320 JMP MBNF /NOT FOUND 05315 2305 INCR DTEM 05316 4757 JMS I (DELET 05317 5756 JMP I (XER77 /OUTPUT ERROR 05320 1305 MBNF, TAD DTEM 05321 7650 SNA CLA /ANYTHING DELETED? 05322 5755 JMP I (XER24 /NO 05323 4200 JMS UTIL 05324 0010 REWIND 05325 7200 CLA 05326 6213 CIF CDF 10 /YES 05327 5754 JMP I (DECODE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 13 05330 0000 CRET, 0 05331 6201 CDF 0 05332 1353 TAD (-200 /COUNT OF HOW LONG TO WAIT 05333 3752 DCA I (OUTER 05334 4751 IOL, JMS I (CTRLC 05335 4750 JMS I (TIMEOUT 05336 6705 IOT5, KSAF 05337 5334 JMP IOL 05340 5730 EXIT CRET 05350 6124 05351 6502 05352 6136 05353 7600 05354 2002 05355 7130 05356 7530 05357 6071 05360 6347 05361 6000 05362 7134 05363 7000 05364 5525 05365 7760 05366 0374 05367 5253 05370 7740 05371 0050 05372 5737 05373 5434 05374 5230 05375 5000 05376 0210 05377 7770 5400 PAGE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 14 05400 0000 HANDLER,0 05401 3300 DCA TUN 05402 1600 TAD I HANDLER /GET FUNCTION CONTROL WORD 05403 0345 AND L70 /ISOLATE FIELD OF BUFFER 05404 1263 TAD LCDF 05405 3257 DCA WCDF 05406 1600 TAD I HANDLER /RETRIEVE FUNCTION CONTROL WORD 05407 7004 RAL /READ/WRITE BIT TO LINK 05410 7204 CLA RAL 05411 3234 DCA RW /RW=1 IF WRITE 05412 2200 ISZ HANDLER /POINT TO BUFFER ADDRESS 05413 1600 TAD I HANDLER /GET BUFFER ADDRESS 05414 3357 DCA BUFFER /SAVE IT 05415 2200 ISZ HANDLER /POINT TO ERROR RETURN 05416 1300 TAD TUN 05417 4777 JMS I (FIXDVC 05420 5432 LV /NOT READY 05421 1257 TAD WCDF 05422 3343 DCA BFIELD 05423 1257 TAD WCDF 05424 3300 DCA BFLD 05425 7346 STA CLL RTL /TAD (-3 05426 3235 DCA ERKNT 05427 4236 JMS SETUP /SET UP READ OR WRITE 05430 5776 JMP I (CRET+1 05431 2200 ISZ HANDLER /POINT TO GOOD RETURN 05432 7402 LV, HLT 05433 5600 JMP I HANDLER 05434 0000 RW, 0 /1 IF WRITE (-1 IF UTIL) 05435 7775 ERKNT, -3 /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 15 05436 0000 SETUP, 0 05437 1234 TAD RW 05440 1375 TAD (WRITEX 05441 3774 DCA I (CRET /SET RETURN ADDRESS 05442 1357 TAD BUFFER 05443 3355 DCA BPTR 05444 1305 TAD BSIZE 05445 7040 CMA /WANT TO READ ONE MORE 05446 1234 TAD RW 05447 3354 DCA BKNT 05450 1234 TAD RW 05451 3306 DCA OUTSW 05452 1234 TAD RW 05453 7106 CLL RTL 05454 7006 RTL /WRITE FN CODE=20 05455 1373 TAD (200 /SELECT AND INTERRUPT ENABLE 05456 4772 JMS I (LOADA 05457 7402 WCDF, HLT 05460 1234 TAD RW 05461 7640 SZA CLA 05462 1755 TAD I BPTR 05463 6201 LCDF, CDF 0 05464 4771 JMS I (GO 05465 5636 JMP I SETUP /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 16 05466 4770 READX, JMS I (CHK 05467 0303 AND L374 05470 7440 SZA 05471 5321 JMP ERRX 05472 6706 IOT6C, KGOA /GET CHAR JUST READ 05473 3356 DCA BYTE 05474 2354 ISZ BKNT 05475 7410 SKP 05476 5307 JMP RWCRC 05477 1356 BMODE, TAD BYTE TUN, 05500 7402 BFLD, HLT 05501 3755 DCA I BPTR 05502 2355 ISZ BPTR 05503 0374 L374, 374 05504 5776 JMP I (CRET+1 /CRET ALREADY SET UP 05505 0200 BSIZE, 200 05506 0000 OUTSW, 0 /1 MEANS WE BEGAN TO WRITE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 17 05507 1367 RWCRC, TAD (260 /ENABLE, ENABLE INTER, READ CRC 05510 4772 JMS I (LOADA 05511 4771 JMS I (GO 05512 4774 JMS I (CRET 05513 4770 JMS I (CHK 05514 4771 CRCMN, JMS I (GO 05515 4774 JMS I (CRET 05516 4766 JMS I (CHECKB 05517 0365 AND (7775 /IGNORE WLO 05520 1364 TAD (-1 05521 7650 ERRX, SNA CLA /ERRORS? 05522 5326 JMP ERRR+1 /NO - CLEAN BILL OF HEALTH 05523 2235 ISZ ERKNT /TRY 3 TIMES 05524 5763 JMP I (ERRCOV /RETRY 05525 7240 ERRR, STA /ERROR WHILE READING CRC 05526 4762 JMS I (CLEAR 05527 1761 TAD I (CINUSE 05530 7700 SMA CLA 05531 5231 JMP LV-1 05532 1760 TAD I (BSTATE 05533 5232 JMP LV /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 18 05534 5266 WRITEX, JMP READX 05535 4770 JMS I (CHK 05536 7440 SZA 05537 5321 JMP ERRX 05540 2354 ISZ BKNT 05541 7410 SKP 05542 5351 JMP WCRC 05543 7402 BFIELD, HLT 05544 2355 ISZ BPTR 05545 0070 L70, 70 05546 1755 TAD I BPTR 05547 4771 JMS I (GO 05550 5776 JMP I (CRET+1 05551 1367 WCRC, TAD (260 05552 4772 JMS I (LOADA 05553 5314 JMP CRCMN 05554 0000 BKNT, 0 /NUMBER OF CHARS EXPECTED 05555 0000 BPTR, 0 /NEXT LOCATION IN BUFFER TO STORE INTO 05556 0000 BYTE, 0 /TEMPORARILY HOLDS BYTE FOUND 05557 0000 BUFFER, 0 05560 5304 05561 5303 05562 5260 05563 6110 05564 7777 05565 7775 05566 5253 05567 0260 05570 5270 05571 5264 05572 5737 05573 0200 05574 5330 05575 5534 05576 5331 05577 5000 5600 PAGE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 19 / LOOKUP, ETC. 0010 F1=10 0000 READ=0 4000 WRITE=4000 0010 REWIND=10 0030 BACKFIL=30 0040 WRGAP=40 0050 BACKBLOCK=50 0070 SKPFIL=70 0040 HSIZE=40 4600 OBUFFER=4600 /LOCATION OF OS/8 I/O BUFFER 4600 BINBUF=OBUFFER 3000 OBUFLEN=3000 1400 HOBUFLEN=OBUFLEN%2 0006 MAXBLK=OBUFLEN%400 05600 0000 FILNUM, 0 / ENTER / TAD UNIT / JMS I (ENTER / / / ENTER FILENAME AS SPECIFIED IN SINCH / USER MUST SET SINCH BUT ONLY FIRST 25 (OCTAL) LOCATIONS. 05601 0000 ENTER, 0 05602 4777 JMS I (LOOKUP 05603 5220 JMP ERET /ERROR WHILE READING 05604 5207 JMP NTF 05605 4776 JMS I (DELET 05606 5220 JMP ERET /ERROR WHILE DELETING 05607 4227 NTF, JMS BACK 05610 5220 JMP ERET /ERROR BACKING UP 05611 4746 JMS I QH1 /WRITE NEW HEADER 05612 4000 WRITE 05613 7200 SINCH 05614 5220 JMP ERET /CASSETTE NOT READY 05615 1775 TAD I (RECSIZ 05616 3774 DCA I (BSIZE 05617 2201 INCR ENTER 05620 5601 ERET, EXIT ENTER 05621 0000 RDOR, 0 05622 0373 AND (374 /CASSETTE ONLY 05623 1372 TAD (-200 05624 7640 SZA CLA /WAS ERROR JUST CRC? 05625 5627 EXIT BACK /NO 05626 5621 EXIT RDOR /YES, OK CONTINUE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 20 05627 0000 BACK, 0 05630 4745 BK4, JMS I QU1 05631 0030 BK2, BACKFIL /GO BACK TO FILE GAP 05632 5627 EXIT BACK 05633 4745 BK3, JMS I QU1 05634 0050 BACKBLOCK /BACK TO LAST RECORD 05635 5253 JMP BKERR 05636 1775 TAD I (RECSIZ 05637 3774 DCA I (BSIZE 05640 4746 JMS I QH1 /READ LAST RECORD OF PREV FILE 05641 0010 READ+F1 /DON'T STORE IN BUFFER 05642 4600 BINBUF 05643 4221 JMS RDOR /^******* /ERROR READING LAST BLOCK 05644 4745 NEWGAP, JMS I QU1 05645 0040 WRGAP /WRITE A NEW GAP 05646 5627 EXIT BACK 05647 1371 BK9, TAD (HSIZE 05650 3774 DCA I (BSIZE 05651 2227 INCR BACK 05652 5627 EXIT BACK 05653 0370 BKERR, AND (3775 /CASSETTES ONLY 05654 1367 TAD (-41 05655 7640 SZA CLA /WAS ERROR CLEAR LEADER? 05656 5627 EXIT BACK 05657 5244 JMP NEWGAP 05660 5247 BK1, JMP BK9 /FOR MAGTAPES: /BK2_BACKBLOCK /BK3_BK1 /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 21 05661 0000 CLOSE, 0 05662 4745 JMS I QU1 05663 0040 WRGAP 05664 5277 JMP CLRET /ERROR WHILE WRITING GAP 05665 1371 TAD (HSIZE 05666 3774 DCA I (BSIZE 05667 4746 JMS I QH1 05670 4000 WRITE /WRITE SENTINEL 05671 6104 ZER 05672 5277 JMP CLRET 05673 4745 JMS I QU1 05674 0010 REWIND 05675 5277 JMP CLRET 05676 2261 INCR CLOSE /SKIP ERROR RETURN 05677 5661 CLRET, EXIT CLOSE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 22 05700 0000 CRED, 0 05701 1766 TAD I (INRECSZ 05702 3774 DCA I (BSIZE 05703 1765 TAD I (IUNIT 05704 4746 JMS I QH1 05705 0000 READ 05706 4000 CIBUF 05707 5316 JMP INER 05710 1364 TAD (CIBUF 05711 3763 DCA I (CIPTR 05712 1766 TAD I (INRECSZ 05713 7041 CIA 05714 3762 DCA I (CIKNT / CLA IAC / DCA DATAFLG 05715 5700 EXIT CRED 05716 0344 INER, AND EOFBIT 05717 7640 SZA CLA /REAL ERROR? 05720 5761 JMP I (XER4 /YES / TAD DATAFLG / SNA CLA /READ ANY DATA? / JMP INTO /NO REWIND / DCA DATAFLG /YES, COULD CLOSE OUTPUT AND OPEN NEXT INPUT 05721 7200 INTO, CLA 05722 1765 TAD I (IUNIT 05723 4745 JMS I QU1 05724 0010 REWIND 05725 7200 CLA 05726 1760 TAD I (BIPTR 05727 6213 CIF CDF 10 /NO, MERELY END-OF-FILE 05730 1357 TAD (-OBUFFER+377 05731 7106 CLL RTL 05732 7006 RTL 05733 7004 RAL 05734 0356 AND (17 05735 3755 DCA I (INTEN /NUMBER OF BLOCKS GOT 05736 5754 JMP I (XFIN 05737 0000 LOADA, 0 05740 1347 TAD ABUNIT 05741 6704 IOT4, KLSA 05742 7200 CLA 05743 5737 JMP I LOADA 05744 0254 EOFBIT, 254 /CHANGED TO 3673 FOR MAGTAPE /DATAFLG,0 /1 MEANS READ DATA /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 23 05745 5200 QU1, UTIL 05746 5400 QH1, HANDLER 05747 0000 ABUNIT, 0 05754 2655 05755 2645 05756 0017 05757 3577 05760 6477 05761 6347 05762 6600 05763 6601 05764 4000 05765 7135 05766 7136 05767 7737 05770 3775 05771 0040 05772 7600 05773 0374 05774 5505 05775 6337 05776 6071 05777 6000 6000 PAGE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 24 / LOOKUP / TAD UNIT / JMS I (LOOKUP / I/O ERROR RETURN / / / ALWAYS LOOKS FOR THING SPECIFIED IN SINCH 06000 0000 LOOKUP, 0 06001 3266 DCA P1 06002 6211 CDF 10 06003 1777 TAD I (7644 06004 6201 CDF 0 06005 0376 AND (10 /IS /U SPECIFIED? 06006 7640 SZA CLA 06007 5253 JMP GOODRT /YES, DO NOTHING 06010 1266 TAD P1 06011 4706 JMS I QU2 06012 0010 REWIND 06013 5255 JMP ERRIT 06014 1375 TAD (HSIZE /SET LENGTH OF RECORD HEADER 06015 3774 DCA I (BSIZE 06016 3773 DCA I (FILNUM 06017 5223 FL1, JMP FL2 /ZERO THIS LOCATION FOR MAGTAPES 06020 4706 FLOOP, JMS I QU2 06021 0070 SKPFIL 06022 5255 JMP ERRIT 06023 2773 FL2, INCR I (FILNUM 06024 4705 JMS I QH2 06025 0000 READ 06026 7240 INCH 06027 5255 JMP ERRIT 06030 1372 TAD (INCH 06031 3266 DCA P1 06032 1666 TAD I P1 06033 7650 SNA CLA /SENTINEL FILE? 06034 5254 JMP NFNDRET /YES, NOT FOUND 06035 1371 TAD (SINCH /NO, IS THIS THE ONE WANTED? 06036 3267 DCA P2 06037 1370 TAD (-10 06040 3270 DCA SCNT /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 25 06041 1666 SLOOP, TAD I P1 06042 7041 CIA 06043 1667 TAD I P2 06044 0367 AND (177 /ONLY LAST 7 BITS NEED MATCH 06045 7640 SZA CLA 06046 5220 JMP FLOOP /FILE KEY NOT ONE DESIRED 06047 2266 INCR P1 06050 2267 INCR P2 06051 2270 ISZ SCNT 06052 5241 JMP SLOOP 06053 2200 GOODRT, INCR LOOKUP /SKIP NOT FOUND RETURN 06054 2200 NFNDRET,INCR LOOKUP /SKIP ERROR RETURN 06055 7200 ERRIT, CLA 06056 1766 TAD I (RECSIZ 06057 3774 DCA I (BSIZE /BE NICE TO USER 06060 5600 LRET, EXIT LOOKUP /BYE-BYE 06061 0265 ERRT, AND EOTBIT /REAL ERROR? 06062 7640 SZA CLA 06063 5255 JMP ERRIT /YES 06064 5254 JMP NFNDRET /NO, MERELY END-OF CASSETTE /END OF CASSETTD IS SIGNALLED BY /A SENTINEL FILE /B DOUBLE FILE GAP /C EOT 06065 0314 EOTBIT, 314 /CHANGE TO 3663 FOR MAGTAPE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 26 06066 0000 P1, 0 06067 0000 P2, 0 06070 0000 SCNT, 0 06071 0000 DELET, 0 06072 4765 JMS I (BACK 06073 5671 EXIT DELET 06074 4705 JMS I QH2 /WRITE EMPTY HEADER 06075 4010 WRITE+10 06076 4500 EMPTINCH 06077 5671 EXIT DELET /ERROR WHILE DELETING 06100 7344 CLL STA RAL /-2 06101 1200 TAD LOOKUP 06102 3200 DCA LOOKUP 06103 5220 JMP FLOOP /JUMP INTO LOOKUP TO CONTINUE 06104 0000 ZER, 0 06105 5400 QH2, HANDLER 06106 5200 QU2, UTIL 06107 5223 FL3, JMP FL2 /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 27 06110 4764 ERRCOV, JMS I (CLEAR 06111 4763 JMS I (CTRLC 06112 1362 TAD (250 06113 4761 JMS I (LOADA 06114 4760 JMS I (GO /BACKSPACE BLOCK 06115 4757 JMS I (CRET /WAIT 06116 4756 JMS I (CHECKB 06117 0355 AND (374 /KILL WRITE-LOCK BIT 06120 7640 SZA CLA 06121 5754 JMP I (ERRR 06122 4753 JMS I (SETUP /RE-SET UP OPERATION 06123 5752 JMP I (CRET+1 /GO AWAY /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 28 06124 0000 TIMEOUT,0 06125 2335 ISZ INNER 06126 5724 JMP I TIMEOUT 06127 2336 ISZ OUTER 06130 5724 JMP I TIMEOUT 06131 1751 TAD I (RW / I/O HAS TAKEN A LOT OF TIME 06132 7640 SZA CLA /IS IT A READ OP? 06133 5724 JMP I TIMEOUT /NO, RETURN 06134 5754 JMP I (ERRR /YES, ERROR 06135 0000 INNER, 0 06136 7600 OUTER, -200 06151 5434 06152 5331 06153 5436 06154 5525 06155 0374 06156 5253 06157 5330 06160 5264 06161 5737 06162 0250 06163 6502 06164 5260 06165 5627 06166 6337 06167 0177 06170 7770 06171 7200 06172 7240 06173 5600 06174 5505 06175 0040 06176 0010 06177 7644 6200 PAGE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 29 /SEND CONTENTS OF OS/8 BUFFER TO CASSETTE /VIA CASSETTE OUTPUT BUFFER 06200 0000 CWRITE, 0 06201 1377 TAD (OBUFFER 06202 3250 DCA BUPTR /PT TO BEGIN OF BUFFER 06203 6211 CDF 10 06204 1776 TAD I (INTEN /GET NO. OF BLOCKS READ 06205 7450 SNA 06206 5246 JMP CWLV 06207 6201 CDF 0 06210 7112 CLL RTR 06211 7012 RTR 06212 7010 RAR /CONVERT TO WORDS 06213 7001 IAC 06214 0375 AND (7776 /ROUND UP TO EVEN NO. 06215 7110 CLL RAR /DIVIDE BY TWO 06216 7041 CIA /USE AS COUNT OF DOUBLE-WORDS 06217 3251 DCA BUKNT /2000 TWO-WORD ENTRIES 06220 6211 CWLOOP, CDF 10 06221 1650 TAD I BUPTR 06222 4252 JMS CWR /SENT TO CASSETTE OUTPUT BUFFER 06223 6211 CDF 10 06224 1650 TAD I BUPTR 06225 0374 AND (7400 06226 3021 DCA TEMP1 06227 2250 INCR BUPTR /PT TO 2ND HALF 06230 1650 TAD I BUPTR 06231 4252 JMS CWR 06232 6211 CDF 10 06233 1650 TAD I BUPTR 06234 0374 AND (7400 06235 7112 CLL RTR 06236 7012 RTR 06237 1021 TAD TEMP1 06240 7012 RTR 06241 7012 RTR 06242 4252 JMS CWR 06243 2250 INCR BUPTR /PT TO NEXT DOUBLE-WORD 06244 2251 ISZ BUKNT /AT END OF BUFFER? 06245 5220 JMP CWLOOP /NO 06246 6213 CWLV, CIF CDF 10 06247 5600 EXIT CWRITE /YES, RETURN 06250 0000 BUPTR, 0 /PTS INTO OBUUFER 06251 0000 BUKNT, 0 /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 30 /INSERT CHAR IN CASSETTE OUTPUT BUFFER /AND OUTPUT BUFFER IF BUFFER FULL 06252 0000 CWR, 0 06253 0373 AND (377 06254 6201 CDF 0 06255 3356 DCA CWTMP 06256 1353 TAD LDRFLG 06257 7640 SZA CLA 06260 4772 JMS I (LDRTST 06261 6211 CDF 10 06262 1771 TAD I (7643 06263 7006 RTL /PUT /B OPTION IN LINK 06264 6201 CDF 0 06265 7620 SNL CLA 06266 5273 JMP GOK 06267 1356 TAD CWTMP 06270 1313 TAD M200 06271 7650 SNA CLA 06272 5770 JMP I (PREFIN 06273 1355 GOK, TAD CWTMP2 06274 4302 JMS CWR2 06275 1354 TAD CWTMP1 06276 3355 DCA CWTMP2 06277 1356 TAD CWTMP 06300 3354 DCA CWTMP1 06301 5652 CWREX, EXIT CWR 06302 0000 CWR2, 0 06303 7510 SPA 06304 5313 JMP CWRIGN /IGNORE -1 06305 6201 CDF 0 06306 3740 DCA I COPTR /INSERT CHAR IN COBUF 06307 2340 INCR COPTR 06310 2341 ISZ COKNT /COBUF FULL? 06311 5702 EXIT CWR2 /NO, SO RETURN 06312 4315 JMS CWRI M200, 06313 7600 CWRIGN, 7600 /CLA 06314 5702 EXIT CWR2 /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 31 06315 0000 CWRI, 0 06316 1341 TAD COKNT 06317 1337 TAD RECSIZ 06320 7650 SNA CLA 06321 5715 EXIT CWRI /DO NOTHING IF BUFFER EMPTY 06322 1337 TAD RECSIZ 06323 3767 DCA I (BSIZE 06324 1766 TAD I (OUNIT 06325 4757 JMS I QH3 /YES, WRITE OUT BUFFER 06326 4000 WRITE /WRITE FROM FIELD 0 06327 3000 PCOBUF, COBUF /LOCATION COBUF 06330 5342 JMP XER7 /OUTPUT ERROR 06331 1327 TAD PCOBUF 06332 3340 DCA COPTR /BUFFER IS NOW EMPTY 06333 1337 TAD RECSIZ 06334 7041 CIA 06335 3341 DCA COKNT 06336 5715 EXIT CWRI 06337 0000 RECSIZ, 0 /RECORD SIZE ON OUTPUT 06340 3000 COPTR, COBUF /PTS TO NEXT FREE LOCATION IN COBUF 06341 7000 COKNT, -1000 /NUMBER OF EMPTY SLOTS LEFT IN COBUF 06342 6213 XER7, CIF CDF 10 06343 0365 AND (40 06344 7640 SZA CLA /CLEAR LEADER? 06345 5764 JMP I (ER5 /YES, DEVICE FULL 06346 5763 JMP I (ER7 /OUTPUT ERROR 06347 6213 XER4, CIF CDF 10 06350 5762 JMP I (ER4 06351 6213 XER8, CIF CDF 10 06352 5761 JMP I (ER8 06353 0000 LDRFLG, 0 /NON-ZERO IF IGNORING LEADER 06354 7777 CWTMP1, -1 06355 7777 CWTMP2, -1 06356 0000 CWTMP, 0 06357 5400 QH3, HANDLER 06361 2465 06362 2667 06363 3537 06364 2475 06365 0040 06366 7134 06367 5505 06370 6400 06371 7643 06372 7300 06373 0377 06374 7400 06375 7776 06376 2645 06377 4600 6400 PAGE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 32 06400 1377 PREFIN, TAD (200 06401 4776 JMS I (CWR2 /WRITE OUT TRAILER 06402 5207 JMP CFIN2 /BUT NO CHECKSUM 06403 1775 CFIN, TAD I (CWTMP2 /V3C 06404 4776 JMS I (CWR2 06405 1774 TAD I (CWTMP1 /V3C 06406 4776 JMS I (CWR2 06407 4773 CFIN2, JMS I (CWRI 06410 1772 TAD I (OUNIT 06411 4771 XCLOSE, JMS I (CLOSE 06412 5770 JMP I (XER8 06413 6213 XLV, CIF CDF 10 06414 5767 JMP I (DECODE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 33 CTRTEM, 06415 0000 CREAD, 0 06416 1366 TAD (OBUFFER 06417 3277 DCA BIPTR 06420 1365 TAD (-OBUFLEN 06421 3300 DCA BIKNT 06422 6211 ZRLUP, CDF 10 06423 3677 DCA I BIPTR /ZERO BUFFER 06424 7201 CLA IAC 06425 0764 AND I (7643 06426 7640 SZA CLA 06427 1363 TAD (DCRE-CRE /GOT L OPTION 06430 1362 TAD (CRE 06431 6201 CDF 0 06432 3301 DCA XCRE /PT TO INPUT SUBR 06433 2277 INCR BIPTR 06434 2300 ISZ BIKNT 06435 5222 JMP ZRLUP 06436 1366 TAD (OBUFFER 06437 3277 DCA BIPTR 06440 1361 TAD (-HOBUFLEN 06441 3300 DCA BIKNT /# OF DOUBLE-WORDS 06442 4701 CRLOOP, JMS I XCRE 06443 6211 CDF 10 06444 3677 DCA I BIPTR 06445 4701 JMS I XCRE 06446 3022 DCA TEMP2 06447 4701 JMS I XCRE 06450 3023 DCA TEMP3 06451 6211 CDF 10 06452 1023 TAD TEMP3 06453 7006 RTL 06454 7006 RTL 06455 0360 AND (7400 06456 1677 TAD I BIPTR 06457 3677 DCA I BIPTR 06460 2277 INCR BIPTR 06461 1023 TAD TEMP3 06462 7012 RTR 06463 7012 RTR 06464 7010 RAR 06465 0360 AND (7400 06466 1022 TAD TEMP2 06467 3677 DCA I BIPTR 06470 2277 INCR BIPTR 06471 2300 ISZ BIKNT 06472 5242 JMP CRLOOP /REITERATE 06473 6213 CIF CDF 10 06474 1357 TAD (MAXBLK 06475 3756 DCA I (INTEN /READ 10 BLOCKS 06476 5615 EXIT CREAD /ALL DONE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 34 06477 0000 BIPTR, 0 /PTS INTO OBUFFER 06500 0000 BIKNT, 0 06501 6602 XCRE, CRE 06502 0000 CTRLC, 0 06503 6031 KSF 06504 5702 EXIT CTRLC 06505 1355 TAD (7600 06506 6034 KRS 06507 1354 TAD (-7603 06510 7640 SZA CLA 06511 5702 EXIT CTRLC 06512 4753 JMS I (CLEAR 06513 1772 TAD I (OUNIT 06514 7710 SPA CLA 06515 5755 JMP I (7600 06516 1772 TAD I (OUNIT 06517 3215 DCA CTRTEM 06520 7240 STA 06521 3772 DCA I (OUNIT 06522 1215 TAD CTRTEM 06523 4771 JMS I (CLOSE 06524 5770 JMP I (XER8 06525 5755 JMP I (7600 /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 35 06526 1752 LOPTION,TAD I (IUNIT 06527 4743 JMS I QU3 06530 0010 REWIND 06531 5751 JMP I (INER 06532 7201 CLA IAC 06533 3750 DCA I (CIBUF 06534 5340 LM1, JMP LM2 /ZERO FOR MAGTAPE 06535 4743 JMS I QU3 06536 0070 SKPFIL 06537 5751 JMP I (INER 06540 6213 LM2, CIF CDF 10 06541 5747 JMP I (CHLOOP 06542 5340 LM3, JMP LM2 06543 5200 QU3, UTIL 06547 2107 06550 4000 06551 5716 06552 7135 06553 5260 06554 0175 06555 7600 06556 2645 06557 0006 06560 7400 06561 6400 06562 6602 06563 0021 06564 7643 06565 5000 06566 4600 06567 2002 06570 6351 06571 5661 06572 7134 06573 6315 06574 6354 06575 6355 06576 6302 06577 0200 6600 PAGE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 36 06600 7777 CIKNT, -1 /ONE'S COMPLEMENT OF # OF BYTES LEFT IN CIBUF 06601 4000 CIPTR, CIBUF /PTS TO NEXT BYTE IN CIBUF TO BE READ 06602 0000 CRE, 0 06603 6201 CDF 0 06604 1257 TAD FTFLG /FIRST TIME THROUGH? 06605 7640 SZA CLA 06606 5241 JMP FT /YES 06607 1261 TAD TLRFLG 06610 7650 SNA CLA 06611 5316 JMP EPI /TRAILER 06612 2200 ISZ CIKNT 06613 7410 SKP 06614 4777 JMS I (CRED 06615 1601 TAD I CIPTR 06616 4244 JMS CHKSUM 06617 4267 JMS CHKTLR 06620 1601 TAD I CIPTR 06621 2201 INCR CIPTR / AND (377 06622 5602 EXIT CRE /READ DIRECTORY 06623 0000 DCRE, 0 06624 6201 CDF 0 06625 2200 ISZ CIKNT 06626 7410 SKP 06627 4323 JMS DCRED 06630 1601 TAD I CIPTR 06631 1376 TAD (-32 06632 7450 SNA 06633 5224 JMP DCRE+1 /ALLOW '32' TO SHORTEN BUFFER 06634 1375 TAD (32 06635 7450 SNA 06636 1374 TAD (232 06637 2201 INCR CIPTR 06640 5623 EXIT DCRE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 37 06641 3257 FT, DCA FTFLG 06642 1373 TAD (200 /SEND LEADER 06643 5602 EXIT CRE 06644 0000 CHKSUM, 0 06645 3255 DCA CHTEM 06646 1255 TAD CHTEM 06647 0373 AND (200 06650 7650 SNA CLA 06651 1255 TAD CHTEM 06652 1256 TAD CHECKSUM 06653 3256 DCA CHECKSUM 06654 5644 EXIT CHKSUM 06655 0000 CHTEM, 0 06656 0000 CHECKSUM,0 06657 0001 FTFLG, 1 /1 IF FIRST TIME HERE 06660 6662 CHKPTR, CHKTBL 06661 0000 TLRFLG, 0 06662 0000 CHKTBL, 0 /CHECKSUM LEFT PART 06663 0000 0 /CHECKSUM RIGHT PART 06664 0200 200 /TRAILER 06665 0032 32 /CTRL/Z 06666 7777 -1 /TABLE END 06667 0000 CHKTLR, 0 06670 6211 CDF 10 06671 1772 TAD I (7643 06672 6201 CDF 0 06673 7006 RTL /B SWITCH TO LINK 06674 7620 SNL CLA 06675 5667 EXIT CHKTLR 06676 1601 TAD I CIPTR 06677 1371 TAD (-200 06700 7640 SZA CLA 06701 5667 EXIT CHKTLR 06702 3261 DCA TLRFLG 06703 1370 TAD (CHKTBL 06704 3260 DCA CHKPTR 06705 1256 TAD CHECKSUM 06706 7012 RTR 06707 7012 RTR 06710 7012 RTR 06711 0367 AND (77 06712 3262 DCA CHKTBL 06713 1256 TAD CHECKSUM 06714 0367 AND (77 06715 3263 DCA CHKTBL+1 06716 1660 EPI, TAD I CHKPTR 06717 7510 SPA 06720 5766 JMP I (INTO 06721 2260 INCR CHKPTR 06722 5602 EXIT CRE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 38 06723 0000 DCRED, 0 06724 1365 TAD (40 06725 3764 DCA I (BSIZE 06726 1734 TAD I PCIBUF 06727 7650 SNA CLA 06730 5766 JMP I (INTO 06731 1763 TAD I (IUNIT 06732 4755 JMS I QH4 06733 0000 READ 06734 4000 PCIBUF, CIBUF 06735 5762 JMP I (INER 06736 1334 TAD PCIBUF 06737 3201 DCA CIPTR 06740 1601 TAD I CIPTR 06741 7640 SZA CLA 06742 1361 TAD (-23 06743 1360 TAD (-2 06744 3200 DCA CIKNT 06745 4757 JMS I (FIDDLE 06746 1601 TAD I CIPTR 06747 7650 SNA CLA 06750 5723 EXIT DCRED 06751 4756 JMS I QU4 06752 0070 SKPFIL 06753 5762 JMP I (INER 06754 5723 EXIT DCRED 06755 5400 QH4, HANDLER 06756 5200 QU4, UTIL /THIS WAS VERY UNOPTIMAL ADDING IN MAGTAPE SUPPORT /AFTER THE PROGRAM WAS ALL DONE AND BURIED. /IT COULD HAVE BEEN DONE IN A MUCH BETTER METHOD /IF IT WAS DESIGNED IN BEFORE THE PROGRAM WAS WRITTEN. 06757 5062 06760 7776 06761 7755 06762 5716 06763 7135 06764 5505 06765 0040 06766 5721 06767 0077 06770 6662 06771 7600 06772 7643 06773 0200 06774 0232 06775 0032 06776 7746 06777 5700 7000 PAGE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 39 /FIRST ARG: PTS TO OS/8 FILENAME IN FIELD 1 07000 0000 CONVRT, 0 07001 7240 STA 07002 1600 TAD I CONVRT 07003 3300 DCA ONPTR 07004 2200 INCR CONVRT 07005 1377 TAD (SINCH 07006 3301 DCA CNPTR 07007 1376 TAD (-4 07010 3302 DCA CKNT 07011 6211 CONLUP, CDF 10 07012 2300 INCR ONPTR 07013 1700 TAD I ONPTR 07014 6201 CDF 0 07015 7012 RTR 07016 7012 RTR 07017 7012 RTR 07020 4271 JMS CNV 07021 3701 DCA I CNPTR 07022 2301 INCR CNPTR 07023 6211 CDF 10 07024 1700 TAD I ONPTR 07025 6201 CDF 0 07026 4271 JMS CNV 07027 3701 DCA I CNPTR 07030 2301 INCR CNPTR 07031 2302 ISZ CKNT 07032 5211 JMP CONLUP 07033 1375 TAD (40 07034 3701 DCA I CNPTR 07035 6211 CDF 10 07036 1774 TAD I (7643 07037 6201 CDF 0 07040 7006 RTL 07041 7620 SNL CLA 07042 5600 EXIT CONVRT / NOT /B 07043 6211 CDF 10 07044 1774 TAD I (7643 07045 7004 RAL 07046 7200 CLA 07047 1700 TAD I ONPTR 07050 6201 CDF 0 07051 7640 SZA CLA 07052 5600 EXIT CONVRT /EXTENSION SPECIFIED 07053 7430 SZL 07054 5600 EXIT CONVRT / /A 07055 7344 CLL STA RAL 07056 1301 TAD CNPTR 07057 3301 DCA CNPTR 07060 1373 TAD ("B /SET EXTENSION TO .BIN 07061 3701 DCA I CNPTR 07062 2301 INCR CNPTR 07063 1372 TAD ("I /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 39-1 07064 3701 DCA I CNPTR 07065 2301 INCR CNPTR 07066 1371 TAD ("N 07067 3701 DCA I CNPTR 07070 5600 EXIT CONVRT /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 40 07071 0000 CNV, 0 07072 0370 AND (77 07073 7440 SZA /CHANGE 0 TO BLANK 07074 1375 TAD (40 07075 0370 AND (77 07076 1375 TAD (40 07077 5671 EXIT CNV 07100 0000 ONPTR, 0 07101 0000 CNPTR, 0 07102 0000 CKNT, 0 07103 4200 LOOK4ME,JMS CONVRT 07104 7606 7606 07105 1335 TAD IUNIT 07106 4767 JMS I (LOOKUP 07107 5766 JMP I (XER4 07110 5330 JMP XER24 07111 1765 TAD I (INCH+12 /GET H.O. INPUT RECORD SIZE 07112 7112 CLL RTR 07113 7012 RTR 07114 7010 RAR 07115 1764 TAD I (INCH+13 07116 3336 DCA INRECSZ 07117 1336 TAD INRECSZ 07120 7450 SNA 07121 5337 JMP XER40 /RECORD SIZE 0 07122 7100 CLL 07123 1363 TAD (-1001 07124 7630 SZL CLA 07125 5341 JMP XER10 07126 6213 CIF CDF 10 07127 5762 JMP I (CHLOOP 07130 6213 XER24, CIF CDF 10 07131 5761 JMP I (ER24 07132 6213 XER25, CIF CDF 10 07133 5760 JMP I (ER3 /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 41 07134 0000 OUNIT, 0 07135 0000 IUNIT, 0 /IN CASE OF CASSETTES, CONTAINS UNIT (AS CHAR) /IN CASE OF MAGTAPE, CONTAINS HANDLER ENTRY ADDRESS /OUNIT IS -1 DURING A ^C CLOSE /-1 MEANS DON'T CLOSE ON ERROR 07136 0200 INRECSZ,200 /RECORD SIZE ON INPUT 07137 6213 XER40, CIF CDF 10 07140 5757 JMP I (ER40 07141 6213 XER10, CIF CDF 10 07142 5756 JMP I (ER10 07143 0000 F1CTRLC,0 07144 4755 JMS I (CTRLC 07145 6213 CIF CDF 10 07146 5743 EXIT F1CTRLC 07155 6502 07156 3600 07157 4054 07160 2736 07161 2526 07162 2107 07163 6777 07164 7253 07165 7252 07166 6347 07167 6000 07170 0077 07171 0316 07172 0311 07173 0302 07174 7643 07175 0040 07176 7774 07177 7200 7200 PAGE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 42 07200 0000 SINCH, ZBLOCK 16 07216 0040 40;40;40;40;40;40 07217 0040 07220 0040 07221 0040 07222 0040 07223 0040 07224 0000 ZBLOCK 14 07240 0000 INCH, ZBLOCK 40 07300 0000 LDRTST, 0 07301 1777 TAD I (CWTMP 07302 1376 TAD (-200 07303 7650 SNA CLA /LEADER? 07304 5775 JMP I (CWREX /YES, EXIT CWR 07305 3774 DCA I (LDRFLG /NO 07306 5700 EXIT LDRTST /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 43 07307 1373 ENTERO, TAD (COBUF 07310 3772 DCA I (COPTR 07311 4771 JMS I (CONVRT 07312 7601 7601 07313 4770 JMS I (MAKDAT 07314 1767 TAD I (RECSIZ 07315 7106 CLL RTL 07316 7006 RTL 07317 7004 RAL 07320 0366 AND (17 07321 3765 DCA I (SINCH+12 07322 1767 TAD I (RECSIZ 07323 0364 AND (377 07324 3763 DCA I (SINCH+13 07325 6211 CDF 10 07326 1762 TAD I (FILTYP 07327 6201 CDF 0 07330 3761 DCA I (SINCH+11 07331 3760 DCA I (SINCH+14 07332 3757 DCA I (SINCH+15 07333 6211 CDF 10 07334 1756 TAD I (VRSNO 07335 6201 CDF 0 07336 3755 DCA I (SINCH+24 07337 1754 TAD I (OUNIT 07340 4753 JMS I (ENTER 07341 5752 JMP I (XER25 07342 6213 CIF CDF 10 07343 3751 DCA I (OSWITCH 07344 5750 JMP I (CONT1 07350 2106 07351 3510 07352 7132 07353 5601 07354 7134 07355 7224 07356 2515 07357 7215 07360 7214 07361 7211 07362 2327 07363 7213 07364 0377 07365 7212 07366 0017 07367 6337 07370 7436 07371 7000 07372 6340 07373 3000 07374 6353 07375 6301 07376 7600 07377 6356 /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 43-1 7400 PAGE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 44 07400 1777 ZOPTION,TAD I (OUNIT 07401 4732 JMS I QU5 07402 0010 REWIND 07403 5330 JMP XER77 /OUTPUT ERROR 07404 6211 CDF 10 07405 1776 TAD I (7601 07406 6201 CDF 0 07407 7650 SNA CLA 07410 5235 JMP NOFILE 07411 4775 JMS I (CONVRT 07412 7601 7601 07413 4774 JMS I (LOOKUP 07414 5773 JMP I (XER4 07415 5772 JMP I (XER24 07416 4732 JMS I QU5 07417 0070 SKPFIL 07420 5772 JMP I (XER24 07421 1371 TAD (40 07422 3770 DCA I (BSIZE 07423 4733 JMS I QH5 07424 0000 READ 07425 7240 INCH 07426 5330 JMP XER77 07427 4767 CLO3, JMS I (BACK 07430 5330 JMP XER77 07431 4733 JMS I QH5 07432 4000 WRITE 07433 6104 ZER 07434 5330 JMP XER77 07435 5766 NOFILE, JMP I (XCLOSE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 45 07436 0000 MAKDAT, 0 07437 6211 CDF 10 07440 1765 TAD I (DATE 07441 6201 CDF 0 07442 7450 SNA 07443 5267 JMP SETOBL 07444 3302 DCA SKNT 07445 1364 TAD (SINCH+16 07446 3301 DCA SPTR 07447 1302 TAD SKNT 07450 7012 RTR 07451 7010 RAR 07452 0363 AND (37 07453 4305 JMS TWO /INSERT DAY 07454 1302 TAD SKNT 07455 7006 RTL 07456 7006 RTL 07457 7004 RAL 07460 0362 AND (17 07461 4305 JMS TWO /INSERT MONTH 07462 1302 TAD SKNT 07463 0361 AND (7 07464 1360 TAD (106 07465 4305 JMS TWO /INSERT YEAR 07466 5636 EXIT MAKDAT 07467 1357 SETOBL, TAD (-6 /SET DATE TO BLANKS 07470 3302 DCA SKNT 07471 1364 TAD (SINCH+16 07472 3301 DCA SPTR 07473 1371 SELOOP, TAD (40 07474 3701 DCA I SPTR 07475 2301 INCR SPTR 07476 2302 ISZ SKNT 07477 5273 JMP SELOOP 07500 5636 EXIT MAKDAT 07501 0000 SPTR, 0 07502 0000 SKNT, 0 07503 0000 TEM2, 0 07504 0000 TENS, 0 /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 46 07505 0000 TWO, 0 07506 3303 DCA TEM2 07507 1356 TAD (60 07510 3304 DCA TENS 07511 1303 TAD TEM2 07512 1355 TWOLUP, TAD (-12 07513 7510 SPA 07514 5317 JMP NEG 07515 2304 INCR TENS 07516 5312 JMP TWOLUP 07517 1354 NEG, TAD (72 07520 3303 DCA TEM2 07521 1304 TAD TENS 07522 3701 DCA I SPTR 07523 2301 INCR SPTR 07524 1303 TAD TEM2 07525 3701 DCA I SPTR 07526 2301 INCR SPTR 07527 5705 EXIT TWO 07530 6213 XER77, CIF CDF 10 07531 5753 JMP I (ER7 /OUTPUT ERROR 07532 5200 QU5, UTIL 07533 5400 QH5, HANDLER /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 47 07534 0000 MHANDLER,0 /AC CONTAINS HANDLER ENTRY ADDRESS 07535 6212 CIF 10 07536 5752 JMP I (MHAN /KLUDGEY LINK TO FIELD 1 07537 0000 MUTIL, 0 /AC CONTAINS ETC. 07540 6212 CIF 10 07541 5751 JMP I (MUT 07551 4433 07552 4401 07553 3537 07554 0072 07555 7766 07556 0060 07557 7772 07560 0106 07561 0007 07562 0017 07563 0037 07564 7216 07565 3113 07566 6411 07567 5627 07570 5505 07571 0040 07572 7130 07573 6347 07574 6000 07575 7000 07576 7601 07577 7134 7600 PAGE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 48 0001 FIELD 1 0010 XR=10 2000 *2000 12000 5206 START, JMP DEC2 /NORMAL STARTING ADDRESS 12001 5211 CHAIN, JMP NODEC /CHAIN STARTING ADDRESS 12002 7330 DECODE, STL CLA RAR 12003 0777 AND I (7642 12004 7640 SZA CLA 12005 5325 JMP KBM /RETURN TO KBM ON $ / WOULD BE NICE HERE TO TELL CD/BATCH NOT TO SPOOL 12006 4776 DEC2, CALL (200 12007 0005 5 /COMMAND DECODE 12010 5200 5200 /USING SPECIAL MODE 12011 1375 NODEC, TAD (OUTHAND+1 12012 3232 DCA ENTR /RESET PTR TO HANDLER LOCATION 12013 7240 STA 12014 3774 DCA I (OSWITCH 12015 4773 JMS I (CHKSW /CHECK FOR SWITCH OPTIONS 12016 6201 CDF 0 12017 3772 DCA I (OUTSW 12020 7240 STA 12021 3771 DCA I (OUNIT 12022 6211 CDF 10 12023 1770 TAD I (7666 12024 3767 DCA I (DATE 12025 1766 FET, TAD I (7600 /GET DEVICE NUMBER OF OUTPUT FILE 12026 7450 SNA /WAS ONE SPECIFIED? 12027 5320 JMP NOF /NO - NO OUTPUT FILE 12030 4776 CALL (200 12031 0001 1 /FETCH HANDLER 12032 2001 ENTR, OUTHAND+1 /INTO PAGES 2400 AND 2600 /REPLACED BY HANDLER STARTING ADDRESS 12033 5765 JMP I (ER6 /OUTPUT DEVICE DOESN'T EXIST 12034 1764 TAD I (7644 12035 0363 AND (1000 12036 7640 SZA CLA 12037 5762 JMP I (FOXOUT /O SPECIFIED 12040 7332 STL CLA RTR 12041 0761 AND I (7645 12042 1760 TAD I (7601 12043 7650 SNA CLA 12044 5254 JMP NOCAS /NO OUTPUT NAME 12045 1366 TAD (7600 12046 4757 JMS I (CHKNAM 12047 5756 JMP I (STARER /*.* 12050 1766 TAD I (7600 12051 4755 JMS I (TCAS /CASSETTE? 12052 5754 JMP I (FIXOUT /YES 12053 5753 JMP I (FXMOUT /MAGTAPE 12054 1360 NOCAS, TAD (7601 /NO 12055 3300 DCA OBLK /GET PTR TO OUTPUT FILE NAME /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 48-1 12056 1232 TAD ENTR 12057 3752 DCA I (OENTRY /STORE AWAY OUTPUT HANDLER ENTRY PT 12060 1351 TAD (OWRITE 12061 3317 DCA PWRITE 12062 1350 TAD (FINIO 12063 3747 DCA I (XFINIO 12064 1746 TAD I (7643 12065 7006 RTL 12066 7620 SNL CLA 12067 5275 JMP NOB 12070 1745 TAD I (7604 /GET EXT 12071 7640 SZA CLA 12072 5275 JMP NOB 12073 1344 TAD (216 /SET TO .BN 12074 3745 DCA I (7604 12075 1766 NOB, TAD I (7600 /GET DEVICE NUMBER AGAIN 12076 4776 CALL (200 12077 0003 3 /OPEN OUTPUT FILE 12100 7601 OBLK, 7601 /PTS TO OUTPUT FILE NAME /REPLACED BY STARTING BLOCK NUMBER 12101 0000 LEN, 0 /REPLACED BY NEGATIVE OF LENGTH OF OUT AREA 12102 5743 JMP I (ER3 /FILE OPEN ERROR 12103 3742 DCA I (REALEN /ZERO REAL LENGTH 12104 1300 TAD OBLK 12105 3741 DCA I (OBLOCK /SET STARTING BLOCK NUMBER 12106 4740 CONT1, JMS I (GETIN / INITIALIZE INPUT STUFF 12107 6203 CHLOOP, CIF CDF 0 12110 4737 JMS I (F1CTRLC 12111 4716 CALL PREAD 12112 6203 CIF CDF 0 12113 4737 JMS I (F1CTRLC 12114 4717 CALL PWRITE 12115 5307 JMP CHLOOP /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 49 12116 2600 PREAD, OREAD 12117 3200 PWRITE, OWRITE 12120 7332 NOF, STL CLA RTR 12121 0761 AND I (7645 12122 7650 SNA CLA 12123 5736 JMP I (ER1 12124 5762 JMP I (FOXOUT /Z IMPLIES O 12125 6203 KBM, CIF CDF 0 12126 5735 JMP I (7605 12135 7605 12136 4034 12137 7143 12140 3000 12141 3240 12142 2462 12143 2736 12144 0216 12145 7604 12146 7643 12147 2646 12150 2455 12151 3200 12152 3251 12153 2272 12154 2226 12155 4001 12156 3707 12157 3645 12160 7601 12161 7645 12162 2223 12163 1000 12164 7644 12165 2516 12166 7600 12167 3113 12170 7666 12171 7134 12172 5506 12173 3730 12174 3510 12175 2001 12176 0200 12177 7642 2200 PAGE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 50 12200 0000 UDIG, 0 12201 0000 GETSWDIG,0 12202 3200 DCA UDIG 12203 1777 TAD I (7645 12204 0376 AND (1774 12205 7450 SNA 12206 5601 EXIT GETSWDIG /NO UNIT 12207 2201 INCR GETSWDIG 12210 7006 RTL 12211 7004 RAL 12212 7430 LUDIG, SZL 12213 5217 JMP GOTUD 12214 2200 INCR UDIG 12215 7004 RAL 12216 5212 JMP LUDIG G7600, 12217 7600 GOTUD, 7600 12220 1200 TAD UDIG 12221 1375 TAD (60 12222 5601 EXIT GETSWDIG /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 51 12223 4201 FOXOUT, JMS GETSWDIG 12224 5774 JMP I (ER1 /NO OUTPUT UNIT 12225 5230 JMP GOTOU 12226 1773 FIXOUT, TAD I (ENTR 12227 4772 JMS I (GETDVC 12230 6201 GOTOU, CDF 0 12231 3771 DCA I (OUNIT 12232 6211 CDF 10 12233 4770 JMS I (SETCAS 12234 1767 YAHAOU, TAD I (7643 12235 0366 AND (400 12236 7640 SZA CLA 12237 5335 JMP DOPT 12240 7332 STL CLA RTR 12241 0777 AND I (7645 12242 7640 SZA CLA 12243 5337 JMP ZOPT 12244 1617 TAD I G7600 12245 7012 RTR 12246 7012 RTR 12247 0365 AND (377 /ISOLATE FILE TYPE 12250 3327 DCA FILTYP /SAVE IT 12251 4764 JMS I (GETLEN 12252 1363 TAD (CW 12253 3762 DCA I (PWRITE 12254 1361 TAD (CFINIO 12255 3760 DCA I (XFINIO 12256 1767 TAD I (7643 12257 7006 RTL /B TO LINK 12260 7630 SZL CLA 12261 7201 CLA IAC 12262 6203 CIF CDF 0 12263 3757 DCA I (LDRFLG 12264 7240 STA 12265 3756 DCA I (CWTMP1 12266 7240 STA 12267 3755 DCA I (CWTMP2 12270 3754 DCA I (CHECKSUM 12271 5753 JMP I (ENTERO / RETURN TO CONT1 12272 1773 FXMOUT, TAD I (ENTR 12273 6201 CDF 0 12274 3771 DCA I (OUNIT 12275 6211 CDF 10 12276 4752 JMS I (SETMAG 12277 1773 TAD I (ENTR /GET LOCATION OF MAGTAPE HANDLER 12300 4302 JMS SETDEN 12301 5234 JMP YAHAOU /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 52 12302 0000 SETDEN, 0 12303 0217 AND G7600 12304 3341 DCA MTA 12305 1751 TAD I (7644 12306 0350 AND (10 12307 7640 SZA CLA /IS /U SPECIFIED? 12310 7001 IAC /YES, USE DENSITY 3 12311 1347 TAD (2 /NO, USE DENSITY 2 12312 3344 DCA DEN 12313 6201 CDF 0 12314 1342 TAD PARITY 12315 7110 CLL RAR /LINK ON IF PARITY SPECIFIED 12316 7430 SZL 12317 1343 TAD PAR 12320 7420 SNL 12321 1741 TAD I MTA /GET RELATIVE LOC 0 12322 0366 AND (400 /ISOLATE PARITY 12323 1344 TAD DEN /FORCE CORE DUMP MODE 12324 3741 DCA I MTA /STORE BACK DENSITY AND PARITY 12325 6211 CDF 10 12326 5702 JMP I SETDEN /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 53 12327 0000 FILTYP, 0 12330 0000 BINTYP, 0 /SET BINARY TYPE - DON'T TOUCH LINK 12331 7001 IAC 12332 7001 IAC 12333 3327 DCA FILTYP 12334 5730 EXIT BINTYP 12335 6203 DOPT, CIF CDF 0 12336 5746 JMP I (DOPTION 12337 6203 ZOPT, CIF CDF 0 12340 5745 JMP I (ZOPTION 12341 0000 MTA, 0 /FIRST LOC OF MAGTAPE HANDLER 12342 0000 PARITY, 0 /0 MENAS NOT SPECIFIED, 1 MEANS SPECIFIED PARITY 12343 0000 PAR, 0 /0 OR 400 SPECIFYING PARITY 12344 0002 DEN, 2 /DENSITY 12345 7400 12346 5306 12347 0002 12350 0010 12351 7644 12352 4224 12353 7307 12354 6656 12355 6355 12356 6354 12357 6353 12360 2646 12361 3547 12362 2117 12363 4140 12364 2432 12365 0377 12366 0400 12367 7643 12370 4200 12371 7134 12372 3614 12373 2032 12374 4034 12375 0060 12376 1774 12377 7645 2400 PAGE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 54 12400 0000 FID2, 0 12401 1777 TAD I (CIBUF 12402 0376 AND (177 /DF=0 12403 1375 TAD (-52 12404 7650 SNA CLA 12405 4220 JMS EMPTY 12406 1774 TAD I (CIBUF+10 12407 3773 DCA I (CIBUF+11 12410 1772 TAD I (CIBUF+7 12411 3774 DCA I (CIBUF+10 12412 1771 TAD I (CIBUF+6 12413 3772 DCA I (CIBUF+7 12414 1370 TAD (". 12415 3771 DCA I (CIBUF+6 12416 6202 CIF 0 12417 5600 JMP I FID2 12420 0000 EMPTY, 0 12421 1767 TAD I (FAST 12422 7650 SNA CLA 12423 5620 JMP I EMPTY 12424 7240 STA 12425 3766 DCA I (CIKNT 12426 1365 TAD (32 12427 3777 DCA I (CIBUF 12430 6202 CIF 0 12431 5764 JMP I (FIDLV /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 55 12432 0000 GETLEN, 0 12433 7350 CLL STA RAR /3777 12434 0763 AND I (7642 /GET H.O. OPTION 12435 3315 DCA VRSNO 12436 1762 TAD I (7646 /GET = OPTION (L.O. 12 BITS) 12437 7100 CLL 12440 1361 TAD (-1001 12441 7630 SZL CLA /LESS THAN 1001? 12442 5760 JMP I (ER10 /NO, ERROR 12443 1762 TAD I (7646 /YES 12444 7450 SNA 12445 1357 TAD (200 /200 IS DEFAULT RECORD SIZE 12446 6201 CDF 0 12447 3756 DCA I (RECSIZ 12450 1756 TAD I (RECSIZ 12451 7041 CIA 12452 3755 DCA I (COKNT 12453 6211 CDF 10 12454 5632 EXIT GETLEN 12455 4754 FINIO, JMS I (OWRITE 12456 1753 TAD I (7600 /GET OUTPUT DEVICE NUMBER 12457 4757 CALL (200 12460 0004 4 /CLOSE 12461 7601 7601 /PTR TO FILE NAME 12462 0000 REALEN, 0 /LENGTH OF NEW OUTPUT FILE 12463 5265 JMP ER8 /CLOSE ERROR 12464 5752 JMP I (DECODE 12465 4751 ER8, JMS I (PRINT 12466 7703 TEXT /?CLOSE ERROR/ 12467 1417 12470 2305 12471 4005 12472 2222 12473 1722 12474 0000 12475 4751 ER5, JMS I (PRINT 12476 7717 TEXT /?OUTPUT DEVICE FULL/ 12477 2524 12500 2025 12501 2440 12502 0405 12503 2611 12504 0305 12505 4006 12506 2514 12507 1400 /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 56 12510 4751 ER30, JMS I (PRINT 12511 7717 TEXT /?OUT=IN/ 12512 2524 12513 7511 12514 1600 12515 0000 VRSNO, 0 12516 4751 ER6, JMS I (PRINT 12517 7706 TEXT /?FETCH ERROR/ 12520 0524 12521 0310 12522 4005 12523 2222 12524 1722 12525 0000 12526 7240 ER24, STA 12527 3777 DCA I (SPSWTCH /RETURN FROM PRINT 12530 4751 JMS I (PRINT 12531 7706 TEXT /?FILE NOT FOUND/ 12532 1114 12533 0540 12534 1617 12535 2440 12536 0617 12537 2516 12540 0400 12541 2750 ISZ I (FUDSW /FIXUP CASSETTE 12542 5747 JMP I (CLO 12547 3461 12550 3513 12551 3400 12552 2002 12553 7600 12554 3200 12555 6341 12556 6337 12557 0200 12560 3600 12561 6777 12562 7646 12563 7642 12564 5130 12565 0032 12566 6600 12567 5131 12570 0256 12571 4006 12572 4007 12573 4011 12574 4010 12575 7726 12576 0177 12577 4000 2600 PAGE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 57 12600 0000 OREAD, 0 12601 1377 TAD (MAXBLK 12602 3245 DCA INTEN /TRY TO READ 10 BLOCKS 12603 1376 TAD (MAXBLK^200+10 12604 3226 DCA READSZ 12605 1775 TAD I (7605 12606 0374 AND (17 12607 1373 TAD (7757 12610 3020 DCA TEMP /GET DCB ADDR 12611 1420 TAD I TEMP /GET DCB 12612 0372 AND (1000 12613 7640 SZA CLA 12614 5267 JMP ER4 /INPUT DEVICE IS WRITE-ONLY 12615 1420 TAD I TEMP 12616 7700 SMA CLA 12617 5224 JMP YES /NOT FILE-STRUCTURED 12620 1771 TAD I (INLEN 12621 1377 TAD (MAXBLK 12622 7740 SMA SZA CLA /CAN I READ IN 10 BLOCKS? 12623 4247 JMS SHORT /NO 12624 6202 YES, CIF 0 /YES 12625 4664 JMS I IENTRY /CALL INPUT HANDLER 12626 2010 READSZ, 2010 /READ 20 PAGES INTO FIELD 1 12627 4600 OBUFFER /LOCATION 4000 12630 0000 IBLOCK, 0 /INPUT BLOCK NUMBER 12631 5265 JMP QER4 /INPUT ERROR 12632 1230 TAD IBLOCK 12633 1245 TAD INTEN 12634 3230 DCA IBLOCK /UPDATE BLOCK NUMBER 12635 1771 TAD I (INLEN 12636 1245 TAD INTEN 12637 3771 DCA I (INLEN /UPDATE LENGTH LEFT 12640 1245 TAD INTEN 12641 1370 TAD (-MAXBLK 12642 7640 SZA CLA 12643 5255 JMP XFIN 12644 5600 EXIT OREAD /RETURN 12645 0010 INTEN, 10 /NUMBER OF BLOCKS JUST READ 12646 2455 XFINIO, FINIO 12647 0000 SHORT, 0 12650 1771 TAD I (INLEN /HOW MANY BLOCKS LEFT? 12651 7041 CIA /MAKE POSITIVE 12652 3245 DCA INTEN /THAT'S AS MUCH AS WE CAN READ 12653 1245 TAD INTEN 12654 7450 SNA 12655 5646 XFIN, JMP I XFINIO /NO MORE 12656 7112 CLL RTR 12657 7012 RTR 12660 7012 RTR /CONVERT TO PAGES IN BITS 1-5 12661 1367 TAD (10 /ADD IN FIELD 1 BIT 12662 3226 DCA READSZ 12663 5647 EXIT SHORT /RETURN /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 58 12664 0000 IENTRY, 0 /PTS TO INPUT HANDLER ENTRY POINT 12665 7700 QER4, SMA CLA 12666 5310 JMP SFIN /NON-FATAL END-OF FILE 12667 4766 ER4, JMS I (PRINT 12670 7711 TEXT /?INPUT ERROR/ 12671 1620 12672 2524 12673 4005 12674 2222 12675 1722 12676 0000 12677 4766 ER26, JMS I (PRINT 12700 7724 TEXT /?TOO MANY FILES/ 12701 1717 12702 4015 12703 0116 12704 3140 12705 0611 12706 1405 12707 2300 12710 1365 SFIN, TAD (7600 12711 3335 DCA TPTR 12712 7240 SLUP, STA 12713 1335 TAD TPTR 12714 3335 DCA TPTR 12715 1735 TAD I TPTR 12716 7650 SNA CLA 12717 5312 JMP SLUP 12720 1335 TAD TPTR 12721 1364 TAD (-OBUFFER+1 12722 7450 SNA 12723 5333 JMP ALLZ 12724 1363 TAD (377 /CHANGED FROM PIPC'S 376 12725 7106 CLL RTL 12726 7006 RTL 12727 7004 RAL 12730 0374 AND (17 12731 3245 DCA INTEN 12732 5255 JMP XFIN 12733 7201 ALLZ, CLA IAC 12734 5331 JMP .-3 12735 0000 TPTR, 0 /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 59 12736 4766 ER3, JMS I (PRINT 12737 7705 TEXT /?ENTER ERROR/ 12740 1624 12741 0522 12742 4005 12743 2222 12744 1722 12745 0000 12763 0377 12764 3201 12765 7600 12766 3400 12767 0010 12770 7772 12771 3112 12772 1000 12773 7757 12774 0017 12775 7605 12776 1410 12777 0006 3000 PAGE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 60 13000 0000 GETIN, 0 /OPEN INPUT FILE 13001 3313 DCA DATE 13002 1777 TAD I (7605 /ANY MORE FILES SPECIFIED? 13003 7650 SNA CLA 13004 5315 JMP NOIN /NO 13005 1776 TAD I (7612 13006 7640 SZA CLA 13007 5775 JMP I (ER26 /2ND INPUT FILE IS BAD 13010 1377 TAD (7605 13011 4774 JMS I (CHKNAM 13012 5773 JMP I (STARER /*.* 13013 1372 TAD (7606 13014 3254 DCA IN /SET PTR TO FILE NAME 13015 1371 TAD (INHAND+1 13016 3222 DCA IN3 13017 1777 TAD I (7605 /GET DEVICE NUMBER 13020 4770 CALL (200 13021 0001 1 /FETCH NEW DEVICE HANDLER 13022 2401 IN3, INHAND+1 /INTO PAGES 3200 AND 3400 /REPLACED BY ENTRY PT TO INPUT HANDLER 13023 5767 JMP I (ER6 /FETCH ERROR 13024 1766 TAD I (7643 13025 0365 AND (10 13026 7640 SZA CLA 13027 5764 JMP I (FOXIN /I SPECIFIED 13030 7201 CLA IAC /V3C 13031 0766 AND I (7643 /LOOK AT /L OPTION 13032 1772 TAD I (7606 13033 7650 SNA CLA 13034 5241 JMP NOCAS2 /IF NO NAME IS GIVEN AND /L IS NOT SPECIFIED, THEN USE /MAGTAPE OR CASSETTE HANDLER AS IS, I.E. AS /A NON-FILE-STRUCTURED OS/8 DRIVER. 13035 1777 TAD I (7605 13036 4763 JMS I (TCAS /CASSETTE? 13037 5762 JMP I (FIXIN /YES 13040 5761 JMP I (FIXMIN /MAGTAPE 13041 7201 NOCAS2, CLA IAC 13042 0766 AND I (7643 13043 7640 SZA CLA 13044 5322 JMP ER11 /V3C /L SPECIFIED WHEN DEVICE WAS NOT MAGTAPE OR CASSETTE 13045 1360 TAD (OREAD 13046 3757 DCA I (PREAD 13047 1222 TAD IN3 /GET NEW HANDLER ENTRY PT 13050 3756 DCA I (IENTRY /STORE AWAY 13051 1777 TAD I (7605 /GET DEVICE NUMBER AGAIN 13052 4770 CALL (200 13053 0002 2 /PERFORM A LOOKUP 13054 0000 IN, 0 /PTR TO FILE NAME /REPLACED BY INPUT BLOCK NUMBER 13055 0000 IN2, 0 /REPLACED BY NEGATIVE OF INPUT FILE LENGTH 13056 5277 JMP LKERR /LOOKUP ERROR 13057 1254 TAD IN /GET NEW INPUT BLOCK 13060 3755 DCA I (IBLOCK /STORE AWAY /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 60-1 13061 1255 TAD IN2 /GET NEW INPUT FILE LENGTH 13062 3312 DCA INLEN 13063 1754 TAD I (1404 /GET # OF ADDITIONAL WORDS 13064 7450 SNA 13065 5275 JMP NONE 13066 1017 TAD 17 13067 3314 DCA POINTER 13070 1714 TAD I POINTER /GET FILE CREATION DATE 13071 7450 SNA 13072 5275 JMP NONE 13073 3313 SETDAT, DCA DATE 13074 5600 EXIT GETIN 13075 1753 NONE, TAD I (7666 /USE TODAY'S DATE 13076 5273 JMP SETDAT 13077 7200 LKERR, CLA 13100 1752 TAD I (7611 13101 7640 SZA CLA 13102 5751 JMP I (ER24 /FILE NOT FOUND 13103 1766 TAD I (7643 /TRY .BN 13104 7006 RTL 13105 7620 SNL CLA 13106 5751 JMP I (ER24 / NOT /B 13107 1350 TAD (216 13110 3752 DCA I (7611 13111 5201 JMP GETIN+1 13112 0000 INLEN, 0 13113 0000 DATE, 0 /OS8 DATE OF INPUT FILE 13114 0000 POINTER,0 13115 7201 NOIN, CLA IAC 13116 0766 AND I (7643 13117 7650 SNA CLA 13120 5747 JMP I (ER21 13121 5764 JMP I (FOXIN / /L SPECIFIED /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 61 13122 4746 ER11, JMS I (PRINT /V3C 13123 7714 TEXT /?L OPTION OUT OF CONTEXT/ 13124 4017 13125 2024 13126 1117 13127 1640 13130 1725 13131 2440 13132 1706 13133 4003 13134 1716 13135 2405 13136 3024 13137 0000 13146 3400 13147 4127 13150 0216 13151 2526 13152 7611 13153 7666 13154 1404 13155 2630 13156 2664 13157 2116 13160 2600 13161 3324 13162 3256 13163 4001 13164 3253 13165 0010 13166 7643 13167 2516 13170 0200 13171 2401 13172 7606 13173 3707 13174 3645 13175 2677 13176 7612 13177 7605 3200 PAGE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 62 /ENTER WITH INTEN BLOCKS TO WRITE 13200 0000 OWRITE, 0 13201 1777 TAD I (INTEN /HOW MUCH IS THERE TO WRITE? 13202 7450 SNA 13203 5600 EXIT OWRITE /NOTHING 13204 3252 DCA OUTEN /SAVE NUMBER OF BLOCKS TO WRITE 13205 1776 TAD I (7600 13206 0375 AND (17 13207 1374 TAD (7757 13210 3020 DCA TEMP 13211 7332 STL CLA RTR 13212 0420 AND I TEMP 13213 7640 SZA CLA 13214 5773 JMP I (ER7 /OUTPUT DEVICE IS READ-ONLY 13215 1252 TAD OUTEN 13216 7112 CLL RTR 13217 7012 RTR 13220 7012 RTR /CONVERT TO PAGES 13221 1372 TAD (4010 /FIELD 1 (WRITE DIRECTLY FROM INPUT BUFFER) 13222 3236 DCA WRSIZ 13223 1771 TAD I (LEN 13224 7650 SNA CLA 13225 5234 JMP NFS /NON-FILE STRUCTURED 13226 1770 TAD I (REALEN 13227 1252 TAD OUTEN 13230 7120 STL 13231 1771 TAD I (LEN 13232 7660 SNL SZA CLA 13233 5767 JMP I (ER5 13234 6202 NFS, CIF 0 13235 4651 JMS I OENTRY /CALL OUTPUT HANDLER 13236 6010 WRSIZ, 6010 /WRITE 20 PAGES FROM FIELD 1 13237 4600 OBUFFER /LOCATION 4000 13240 0000 OBLOCK, 0 /OUTPUT BLOCK NUMBER 13241 5773 JMP I (ER7 /OUTPUT ERROR 13242 1240 TAD OBLOCK 13243 1252 TAD OUTEN 13244 3240 DCA OBLOCK /UPDATE OUTPUT BLOCK NUMBER 13245 1770 TAD I (REALEN 13246 1252 TAD OUTEN 13247 3770 DCA I (REALEN /UPDATE LENGTH WROTE 13250 5600 EXIT OWRITE 13251 0000 OENTRY, 0 13252 0000 OUTEN, 0 /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 63 13253 4766 FOXIN, JMS I (GETSWDIG 13254 5765 JMP I (ER21 13255 5260 JMP GOTIU 13256 1764 FIXIN, TAD I (IN3 /GET INPUT HANDLER ADDRESS 13257 4763 JMS I (GETDVC 13260 6201 GOTIU, CDF 0 13261 3762 DCA I (IUNIT 13262 6211 CDF 10 13263 4761 JMS I (SETCAS 13264 6201 YAHAIN, CDF 0 13265 1760 TAD I (OUNIT 13266 7041 CIA 13267 1762 TAD I (IUNIT 13270 7650 SNA CLA 13271 5757 JMP I (ER30 13272 7240 STA 13273 3756 DCA I (CIKNT 13274 3755 DCA I (CHECKSUM 13275 7201 CLA IAC 13276 3754 DCA I (TLRFLG 13277 6211 CDF 10 13300 1353 TAD (CR 13301 3752 DCA I (PREAD 13302 1751 TAD I (7643 13303 7006 RTL 13304 7204 CLA RAL 13305 6201 CDF 0 13306 3750 DCA I (FTFLG 13307 6211 CDF 10 13310 4747 JMS I (GETLEN 13311 1751 TAD I (7643 13312 0346 AND (100 / F OPTION? 13313 6201 CDF 0 13314 3745 DCA I (FAST 13315 6211 CDF 10 13316 7201 CLA IAC 13317 0751 AND I (7643 13320 6203 CIF CDF 0 13321 7640 SZA CLA 13322 5744 JMP I (LOPTION 13323 5743 JMP I (LOOK4ME /RETURN TO CHLOOP /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 64 13324 1764 FIXMIN, TAD I (IN3 13325 6201 CDF 0 13326 3762 DCA I (IUNIT 13327 6211 CDF 10 13330 4742 JMS I (SETMAG 13331 1764 TAD I (IN3 13332 4741 JMS I (SETDEN 13333 5264 JMP YAHAIN 13341 2302 13342 4224 13343 7103 13344 6526 13345 5131 13346 0100 13347 2432 13350 6657 13351 7643 13352 2116 13353 4144 13354 6661 13355 6656 13356 6600 13357 2510 13360 7134 13361 4200 13362 7135 13363 3614 13364 3022 13365 4127 13366 2201 13367 2475 13370 2462 13371 2101 13372 4010 13373 3537 13374 7757 13375 0017 13376 7600 13377 2645 3400 PAGE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 65 13400 0000 PRINT, 0 13401 7200 CLA 13402 6211 CDF 10 13403 3335 DCA CTOFLG /ALLOW ECHOING 13404 4327 JMS CRLF 13405 1600 PRLUP, TAD I PRINT 13406 7012 RTR 13407 7012 RTR 13410 7012 RTR 13411 4216 JMS PRIN 13412 1600 TAD I PRINT 13413 4216 JMS PRIN 13414 2200 INCR PRINT 13415 5205 JMP PRLUP 13416 0000 PRIN, 0 13417 0377 AND (77 13420 7450 SNA 13421 5251 JMP PRFIN 13422 1376 TAD (240 13423 0377 AND (77 13424 1376 TAD (240 13425 3336 DCA TM 13426 6031 KSF 13427 5246 JMP NOBOTH 13430 1375 TAD (200 13431 6034 KRS 13432 1374 TAD (-203 13433 7450 SNA 13434 5311 JMP KBM2 13435 1373 TAD (203-217 13436 7640 SZA CLA 13437 5246 JMP NOBOTH 13440 1372 TAD ("^ 13441 4314 JMS TYPE 13442 1371 TAD ("O 13443 4314 JMS TYPE 13444 4327 JMS CRLF 13445 2335 ISZ CTOFLG 13446 1336 NOBOTH, TAD TM 13447 4314 JMS TYPE 13450 5616 EXIT PRIN 13451 4327 PRFIN, JMS CRLF 13452 3313 DCA FUDSW 13453 1770 TAD I (SPSWTCH 13454 7650 SNA CLA 13455 5261 JMP CLO 13456 3770 DCA I (SPSWTCH /SWITCH NON-ZERO MEANS RETURN 13457 2200 INCR PRINT /POINT TO RETURN 13460 5600 JMP I PRINT /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 66 /DO A CLOSE IF OUTPUT CASSETTE OPEN 13461 6201 CLO, CDF 0 13462 1767 TAD I (OUNIT 13463 6211 CDF 10 13464 7710 SPA CLA 13465 5766 JMP I (DECODE 13466 1310 TAD OSWITCH 13467 7640 SZA CLA 13470 5766 JMP I (DECODE 13471 6201 CDF 0 13472 1765 TAD I (OUTSW 13473 6211 CDF 10 13474 7650 SNA CLA /DID WE WRITE ON OUTPUT CASSETTE? 13475 5766 JMP I (DECODE /NO 13476 6203 CIF CDF 0 13477 1767 TAD I (OUNIT 13500 3020 DCA TEMP 13501 7240 STA 13502 3767 DCA I (OUNIT 13503 1313 TAD FUDSW 13504 7640 SZA CLA 13505 5764 JMP I (CLO3 13506 1020 TAD TEMP 13507 5763 JMP I (XCLOSE 13510 7777 OSWITCH,-1 /0 MEANS OUTPUT CASSETTE OPEN 13511 6203 KBM2, CIF CDF 0 13512 5725 JMP I L7600 /RETURN TO OS/8 13513 0000 FUDSW, 0 /1 MEANS GOT OS/8 LOOKUP FAILURE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 67 13514 0000 TYPE, 0 13515 3336 DCA TM 13516 1335 TAD CTOFLG 13517 7640 SZA CLA 13520 5714 EXIT TYPE /NOT ECHOING 13521 1336 TAD TM 13522 6046 TLS 13523 6041 TSF 13524 5323 JMP .-1 13525 7600 L7600, 7600 13526 5714 EXIT TYPE 13527 0000 CRLF, 0 13530 1362 TAD (215 13531 4314 JMS TYPE 13532 1361 TAD (212 13533 4314 JMS TYPE 13534 5727 EXIT CRLF 13535 0000 CTOFLG, 0 /1 MEANS DON'T ECHO 13536 0000 TM, 0 13537 4200 ER7, JMS PRINT 13540 7717 TEXT /?OUTPUT ERROR/ 13541 2524 13542 2025 13543 2440 13544 0522 13545 2217 13546 2200 13547 6203 CFINIO, CIF CDF 0 13550 4760 JMS I (CWRITE 13551 6203 CIF CDF 0 13552 5757 JMP I (CFIN /FINISH OUTPUT AND WRITE SENTINEL /RETURN TO DECODE 13557 6403 13560 6200 13561 0212 13562 0215 13563 6411 13564 7427 13565 5506 13566 2002 13567 7134 13570 4000 13571 0317 13572 0336 13573 7764 13574 7575 13575 0200 13576 0240 13577 0077 3600 PAGE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 68 13600 4777 ER10, JMS I (PRINT 13601 7722 TEXT /?RECORD SIZE TOO BIG/ 13602 0503 13603 1722 13604 0440 13605 2311 13606 3205 13607 4024 13610 1717 13611 4002 13612 1107 13613 0000 /ENTRY POINT REL 1: UNIT 1 /ENTRY POINT REL 7: UNIT 0 13614 0000 GETDVC, 0 13615 7001 IAC 13616 3020 DCA TEMP 13617 7326 STL CLA RTL /2 13620 0020 AND TEMP 13621 7010 RAR 13622 3244 DCA UNIT /DETERMINE IF UNIT 0 OR 1 13623 1020 TAD TEMP 13624 0376 AND (7600 13625 3020 DCA TEMP 13626 6201 CDF 0 13627 2020 LOOKIO, ISZ TEMP 13630 1420 TAD I TEMP /SEARCH HANDLER FOR ANY IOT 13631 0375 AND (7700 13632 1374 TAD (-6700 13633 7640 SZA CLA 13634 5227 JMP LOOKIO 13635 1420 TAD I TEMP /GET CASSETETE IOT 13636 6211 CDF 10 13637 0373 AND (30 /V3 BUG FIX FROM V2 13640 7112 CLL RTR 13641 1244 TAD UNIT 13642 1372 TAD (60 13643 5614 EXIT GETDVC /LEAVE IT IN AC 13644 0000 UNIT, 0 /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 69 13645 0000 CHKNAM, 0 /DON'T ALLOW *'S OR ?'S 13646 3010 DCA XR /IN OUTPUT OR INPUT NAME 13647 1410 TAD I XR 13650 1371 TAD (-5200 13651 7450 SNA 13652 5320 JMP STARNM /ENTIRE NAME IS * 13653 1370 TAD (5200 13654 4265 JMS CHKSTR 13655 1410 TAD I XR 13656 4265 JMS CHKSTR 13657 1410 TAD I XR 13660 4265 JMS CHKSTR 13661 1410 TAD I XR 13662 4265 JMS CHKSTR 13663 2245 ISZ CHKNAM 13664 5645 JMP I CHKNAM /NAME GOOD, RETURN 2 13665 0000 CHKSTR, 0 13666 3327 DCA TEM 13667 1327 TAD TEM 13670 7112 CLL RTR 13671 7012 RTR 13672 7012 RTR 13673 4277 JMS CHC 13674 1327 TAD TEM 13675 4277 JMS CHC 13676 5665 JMP I CHKSTR /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 70 13677 0000 CHC, 0 13700 0367 AND (77 13701 1366 TAD (-52 13702 7450 SNA 13703 5307 JMP STARER /* IN NAME 13704 1365 TAD (52-77 13705 7640 SZA CLA 13706 5677 JMP I CHC /OKAY 13707 4777 STARER, JMS I (PRINT 13710 7711 TEXT /?ILLEGAL * OR ?/ 13711 1414 13712 0507 13713 0114 13714 4052 13715 4017 13716 2240 13717 7700 13720 2010 STARNM, ISZ XR 13721 2010 ISZ XR 13722 1410 TAD I XR 13723 1371 TAD (-5200 13724 7640 SZA CLA 13725 5307 JMP STARER /NOT *.* 13726 5645 JMP I CHKNAM /TAKE SPECIAL RETURN ON *.* 13727 0000 TEM, 0 /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 71 13730 0000 CHKSW, 0 /CHECK SWITCHES 13731 1764 TAD I (7644 13732 0363 AND (4 /CHECK FOR /V 13733 7640 SZA CLA 13734 4762 JMS I (VERSN /PRINT MCPIP VERSION # 13735 1764 TAD I (7644 13736 0361 AND (400 /CHECK FOR /P /NOTE /P = 400 SAME AS ODD PARITY CODE 13737 7440 SZA 13740 5347 JMP ODDPAR 13741 1760 TAD I (7643 13742 0357 AND (200 /CHECK FOR /E 13743 7640 SZA CLA 13744 5347 JMP EVPAR 13745 7000 GOTP, NOP 13746 5730 JMP I CHKSW ODDPAR, /400 IN AC 13747 3756 EVPAR, DCA I (PAR 13750 7201 CLA IAC 13751 3755 DCA I (PARITY 13752 5345 JMP GOTP 13755 2342 13756 2343 13757 0200 13760 7643 13761 0400 13762 4017 13763 0004 13764 7644 13765 7753 13766 7726 13767 0077 13770 5200 13771 2600 13772 0060 13773 0030 13774 1100 13775 7700 13776 7600 13777 3400 4000 PAGE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 72 14000 0000 SPSWTCH,0 /NON-ZERO MEANS RETURN FROM PRINT /RET 1: CASSETTE /RET 2: MAGTAPE /RET 3: NEITHER 14001 0000 TCAS, 0 14002 0377 AND (17 /ISOLATE 14003 1376 TAD (7757 /ADD IN BASE OF DCB TABLE 14004 3020 DCA TEMP /TO GET DCB ADDRESS 14005 1420 TAD I TEMP /GET DCB 14006 0375 AND (770 /ISOLATE UNIT TYPE 14007 1374 TAD (-270 /CASSETTE HANDLER TYPE IS 27 14010 7450 SNA 14011 5216 JMP ITSCAS 14012 1373 TAD (270-200 14013 7640 SZA CLA 14014 2201 INCR TCAS /NOTHING SPECIAL 14015 2201 INCR TCAS /MAGTAPE 14016 5601 ITSCAS, EXIT TCAS /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 73 14017 0000 VERSN, 0 14020 7240 STA 14021 3200 DCA SPSWTCH /RETURN FROM PRINT 14022 4772 JMS I (PRINT 14023 1723 TEXT \OS/8 MCPIP V\ 14024 5770 14025 4015 14026 0320 14027 1120 14030 4026 14031 0000 4031 *.-1 14031 6601 PIPVERSION+60^100+PATCHLEV 14032 0000 0 14033 5617 JMP I VERSN 14034 1771 ER1, TAD I (7605 14035 7650 SNA CLA 14036 5770 JMP I (DECODE /NO OUT AND NO IN 14037 7201 CLA IAC 14040 0767 AND I (7643 /WAS /L SPECIFIED? 14041 7640 SZA CLA 14042 5301 JMP SETTY /YES 14043 4772 JMS I (PRINT 14044 7716 TEXT /?NO OUTPUT FILE/ 14045 1740 14046 1725 14047 2420 14050 2524 14051 4006 14052 1114 14053 0500 14054 4772 ER40, JMS I (PRINT 14055 7703 TEXT /?CANNOT HANDLE VARIABLE-LENGTH RECORDS/ 14056 0116 14057 1617 14060 2440 14061 1001 14062 1604 14063 1405 14064 4026 14065 0122 14066 1101 14067 0214 14070 0555 14071 1405 14072 1607 14073 2410 14074 4022 14075 0503 14076 1722 14077 0423 14100 0000 /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 74 14101 1366 SETTY, TAD (3100 14102 3306 DCA Y 14103 4765 JMS I (200 14104 0012 12 /INQUIRE 14105 2424 TT, 2424 14106 3100 Y, 3100 /DEVICE TTY 14107 0000 0 14110 5314 JMP ER99 14111 1306 TAD Y /GET DEVICE NO. OF TTY: 14112 3764 DCA I (7600 14113 5763 JMP I (FET 14114 4772 ER99, JMS I (PRINT 14115 7724 TEXT /?TTY DOES NOT EXIST/ 14116 2431 14117 4004 14120 1705 14121 2340 14122 1617 14123 2440 14124 0530 14125 1123 14126 2400 14127 4772 ER21, JMS I (PRINT 14130 7716 TEXT /?NO INPUT FILE/ 14131 1740 14132 1116 14133 2025 14134 2440 14135 0611 14136 1405 14137 0000 /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 75 14140 0000 CW, 0 14141 6203 CIF CDF 0 14142 4762 JMS I (CWRITE 14143 5740 EXIT CW 14144 0000 CR, 0 14145 6203 CIF CDF 0 14146 4761 JMS I (CREAD 14147 5744 EXIT CR 14161 6415 14162 6200 14163 2025 14164 7600 14165 0200 14166 3100 14167 7643 14170 2002 14171 7605 14172 3400 14173 0070 14174 7510 14175 0770 14176 7757 14177 0017 4200 PAGE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 76 14200 0000 SETCAS, 0 14201 1377 TAD (UTIL 14202 4246 JMS SETU 14203 1376 TAD (HANDLER 14204 4265 JMS SETH 14205 6201 CDF 0 14206 1375 TAD (BACKFIL 14207 3774 DCA I (BK2 14210 1773 TAD I (BK4 14211 3772 DCA I (BK3 14212 1371 TAD (254 14213 3770 DCA I (EOFBIT 14214 1767 TAD I (FL3 14215 3766 DCA I (FL1 14216 1365 TAD (314 14217 3764 DCA I (EOTBIT 14220 1763 TAD I (LM3 14221 3762 DCA I (LM1 14222 6211 CDF 10 14223 5600 JMP I SETCAS 14224 0000 SETMAG, 0 14225 1361 TAD (MUTIL 14226 4246 JMS SETU 14227 1360 TAD (MHANDLER 14230 4265 JMS SETH 14231 6201 CDF 0 14232 1357 TAD (BACKBLOCK 14233 3774 DCA I (BK2 14234 1756 TAD I (BK1 14235 3772 DCA I (BK3 14236 1355 TAD (3673 14237 3770 DCA I (EOFBIT 14240 3766 DCA I (FL1 14241 1354 TAD (3663 14242 3764 DCA I (EOTBIT 14243 3762 DCA I (LM1 14244 6211 CDF 10 14245 5624 JMP I SETMAG /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 77 14246 0000 SETU, 0 14247 3265 DCA SETH 14250 6201 CDF 0 14251 1265 TAD SETH 14252 3753 DCA I (QU1 14253 1265 TAD SETH 14254 3752 DCA I (QU2 14255 1265 TAD SETH 14256 3751 DCA I (QU3 14257 1265 TAD SETH 14260 3750 DCA I (QU4 14261 1265 TAD SETH 14262 3747 DCA I (QU5 14263 6211 CDF 10 14264 5646 JMP I SETU /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 78 14265 0000 SETH, 0 14266 3246 DCA SETU 14267 6201 CDF 0 14270 1246 TAD SETU 14271 3746 DCA I (QH1 14272 1246 TAD SETU 14273 3745 DCA I (QH2 14274 1246 TAD SETU 14275 3744 DCA I (QH3 14276 1246 TAD SETU 14277 3743 DCA I (QH4 14300 1246 TAD SETU 14301 3742 DCA I (QH5 14302 6211 CDF 10 14303 5665 JMP I SETH 14342 7533 14343 6755 14344 6357 14345 6105 14346 5746 14347 7532 14350 6756 14351 6543 14352 6106 14353 5745 14354 3663 14355 3673 14356 5660 14357 0050 14360 7534 14361 7537 14362 6534 14363 6542 14364 6065 14365 0314 14366 6017 14367 6107 14370 5744 14371 0254 14372 5633 14373 5630 14374 5631 14375 0030 14376 5400 14377 5200 4400 PAGE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 79 14400 0000 MH, 0 14401 7440 MHAN, SZA 14402 3231 DCA MENTRY 14403 1777 TAD I (MHANDLER 14404 3200 DCA MH /PICK UP ARGS VIA MH 14405 1600 TAD I MH /GET FN WORD 14406 1376 TAD (SPCODE /ADD SPECIAL CODE 14407 3222 DCA MARG1 14410 2200 ISZ MH 14411 1600 TAD I MH /GET CORE LOC 14412 3223 DCA MARG2 14413 2200 ISZ MH /PT TO ERROR RETURN 14414 1775 TAD I (BSIZE /GET BLOCKSIZE 14415 7041 CIA 14416 3224 DCA MARG3 /STORE NEG 14417 6211 CDF 10 14420 6202 CIF 0 14421 4631 JMS I MENTRY /CALL MAGTAPE HANDLER 14422 7402 MARG1, HLT 14423 7402 MARG2, HLT 14424 7402 MARG3, HLT 14425 7410 SKP /TAKE ERROR RETURN 14426 2200 ISZ MH /NORMAL RETURN 14427 6203 CIF CDF 0 14430 5600 JMP I MH /GO BACK TO FIELD 0 14431 0000 MENTRY, 0 /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 80 14432 0000 MU, 0 14433 7440 MUT, SZA 14434 3231 DCA MENTRY /DF=0 14435 1774 TAD I (MUTIL /PICK UP ARGS 14436 3232 DCA MU /VIA 'MU' 14437 1632 TAD I MU /GET UTILITY FUNCTION 14440 2232 ISZ MU 14441 6211 CDF 10 14442 1373 TAD (-REWIND 14443 7450 SNA 14444 5263 JMP REWT 14445 1372 TAD (REWIND-BACKFIL 14446 7450 SNA 14447 5262 JMP BAKFT 14450 1373 TAD (BACKFIL-WRGAP 14451 7450 SNA 14452 5264 JMP WRGT 14453 1373 TAD (WRGAP-BACKBLOCK 14454 7450 SNA 14455 5265 JMP BAKBT 14456 1372 TAD (BACKBLOCK-SKPFIL 14457 7640 SZA CLA 14460 7402 HLT /IMPOSSIBLE 14461 7330 SKPFT, STL CLA RAR /4000=WRITE 14462 1371 BAKFT, TAD (WRITE+FICODE-REWCOD 14463 1370 REWT, TAD (REWCOD-EOCODE 14464 1367 WRGT, TAD (EOCODE-RECCOD-WRITE 14465 1371 BAKBT, TAD (RECCOD+WRITE 14466 3271 DCA MRG1 14467 6202 CIF 0 14470 4631 JMS I MENTRY 14471 7402 MRG1, HLT 14472 7402 MCA, HLT /IRRELEVANT 14473 7777 MWC, -1 14474 7410 SKP /ERROR RETURN 14475 2232 ISZ MU 14476 6203 CIF CDF 0 14477 5632 JMP I MU /RETURN /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 81 14500 0052 EMPTINCH,52;105;115;120;124;131;40;40;40;14 14501 0105 14502 0115 14503 0120 14504 0124 14505 0131 14506 0040 14507 0040 14510 0040 14511 0014 14512 0000 0;0;0;0;40;40;40;40;40;40 14513 0000 14514 0000 14515 0000 14516 0040 14517 0040 14520 0040 14521 0040 14522 0040 14523 0040 14524 0000 ZBLOCK 14 14567 4003 14570 7774 14571 4002 14572 7760 14573 7770 14574 7537 14575 5505 14576 0006 14577 7534 4600 PAGE /7 OS/8 MCPIP PAL8-V10D NO DATE PAGE 82 2000 *2000 $ PAL8-V10D NO DATE PAGE 83 $ $ PAL8-V10D NO DATE PAGE 84 ABUNIT 5747 CLOSE 5661 ERET 5620 GOK 6273 ALLZ 2733 CLO3 7427 ERKNT 5435 GOODRT 6053 BACK 5627 CLRET 5677 ERRCOV 6110 GOTIU 3260 BACKBL 0050 CNPTR 7101 ERRET 5061 GOTOU 2230 BACKFI 0030 CNV 7071 ERRIT 6055 GOTP 3745 BAKBT 4465 COBUF 3000 ERRR 5525 GOTUD 2217 BAKFT 4462 COKNT 6341 ERRT 6061 G7600 2217 BFIELD 5543 CONLUP 7011 ERRX 5521 HANDLE 5400 BFLD 5500 CONT1 2106 ER1 4034 HOBUFL 1400 BIKNT 6500 CONVRT 7000 ER10 3600 HSIZE 0040 BINBUF 4600 COPTR 6340 ER11 3122 IBLOCK 2630 BINTYP 2330 CR 4144 ER21 4127 IENTRY 2664 BIPTR 6477 CRCMN 5514 ER24 2526 IN 3054 BKERR 5653 CRE 6602 ER26 2677 INCH 7240 BKNT 5554 CREAD 6415 ER3 2736 INCR 2000 BK1 5660 CRED 5700 ER30 2510 INER 5716 BK2 5631 CRET 5330 ER4 2667 INHAND 2400 BK3 5633 CRLF 3527 ER40 4054 INLEN 3112 BK4 5630 CRLOOP 6442 ER5 2475 INNER 6135 BK9 5647 CTOFLG 3535 ER6 2516 INRECS 7136 BMODE 5477 CTRLC 6502 ER7 3537 INTEN 2645 BPTR 5555 CTRTEM 6415 ER8 2465 INTO 5721 BSIZE 5505 CW 4140 ER99 4114 IN2 3055 BSTATE 5304 CWLOOP 6220 EVPAR 3747 IN3 3022 BUFFER 5557 CWLV 6246 EXIT 5400 IOL 5334 BUKNT 6251 CWR 6252 FAST 5131 IOTBL 5133 BUPTR 6250 CWREX 6301 FET 2025 IOTLOO 5032 BYTE 5556 CWRI 6315 FICODE 0003 IOTPTR 5046 CALL 4400 CWRIGN 6313 FIDDLE 5062 IOT0 5262 CFIN 6403 CWRITE 6200 FIDLV 5130 IOT1 5273 CFINIO 3547 CWR2 6302 FID2 2400 IOT4 5741 CFIN2 6407 CWTMP 6356 FILNUM 5600 IOT5 5336 CHAIN 2001 CWTMP1 6354 FILTYP 2327 IOT6 5265 CHC 3677 CWTMP2 6355 FINIO 2455 IOT6C 5472 CHECKB 5253 DATE 3113 FIXDVC 5000 IOT7 5254 CHECKR 5047 DCRE 6623 FIXIN 3256 ITSCAS 4016 CHECKS 6656 DCRED 6723 FIXMIN 3324 IUNIT 7135 CHK 5270 DECODE 2002 FIXOUT 2226 KBM 2125 CHKNAM 3645 DEC2 2006 FLOOP 6020 KBM2 3511 CHKPTR 6660 DELET 6071 FL1 6017 KCLR 6700 CHKSTR 3665 DEN 2344 FL2 6023 KGOA 6706 CHKSUM 6644 DIREOL 5122 FL3 6107 KLSA 6704 CHKSW 3730 DOPT 2335 FOXIN 3253 KRSB 6707 CHKTBL 6662 DOPTIO 5306 FOXOUT 2223 KSAF 6705 CHKTLR 6667 DTEM 5305 FT 6641 KSBF 6703 CHLOOP 2107 DVC 5045 FTFLG 6657 KSDR 6701 CHTEM 6655 EMPTIN 4500 FUDSW 3513 KSEN 6702 CIBUF 4000 EMPTY 2420 FXMOUT 2272 LCDF 5463 CIKNT 6600 ENTER 5601 F1 0010 LDRFLG 6353 CINUSE 5303 ENTERO 7307 F1CTRL 7143 LDRTST 7300 CIPTR 6601 ENTR 2032 GETDVC 3614 LEN 2101 CKNT 7102 EOCODE 0005 GETIN 3000 LKERR 3077 CLCODE 0000 EOFBIT 5744 GETLEN 2432 LM1 6534 CLEAR 5260 EOTBIT 6065 GETSWD 2201 LM2 6540 CLO 3461 EPI 6716 GO 5264 LM3 6542 $ PAL8-V10D NO DATE PAGE 84-1 LOADA 5737 OUTEN 3252 SETUP 5436 XER4 6347 LOOKIO 3627 OUTER 6136 SFIN 2710 XER40 7137 LOOKUP 6000 OUTHAN 2000 SHORT 2647 XER7 6342 LOOK4M 7103 OUTSW 5506 SINCH 7200 XER77 7530 LOPTIO 6526 OWRITE 3200 SKNT 7502 XER8 6351 LRET 6060 PAR 2343 SKPFIL 0070 XFIN 2655 LUDIG 2212 PARITY 2342 SKPFT 4461 XFINIO 2646 LV 5432 PATCHL 0001 SLOOP 6041 XLV 6413 L374 5503 PCIBUF 6734 SLSH 5132 XR 0010 L70 5545 PCOBUF 6327 SLUP 2712 Y 4106 L7600 3525 PIPVER 0006 SPCODE 0006 YAHAIN 3264 MAKDAT 7436 POINTE 3114 SPSWTC 4000 YAHAOU 2234 MARG1 4422 PREAD 2116 SPTR 7501 YES 2624 MARG2 4423 PREFIN 6400 STARER 3707 ZER 6104 MARG3 4424 PRFIN 3451 STARNM 3720 ZOPT 2337 MAXBLK 0006 PRIN 3416 START 2000 ZOPTIO 7400 MBNF 5320 PRINT 3400 TCAS 4001 ZRLUP 6422 MCA 4472 PRLUP 3405 TEM 3727 MENTRY 4431 PWRITE 2117 TEMP 0020 MH 4400 P1 6066 TEMPFN 5251 MHAN 4401 P2 6067 TEMPU 5250 MHANDL 7534 QER4 2665 TEMP1 0021 MRG1 4471 QH1 5746 TEMP2 0022 MTA 2341 QH2 6105 TEMP3 0023 MU 4432 QH3 6357 TEM2 7503 MUT 4433 QH4 6755 TENS 7504 MUTIL 7537 QH5 7533 TIMEOU 6124 MWC 4473 QU1 5745 TLRFLG 6661 M200 6313 QU2 6106 TM 3536 NEG 7517 QU3 6543 TMP 5044 NEWGAP 5644 QU4 6756 TPTR 2735 NFNDRE 6054 QU5 7532 TT 4105 NFS 3234 RDOR 5621 TUN 5500 NOB 2075 READ 0000 TWO 7505 NOBOTH 3446 READSZ 2626 TWOLUP 7512 NOCAS 2054 READX 5466 TYPE 3514 NOCAS2 3041 REALEN 2462 UDIG 2200 NODEC 2011 RECCOD 0002 UNIT 3644 NOF 2120 RECSIZ 6337 UT 5230 NOFILE 7435 REWCOD 0001 UTEND 5226 NOIN 3115 REWIND 0010 UTIL 5200 NONE 3075 REWSW 5252 VERSN 4017 NOTOK 5241 REWT 4463 VRSNO 2515 NTF 5607 RW 5434 WCDF 5457 OBLK 2100 RWCRC 5507 WCRC 5551 OBLOCK 3240 SCNT 6070 WRGAP 0040 OBUFFE 4600 SELOOP 7473 WRGT 4464 OBUFLE 3000 SETCAS 4200 WRITE 4000 ODDPAR 3747 SETDAT 3073 WRITEX 5534 OENTRY 3251 SETDEN 2302 WRSIZ 3236 OK 5242 SETH 4265 XCLOSE 6411 ONPTR 7100 SETMAG 4224 XCRE 6501 OREAD 2600 SETOBL 7467 XER10 7141 OSWITC 3510 SETTY 4101 XER24 7130 OUNIT 7134 SETU 4246 XER25 7132 ERRORS DETECTED: 0 LINKS GENERATED: 0