         DEF      MAGTAPE:
MAGTAPE: EQU      %
*
         SYSTEM   UTS
*
*
:DOT     CNAME
         PROC
         DO1      NUM(LF)=1
LF       SET      %-DOT
         GEN,8,8,8,8 AF(1),AF(2),AF(3),AF(4)
         PEND
         SPACE
:CLIST   CNAME
         PROC
         DO1      NUM(LF)=1
LF       SET      BA(%)-BA(DOT)
I        DO       NUM(AF)
         DATA,1   DA(AF(I))-DA(DOT)
         FIN      I
         PEND
         SPACE
:CDW     COM,8,24,8,8,8,8  AF(1),AF(2),AF(3),X'80',AF(4),AF(5)
*
*
         DEF      7TDOT,9TDOT,VECT1,VECT4
         DEF      FCMC,FCOUT2,FCRDPB1
         DEF      FCSNSL1,FCSNSL2,FCSNSL3,FCSNSL4
         DEF      NEWERCK
         DEF      EXITRTY,EXITIS,EXITEOT,EXITBOT,EXITTM
         DEF      EXITBOTT,EXITDECT,EXITTMT,EXITEOTT,EXITTEST,EXTREVCK
         DEF      EXITTMCK,EXITGOOD,EXITFOL,EXITNOT,EXTSTORE,EXTERASE
         DEF      MAGTAPE,MT64
*
*
         REF      REPCOM,USECOM,IOSERCK,IOSEREC,IOSCU,CC3FAIL
         REF      DCT1,DCT4,DCT7,DCT8,DCT13,DCT17
         REF      IOQ4,IOQ5,IOQ8,IOQ9,IOQ11,IOQ12
         REF      MSG2,MSG9A
         REF      M16,M24,Y2,Y8,YC,X1FFFF
         REF      TB:FLGS1,RE:ENT
*
         SREF     NSTAP,NSLOG
*
*
*
R0       EQU      0
R1       EQU      1
R2       EQU      2
R3       EQU      3
R4       EQU      4
R5       EQU      5
R6       EQU      6
R7       EQU      7
R8       EQU      8
R9       EQU      9
R10      EQU      10
R11      EQU      11
R12      EQU      12
R13      EQU      13
R14      EQU      14
R15      EQU      15
*
*
*        TYC CODES
*
TYCOK    EQU      1                 SUCCESS
TYCBOT   EQU      3                 LOAD POINT
TYCEOT   EQU      5                 END OF TAPE
TYCTM    EQU      6                 TAPE MARK (END OF FILE)
TYCERR   EQU      8                 ERROR
*
*        FLAGS
*
FLGRETRY EQU      X'8000'
FLGFOLOW EQU      X'4000'
FLGINTER EQU      X'2000'
FLGKEYNC EQU      X'800'
FLGHOLD  EQU      X'400'
*
*        ORDER CODES
*
RDBCODE  EQU      12                READ BACKWARD
SRBCODE  EQU      75                SPACE RECORD BACKWARD
SFBCODE  EQU      91                SPACE FILE BACKWARD
SCCODE   EQU      3                 SET CORRECTION
SECODE   EQU      99                SET ERASE
RWONCODE EQU      19                REWIND ON-LINE
RWOFCODE EQU      35                REWIND OFF-LINE
*
*        SPECIAL CLIST AREA WORDS
*
SENSEBUF EQU      2                 SENSE DATA BUFFER, WDS 2-5
FUNCSAVE EQU      6                 CURRENT FUNCTION SAVE AREA
BYTESKIP EQU      7                 WT RECOVERY REV READ BYTE COUNTER
ERASEBUF EQU      7                 WT RECOVERY ERASE COUNT
*
*
MAXERASE EQU      10                MAX # OF 3 1/2 INCH ERASURES,WT RCV
64K      EQU      X'10000'
*
         PAGE
*
*
************************************
*   CLIST AREA USAGE               *
*   WORD 0/1   CDW BUILDING        *
*   WORD 2/3/4/5   SENSE DATA      *
*   WORD 6   CURRENT FUNC SAVE     *
*   WORD 7   ERASEBUF.BYTESKIP     *
************************************
         PAGE
MAGTAPE  EQU      %
************************************
*   MAG TAPE COMMAND EXITS         *
************************************
MT14     EQU      %
         LW,R11   IOQ8,R3           BUFF ADR
         CW,R11   Y8                IS THERE DATA CHAINING
         BAZ      MT14A             NO
         AI,R9    X'200'            DATA TRANSFER FUNCTION INDEX
         B        REPCOM            GO BACK TO BEGINNING OF COMLIST
MT14A    EQU      %
         AND,R11  M24               MASK ADR
         OR,R8    R11               PUT IT IN COMMAND
         LH,R11   IOQ9,R3           GET BYTE COUNT
         AND,R11  M16               MASK BYTE COUNT
         OR,R9    R11               PUT IT IN COMMAND
         AI,R11   -1
         AW,R8    R11               SET ADR TO END OF BUF FOR REV RD
         B        USECOM
*
*        REWIND
*
MT16     EQU      %
         OR,R4    YC                SET CHAN NOT BUSY
         B        USECOM
*
*        SENSE AND SET CORRECTION
*
MT18     EQU      %
         LB,R5    DCT4,R1           GET DEV TYPE
         LB,R11   TB:FLGS1,R5       CHK FOR POTTER
         CI,R11   X'20'
         BAZ      MT18A             NO, SENSE AND SC ARE VALID ORDERS
         LI,R5    SECODE            YES, USE SET ERASE AS DUMMY ORDER
         STB,R5   R8
MT18A    EQU      %
         LI,R5    SENSEBUF**-1      PUT BYTE ADR OF
         AH,R5    DCT7,R1            SENSE DATA
         LB,R11   R8                GET ORDER
         CI,R11   SCCODE            IS IT SET CORRECTION
         BE       MT18B             YES, DON'T CLEAR BUFFER
         LI,R11   0                 CLEAR BUFFER
         BAL,R0   RE:ENT
         STD,R11  0,R5
         STD,R11  2,R5
MT18B    EQU      %
         SLS,R5   3                   BUFFER
         OR,R8    R5                   IN COMMAND
         B        USECOM
         PAGE
************************************
*   9-TRACK WRITE RECOVERY         *
*   PHONEY GAP PROCESSING          *
************************************
MT64     EQU      %
         BAZ      MT68              NO TRANSMISSION OR IOP PROBLEM
         LI,R5    FCEWR3            POSSIBLE PHONEY GAP
*
*        TEST FOR READ ERROR ON GOOD RECORD (LOST POSITION)
*
         LD,R8    DCT13,R1          GET TDV STATUS
         AND,R9   M16               LEAVE RBC
         LI,R8    64K               BUILD NEW 'BYTESKIP' IN R8
         SW,R8    R9
         LW,R7    IOQ8,R3           CHK DATA CHAIN FLAG
         BLZ      MT66              DATA CHAINED, GO COMPUTE REQ BC
         AH,R9    IOQ9,R3           RBC + REQUESTED BYTE COUNT
MT65     EQU      %
         LH,R6    DCT7,R1           GET OLD 'BYTESKIP'
         SLS,R6   2
         AI,R6    1                 RT HALF WORD
         AH,R9    BYTESKIP,R6       RBC + REQ BYTE COUNT + BYTESKIP
         AH,R8    BYTESKIP,R6       NEW 'BYTESKIP'
         CI,R9    64K               DID WE SPACE BACK OVER A GOOD REC
         BG       EXITERR           YES, POSITION IS LOST
         BAL,R0   RE:ENT
         STH,R8   BYTESKIP,R6       NO, SAVE NEW 'BYTESKIP'
         B        EXTSTORE          CONTINUE WRITE RECOVERY
MT66     EQU      %
         LH,R0    IOQ9,R3           GET NUMBER OF IOCD'S
MT67     EQU      %
         LD,R10   0,R7              CALCULATE REQUESTED BYTE COUNT
         AND,R11  M16                BY ADDING UP BYTE COUNTS
         AW,R9    R11                FROM DATA CHAINED IOCD'S
         AI,R0    -1
         BEZ      MT65              DONE
         AI,R7    1                 POINT TO NEXT IOCD
         B        MT67
*
MT68     EQU      %
         CI,R5    X'1000'           TDV3, TM
         BAZ      MT69
         LI,R5    FCEWR6            SPACE FILE FOREWARD, LAST GOOD
*                                    RECORD WAS A TAPE MARK
         B        EXTSTORE
MT69     EQU      %
         CI,R5    X'400'            TDV5, BOT
         BAZ      EXITIS            UNKNOWN CONDITION
         LI,R5    FCEWR8            CONTINUE WITH WRITE TM
         B        EXTSTORE
*
         PAGE
************************************
*   EXIT TESTS AND EXIT FUNCTIONS  *
************************************
*
*
EXITTMT  EQU      %
         LI,R6    EXITTM
         B        EXITTEST
EXITBOTT EQU      %
         LI,R6    EXITBOT
         B        EXITTEST
EXITEOTT EQU      %
         LI,R6    EXITEOT
         B        EXITTEST
EXITDECT EQU      %
         LI,R6    EXITDEC
EXITTEST EQU      %
         LB,R4    IOQ5,R3           GET CURRENT FUNCTION
         CI,R4    FCSFF             IS SPACE REC OR SPACE FILE
         BG       EXTTEST1          NO
         CI,R4    FCSRB
         BGE      0,R6              YES, DECREMENT OR REPORT CONDITION
EXTTEST1 EQU      %
         LI,R12   TYCOK
         LB,R7    VECT1,R4          NO, CONTINUE RECOVERY SEQUENCE
         B        MAGTAPE,R7
*
EXTERASE EQU      %
         LH,R6    DCT7,R1           CLIST AREA ADR
         SLS,R6   2                 HW ADR
         LH,R7    ERASEBUF,R6       GET ERASURES REMAINING
         BLEZ     EXITFOL           NO MORE, GO REWRITE RECORD
         LI,R5    FCEWR8            HAVE MORE; ERASE MORE TAPE
         AI,R7    -1                DECREMENT ERASE COUNT
         BAL,R0   RE:ENT
         STH,R7   ERASEBUF,R6       SAVE ERASE COUNT
         B        EXTSTORE
*
EXTREVCK EQU      %
         LB,R4    IOQ5,R3           GET CURRENT FUNCTION
         CB,R4    IOQ4,R3           CHK FOR 7T REV RD RECOVERY
         BE       EXTEOTCK          FOREWARD READ
         LI,R5    FCOUT1            BACKWARD READ RECOVERY
EXTSTORE EQU      %
         BAL,R0   RE:ENT
         STH,R5   DCT17,R1
         B        EXITFOL
EXTEOTCK EQU      %
         CI,R5    X'200'            TDV6, EOT
         BAZ      EXITOK
EXITEOT  EQU      %
         LI,R12   TYCEOT            REPORT END OF TAPE
         B        EXITDEC1
EXITGOOD EQU      %
         LI,R12   TYCOK             REPORT OK
EXITOK   EQU      %
         B        IOSCU             REPORT OK OR LOST DATA
EXITBOT  EQU      %
         LI,R12   TYCBOT
         B        EXITDEC1
EXITTM   EQU      %
         LI,R12   TYCTM             REPORT END OF FILE
         B        EXITDEC1
EXITTMCK EQU      %
         CI,R5    X'1000'           TDV3, TM
         BANZ     EXITOK
         B        EXITRTY           TM NOT FOUND, TRY AGAIN
EXITDEC  EQU      %
         BAL,R0   RE:ENT
         MTW,-1   IOQ12,R3          DEC PRECORD COUNT
         BGZ      EXITDEC2          NOT DONE
         LI,R12   TYCOK
EXITDEC1 EQU      %
         BAL,R0   RE:ENT
         LI,R11   0                 SET RBC TO 0
         LW,R7    IOQ12,R3          REMAINING SPACE COUNT
         STH,R7   IOQ9,R3           STORE FOR ARS
         B        IOSCU
EXITDEC2 EQU      %
         STH,R4   DCT17,R1
EXITFOL  EQU      %
         LI,R12   FLGFOLOW+FLGINTER
         B        IOSCU
EXITRTY  EQU      %
         LI,R12   FLGRETRY+FLGINTER+TYCERR
         B        IOSCU
EXITERR  EQU      %
         LI,R13   MSG2              'ERROR' MESSAGE
         B        EXITIS1
*
*
EXITNOT  EQU      %
         CI,R4    FCRWOF            IS FUNC AN UNLOAD
         BE       EXITGOOD          YES, REPORT OK
EXITIS   EQU      %
         LI,R13   MSG9A             'INCONSISTENT STATUS' MSG
EXITIS1  EQU      %
         LI,R12   0                 SET RETRIES=0
         BAL,R0   RE:ENT
         STB,R12  IOQ11,R3
         LI,R12   TYCERR+FLGRETRY   NO, REPORT ERROR
         LH,R7    DCT1,R1
         LCI      0
         HIO,R0   0,R7
         BCS,2    CC3FAIL
         B        IOSCU
*
NSLOGG   EQU      %
         LW,R8    DCT8,R1
         AND,R8   X1FFFF
         CI,R8    NSTAP
         BNE      EXITIS
         B        NSLOG
         PAGE
*
*        GENERAL ERROR TESTING
*
NEWERCK  EQU      %
         BAL,R9   IOSERCK           GENERAL ERROR CHK EXCEPT FOR
*                                    UNUSUAL END AND INCORRECT LENGTH
*
         B        0,R7              ERRORS FOUND
         CI,R6    8                 UNUSUAL END TEST
         BANZ     NEWERCK1          UNUSUAL END FOUND
         B        1,R7              NO ERRORS
NEWERCK1 EQU      %
         CI,R5    X'1600'           TM, BOT OR EOT UNUSUAL END CONDITION
         BANZ     0,R7              YES, DON'T LOG
         BAL,R9   IOSEREC           RECORD UNUSUAL END ERRORS
         B        0,R7
*
         PAGE
************************************
*   MAG TAPE TABLES                *
************************************
*
*
*        ALL 9-TRACK TAPE
*        NO-ERROR BRANCH TABLE
*
:BCH1    COM,8    AF(1)-MAGTAPE
         BOUND    4
*
VECT1    EQU      %
         :BCH1    EXTEOTCK           0 READ FOREWARD
         :BCH1    EXTEOTCK           1 WRITE
         :BCH1    EXITOK             2 READ BACKWARD
         :BCH1    EXTEOTCK           3 WRITE TAPE MARK
         :BCH1    EXITDEC            4 SPACE RECORD BACKWARD
         :BCH1    EXITDEC            5 SPACE RECORD FOREWARD
         :BCH1    EXITTMCK           6 SPACE FILE BACKWARD
         :BCH1    EXITTMCK           7 SPACE FILE FOREWARD
         :BCH1    EXITFOL            8 SRB, REWIND ON-LINE
         :BCH1    EXITFOL            9 SRB, REWIND OFF-LINE
         :BCH1    EXITOK            10 REWIND ON-LINE
         :BCH1    EXITOK            11 REWIND OFF-LINE
         :BCH1    EXITFOL           12 MODE CONTROL
         :BCH1    EXITFOL           13 SENSE, NRZI CORRECTABLE RD
         :BCH1    EXITFOL           14 SRB, NRZI CORRECTABLE RD
         :BCH1    EXITFOL           15 SET CORRECTION,NRZI CORR RD
         :BCH1    EXITFOL           16 SENSE, NRZI CORR RD BACK
         :BCH1    EXITFOL           17 SRF, NRZI CORR RD BACK
         :BCH1    EXITFOL           18 SET CORR, NRZI CORR RD BACK
         :BCH1    EXITFOL           19 SRB, RDF NON-CORR RECOV
         :BCH1    EXITFOL           20 SRF, RDB NON-CORR RECOV
         :BCH1    EXITFOL           21 SRB, WRITE TM RECOVERY
         :BCH1    EXITFOL           22 SET CORR, NS-NRZI WT RECOV
         :BCH1    EXITFOL           23 SRB OVER BAD WRITE
         :BCH1    EXITFOL           24 WT TM TO ESTABLISH POSITION
         :BCH1    EXITFOL           25 SRB OVER TM
         :BCH1    EXITFOL           26 RDB W/SKIP, PHONEY GAP TEST
         :BCH1    EXITFOL           27 SFF, LAST GOOD WT WAS A TM
         :BCH1    EXITFOL           28 SRF OVER LAST GOOD RECORD
         :BCH1    EXITFOL           29 ERASE TAPE WITH WRITE TM
         :BCH1    EXTERASE          30 SRB OVER TM, ERASE DONE TEST
         :BCH1    NSLOGG            31 SENSE FOR ERROR LOG
         :BCH1    NSLOGG            32 SENSE FOR ERROR LOG
         :BCH1    NSLOGG            33 SENSE FOR ERROR LOG
         :BCH1    NSLOGG            34 SENSE FOR ERROR LOG
*
         PAGE
*
*        7-TRACK TAPE
*        NO-ERROR BRANCH TABLE
*
:BCH4    COM,8    AF(1)-MAGTAPE
         BOUND    4
*
VECT4    EQU      %
         :BCH4    EXTREVCK           0 RDPF
         :BCH4    EXTEOTCK           1 WTP
         :BCH4    EXITFOL            2 RDPB
         :BCH4    EXTEOTCK           3 TM7
         :BCH4    EXITDEC            4 SRB7
         :BCH4    EXITDEC            5 SRF7
         :BCH4    EXITTMCK           6 SFB7
         :BCH4    EXITTMCK           7 SFF7
         :BCH4    EXITOK             8 REW-ON
         :BCH4    EXITOK             9 REW-OFF
         :BCH4    EXTREVCK          10 RDBF
         :BCH4    EXTEOTCK          11 WTB
         :BCH4    EXITFOL           12 RDBB
         :BCH4    EXTREVCK          13 RDDF
         :BCH4    EXTEOTCK          14 WTD
         :BCH4    EXITFOL           15 RDDB
         :BCH4    EXITFOL           16 RDPF RECOVERY
         :BCH4    EXITFOL           17 WTP RECOVERY
         :BCH4    EXITFOL           18 WTP RECOVERY
         :BCH4    EXITFOL           19 TM7 RECOVERY
         :BCH4    EXITFOL           20 TM7 RECOVERY
         :BCH4    EXITFOL           21 RDBF RECOVERY
         :BCH4    EXITFOL           22 WTB RECOVERY
         :BCH4    EXITFOL           23 WTB RECOVERY
         :BCH4    EXITFOL           24 RDDF RECOVERY
         :BCH4    EXITFOL           25 WTD RECOVERY
         :BCH4    EXITFOL           26 WTD RECOVERY
         :BCH4    EXITFOL           27 RDPB FOLLOW-ON
         :BCH4    EXITOK            28 RDPB FOLLOW-ON
         :BCH4    EXITFOL           29 RDBB FOLLOW-ON
         :BCH4    EXITOK            30 RDBB FOLLOW-ON
         :BCH4    EXITFOL           31 RDDB FOLLOW-ON
         :BCH4    EXITOK            32 RDDB FOLLOW-ON
         :BCH4    EXITOK            33 SRB, RECOVERED REV READS
         :BCH4    EXITERR           34 SRB, FAILED REV READS
*
         PAGE
         BOUND    8
DOT      SET      %
9TDOT    EQU      %
*
*        TABS     10,16,43,46
*
*        ALL 9-TRACK TAPE
*        DEVICE OPERATION TABLE
*
FCRDF    :DOT  CLRDF,1,FCFNON1,FCSENS0    0  READ FOREWARD
FCWT     :DOT  CLWT,1,FCEWR1              1  WRITE
FCRDB    :DOT  CLRDB,1,FCBNON1,FCSENS1    2  READ BACKWARD
FCTM     :DOT  CLTM,1,FCTMRCV1            3  WRITE TAPE MARK
FCSRB    :DOT  CLSRB,1,FCSRB,FCSRB        4  SPACE RECORD BACKWARD
FCSRF    :DOT  CLSRF,1,FCSRF,FCSRF        5  SPACE RECORD FOREWARD
FCSFB    :DOT  CLSFB,90,FCSFB             6  SPACE FILE BACKWARD
FCSFF    :DOT  CLSFF,90,FCSFF             7  SPACE FILE FOREWARD
FCRWONS  :DOT  CLSRB,1,FCRWONS,FCRWON     8  SRB BEFORE REWIND ON-LINE
FCRWOFS  :DOT  CLSRB,1,FCRWOFS,FCRWOF     9  SRB BEFORE REWIND OFF-LINE
FCRWON   :DOT  CLRWON,30,FCRWON           10 REWIND ON-LINE
FCRWOF   :DOT  CLRWOF,30,FCRWOF           11 REWIND OFF-LINE
FCMC     :DOT  CLMC,1,FCMC                12 MODE CONTROL
FCSENS0  :DOT  CLSENSE,1,FCFNON1,FCFCOR1  13 SENSE,NRZI RDF CORR RECOV
FCFCOR1  :DOT  CLSRB,1,FCFCOR1,FCFCOR2    14 SRB FOR NRZI CORR RDF RECOV
FCFCOR2  :DOT  CLSC,1,FCFCOR2,FCRDF       15 SET CORR, NRZI CORR RDF RCV
FCSENS1  :DOT  CLSENSE,1,FCBNON1,FCBCOR1  16 SENSE,NRZI RDB CORR RECOV
FCBCOR1  :DOT  CLSRF,1,FCBCOR1,FCBCOR2    17 SRF FOR NRZI CORR RDB RECOV
FCBCOR2  :DOT  CLSC,1,FCBCOR2,FCRDB       18 SET CORR, NRZI CORR RDB RCV
FCFNON1  :DOT  CLSRB,1,FCFNON1,FCRDF      19 SRB FOR RDF NON-CORR RECOV
FCBNON1  :DOT  CLSRF,1,FCBNON1,FCRDB      20 SRF FOR RDB NON-CORR RECOV
FCTMRCV1 :DOT  CLSRB,1,FCTMRCV1,FCTM      21 SRB FOR WT TM RECOVERY
FCEWR1   :DOT  CLSC,1,FCEWR1,FCEWR2       22 SET CORR, NS-NRZI WT RECOV
FCEWR2   :DOT  CLSRB,1,FCEWR2,FCEWR3      23 SRB OVER BAD WRITE
FCEWR3   :DOT  CLTM,1,FCEWR3,FCEWR4       24 WT TM TO ESTABLISH POSITION
FCEWR4   :DOT  CLSRB,1,FCEWR4,FCEWR5      25 SRB OVER TM
FCEWR5   :DOT  CLRDBS,1,FCEWR5,FCEWR7     26 RDB W/SKIP, PHONEY GAP TEST
FCEWR6   :DOT  CLSFF,1,FCEWR6,FCEWR8      27 SFF, LAST GOOD REC IS A TM
FCEWR7   :DOT  CLSRF,1,FCEWR7,FCEWR8      28 SRF OVER LAST GOOD RECORD
FCEWR8   :DOT  CLTM,1,FCEWR8,FCEWR9       29 ERASE TAPE WITH WRITE TM
FCEWR9   :DOT  CLSRB,1,FCEWR9,FCWT        30 SRB OVER TM
FCSNSL1  :DOT  CLSENSE,1,FCSNSL1          31 SENSE,LOG,RETRY W/DOT RETRY
FCSNSL2  :DOT  CLSENSE,1,FCSNSL2          32 SENSE,LOG,RETRY W/DOT FOLOW
FCSNSL3  :DOT  CLSENSE,1,FCSNSL3          33 HIO,SENSE,LOG,ABORT
FCSNSL4  :DOT  CLSENSE,1,FCSNSL4          34 SENSE,LOG,RETRY SAME FUNC
*
         PAGE
*
*        9T TAPE
*        COMMAND LIST TABLE
*
*
         BOUND    4
*
CLRDF    :CLIST   RDF               READ FOREWARD
CLWT     :CLIST   WT                WRITE
CLRDB    :CLIST   RDB               READ BACKWARD
CLTM     :CLIST   TM                WRITE TAPE MARK
CLSRB    :CLIST   SRB               SPACE RECORD BACKWARD
CLSRF    :CLIST   SRF               SPACE RECORD FOREWARD
CLSFB    :CLIST   SFB               SPACE FILE BACKWARD
CLSFF    :CLIST   SFF               SPACE FILE FOREWARD
CLRWON   :CLIST   RWON              REWIND ON-LINE
CLRWOF   :CLIST   RWOF              REWIND OFF-LINE
CLMC     :CLIST   MC                MODE CONTROL
CLSENSE  :CLIST   SENSE             SENSE
CLSC     :CLIST   SC                SET CORRECTION
CLRDBS   :CLIST   RDBS              READ BACKWARD WITH SKIP
*
         PAGE
*
*        7-TRACK TAPE
*        DEVICE OPERATION TABLE
*
         BOUND     8
DOT      SET       %
7TDOT    EQU       %
*
*        TABS 10,16,43,46
*
FCRDPF   :DOT  7CLRDF,1,FCRDPR             0 READ PACKED FOREWARD
FCWTP    :DOT  7CLWT,1,FCWTPR1             1 WRITE PACKED
FCRDPB   :DOT  7CLSRB,1,FCRDPB,FCRDPB1     2 READ PACKED BACKWARD
FCTM7    :DOT  7CLTM,1,FCTM7R1             3 WRITE TAPE MARK
FCSRB7   :DOT  7CLSRB,1,FCSRB7,FCSRB7      4 SPACE RECORD BACKWARD
FCSRF7   :DOT  7CLSRF,1,FCSRF7,FCSRF7      5 SPACE RECORD FOREWARD
FCSFB7   :DOT  7CLSFB,180,FCSFB7           6 SPACE FILE BACKWARD
FCSFF7   :DOT  7CLSFF,180,FCSFF7           7 SPACE FILE FOREWARD
FCRWON7  :DOT  7CLRWON,45,FCRWON           8 REWIND ON-LINE
FCRWOF7  :DOT  7CLRWOF,45,FCRWOF           9 REWIND OFF-LINE
FCRDBF   :DOT  7CLRDBF,1,FCRDBR           10 READ BINARY FOREWARD
FCWTB    :DOT  7CLWTB,1,FCWTBR1           11 WRITE BINARY
FCRDBB   :DOT  7CLSRB,1,FCRDBB,FCRDBB1    12 READ BINARY BACKWARD
FCRDDF   :DOT  7CLRDDF,1,FCRDDR           13 READ DECIMAL FOREWARD
FCWTD    :DOT  7CLWTD,1,FCWTDR1           14 WRITE DECIMAL
FCRDDB   :DOT  7CLSRB,1,FCRDDB,FCRDDB1    15 READ DECIMAL BACKWARD
FCRDPR   :DOT  7CLSRB,1,FCRDPR,FCRDPF     16 RDPF RECOVERY
FCWTPR1  :DOT  7CLSRB,1,FCWTPR1,FCWTPR2   17 WRITE PACKED RECOVERY
FCWTPR2  :DOT  7CLSE,1,FCWTPR2,FCWTP      18 WRITE PACKED RECOVERY
FCTM7R1  :DOT  7CLSRB,1,FCTM7R1,FCTM7R2   19 WRITE TM RECOVERY
FCTM7R2  :DOT  7CLSE,1,FCTM7R2,FCTM7      20 WRITE TM RECOVERY
FCRDBR   :DOT  7CLSRB,1,FCRDBR,FCRDBF     21 READ BINARY RECOVERY
FCWTBR1  :DOT  7CLSRB,1,FCWTBR1,FCWTBR2   22 WRITE BINARY RECOVERY
FCWTBR2  :DOT  7CLSE,1,FCWTBR2,FCWTB      23 WRITE BINARY RECOVERY
FCRDDR   :DOT  7CLSRB,1,FCRDDR,FCRDDF     24 READ DECIMAL RECOVERY
FCWTDR1  :DOT  7CLSRB,1,FCWTDR1,FCWTDR2   25 WRITE DECIMAL RECOVERY
FCWTDR2  :DOT  7CLSE,1,FCWTDR2,FCWTD      26 WRITE DECIMAL RECOVERY
FCRDPB1  :DOT  7CLRDF,1,FCRDPR,FCRDPB2    27 READ PACKED BACK SEQ
FCRDPB2  :DOT  7CLSRB,1,FCRDPB2           28 READ PACKED BACK SEQ
FCRDBB1  :DOT  7CLRDBF,1,FCRDBR,FCRDBB2   29 READ BINARY BACK SEQ
FCRDBB2  :DOT  7CLSRB,1,FCRDBB2           30 READ BINARY BACK SEQ
FCRDDB1  :DOT  7CLRDDF,1,FCRDDR,FCRDDB2   31 READ DECIMAL BACK SEQ
FCRDDB2  :DOT  7CLSRB,1,FCRDDB2           32 READ DECIMAL BACK SEQ
FCOUT1   :DOT  7CLSRB,1,FCOUT1            33 FINAL SRB,RCV REV RDS
FCOUT2   :DOT  7CLSRB,1,FCOUT2            34 FINAL SRB,FAILED REVRDS
*
         PAGE
*
*        7T TAPE
*        COMMAND LIST TABLE
*
*
         BOUND    4
*
7CLRDF   :CLIST   RDF               READ PACKED
7CLWT    :CLIST   WT                WRITE PACKED
7CLTM    :CLIST   TM                WRITE TAPE MARK
7CLSRB   :CLIST   SRB               SPACE RECORD BACKWARD
7CLSRF   :CLIST   SRF               SPACE RECORD FOREWARD
7CLSFB   :CLIST   SFB               SPACE FILE BACKWARD
7CLSFF   :CLIST   SFF               SPACE FILE FOREWARD
7CLRWON  :CLIST   RWON              REWIND ON-LINE
7CLRWOF  :CLIST   RWOF              REWIND OFF-LINE
7CLRDBF  :CLIST   RDBF              READ BINARY
7CLRDDF  :CLIST   RDDF              READ DECIMAL
7CLWTB   :CLIST   WTB               WRITE BINARY
7CLWTD   :CLIST   WTD               WRITE DECIMAL
7CLSE    :CLIST   SE                SET ERASE
*
         PAGE
*
*        ALL TAPE
*        COMMAND DOUBLE WORDS
*
         BOUND    8
*
FNC      EQU      X'16'             FLAGS, NO COMMAND CHAIN
*
RDF      :CDW     2,0,FNC,2         READ FOREWARD OR READ PACKED
WT       :CDW     1,0,FNC,2         WRITE OR WRITE PACKED
RDB      :CDW     12,MT14,FNC,4     READ BACKWARD
TM       :CDW     115,0,FNC,0,1     WRITE TAPE MARK
SRB      :CDW     75,0,FNC,0,1      SPACE RECORD BACKWARD
SRF      :CDW     67,0,FNC,0,1      SPACE RECORD FOREWARD
SFB      :CDW     91,0,FNC,0,1      SPACE FILE BACKWARD
SFF      :CDW     83,0,FNC,0,1      SPACE FILE FOREWARD
RWON     :CDW     19,MT16,4,4,1     REWIND ON-LINE
RWOF     :CDW     35,MT16,FNC,4,1   REWIND OFF-LINE
MC       :CDW     11,0,FNC,1,1      MODE CONTROL
SENSE    :CDW     4,MT18,FNC,4,15   SENSE
SC       :CDW     3,MT18,FNC,4,1    SET CORRECTION
RDBS     :CDW     12,0,FNC+1,0,0    READ BACKWARD WITH SKIP
*
RDBF     :CDW     6,0,FNC,2         READ BINARY
RDDF     :CDW     14,0,FNC,2        READ DECIMAL
WTB      :CDW     5,0,FNC,2         WRITE BINARY
WTD      :CDW     13,0,FNC,2        WRITE DECIMAL
SE       :CDW     99,0,FNC,0,1      SET ERASE
         END

