      ISZ T1513 
      JMP T1503     COUNTER NOT ZERO -LOOP
      JSB CLEAR     CLEAR CONTROLLER
      JSB DATFG     REPORT LOST DATA FLAG 
      JMP TST15,I   ERROR EXIT
T1502 NOP           MILLISEC COUNTER
T1513 NOP           TIME OUT COUNTER
T1504 EQU * 
      JSB FLGWT     WAIT FOR READ TO FINISH 
* 
*                   SUBTEST # 3 
* 
      LDA .3
      STA SUBTS     SETUP SUBTEST # 
      JSB BSFWF     BACKSPACE OVER FM 
      LDA .M10
      STA CNTR      SETUP 10 REWRITES 
T1505 EQU * 
      JSB BSRWF     BACKSPACE OVER RECORD 
      LDA .100D     RECORD LENGTH 
      LDB ALL2      ALL 2'S PATTERN 
      JSB WT00      WRITE RECORD
      ISZ CNTR      IS COUNTER ZERO 
      JMP T1505     NO-LOOP 
      JSB WRTFM     YES-WRITE A FILE MARK 
      JSB EOTCK     IS EOT SET? 
      JMP TST15,I   YES-EXIT TEST 
      JSB BSFWF     BACKSPACE FILE MARK 
      JSB BSFWF     BACKSPACE BOTH RECORDS
      LDA RECNO     GET RECORD NUMBER 
      ADA .M2       SUBTRACT 3 RECORDS
      STA RECNO     UPDATE CURRENT RECORD COUNT 
      JSB FSRWF     FORWARD SPACE OVER FILE MARK
      LDA .1        SET UP FOR 1 WD DMA READ
      STA INBFL 
      STA BUFLG 
      CLA 
      STA WRERR     CLEAR WRITE ERROR FLAG
      JSB SIOR,I    READ THE FIRST RECORD 
      LDA INBUF,I   GET THE FIRST WORD
      CPA .M1 
      JMP T1506     YES - CONTINUE
      CLB           SETUP EXPECTED STATUS 
      JSB ERMS,I    NO - REPORT ERROR 
      DEF E114       LOST FIRST RECORD
      JMP TST15,I    ERROR EXIT 
E114  EQU * 
      ASC 09,E114 RECORD LOST/
T1506 EQU * 
      JSB BSRWF     BACKSPACE FIRST RECORD
* 
*                    SUBTEST # 4
* 
      LDA .4
      STA SUBTS      SETUP SUBTEST #
      JSB .RDGP,I    ISSUE RFF COMMAND
      JMP TST15,I   ERROR EXIT
      LDA .ME3      SETUP 1 SEC. TIME OUT COUNTER 
      STA T1513 
      CLA 
      STA T1507      SECOND MILLISEC COUNTER
T1508 EQU * 
      SFC DATA       IS FLAG SET? 
      JMP T1509      YES-GO COMPARE TIMES 
      LDA .1
      JSB TMRR,I     GO WAIT 1 MILLISEC 
      ISZ T1507      INCREMENT COUNTER
      ISZ T1513      TIME OUT?
      JMP T1508      NO-LOOP
      JSB CLEAR      YES-CLEAR CONTROLLER 
* 
      JSB DATFG      REPORT DATA FLAG LOST
      JMP TST15,I    ERROR EXIT 
T1507 NOP            SECOND MILLISEC COUNTER
T1509 EQU * 
      LDA T1502      GET FIRST MILLISEC COUNT 
      CMA,INA        MAKE IT NEGATIVE 
      ADA T1507      THE SECOND MILLISEC COUNT
      SSA,RSS        IS THE FIRST GAP LONGER? 
      JMP T1510      NO-OK TO CONTINUE
      CLB            SETUP EXPECTED STATUS
      JSB ERMS,I     YES-REPORT ERROR 
      DEF E115
      JMP TST15,I 
E115  EQU * 
      ASC 08,E115 NEG CREEP/
T1510 EQU * 
      JSB FLGWT      WAIT FOR READ TO FINISH
* 
*                    SUBTEST # 5
* 
      LDA .5
      STA SUBTS      SETUP SUBTEST #
      LDA DMAFG      CHECK IF COMPUTER HAS DMA
      SZA,RSS        IS FLAG ZERO?
      JMP TST15,I    YES-NO DMA, SO EXIT
      LDA .2         NO-SETUP DMA CHANNEL 2 
      STA FGDMA 
      LDA .100D      RECORD LENGTH
      STA INBFL      SETUP FOR SUBTEST 6
* 
      LDB ALL1       ALL 1'S PATTERN
      JSB WT00       WRITE ALL 1'S USING DMA
* 
*                    SUBTEST # 6
* 
T15RT LDA .6
      STA SUBTS      SETUP SUBTEST #
      LDA DTIME 
      CMA,INA        MAKE BYTE TRANSFER TIME NEG. 
      ADA MINBY      ADD MINIMUM BYTE TIME TO IT
      SSA            IS ANSWER NEGATIVE?
      JMP T1511      NO-OK TO CONTINUE
      CLB            SETUP EXPECTED STATUS
      JSB ERMS,I     REPORT BYTE TRANSFER TIME SHORT
      DEF E116
      JMP T1512      ERROR EXIT 
E116  EQU * 
      ASC 11,E116 BYTE TIME SHORT/
T1511 EQU * 
      LDA DTIME      GET BYTE TRANSFER TIME 
      CMA,INA        MAKE IT NEGATIVE 
      ADA MAXBY      ADD MAXIMUM BYTE TIME
      SSA,RSS        BYTE TIME TOO LONG?
      JMP T1512      NO-OK TO EXIT TEST 
      CLB            SETUP EXPECTED STATUS
      JSB ERMS,I     YES-REPORT BYTE TIME TOO LONG
      DEF E117
      JMP T1512      ERROR EXIT 
* 
E117  EQU * 
      ASC 10,E117 BYTE TIME LONG/ 
T1512 EQU * 
      CLA 
      STA FGDMA      CLEAR DMA FLAG 
      JMP TST15,I    EXIT TEST
* 
* 
* 
*                   END OF TEST 15
* 
* 
* 
*         TEST 16(20)   WRITE/READ SINGLE ROTATING BIT PATTERN
* 
TST16 NOP 
      JSB .EXEC,I   GO SELECT A TAPE UNIT 
* 
*                   SUBTEST # 1 
* 
      LDA .1
      STA SUBTS     SETUP SUBTEST # 
      LDA BFMAX     GET MAX BUFFER LENGTH 
      STA T1603 
      LDA .09D      NINE PATTERNS IN SEQUENCE 
      LDB TSRB      ROTATING BIT PATTERN
      JSB FILL,I    FILL THE OUTPUT BUFFER
      DEF T1601     RETURN ADDRESS
T1603 NOP           BUFFER LENGTH 
      DEF T1602     ERROR RETURN
T1601 EQU *         NORMAL RETURN 
      JSB SIOW,I    WRITE OUT BUFFER
      JSB BSRWF     BACK SPACE THE RECORD 
* 
*                   SUBTEST # 2 
* 
      LDA .2
      STA SUBTS     SETUP SUBTEST # 
      JSB SIOR,I    READ RECORD BACK
      JSB COMPR     COMPARE INPUT AND OUT BUFFERS 
T1602 EQU *         EXIT TEST 
      JMP TST16,I   EXIT TEST 
* 
*                   END OF TEST 16
* 
* 
*         TEST 17(21)   WRITE/READ CHANNEL SAW TOOTH PATTERN
* 
TST17 NOP 
      JSB .EXEC,I   GO SELECT A TAPE UNIT 
* 
*                   SUBTEST # 1 
* 
      LDA .1
      STA SUBTS     SETUP SUBTEST # 
      LDA BFMAX     GET MAX BUFFER LENGTH 
      STA T1702 
      LDA .5        FIVE PATTERNS IN SEQUENCE 
      LDB CSAW      CHANNEL SAW TOOTH PATTERN 
      JSB FILL,I    FILL THE OUTPUT BUFFER
      DEF T1701     RETURN ADDRESS
T1702 NOP           BUFFER LENGTH 
      DEF T1703     ERROR RETURN
T1701 EQU *         NORMAL RETURN 
      JSB SIOW,I    WRITE OUT BUFFER
      JSB BSRWF     BACKSPACE RECORD
* 
*                   SUBTEST # 2 
* 
      LDA .2
      STA SUBTS     SETUP SUBTEST # 
      JSB SIOR,I    READ RECORD BACK
      JSB COMPR     COMPARE INPUT AND OUTPUT BUFFERS
T1703 EQU * 
      JMP TST17,I   EXIT TEST 
* 
*                   END OF TEST 17
* 
* 
*         TEST 18(22)   WRITE/READ TRACK SAWTOOTH PATTERN 
* 
TST18 NOP 
      JSB .EXEC,I   GO SELECT A TAPE UNIT 
* 
*                   SUBTEST # 1 
* 
      LDA .1
      STA SUBTS     SETUP SUBTEST # 
      LDA BFMAX     GET MAX BUFFER LENGTH 
      STA T1802 
      LDA .5        FIVE PATTERNS IN SEQUENCE 
      LDB TSAW      TRACK SAW TOOTH PATTERN 
      JSB FILL,I    FILL THE OUTPUT BUFFER
      DEF T1801     RETURN ADDRESS
T1802 NOP           BUFFER LENGTH 
      DEF T1803     ERROR RETURN
T1801 EQU *         NORMAL RETURN 
      JSB SIOW,I    WRITE OUT BUFFER
      JSB BSRWF     BACK SPACE RECORD 
* 
*                   SUBTEST # 2 
* 
      LDA .2
      STA SUBTS     SETUP SUBTEST # 
      JSB SIOR,I    READ RECORD BACK
      JSB COMPR     COMPARE INPUT AND OUTPUT BUFFERS
T1803 EQU * 
      JMP TST18,I   EXIT TEST 
* 
*                   END OF TEST 18
* 
* 
*         TEST 19(23)   WRITE/READ RANDOM DATA PATTERN
* 
TST19 NOP 
      JSB .EXEC,I   GO SELECT A TAPE UNIT 
      LDA FG183 
      SZA           IS IT A 13183?
      JMP TST19,I   YES-SKIP CRCC+LRCC CHECK
* 
*                   SUBTEST # 1 
* 
      LDA .1
      STA SUBTS     SETUP SUBTEST # 
      JSB INTON,I   TURN ON INTERRUPTS
      JSB VARBF     GET RANDOM RECORD 
      JSB SIOW,I    WRITE OUT BUFFER
      JSB BSRWF     BACKSPACE RECORD JUST WRITTEN 
* 
*                   SUBTEST # 2 
* 
      LDA .2
      STA SUBTS     SETUP SUBTEST # 
      JSB SIOR,I    READ IN DATA
      JSB COMPR     COMPARE INPUT AND OUTPUT RECORD 
      JSB INTOF,I   TURN OFF INTERRUPTS 
* 
*                   SUBTEST # 3 
*                   REVERSE READ OF LRCC AND CRCC 
* 
      LDA .3
      STA SUBTS     SETUP SUBTEST # 
      LDA FWAM      LOAD BUFFER ADDRESS 
      LDB BUFLG     LOAD BUFFER LENGTH
      JSB .CRCC,I   GO COMPUTE CRCC 
      STA T1907     SAVE CRCC 
      LDA FWAM      LOAD BUFFER ADDRESS 
      LDB BUFLG     LOAD BUFFER LENGTH
      JSB .LRCC,I   GO COMPUTE LRCC 
      STA T1906     SAVE LRCC 
      LDA .RRR
      STA .RD10,I   SETUP REVERSE READ
      JSB READ,I    GO READ THE RECORD IN REVERSE 
      LDA .RRF
      STA .RD10,I   RESTORE FORWARD READ COMMAND
      LDA INBUF,I   LOAD CRCC AND LRCC
      ALF,ALF       MOVE LRCC TO LOW BYTE 
      AND MK377     ISOLATE LOWER BYTE
      JSB .PRIT,I   GO ADD PARITY 
      STA T1902     SAVE RESULT 
      LDA T1906     GET OLD LRCC
      CPA T1902     ARE THEY EQUAL? 
      JMP T1903     YES-CONTINUE
      CLB           SETUP EXPECTED STATUS 
      JSB ERMS,I    NO-REPORT LRCC ERROR
      DEF E135      POINTER TO MESSAGE
T1903 EQU * 
* 
*                   SUBTEST #4
* 
      LDA .4
      STA SUBTS     SETUP SUBTEST # 
      LDA INBUF,I   LOAD LRCC AND CRCC
      AND MK377     ISOLATE LOWER BYTE(CRCC)
      ALF,ALF       SHIFT TO UPPER BYTE 
      STA T1904     SAVE RESULT 
      LDA T1907     GET OLD CRCC
      CPA T1904     ARE THEY EQUAL? 
      JMP T1905     YES-CONTINUE
      CLB           SETUP EXPECTED STATUS 
      JSB ERMS,I    NO REPORT CRCC ERROR
      DEF E141      POINTER TO MESSAGE
T1905 EQU * 
      JMP TST19,I   EXIT TEST 
* 
.RRR  DEF RRR       POINTER TO REVERSE READ COMMAND 
T1902 NOP           LRCC READ IN
T1904 NOP           CRCC READ IN
T1907 NOP           OLD CRCC
T1906 NOP           OLD LRCC
* 
* 
*                   END OF TEST 19
* 
* 
*         TEST 20(24)   DMA CHANNEL 1 WRITE/READ RANDOM DATA
* 
TST20 NOP 
      JSB .EXEC,I   GO SELECT A TAPE UNIT 
      LDA DMAFG     CHECK IF COMPUTER HAS DMA 
      SZA,RSS       IS IT ZERO? 
      JMP TST20,I   NO DMA-RETURN 
      LDA .2        SETUP DMA CHANNEL 2 
      STA FGDMA     RESET FLAG FOR DMAI/O 
* 
*                   SUBTEST # 1 
* 
      LDA .1
      STA SUBTS     SETUP SUBTEST # 
      JSB INTON,I   TURN ON INTERRUPTS
      JSB VARBF     GET RANDOM RECORD 
      JSB SIOW,I
      JSB BSRWF     BACK SPACE RECORD 
* 
*                   SUBTEST # 2 
* 
      LDA .2
      STA SUBTS     SETUP SUBTEST # 
      JSB SIOR,I    READ
      JSB COMPR     COMPARE INPUT AND OUTPUT BUFFER 
      CLA 
      STA FGDMA     SET FLAG FOR DMAI/O 
      JSB INTOF,I   TURN OFF INTERRUPTS 
      JMP TST20,I   EXIT TEST 
* 
*                   END OF TEST 20
* 
* 
*         TEST 21(25)   DMA CHANNEL 2 WRITE/READ RANDOM DATA
* 
TST21 NOP 
      JSB .EXEC,I   GO SELECT A TAPE UNIT 
* 
      LDA DMAFG     CHECK IF COMPUTER HAS DMA 
      SZA,RSS       IS IT ZERO? 
      JMP TST21,I   NO DMA-RETURN 
      CPA .2        CHECK IF COMPUTER HAS CHANNEL 2 
      JMP T2104     YES-OK TO CONTINUE
      JMP TST21,I   NO-EXIT 
T2104 EQU * 
      LDA .3        SETUP DMA CHANNEL 3 
      STA FGDMA       SET FLAG FOR DMAI/O 
T2101 EQU * 
* 
*                   SUBTEST # 1 
* 
      LDA .1
      STA SUBTS     SETUP SUBTEST # 
      JSB INTON,I   TURN ON INTERRUPTS
      JSB VARBF     GET RANDOM RECORD 
      JSB SIOW,I    WRITE RECORD
      JSB BSRWF     BACK SPACE RECORD 
* 
*                   SUBTEST # 2 
* 
      LDA .2
      STA SUBTS     SETUP SUBTEST # 
      JSB SIOR,I    READ RECORD 
      JSB COMPR     COMPARE INPUT AND OUTPUT BUFFER 
      CLA 
      STA FGDMA     RESET FLAG FOR DMAI/O 
      JSB INTOF,I   TURN OFF INTERRUPTS 
      JMP TST21,I   EXIT TEST 
* 
*                   END OF TEST 21
* 
* 
*         TEST 22(26)   RAPID WRITE TEST
* 
TST22 NOP 
      JSB .EXEC,I   GO SELECT A TAPE UNIT 
* 
*                   SUBTEST # 1 
* 
      LDA .1
      STA SUBTS     SETUP SUBTEST # 
      LDA .100      LOAD BUFFER LENGTH
      STA T2201     SETUP FILL ROUTINE
      LDA .1        ONE PATTERN SEQUENCE
      LDB ALL1      ALL 1'S PATTERN 
      JSB FILL,I    FILL THE OUTPUT BUFFER
      DEF T2202     RETURN ADDRESS
T2201 NOP 
      DEF T2203     ERROR RETURN
T2202 EQU * 
*     WRITE TEN RECORDS IN A RAPID SUCCESSION 
      LDA .M10      LOOP 10 TIMES 
      STA CNTR      SETUP COUNTER 
T2204 EQU * 
      LDB SW09      CHECK SWITCH 9
      JSB SWRC,I    IS IT SET?
      JMP TST22,I   YES-EXIT
      JSB SIOW,I    WRITE A RECORD
      CLA 
      STA RDERR     CLEAR READ ERROR FLAG 
      JSB ERRCK     CHECK FOR READ AND WRITE ERRORS 
      ISZ CNTR
      JMP T2204     LOOP IF COUNTER NON-ZERO
* 
*                   SUBTEST # 2 
* 
      LDA .2
      STA SUBTS     SETUP SUBTEST # 
      CLA 
      STA WRERR     CLEAR WRITE ERROR FLAG
      LDA .M10      LOAD COUNTER
      STA CNTR
      JSB BSRWF     BACKSPACE RECORD
T2205 EQU * 
      LDB SW09      CHECK SWITCH 9
      JSB SWRC,I    IS IT SET?
      JMP TST22,I   YES-EXIT
      JSB SIOR,I    READ RECORD 
      JSB COMPR     COMPARE INPUT TO OUTPUT BUFFER
      JSB BSRWF     BACKSPACE RECORD
      JSB BSRWF     BACKSPACE RECORD
      ISZ CNTR      INCREMENT COUNTER 
      JMP T2205 
T2203 EQU * 
      JMP TST22,I   EXIT
* 
*                   END OF TEST 22
* 
* 
*         TEST 23(27)   ECHO CHECK ON ALL UNITS ON-LINE 
* 
TST23 NOP 
      JSB .EXEC,I   GO SELECT A TAPE UNIT 
      LDA UNITS     GET # OF UNITS ON-LINE
      CPA .1        IS THERE ONLY ONE UNIT UP?
      JMP TST23,I   YES-EXIT THE TEST 
* 
*                   SUBTEST # 1 
* 
      LDA .1
      STA SUBTS     SETUP SUBTEST # 
      CLA           START WITH UNIT 0 
      STA T2301     CLEAR UNIT #
      LDA .M4       GET -4
      STA T2303 
T2302 EQU * 
      LDA T2301     GET CURRENT UNIT #
      JSB UNIWR     WRITE A RECORD USING UNIT # 
      ISZ T2301     INCREMENT UNIT #
      ISZ T2303     IS THIS THE LAST TIME?
      JMP T2302     NO-GO DO IT AGAIN 
*                   YES-CONTINUE WITH NEXT SUBTEST
* 
*                   SUBTEST # 2 
* 
      LDA .2
      STA SUBTS     SETUP SUBTEST # 
*                   READ IN ONE UNIT AT A TIME AND CHECK UNIT NUMBER
*                   -WITH NUMBER IN RECORD
      CLA 
      STA T2301     CLEAR UNIT COUNTER
      LDA .M4 
      STA T2303     SETUP LOOP COUNTER
T2304 EQU * 
      LDA T2301     GET CURRENT UNIT #
      JSB UNIRD     GO READ A RECORD
      ISZ T2301     INCREMENT UNIT #
      ISZ T2303     IS THIS THE LAST LOOP?
      JMP T2304     NO-GO DO IT AGAIN 
* 
*                   SUBTEST # 3 
* 
      LDA .3
      STA SUBTS     SETUP SUBTEST # 
      STA T2301     SET UP UNIT # 
      LDA .M4 
      STA T2303     SETUP LOOP COUNTER
T2305 EQU * 
      LDA T2301     GET CURRENT UNIT #
      JSB UNIWR     GO WRITE A RECORD 
      LDA T2301     GET CURRENT UNIT #
      ADA .M1       DECREMENT UNIT #
      STA T2301 
      ISZ T2303     IS THIS THE LAST LOOP?
      JMP T2305     NO-GO DO IT AGAIN 
* 
*                  SUBTEST # 4
* 
      LDA .4
      STA SUBTS     SETUP SUBTEST # 
      LDA .M4 
      STA T2303     SETUP LOOP COUNTER
      LDA .3
      STA T2301     SETUP UNIT #
T2306 EQU * 
      LDA T2301     GET CURRENT UNIT #
      JSB UNIRD     GO READ A RECORD
      LDA T2301     GET CURRENT UNIT #
      ADA .M1       DECREMENT THE UNIT #
      STA T2301 
      ISZ T2303     IS THIS THE LAST LOOP?
      JMP T2306     NO-GO DO IT AGAIN 
* 
      JMP TST23,I   EXIT TEST 
* 
* 
*                   UNIRD-READS 100 WORD RECORD OF UNIT # 
*CALL:
*     LDA <UNIT #>
*     JSB UNIRD 
* 
UNIRD NOP 
      JSB UNISL     GO SELECT A UNIT
      JMP UNIRD,I   OFF-LINE RETURN 
      JSB BSRWF     BACKSPACE A RECORD
      JSB SIOR,I    READ A RECORD 
      LDA INBUF,I   GET CONTENTS OF FIRST WORD
      CPA T2301     COMPARE UNIT TO RECORD
      JMP UNIRD,I   THEY COMPARE-OK TO EXIT 
      CLB           SETUP EXPECTED STATUS 
      JSB ERMS,I    REPORT BAD ECHO 
      DEF E125
      JMP UNIRD,I   EXIT
* 
E125  EQU * 
      ASC 08,E125 ECHO ERROR/ 
* 
* 
*                   UNIWR-WRITES 100 WORDS USING UNIT # 
* 
*CALL:
*     LDA <UNIT #>
*     JSB UNIWR 
* 
UNIWR NOP 
      STA UNIW1     SAVE UNIT # 
      JSB UNISL     GO SELECT UNIT
      JMP UNIWR,I   UNIT OFF-LINE EXIT
      LDA UNIW2     GET UNIT # ADDRESS
      LDA .1        SINGLE PATTERN SEQUENCE 
      LDB UNIW2     GET POINTER TO UNIT # 
      JSB FILL,I    FILL THE OUTPUT BUFFER
      DEF UNIW3     RETURN ADDRESS
      DEC 100       BUFFER LENGTH 
      DEF UNIW3     ERROR RETURN
UNIW3 EQU * 
      JSB SIOW,I    WRITE RECORD
      JMP UNIWR,I   EXIT ROUTINE
UNIW2 DEF *+1 
UNIW1 NOP           UNIT #
T2303 NOP           UNIT # COUNTER
T2301 NOP           CURRENT UNIT #
* 
*                   END OF TEST 23
* 
* 
*         TEST 24(30)   CONTROLLER CHECK FOR MULTI-UNIT OPERATION 
* 
*              DELETE THIS TEST IF ONLY ONE UNIT ON-LINE   *************
*                   -TWO OR MORE ON-LINE UNITS ARE REQUIRED 
* 
TST24 NOP 
      JSB .EXEC,I   GO SELECT A TAPE UNIT 
      LDA UNITS     GET # OF UNITS ON-LINE
      CPA .1        IS THERE ONLY ONE UNIT UP?
      JMP TST24,I   YES-EXIT TEST 
* 
*                   SUBTEST # 1 
* 
      LDA .1
      STA SUBTS     SETUP SUBTEST # 
      JSB VARBF     FILL OUTPUT BUFFER WITH RANDOM DATA 
      JSB .ALWR,I   WRITE OUTPUT BUFFER 
* 
*                   SUBTEST # 2 
* 
      LDA .2
      STA SUBTS     SETUP SUBTEST # 
      JSB .ALBS,I   BACKSPACE ALL UNITS 
      JSB .ALCP,I   COMPARE ALL UNITS(FIRST RECORD) 
      JMP TST24,I   EXIT TEST 
* 
*         SUBROUTINE ALLBS-BACKSPACES ALL ON-LINE 
*                          ONE RECORD 
*CALL:
*     JSB ALLBS 
*         <NORMAL RETURN> 
* 
ALLBS NOP 
      CLA 
      STA UNITX     TEMPORARY UNIT NUMBER 
ALBS1 EQU * 
      JSB UNISL     GO SELECT A UNIT
      JMP ALBS2     OFF-LINE RETURN 
      JSB BSRWF     BACKSPACE THE UNIT
ALBS2 EQU * 
      ISZ UNITX     INCREMENT UNIT #
      LDA UNITX     LOAD UNIT # 
      CPA .4         IS IT THE LAST UNIT? 
      JMP ALLBS,I   YES-EXIT
      JMP ALBS1     NO-LOOP 
* 
* 
*                   END OF TEST 24
* 
* 
*         TEST 25(31)   INTER-UNIT COMPATIBILITY (REEL EXCHANGE)
* 
*                   -TWO OR MORE ON-LINE UNITS ARE REQUIRED 
*                   -THIS TEST REQUIRES OPERATOR INTERVENTION 
* 
*                   -REEL EXCHANGE
TST25 NOP 
      JSB .EXEC,I   GO SELECT A TAPE UNIT 
      LDA UNITS     GET # OF UNITS ON-LINE
      CPA .1        IS THERE ONLY ONE UNIT UP?
      JMP TST25,I   YES-EXIT TEST 
      LDB SW68      CHECK SWITCH  6,8, AND 12 
      JSB SWRC,I    GO CHECK SWITCH REGISTER
      JMP TST25,I   ON-EXIT TEST
* 
*                   SUBTEST # 1 
* 
      LDA .1
      STA SUBTS     SETUP SUBTEST # 
      JSB VARBF     FILL OUTPUT BUFFER WITH RANDOM DATA 
      JSB .ALRW,I   REWIND ALL UNITS
      JSB .ALWR,I   WRITE OUTPUT BUFFER 
T2501 EQU * 
      JSB .ALRW,I   REWIND ALL UNITS
*                   OUTPUT REEL EXCHANGE MESSAGE
* 
*                   SUBTEST # 2 
* 
      LDA .2
      STA SUBTS     SETUP SUBTEST # 
      JSB MSGH,I    OUTPUT MESSAGE
      DEF H126      POINTER TO MESSAGE
      JMP T2502     CONTINUE
H126  EQU * 
      ASC 10,H126 EXCHANGE REELS/ 
T2502 EQU * 
* 
*                   SUBTEST # 3 
* 
      LDA .3
      STA SUBTS     SETUP SUBTEST # 
      JSB .ALRW,I   REWIND ALL UNITS
      JSB .ALCP,I   COMPARE ALL UNITS(FIRST RECORD) 
* 
*                    SUBTEST # 4
* 
      LDA .4
      STA SUBTS     SETUP SUBTEST # 
      JSB MSGH,I    OUTPUT LOOP MESSAGE 
      DEF H127
      JMP T2504      EXIT 
H127  EQU * 
      ASC 12,H127 SET SW 13 TO LOOP/
T2504 EQU * 
      JMP TST25,I   EXIT TEST 
* 
*                   END OF TEST 25
* 
* 
*         TEST 26(32)   WRITE RING ENABLE TEST
* 
*                   -THIS TEST REQUIRES OPERATOR INTERVENTION 
* 
TST26 NOP 
      JSB .EXEC,I   GO SELECT A TAPE UNIT 
      LDB SW68      CHECK SWITCH  6,8, AND 12 
      JSB SWRC,I    GO CHECK SWITCH REGISTER
      JMP TST26,I   ON-EXIT TEST
*                   OFF-CONTINUE
      JSB LPREW     REWIND UNIT 
* 
*                   SUBTEST # 1 
                                                                                                                                                      