Convert BINCOM.MAC to DOS format file.
[retro-software/dec/tops10/v4.5.git] / src / mtasrx.mac
index 87e7435..ae4d2f2 100644 (file)
@@ -2,6 +2,7 @@
 SUBTTL T. WACHS/TH  TS  20 MAY 69\r
        XP      VMTASR,420      ;DEFINE VERSION NUMBER FOR LOADER STORAGE MAP\r
 \r
+\r
 ENTRY MTASRX\r
 MTASRX:\r
 \r
@@ -20,29 +21,31 @@ MTADSP:     JRST    MTAREL          ;RELEASE
        JRST    MTDMPI\r
        POPJ    PDP,            ;USETO\r
        POPJ    PDP,            ;USETI\r
+       POPJ    PDP,            ;UGETF\r
        JRST    CPOPJ1          ;RENAME\r
        POPJ    PDP,            ;CLOSE INPUT\r
        POPJ    PDP,            ;UTPCLR\r
-       JRST    MTAP0T\r
+       JRST    MTAP0\r
 \r
 MTC=340\r
 MTS=344\r
 \r
+\r
 ;MTACHN=FLAG CHANNEL\r
 ;MTOCHN=DATA CHANNEL\r
 ;MTFLAG=10*MTACHN + 400\r
 ;MTBOTH=10*MTACHN+MTDCHN\r
 ;MTALOC=40 + 2*MTDCHN\r
 ;MTLOC1=MTALOC+1\r
-       INTERN  MTAINI,MTADDS,MTADDB\r
+       INTERN  MTAINT,MTADDS,MTADDB\r
        EXTERN  ADVBFE,ADVBFF,MTFLAG,MTBOTH,SETACT,CLRACT,WSYNC\r
        EXTERN  STDENS,SETIOD,MTREQ,MTAVAL,CLOCK,MTALOC,MTLOC1,OUT\r
        EXTERN  CPOPJ,CPOPJ1,PIOMOD,PUNIT,MTWAIT,JIFSC2,COMCHK\r
        EXTERN  PIOFF,PION,MTASAV,ADRERR,PDVCNT,MTSIZ,STOIOS,IADRCK\r
 \r
-COMPAT=1000                    ;IBM COMPATABLE 9-TRACK\r
-DMPMOD=20000                   ;DUMP MODE FLAG\r
-MTREW=40000                    ;MAGTAPE IS REWINDING\r
+COMPAT=10000                   ;IBM COMPATABLE 9-TRACK\r
+DMPMOD=200000                  ;DUMP MODE FLAG\r
+MTREW=400000                   ;MAGTAPE IS REWINDING\r
 \r
 MTTRY=3                                ;NO. OF TIMES TO RETRY ON AN ERROR\r
 QUANT=3                                ;NO. OF RECORDS TO READ UNINTERRUPTED\r
@@ -57,7 +60,7 @@ MTADDB:       SIXBIT  /MTA0/
        0\r
        XWD     PROG,0\r
        XWD     PROG,0\r
-       XP      MTADDS,.-MTADB  ;SIZE OF DDB (FOR BUILD)\r
+       XP      MTADDS,.-MTADDB ;SIZE OF DDB (FOR BUILD)\r
 \f;INITIALIZE\r
 MTAINI:        SETOM   NMTREW          ;RESET FLAGS\r
        SETOM   UNIT\r
@@ -70,14 +73,13 @@ MTAINI:     SETOM   NMTREW          ;RESET FLAGS
 \r
 ;IF ENTER OR LOOKUP IN SAVE MODE - CHANGE TO MODE 16\r
 SAVCHK:        LDB     TAC,PIOMOD      ;GET MODE\r
-       CAIN    TAC,0           ;SAVE MODE?\r
+       CAIN    TAC,2           ;SAVE MODE?\r
        TRO     IOS,16          ;YES, CHANGE TO DUMP-MODE\r
        MOVEM   IOS,DEVIOS(DEVDAT)\r
        JRST    CPOPJ1          ;GIVE GOOD RETURN FROM LOOKUP/ENTER\r
 ;CLOSE\r
 MTCLOS:        TLNN    DEVDAT,OUTPB    ;OUTPUT BEEN DONE?\r
        POPJ    PDP,            ;NO. GO AWAY\r
-\r
        LDB     TAC,PIOMOD\r
        CAIGE   TAC,16          ;DUMP MODE?\r
        PUSHJ   PDP,OUT         ;NO. EMPTY LAST PARTIAL BUFFER\r
@@ -99,7 +101,7 @@ HUNGTP:      TLZN    IOS,MTREW       ;TAPE REWINDING?
        JRST    THRUTP  ;NO. GIVE UP CONTROL\r
        SOS     NMTREW  ;YES. DECREASE COUNT OF TAPES IN REW\r
        AOS     MTREQ           ;THRUTP WILL SOS THIS BACK\r
-       JRST    THRUPT  ;TURN OFF TM10\r
+       JRST    THRUTP  ;TURN OFF TM10\r
 \f;CONNECT CONTROL TO A TRANSPORT\r
 CONECT:        MOVEI   TAC,440102      ;SET UP INTERRUPT CONDITIONS\r
        HRRM    TAC,MTAINT\r
@@ -125,10 +127,12 @@ ONECT4:   MOVEI   TAC,TPREDY      ;SET DEVICE ACTIVE
        HRRM    TAC,-1(PDP)     ;AGAIN WHEN INACTIVE\r
        JRST    SETACT          ;SET DEVICE ACTIVE\r
 \r
+\r
 ;DELAY TILL TAPE COMES OUT OF IO WAIT, THEN GET CONTROL\r
 DLYRDY:        SETOM   MTAVAL\r
        PUSHJ   PDP,WSYNC       ;WAIT FOR IO TO STOP\r
 \r
+\r
 ;GET MTC, CONNECT TAPE TO CONTROL\r
 TPREDY:        AOSE    MTREQ           ;GET CONTROL\r
        PUSHJ   PDP,MTWAIT      ;WAIT FOR IT\r
@@ -137,6 +141,7 @@ TPREDY:     AOSE    MTREQ           ;GET CONTROL
 TPRDY2:        MOVEM   PROG,USEPRG\r
        PUSHJ   PDP,CONECT      ;CONECT CONTROL TO TAPE\r
 \r
+\r
 ;SET TP FOR THIS TAPE\r
 TPSET: LDB     TP,[POINT 2,IOS,28] ;PARITY\r
        SKIPN   TP              ;USE STANDARD IF 0\r
@@ -153,13 +158,14 @@ TPSET:    LDB     TP,[POINT 2,IOS,28] ;PARITY
        CONSZ   MTS,4           ;7 OR 9 TRACK?\r
        JRST    RDYCHK          ;7 TRACK\r
        TLNN    IOS,COMPAT      ;9 TRACK. CORE DUMP?\r
-       TROA    TP,20030        ;YES\r
+       TROA    TP,20000        ;YES\r
        TRO     TP,40300        ;NO. SET 800 BPI, ODD PARITY\r
 \f;MAKE SURE TAPE IS READY\r
 RDYCHK:        CONSZ   MTS,40          ;READY?\r
        POPJ    PDP,            ;YES\r
-       CONSO   MTS,20000       ;REWINDING?\r
+       CONSO   MTS,200000      ;REWINDING?\r
        POPJ    PDP,            ;NO. LET XPORT HUNG INTERRUPT HANDLE IT\r
+\r
        TLO     IOS,MTREW       ;YES. MUST BE REWINDING\r
        PUSHJ   PDP,SETACT      ;DEVICE ACTIVE\r
        AOS     NMTREW          ;BUMP COUNT OF REWINDING DRIVES\r
@@ -173,7 +179,7 @@ RDYCHK:     CONSZ   MTS,40          ;READY?
        POPJ    PDP,            ;NO. COME BACK LATER\r
 MTCLK2:        SETOM   NMTREW          ;COUNT NO. OF TAPES REWINDING\r
        MOVEM   DEVDAT,SAVDEV\r
-       MOVEI   DEVDAT,MTADDR   ;START AT MTA0\r
+       MOVEI   DEVDAT,MTADDB   ;START AT MTA0\r
        AOS     MTREQ           ;MAKE SURE NO OTHER MTA REQUESTS ARE HONORED NOW\r
 REWCHK:        MOVE    IOS,DEVIOS(DEVDAT)\r
        JUMPGE  IOS,REWCK2      ;TAPE NOT REWINDING\r
@@ -183,13 +189,12 @@ REWCKA:   CONSO   MTS,40          ;STILL REWINDING?
        JRST    REWCK1          ;YES\r
        TLZE    IOS,IOW         ;NO, TAKE OUT OF IO WAIT\r
        PUSHJ   PDP,SETIOD\r
-       TLZ     IOS,MTREQ\r
+       TLZ     IOS,MTREW\r
        PUSHJ   PDP,CLRACT      ;NO LONGER ACTIVE\r
        JRST    REWCK2\r
-       \r
 REWCK1:        AOS     NMTREW          ;COUNT REWINDING TAPE\r
        MOVEI   TAC,36  \r
-       CONSZ   MTS,20000       ;IF TAPE IS STILL REWINDING\r
+       CONSZ   MTS,200000      ;IF TAPE IS STILL REWINDING\r
        DPB     TAC,PDVCNT      ;MAKE SURE IT DOESN'T GET A HUNG DEVICE\r
 REWCK2:        HLRZ    DEVDAT,DEVSER(DEVDAT) ;NEXT DEVICE\r
        HLRZ    TAC,DEVNAM(DEVDAT) ;A MAG TAPE?\r
@@ -237,6 +242,7 @@ MTAGO:      DPB     TAC,[POINT 4,TP,26] ;PUT FUNCTION INTO COMMAND
        CONO    MTC,(TP)        ;START TAPE MOVING\r
        JRST    CLRACT          ;AND RETURN\r
 \r
+\r
 ;SET 9-TRACK TAPE\r
 SET9TK:        TRNE UUO,1\r
        TLOA    IOS,COMPAT      ;SET IBM COMPAT.\r
@@ -245,7 +251,7 @@ MTAREL:     TLZ     IOS,COMPAT      ;NOT IBM COMPAT
 ;SKIP TO LOGICAL EOT\r
 LEOT:  CONSZ   MTS,100000      ;TAPE AT BOT?\r
        JRST    LEOT2           ;YES, DONT BACKSPACE\r
-       PUSHJ   PDP,MTAG0       ;BACKSPACE RECORD\r
+       PUSHJ   PDP,MTAGO       ;BACKSPACE RECORD\r
        PUSHJ   PDP,EOTWT       ;WAIT FOR IT\r
 LEOT2: MOVEI   UUO,16          ;SKIP A FILE\r
        PUSHJ   PDP,MTAP2\r
@@ -253,7 +259,7 @@ LEOT2:      MOVEI   UUO,16          ;SKIP A FILE
        PUSHJ   PDP,MTAP\r
        PUSHJ   PDP,EOTWT       ;WAIT FOR IT\r
        MOVE    IOS,DEVIOS(DEVDAT)\r
-       TRNN    IOS,IODENT      ;END OF FILE SEEN?\r
+       TRNN    IOS,IODEND      ;END OF FILE SEEN?\r
        JRST    LEOT2           ;NO. SKIP TO NEXT FILE\r
        MOVEI   UUO,7           ;YES. BACKSPACE RECORD\r
 \r
@@ -286,11 +292,10 @@ MTOUT1:   MOVEI   TAC,@DEVOAD(DEVDAT) ;ADDRESS OF BUFFER
 MTOUT2:        TRO     TP,4000         ;FUNCTION = WRITE\r
        MOVSI   TAC1,(BLKO MTC,) ;SETUP BLKO\r
 MTDTGO:        MOVEM   TAC,PNTR        ;SAVE BLKI/BLKO POINTER\r
-       MOVEM   TAC,SVNPTR      \r
+       MOVEM   TAC,SVPNTR      \r
        HRRI    TAC1,PNTR       ;BLKI/BLKO PNTR\r
        MOVEM   TAC1,MTALOC     ;INTO INTERRUPT LOC\r
        HRLM    TP,USEWRD       ;SAVE COMMAND\r
-\r
        CONO    MTC,(TP)        ;START TAPE MOVING\r
        TRO     IOS,IOACT       ;SETACT CLEARS IOW\r
        JRST    STOIOS          ;STORE IOS AND RETURN\r
@@ -304,11 +309,12 @@ MTIN1:    SETCM   TAC,@DEVIAD(DEVDAT) ;-LARGEST POSSIBLE WRD CNT
 MTIN2: TRO     TP,2000         ;FUNCTION = READ\r
        MOVSI   TAC1,(BLKI MTC,) ;SETUP BLKI\r
        JRST    MTDTGO          ;GO START TAPE\r
+\r
 \fMTAINT:       CONSO   MTS,440102      ;INTERRUPT FOR MAG TAPE?\r
        JRST    .               ;NO. GO AWAY\r
        CONSO   MTC,400         ;HAS CONTROL FREE ENABLED?\r
        CONSZ   MTS,440100      ;NO. CONTROL FREE ERRONEOUSLY ON?\r
-       JRST    +2              ;REAL MTA INTERRUPT\r
+       JRST    .+2             ;REAL MTA INTERRUPT\r
        JRST    MTAINT+1        ;THIS INTERRUPT NOT REALLY FOR MTA\r
        JSR     MTASAV          ;YES. SAVE ACS\r
        HRRZ    DEVDAT,USEWRD   ;RESET DEVDAT\r
@@ -354,21 +360,22 @@ THRUT3:   HLRZ    TP,USEWRD       ;GET UNIT
        HLLZS   MTAINT          ;DONT LOOK AT ANY MORE INTERRUPTS\r
        POPJ    PDP,            ;AND EXIT\r
 \r
+\r
 ;HERE WHEN BLKI/BLKO COUNTS DOWN TO ZERO\r
 MTDEND:        0\r
        CONO    MTS,1           ;GIVE A FUNCTION STOP\r
        JEN     @MTDEND         ;AND EXIT\r
-\fDATENO:       CONSZ   MTS,20600       ;RECORD OK?\r
+\fDATEND:       CONSZ   MTS,20600       ;RECORD OK?\r
        JRST    RETRY           ;PARITY, DATA LATE OR BAD TAPE\r
 DATND2:        TLNE    IOS,DMPMOD      ;DUMP MODE?\r
-       JRST    CMPEND          ;YES\r
+       JRST    DMPEND          ;YES\r
        TLNN    IOS,IO          ;READING?\r
        JRST    INPTND          ;YES, FINISH INPUT\r
-ADVOUT:        PUHSJ   PDP,ADVBFE      ;WRITING, ADVANCE BUFFERS\r
+ADVOUT:        PUSHJ   PDP,ADVBFE      ;WRITING, ADVANCE BUFFERS\r
                                ;END OF TAPE?\r
        JRST    THRUTP          ;YES, DONT WRITE ANY MORE\r
 NXTREC:        TLZE    IOS,IOW         ;IN IO WAIT?\r
-       PUSHJ   PDP,GETIOD      ;RESTART JOB\r
+       PUSHJ   PDP,SETIOD      ;RESTART JOB\r
        SOSG    QUANTM          ;COUNT DOWN PROTECT TIME\r
        SKIPG   MTREQ           ;ANYONE ELSE WANT CONTROL?\r
        CONSZ   MTS,4000        ;NO. KEEP GOING UNLESS EOT\r
@@ -395,6 +402,7 @@ INPTND:     CONSZ   MTS,10000       ;EOF?
        JRST    THRUTP          ;NONE FREE\r
        JRST    NXTREC          ;CONTINUE WITH NEXT RECORD\r
 \r
+\r
 ; HERE AT THE END OF A DUMP MODE RECORD\r
 DMPEND:        HLRZ    TP,USEWRD       ;SET UP COMMAND AGAIN\r
        CONSO   MTS,14000       ;EOF OR EOT?\r
@@ -421,11 +429,10 @@ MTDMP2:   TLO     IOS,DMPMOD      ;INDICATE DUMP-MODE
        SOS     UUO             ;WILL COUNT IT UP LATER\r
        MOVEM   UUO,LSTLOC      ;SAVE LOC OF LIST\r
 DMPBLK:        PUSHJ   PDP,NXTCOM      ;GET NEXT COMMAND\r
-\r
        ADDI    TAC,(PROG)      ;ADD RELOCATION FACTOR\r
        TLNE    IOS,IO          ;WRITING?\r
        JRST    MTOUT2          ;YES. GO WRITE RECORD\r
-       TRMN    IOS,1\r
+       TRNN    IOS,1\r
        TRO     TP,10000        ;OR - READ ACROSS RECORD BOUNDARIES\r
        JRST    MTIN2           ;GO READ RECORD(S)\r
 \r
@@ -449,7 +456,7 @@ NXTCM3:     HLRE    TAC1,TAC        ;YES. GET WORDCOUNT
        POPJ    PDP,            ;NO, GO WRITE\r
        ADD     TAC,[XWD MTSIZ,MTSIZ] ;YES.\r
        MOVEM   TAC,REMNDR      ;IOWD TO USE FOR NEXT RECORD\r
-       SUBI    TAC,MTSIZE      ;ADDRESS FOR THIS IOWD\r
+       SUBI    TAC,MTSIZ       ;ADDRESS FOR THIS IOWD\r
        HRLI    TAC,MMTSIZ      ;WRITE -MTSIZE WORD RECORDS\r
        POPJ    PDP,            ;RETURN THE IOWD\r
 REMNDR:        0\r
@@ -476,7 +483,7 @@ DATEOF:     TLO     IOS,IOEND       ;EOF - LIGHT BIT
        JRST    THRUTP          ;AND GIVE UP CONTROL\r
 \r
 ;TRY AGAIN ON PARITY ERROR OR BAD TAPE\r
-RETRY: TRNN    IOS,ONRCK       ;WANT TO STOP ON ERROR?\r
+RETRY: TRNN    IOS,IONRCK      ;WANT TO STOP ON ERROR?\r
        AOSL    TAC,ERCNT       ;OR TRIED ENOUGH?\r
        JRST    PERMER          ;YES. PERMANENT ERROR\r
 RETRY1:        MOVEI   TAC,2           ;SET RETRY SWITCH\r
@@ -524,7 +531,6 @@ NMTREW:     0
 USEWRD:        0\r
 USEPRG:        0\r
 CLKREQ:        0\r
-       \r
 UNIT:  0\r
 ERCNT: 0\r
 ERRFLG:        0\r
@@ -533,4 +539,3 @@ LSTLOC:     0
 PNTR:  0\r
 SVPNTR:        0\r
 MTAEND:        END\r
-\f\r