Added Macro version 37.
[retro-software/dec/tops10/v4.5.git] / src / mtcsr6.mac
index 215a429..6eeeaf3 100644 (file)
@@ -2,6 +2,7 @@ TITLE   MTCSR6 - MAGNETIC TAPE ROUTINES FOR 516 CONTROL
 SUBTTL C.WHITE 27-APR-69 V406\r
        XP      VMTCSR,406      ;DEFINE GLOBAL VERSION NUMBER FOR LOADER MAP\r
 \r
+\r
 ENTRY MTCSR6\r
 MTCSR6:\r
 INTERNAL FTCHECK,FTMONP\r
@@ -58,10 +59,11 @@ MTCDSP:     POPJ PDP,               ;RELEASE
        POPJ PDP,               ;UTPCLR\r
                                ;MTAPE UUO (FALL INTO THIS CODE WHICH FOLLOWS)\r
 \r
-DEFINE MTAPE (A)       ;MARCO TO DEFINE LEGAL MTAPE UUO EFFECTIVE ADDRESSES.\r
+\r
+DEFINE MTAPES (A)      ;MARCO TO DEFINE LEGAL MTAPES UUO EFFECTIVE ADDRESSES.\r
 <      CODES=0\r
        IRP     A, <\r
-       CODES=CODES!<1B<^D35-^0'A>>>>\r
+       CODES=CODES!<1B<^D35-^O'A>>>>\r
 \r
        MTAPES  <0,1,11,7,17,3,6,13,16,10>      ;DEFINE WHICH CODES ARE LEGAL\r
 \r
@@ -75,10 +77,11 @@ DEFINE      MTAPE (A)       ;MARCO TO DEFINE LEGAL MTAPE UUO EFFECTIVE ADDRESSES.
        TRZ IOS,776000          ;CLEAR ERROR BITS ,IOF.\r
                                ;IOACT, IOBOT AND IOTEND.\r
        SKIPA T,UUO             ;CALL MTAPE2\r
-\fMTAPE:        PUSHJ PDP,MTCHK2        ;CHECK IF MAG TAPE CONTROL AVAIL.\r
+\f\r
+MTAPE: PUSHJ PDP,MTCHK2        ;CHECK IF MAG TAPE CONTROL AVAIL.\r
 MTAPE2:        TDZ IOS,[XWD IODT!IOSEOF,IOACT]\r
        TRNN T,SLICE            ;SET SLICE LEVEL THIS UUO?\r
-       JRST NOSFT              ;NO\r
+       JRST NOSET              ;NO\r
        TLZ IOS,IOSLIC          ;YES, CLEAR LEVEL\r
        TRNE T,SLEVEL           ;SET TO 1?\r
        TLO IOS,IOSLIC          ;YES\r
@@ -89,17 +92,17 @@ NOSET:
        JRST MTLEOT\r
        CAIE T,1400             ;WRITE EOF\r
        CAIN T,5400             ;OR WRITE BLANK TAPE?\r
-       JRST CHKLOC             ;YES, CHECK WRITE-LOCK\r
+       JRST CHKLOK             ;YES, CHECK WRITE-LOCK\r
        CONSO 224,4000          ;AT LOAD POINT?\r
        JRST MTGO0              ;NO\r
        CAIE T,3400             ;YES, BACKSPACE RECORD?\r
-\r
        CAIN T,400              ;NO, REW?\r
        JRST MTFIN              ;YES\r
        CAIN T,7400             ;NO, BACKSPACE FILE?\r
        JRST MTFIN              ;YES\r
 MTGO0: MOVSI TAC,TCF           ;LOOK FOR TAPE CONTROL FREE ONLY\r
-\f;HERE FROM INPUT AND OUTPUT UUOS AND INTERRUPT TO DO NEXT RECORD.\r
+\f\r
+;HERE FROM INPUT AND OUTPUT UUOS AND INTERRUPT TO DO NEXT RECORD.\r
 \r
 MTGO1: LDB TAC1,PUNIT          ;UNIT\r
        DPB TAC1,[POINT 3,T,31] ;UNIT\r
@@ -114,7 +117,7 @@ MTGO1:      LDB TAC1,PUNIT          ;UNIT
        TRO TAC,100000          ;YES, SET COMMAND.\r
        HRRM DEVDAT,MTDEV       ;COMMAND, DVDB\r
        HRLM TAC,MTDEV\r
-MTGO3: MOVEI TAC1,MTPOUN\r
+MTGO3: MOVEI TAC1,MTPDUN\r
        HRRM TAC1,MTIDSP\r
        SETZM MTEOFF            ;CLEAR EOF FLAG\r
        TLNN IOS,IODT           ;IS THIS A DATA TRANSFER OPERATION\r
@@ -129,7 +132,7 @@ MTGO2:      SETZM MISSED            ;CLEAR DATA MISSED FLAG
        JRST STOIOS             ;STORE HUNG COUNT, EXIT\r
 \r
 ;READ\r
-MTIN:  PUSHJ PDP,MTCHECK       ;IS SYSTEM AVAILABLE?>\r
+MTIN:  PUSHJ PDP,MTCHEK        ;IS SYSTEM AVAILABLE?>\r
        TLZ IOS,IO              ;READING.\r
 MTIN1: SETCM TAC,@DEVIAD(DEVDAT)       ;-SIZE-1\r
        HRRI TAC,@DEVIAD(DEVDAT)        ;BUFFER ADDRESS,PROG INCLUDED\r
@@ -137,7 +140,8 @@ MTIN1:      SETCM TAC,@DEVIAD(DEVDAT)       ;-SIZE-1
        MOVEI T,2400    ;READ\r
 MTIN2: MOVE TAC1,[BLKI DC,4000+MTDC*10]\r
        JRST MTINDC\r
-\f;IS SYSTEM AVAILABLE\r
+\f\r
+;IS SYSTEM AVAILABLE\r
 MTCHEK:        PUSHJ PDP,GETDCMT       ;GET DATA AND MAG TAPE CONTROLS\r
        AOSE MTREQ              ;ARGUMENT\r
        MOVE IOS,DEVIOS(DEVDAT)\r
@@ -149,14 +153,13 @@ MTCHEK:   PUSHJ PDP,GETDCMT       ;GET DATA AND MAG TAPE CONTROLS
 MTCHK2:        AOSE MTREQ\r
        PUSHJ PDP,MTWAIT\r
        MOVE IOS,DEVIOS(DEVDAT)\r
-       TLZ IOS,IO              ;CLEAR IUO INDICATION SO "REWCK" WILL WORK\r
+       TLZ IOS,IO              ;CLEAR IO INDICATION SO "REWCK" WILL WORK\r
        PUSHJ PDP,MTCHK4        ;CHECK STATUS\r
        JRST MTCHK2             ;GET MT AGAIN\r
 \r
 MTCHK4:        TLO IOS,HASMT           ;THIS JOB NOW HAS MTC\r
        TLZE IOS,IOBEG          ;FIRST OPERATION AFTER INIT OR SETSTS\r
-\r
-       TLZ IOS,IUOSLIC         ;YES, SET SLICE LEVEL TO 0.\r
+       TLZ IOS,IOSLIC          ;YES, SET SLICE LEVEL TO 0.\r
        TLZ IOS,IOREW           ;CLEAR MAG TAPE REWINDING\r
        PUSHJ PDP,REWCK         ;CHECK IF REWINDING?\r
        JRST TPOPJ              ;NO - STATUS OK\r
@@ -173,7 +176,9 @@ MTCHK4:     TLO IOS,HASMT           ;THIS JOB NOW HAS MTC
 \r
 QSTAT: PUSHJ PDP,DETMDC        ;DETACH MTC AND DC\r
        JRST HNGSTP             ;CHECK STATUS (PULL FINGERS OUT, ETC)\r
-\f;MTAPE 0 WAITS UNTIL THE CONTROL IS FREE\r
+\r
+\f\r
+;MTAPE 0 WAITS UNTIL THE CONTROL IS FREE\r
 ;THUS MTAPE 0 PROVIDES THE ONLY WAY FOR A USER TO WAIT UNTIL A SPACING OPERATION\r
 ; (I.E., SKIP, BACKSPACE, OR REWIND) IS COMPLETED.\r
 \r
@@ -182,6 +187,8 @@ MTP0:       PUSHJ   PDP,MTCHK2      ;WAIT FOR CONTROL TO BECOME FREE,
                                ; AND RETURN TO THE USER.\r
 \r
 \r
+\r
+\r
 ;DETMDC-\r
 ;      DETACH MTC, AND TURN OFF HASMT.\r
 ;      THEN (IFF IODT ON)\r
@@ -197,7 +204,7 @@ MTHUNG:
 DETDC: TLZN IOS,IODT           ;DOES JOB HAVE DATA CONTROL?\r
        JRST STOIOS             ;NO- EXIT\r
        CONO DC,0\r
-       CONO PD,DCOFF\r
+       CONO PI,DCOFF\r
        SOSL DCREQ              ;ANYONE ELSE WAITING FOR IT?\r
        SETOM DCAVAL            ;YES- FLAG AS JUST BECOME AVAILABLE\r
        JRST STOIOS             ;AND EXIT\r
@@ -206,7 +213,8 @@ RELCON:     CONO 220,0
        CONO 224,0\r
        SETZM MTCCON\r
        POPJ PDP,\r
-\f;ROUTINE TO SEE IF UNIT IS REWINDING\r
+\f\r
+;ROUTINE TO SEE IF UNIT IS REWINDING\r
 ;CALL  MOVE DEVDAT,ADDRESS OF DDB\r
 ;      PUSHJ PDP,REWCK\r
 ;      UNIT READY\r
@@ -225,6 +233,7 @@ REWCK:      LDB TAC,PUNIT
        AOS (PDP)\r
        POPJ PDP,               ;YES- RETURN TO CALL+1\r
 \r
+\r
 REPEAT 0,<\r
 THIS WORKS WITH THE FOLLOWING MOD TO 545 TRANSPORT:\r
 \r
@@ -238,7 +247,8 @@ THIS MODE SETS IOP22(1) WHILE MAGTAPE IS REWINDING OR SPACING FORWARD
 TO LOAD POINT- IF ENABLES THE PROCESSOR TO DISTINGUISH BETWEEN A\r
 TAPE WHICH IS AT THE END OF A REWIND COMMAND, AND A TAPE WHICH IS\r
 SWITCHED TO LOCAL, OR OFF>\r
-\f;WRITE\r
+\f\r
+;WRITE\r
 MTOUT: PUSHJ PDP,MTCHEK\r
        TLO IOS,IO              ;WRITING\r
 MTOUT1:        MOVEI TAC,@DEVOAD(DEVDAT)       ;BUFFER ADDRESS, PROG INCLUDED\r
@@ -254,7 +264,7 @@ MTINDC:     MOVEM TAC,MTDCCN        ;BLKO POINTER
        HRRI TAC1,DCWRD\r
        CONO PI,DCOFF           ;TURN DC PI CHANNEL OFF\r
        MOVEM TAC1,DCLOC        ;BLK COMMAND\r
-       MOVE TAC1,JSR MTDCND]\r
+       MOVE TAC1,[JSR MTDCND]\r
        MOVEM TAC1,DCLOC1\r
        TRO IOS,IOACT           ;SET IOACT\r
        MOVSI TAC, ERF          ;ENABLE FOR EOR IF EOR FLAG NOT ON.\r
@@ -262,6 +272,8 @@ MTINDC:     MOVEM TAC,MTDCCN        ;BLKO POINTER
        MOVSI TAC,XNC           ;NO. COME BACK WHEN COMMAND BUFFER IS EMPTY\r
        JRST MTGO1\r
 \r
+\r
+\r
 CHKLOK:        CONSO 224,200           ;WRITE LOCKED?\r
        JRST MTGO0              ;NO, DO MTAPE\r
        PUSHJ PDP,QSTAT\r
@@ -281,12 +293,14 @@ MWLEOT:   MOVEI T,3               ;WRITE EOF
        MOVEI T,7               ;BSP\r
        JRST MTAPE\r
 \r
+\r
 MTCINI:        PUSHJ PDP,RELCON\r
-       SETOM MRTEWN            ;SET CLOCK REQUEST COUNT TO -1\r
+       SETOM MTREWN            ;SET CLOCK REQUEST COUNT TO -1\r
        JRST MTNIO1\r
 \r
 \r
 ;BLK COUNTED OUT\r
+\r
 IFE FTCHECK+FTMONP,<\r
 MTDCND:        0\r
 >\r
@@ -294,12 +308,14 @@ MTDCN1:   CONO PI,DCOFF           ;SHUT OFF DC CHANNEL
        CONSZ DC,10000\r
        SETOM MISSED\r
        JEN @MTDCND\r
-\f;FLAG FROM TAPE CONTROL. SET UP BY INSERT MACRO\r
+\r
+\f\r
+;FLAG FROM TAPE CONTROL. SET UP BY INSERT MACRO\r
 MTCINT:        CONSO 224,@MTCCON\r
        JRST .\r
        JSR MTCSAV              ;SAVE AC'S\r
        HRRZ DEVDAT,MTDEV       ;DVDB\r
-       LDB PROG,PJOBM;         JOB NUMBER\r
+       LDB PROG,PJOBN;         JOB NUMBER\r
        MOVE PROG,JBTADR(PROG)\r
        MOVE IOS, DEVIOS(DEVDAT)\r
        CONSO 224,TCF           ;TAPE CONTROL FREE\r
@@ -314,11 +330,11 @@ MTPDUN:   TLNN IOS,IODT
        JRST DMPDUN             ;DUMP\r
        TLNE IOS,IO\r
        JRST MTNOTI             ;WRITING\r
-       SKIPF MTEOFF            ;NOT EOF?\r
+       SKIPE MTEOFF            ;NOT EOF?\r
        JRST MTEOF\r
        MOVEI TAC,@DEVIAD(DEVDAT)       ;BUFFER ADDRESS\r
        MOVN TAC1,MTDCCN        ;WD CNT-1\r
-       AOBJ TAC1, .+1          ;WD CNT\r
+       AOBJN TAC1, .+1         ;WD CNT\r
        HLLZS TAC1              ;CLR RT HALF\r
        ADD TAC1,DCWRD          ;ADD CURRENT COUNT=NO, OF WDS\r
        HLRM TAC1,1(TAC)        ;STORE AT WORD COUNT\r
@@ -335,20 +351,21 @@ MTEOF:    TLO IOS,IOEND
        SETZM MTEOFF            ;CLEAR EOF FLAG\r
 \r
 ;AND FALL INTO MTEND1\r
-\fMTEND1:       PUSHJ PDP,DETDO         ;DETACH DC (IF ASSIGNED)\r
+\f\r
+MTEND1:        PUSHJ PDP,DETDC         ;DETACH DC (IF ASSIGNED)\r
        PUSHJ PDP,ETCHK         ;CHECK FOR END OF TAPE (FOR DUMP MODE OUT)\r
        PUSHJ PDP,CLRACT\r
        CONSO 224,TCF           ;TAPE CONTROL FREE?\r
-       JRST MTION              ;NO. WAIT FOR IT.\r
+       JRST MTIGN              ;NO. WAIT FOR IT.\r
 MTFIN:\r
 MTNIO: TLZE IOS,IOW            ;CLEAR WAIT\r
        PUSHJ PDP,SETIOD\r
-       PUSHJ PDP,DETMOC        ;DETACH MTC (IF HASMT SET) AND DC (IF IODT)\r
+       PUSHJ PDP,DETMDC        ;DETACH MTC (IF HASMT SET) AND DC (IF IODT)\r
        PUSHJ PDP,ETCHK         ;CHECK FOR END OF TAPE\r
        PUSHJ PDP,CLRACT        ;RESTORE BITS,CLEAR IOACT\r
 \r
 ;AND FALL INTO MTNIO1\r
-\fMTIO1:        MOVN TAC,MTREDO         ;REPEAT COUNTER\r
+\fMTNIO1:       MOVN TAC,MTREDO         ;REPEAT COUNTER\r
        HRREM TAC,MTERCN\r
        SKIPGE MTREWN           ;IS ANY OTHER UNIT REWINDING AND\r
                                ;A SECOND COMMAND HELD UP?\r
@@ -368,7 +385,7 @@ REWLP:      MOVE IOS,DEVIOS(DEVDAT)
        PUSHJ PDP,REWCK         ;YES,SEE IF FINISHED REW.\r
        JRST .+3                ;HAS FINISHED\r
        JRST REW1               ;OFF- LET HUNG LOGICA TAKE CARE OF IT\r
-       JRST REW2               ;STILL REWINDING\r
+       JRST REW0               ;STILL REWINDING\r
        TDZ IOS,[XWD IOREW,IOACT];GET JOB OUT OF IO WAIT\r
        TLZE IOS,IOW\r
        PUSHJ PDP,SETIOD        ;START JOB UP AGAIN\r
@@ -379,8 +396,8 @@ REW0:       PUSHJ   PDP,STOIOS      ;RESET HUNG COUNT IF STILL REWINDING
 REW1:  AOS MTREWN              ;INCREMENT COUNT OF REW WAIT UNITS\r
 REW2:  HLRZ DEVDAT,DEVSER(DEVDAT)              ;DEVDAT TO NEXT DDB\r
        JUMPE DEVDAT,REW3               ;LAST ONE?\r
-       HRLZ DAT,DEVNAM(DEVDAT)         ;NO,GET LH OF NAME\r
-       CAIN DAT,(SIZBIT /MTA/)         ;STILL A MAGTAPE?\r
+       HLRZ DAT,DEVNAM(DEVDAT)         ;NO,GET LH OF NAME\r
+       CAIN DAT,(SIXBIT /MTA/)         ;STILL A MAGTAPE?\r
        JRST REWLP              ;YES, CONTINUE\r
 REW3:  POP PDP,DEVDAT\r
        POPJ PDP,               ;YES, DISMISS INTERRUPT OF RETURN TO MTC OK\r
@@ -388,9 +405,10 @@ REW3:      POP PDP,DEVDAT
 ETCHK: CONSZ MTS1,10000        ;EOT SEEN?\r
        TRO IOS,IOIMPM+IOTEND   ;YES-SET FLAGS\r
        TDZ IOS,[XWD IOREW,IOBOT];NO LONGER REWINDING\r
-       CONSZ MTS1,24002        ;UNLESSS\r
+       CONSZ MTS1,24000        ;UNLESSS\r
        TRO IOS,IOBOT           ;IS REALLY REWINDING\r
        POPJ PDP,               ;EXIT\r
+\r
 \f;ROUTINE CALLED AT CLOCK LEVEL TO SEE IF ANY UNITS WHICH ARE IN A\r
 ;REW WAIT HAVE FINISHED REWIND.\r
 \r
@@ -410,8 +428,6 @@ EXTERNAL JIFSC2
 \r
 MTCLK: MOVEI TAC1,JIFSC2       ;CHECK EVERY HALF SECOND\r
        HRLI TAC1,MTCLOK        ;DISPATCH ADDRESS\r
-       \r
-\r
        CONO PI,400             ;TURN OFF PI\r
        IDPB TAC1,CLOCK         ;STORE CLOCK REQUEST\r
        CONO PI,200             ;TURN ON PI\r
@@ -436,12 +452,14 @@ MTNIO2:   HLRZ TAC,MTDEV          ;COMMAND
        CONSZ 224, 400          ;EOF?\r
        TDO IOS,[XWD IOSEOF,IODEND]\r
        JRST MTNIO              ;EXIT\r
+\r
+\r
 \fMTEOR:        MOVEI TAC,ERF\r
        CONSO 224,ERF           ;END OF RECORD FLAG ON?\r
        JRST MTIGN1             ;NO. WAIT FOR IT.\r
        CONSZ DC,1000           ;DATA MISSED\r
        SETOM MISSED            ;YES\r
-       CONSO DC,1600000        ;ANY CHARS. LEFT?\r
+       CONSO DC,160000         ;ANY CHARS. LEFT?\r
        JRST MTEOR1             ;NO\r
        MOVE T,DCWRD            ;GET IOWD\r
        TLNN IOS,IO             ;O/P\r
@@ -455,7 +473,6 @@ MTNIO2:     HLRZ TAC,MTDEV          ;COMMAND
        CONO DC,0               ;SHUT DOWN DC\r
        LSH TAC,44(TAC1)        ;SHIFT LAST CHARACTERS TO LEFT END\r
        JUMPG T,MTEOR1\r
-\r
        AOBJN T,.+1             ;BUMP DATA POINTER\r
        MOVEM TAC,(T)           ;STORE LAST WORD\r
        MOVEM T,DCWRD           ;AND BUMPED POINTER\r
@@ -479,11 +496,12 @@ MTEOR2:   SOS     MTIDSP          ;POINT TO ERROR ROUTINE
        CONSZ   MTS1,400000     ;ILLEGAL OP?\r
        TRO     T,1000          ;YES, COUNT IN QUARTER 3\r
        CONSO MTS1,100\r
-       SKIPF   MISSFD          ;DATA MISSED?\r
+       SKIPE   MISSED          ;DATA MISSED?\r
        TRO     T,1             ;YES, COUNT IN QUARTER 4\r
        ADDM    T,MTECNT(DEVDAT);ADD TO ERROR COUNTS FOR THIS DRIVE\r
        JRST    MTECON          ;CHECK EOF\r
-\fMTERR:        HLRZ TAC,MTDEV          ;COMMAND\r
+\f\r
+MTERR: HLRZ TAC,MTDEV          ;COMMAND\r
        ANDI TAC,7400\r
        TRNE IOS,IONRCK\r
        JRST MTERR2\r
@@ -507,7 +525,7 @@ MTERR2:     CONSO 224,400100        ;SET IODERR IF ILLEG OR MISSED CHAR FLAGS
        JRST MTPDUN\r
 \r
 MTBSP: MOVE TAC,MTDCCN         ;POINTER\r
-       MOVEM TAC,DOWRD         ;RESET POINTER WORD\r
+       MOVEM TAC,DCWRD         ;RESET POINTER WORD\r
        HLRZ TAC,MTDEV          ;COMMAND\r
        CONSO 224,XNC           ;WAIT FOR XNC\r
        JRST .-1                ;SHOULD ADD A COUNT(RUNAWAY TAPE TURNED OFF)\r
@@ -523,7 +541,8 @@ MTBSP3:     TRNN TAC,1000           ;READING
        CONO 220,4400(TAC)      ;WRITE BLANK TAPE\r
        AOS     MTERCN\r
        JRST MTIGN\r
-\fMTC=220               ;MAG TAPE CONTROL DEVICE NUMBER\r
+\f\r
+MTC=220                ;MAG TAPE CONTROL DEVICE NUMBER\r
 \r
 MTS1=224               ;MAG TAPE CONTROL STATUS REG 1\r
 XNC=40000      ;TRANSFER NEW COMMAND\r
@@ -531,18 +550,19 @@ MTDC=2            ;MAG TAPE DATA CONTROL DEVICE NO.
 TCF=1          ;TAPE CONTROL FREE\r
 ERF=4          ;END OF RECORD FLAG\r
 LPE=20         ;LONG. PARITY ERROR\r
-CRE=10         ;CHAR. PARITY ERROR\r
+CPE=10         ;CHAR. PARITY ERROR\r
 SEL=2          ;UNIT TO COMMAND BUFFER\r
 IOSEOF=4000    ;SPACING ONE RECORD FORWARD FOUND EOF\r
 IOTEND=2000    ;EOT INDICATION\r
 IONRCK=100     ;DO NOT RE-TRY ON ERRORS\r
 IOBOT=4000     ;TAPE AT LOAD POINT\r
 IODT=10000     ;A 1 FOR A DATA TRANSFER TYPE COMMAND\r
-IOSLIC=2000    ;A 1 IF SLICE LEVEL IS 1, OTHERWISE 0.\r
-HASMT=4000     ;IF A 1, THIS JOB HAS THE MAG TAPE CONTROL\r
-IOREW=40000    ;A 1 IF UNIT IS REWINDING AND ANOTHER OPERATIONS\r
+IOSLIC=20000   ;A 1 IF SLICE LEVEL IS 1, OTHERWISE 0.\r
+HASMT=40000    ;IF A 1, THIS JOB HAS THE MAG TAPE CONTROL\r
+IOREW=400000   ;A 1 IF UNIT IS REWINDING AND ANOTHER OPERATIONS\r
                ;IS ATTEMPTED ON SAME UNIT. MUST BE SIGN BIT.\r
 \r
+\r
 EXTERNAL ADVBFF,ADVBFE,DCREQ,MTCSAV,SETACT,CLRACT,ORACT,GETDCMT\r
 EXTERNAL MTCRET, DCAVAL, MTAVAL, MTCCHN, MTREQ\r
 EXTERNAL MTWAIT,OUT,SETIOD,CLOCK,HNGSTP,MTSIZ\r
@@ -577,9 +597,10 @@ MTCCON:    0       ;INTERRUPT FLAGS
 MTIDSP:        JRST MTPDUN\r
 \r
 >\r
-\f;LOGICAL EBND OF TAPE LOOP\r
+\f\r
+;LOGICAL END OF TAPE LOOP\r
 MTLEOT:        MOVEI T,7               ;BACKSPACE\r
-       PUSHJ PDP,MTAPC2\r
+       PUSHJ PDP,MTAPE2\r
        PUSHJ PDP,MTCHK2        ;CALL INTERLOCK, PICKUP IOS\r
                                ;AFTER PREVIOS TASK FINISHED.\r
 MTEOT2:        MOVEI T,16              ;SAVE ONE FILE\r
@@ -602,12 +623,12 @@ MTDPO1:   PUSHJ PDP,MTCHEK        ;IS SYSTEM AVAILABLE
        PUSHJ PDP,SAVCHK\r
        MOVE TAC1, @MTOUT2      ;BLKO AND DATA CONTROL COMMAND\r
        MOVEI T,1000            ;WRITING COMMAND\r
-MTDMP1: HTLI TAC, PROG         ;ACTUAL ADDRESS OF COMMAND LIST\r
-       MOVEM TAC, MTDUMP       ;COMMAND POINTER\r
+MTDMP1: HRLI TAC, PROG         ;ACTUAL ADDRESS OF COMMAND LIST\r
+       MOVEM TAC, MTCMDP       ;COMMAND POINTER\r
        SKIPN TAC,@TAC          ;COMMAND WORD\r
        JRST MTEND1\r
        JUMPG TAC, MTDMP1       ;CHANGE COMMAND SEQUENCE\r
-       HLREM TAC, SVCNT        ;SAVE COUNTER\r
+       HLREM TAC, SVCNTR       ;SAVE COUNTER\r
        HRRZS TAC               ;GET ADDRESS ALONE\r
        CAMGE TAC,AC1\r
        JRST MTDMP2\r
@@ -640,15 +661,17 @@ SAVCHK:   MOVEI AC1,JOBPFI
 MTDMPI:        PUSH    PDP,UUO\r
 MTDPI1:        TRNE IOS,IODEND\r
        JRST    TPOPJ\r
-       PUSHJ PDP,MTCHECK\r
+       PUSHJ PDP,MTCHEK\r
        TLZ IOS,IO              ;READING\r
        PUSHJ PDP,SAVCHK\r
        MOVE TAC1,@MTIN2        ;BLKI AND DATA CONTROL COMMAND\r
        MOVEI T,2400            ;READ COMMAND\r
        JRST MTDMP1             ;DUMP\r
 ;ADDRESS ERROR\r
+\r
 MTDMP2:        PUSHJ PDP,MTEND1\r
        JRST ADRERR\r
 \r
+\r
        END\r
 \f\r