/ CASSETTE COPY PROGRAM CAPS-8 SYSCOP / DEC-8E-OPIPA-A / COPYRIGHT 1973 / DIGITAL EQUIPMENT CORPORATION / MAYNARD, MASS. 01754 / COPIES ONLY CASSETTES / IN SPECIAL CASSETTE SYSTEM FORMAT. / REVISION CONTAINING /F / S.R. VERSION=4 FIXMRI CALL=4400 REWIND=10 WRGAP=40 SKPFIL=70 TTOCHR=7402 KBDCHR=7626 HANDLER=6600 UTIL=7200 WAIT=6200 CLOSE=6400 BACK=6402 BSIZE=7000 LOOKUP=7002 MON=5201 CRLF=5000 MQ=131 MONRES=7415 CTRLCJ=7604 OPT1=7400 OPT2=OPT1+1 OPT3=OPT2+1 XTOCHR=6000 PRINT=6001 CLEAR=6336 /MIGHT CHANGE HSIZE=40 U=106 GETNAM=5667 SETPTR=103 FILTBL=4200 LNBFR=4237 LNPTR=101 LNKNT=100 FOPT=130 X0=10 X1=11 INCH=7600 SINCH=7403 ENTER=6404 FKNT=131 FIELD 1 *200 START, TAD (MONRES CDF 0 DCA CTRLCJ /ALLOW IMMEDIATE RESTART ON ^C CDF 10 TAD (TTOCHR DCA XTOCHR /SEND ERROR MESSAGES TO TTY DCA FOPT TAD OPT2 AND R10 SNA /U OPTION? JMP BEGIN /NO DCA ZOPT /YES, IMPLIES Z OPTION QBEGIN, STL CLA RTR /2000 AND OPT3 TAD ZOPT SZA CLA JMS ZEROIT /ZERO OUT DEVICE ON /Z OR /U TAD U0 CALL (UTIL REWIND JMP NRERRI CALL (WAIT JMP INERR TAD U1 CALL (UTIL REWIND JMP NRERRO CALL (WAIT JMP OUTERR TAD FOPT SZA CLA JMP FTRANS TAD U1 CALL (LOOKUP CDF 10 ZERO JMP OUTERR SKP JMP OUTERR CALL (BACK JMP OUTERR CALL (WAIT JMP OUTERR JMP NEXT LOOP, TAD U0 CALL (UTIL SKPFIL JMP NRERRI CALL (WAIT JMP INERR NEXT, TAD (HSIZE DCA I (BSIZE TAD U0 CALL (HANDLER R10, 10 ZINCH JMP NRERRI CALL (WAIT JMP INERR TAD I (ZINCH SNA JMP SENTNL TAD (-52 SNA CLA /IS IT "*"? JMP LOOP TAD U1 CALL (HANDLER 4010 ZINCH JMP NRERRO CALL (WAIT JMP OUTERR TAD (200 DCA I (BSIZE HLOOP, TAD U0 CALL (HANDLER 0 3000 JMP NRERRI CALL (WAIT JMP EOF TAD U1 CALL (HANDLER 4000 3000 JMP NRERRO CALL (WAIT JMP OUTERR JMP HLOOP EOF, AND (3775 /IGNORE WLO TAD (-21 /CHECK FOR EOF AND READY SZA JMP INERR TAD U1 CALL (UTIL WRGAP JMP NRERRO CALL (WAIT JMP OUTERR JMP NEXT U0, 60 U1, 61 ZOPT, 0 /NON-ZERO MEANS /U SPECIFIED PAGE GETU, 0 TAD ("- JMS TCHAR REED, CLA CIF 0 JMS KBDCHR TAD (-15 SNA JMP BEGIN /CR RESTARTS TAD (15-60 CLL TAD (-10 SZL JMP REED TAD (70 DCA MQ TAD MQ JMS TCHAR TAD MQ JMP I GETU TCHAR, 0 CIF 0 JMS TTOCHR JMP I TCHAR ZINCH, ZBLOCK HSIZE BEGIN, TAD (400 JMS CRLF TAD ("I JMS TCHAR TAD ("N JMS TCHAR TAD OPT1 AND (100 DCA FOPT TAD FOPT SZA CLA JMP GETF JMS GETU DCA U0 GETOUT, TAD (400 JMS CRLF TAD ("O JMS TCHAR TAD ("U JMS TCHAR TAD ("T JMS TCHAR JMS GETU DCA U1 TAD U1 CIA TAD U0 SNA CLA JMP GETOUT JMS CRLF JMP QBEGIN ZEROIT, 0 TAD U1 CALL (UTIL REWIND JMP NRERRO CALL (WAIT JMP OUTERR CALL (CLOSE JMP OUTERR JMP I ZEROIT PAGE INERR, CLA TAD (PIN DCA INOUT TAD U0 JMP IOERR OUTERR, AND (40 SZA CLA JMP DEVFUL TAD (POUT DCA INOUT TAD U1 IOERR, SPA JMP NORE DCA UNT TAD (400 JMS CRLF JMS PRINT -3 INOUT, PIN "P;"U;"T 40 "E;"R;"R;"O;"R 40 "O;"N 40 "U;"N;"I;"T 40 UNT, 60 0 JMP ENDERR XKNT, 0 FTRANS, TAD U0 CALL (LOOKUP CDF 10 FILTBL+1 JMP INERR JMP NFDERR TAD (INCH-1 DCA X0 TAD (SINCH-1 DCA X1 TAD (-25 DCA XKNT XLUP, TAD I X0 /MOVE INCH TO SINCH DCA I X1 ISZ XKNT JMP XLUP TAD U1 CALL (ENTER JMP OUTERR KLOOP, TAD U0 CALL (HANDLER 0 3000 JMP NRERRI CALL (WAIT JMP KEOF TAD U1 CALL (HANDLER 4000 3000 JMP NRERRO CALL (WAIT JMP OUTERR JMP KLOOP KEOF, AND (3775 /IGNORE WLO TAD (-21 SZA JMP INERR TAD U1 CALL (CLOSE JMP OUTERR TAD U0 CALL (UTIL REWIND CLA CALL (WAIT CLA JMP MON PAGE NFDERR, CLA TAD (400 JMS CRLF JMS PRINT "F;"I;"L;"E;40;"N;"O;"T;40;"F;"O;"U;"N;"D 0 JMP BEGIN NRERRI, CLA TAD U0 JMP .+3 NRERRO, CLA TAD U1 DCA NUT TAD (400 JMS CRLF JMS PRINT "U;"N;"I;"T 40 NUT, 60 40 "N;"O;"T 40 "R;"E;"A;"D;"Y 0 ENDERR, TAD U1 DCA MQ STA DCA U1 TAD MQ CALL (CLOSE JMP OUTERR NORE, CLA JMP BEGIN PAGE GETF, TAD ("- JMS TCHAR TAD (FILTBL DCA SETPTR RDLN, TAD (LNBFR DCA LNPTR TAD (-20 DCA LNKNT RDLP, CIF 0 CALL (KBDCHR DCA I LNPTR TAD I LNPTR TAD (-15 SNA JMP CR /IT'S CR TAD (15-25 SNA CLA /IS IT ^U? JMP BEGIN /YES TAD I LNPTR JMS TCHAR /ECHO CHAR ISZ LNPTR /PT TO NEXT CHAR ISZ LNKNT JMP RDLP JMP GETF CR, DCA I LNPTR TAD (12 JMS TCHAR TAD LNPTR TAD (-LNBFR SNA CLA JMP BEGIN /CR RESTARTS TAD (LNBFR DCA LNPTR TAD (-11 DCA FKNT TAD (FILTBL DCA X0 FBLP, TAD L40 DCA I X0 ISZ FKNT JMP FBLP JMS GETNAM JMP NFDERR TAD U DCA U0 JMP GETOUT PIN, 40;"I;"N POUT, "O;"U;"T FINERR, AND (356 TAD (-40 SZA CLA /IS IT CLEAR LEADER? JMP OUTERR /NO - ERROR JMP I (MON /YES - DUBBS AS SENTINEL DEVFUL, TAD (400 JMS CRLF TAD U1 DCA UNTY JMS PRINT "U;"N;"I;"T L40, 40 UNTY, 0 40 "F;"U;"L;"L 0 JMP BEGIN SENTNL, TAD (HSIZE DCA I (BSIZE TAD U1 CALL (HANDLER 4010 ZERO JMP NRERRO CALL (WAIT JMP FINERR TAD U0 CALL (UTIL REWIND CLA CALL (CLEAR TAD U1 CALL (UTIL REWIND CLA CALL (WAIT CLA JMP I (MON /JMP START? ZERO, 0 *200 $