ASMB,R,L,C
      HED RTE DVR36 WCS DRIVER -- INITIATION SECTION
      NAM DVR36 RTE DVR36 13197-16001 REV.A 751221
      ENT I.36,C.36 
      SUP 
* 
*   ********************************************************* 
*   * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1975.           * 
*   *                                                       * 
*   * ALL RIGHTS RESERVED.  NO PART OF THIS PROGRAM MAY BE  * 
*   * PHOTOCOPIED, REPRODUCED, OR TRANSLATED TO ANOTHER     * 
*   * PROGRAM LANGUAGE WITHOUT THE PRIOR WRITTEN CONSENT OF * 
*   * HEWLETT-PACKARD COMPANY.                              * 
*   ********************************************************* 
* 
* 
* 
***************************************** 
*                                       * 
*  I N I T I A T I O N   S E C T I O N  * 
*                                       * 
***************************************** 
* 
* ENTRY:
*   LDA <WCS SELECT CODE> 
*   JSB I.36
* 
* EXIT: 
*   A=0: OPERATION INITIATED.  XFER CONTROL TO C.36 ON DMA OR 
*        TIMER INTERRUPT
*     1: (NOT USED) 
*     2: ILLEGAL RQ OR CONTROL-RQ SUBFUNC CODE
*     3: "INOPERABLE DEVICE" -- NO CORRESPONDING ST ENTRY.
*        HIGHLY UNLIKELY ERROR; OCCURS ONLY WHEN THERE ARE
*        MORE THAN 32 SUBCHANNELS 
*     4: IMMEDIATE COMPLETION 
*   B=TRANSMISSION LOG (ONLY IF A=4)
* 
* 
* 
      OCT 113      VERSION NUMBER: YEAR 
      OCT 1425     BITS 9-6=MONTH...BITS 5-0=DAY
I.36  NOP 
?I1   JMP FIRST    ZAPPED AFTER FIRST TIME
      STA SC       SAVE SELECT CODE 
      CLA          CLEAR DYNAMIC STATUS 
      STA &XSTA,I 
* GET STATE TABLE ADDRESS 
      LDA &UNIT,I  GET SCHNL
      LSR 6 
      AND =B37
      STA SCHNL 
      ADA STX      PTR TO ST ENTRY OFFSET 
      LDB &STAD,I 
      SZB,RSS 
      JMP NOST     NO ST ENTRY (VERY RARE)
      ADB A,I      PTR TO ST ENTRY
      STB @ST 
* GO TO APPROPRIATE I/O SECTION 
      LDA &CNTL,I  GET RQ CODE
      AND =B77
      CPA =D1 
      JMP IREAD 
      CPA =D2 
      JMP IWRIT 
      CPA =D3 
      JMP ICNTL 
* 
*************************** 
* EXIT INITIATION SECTION * 
*************************** 
* 
BADRQ EQU *        ILL RQ CODE
      LDA =D1 
      JMP I.36,I   ABORT
* 
NOST  EQU *        NO ST ENTRY
      LDA =D3 
      JMP I.36,I   ABORT
* 
BADAD EQU *        BAD WCS ADDR 
      LDA =B3 
      STA &XSTA,I 
      JMP IEXIT 
* 
VIOL  EQU *        WCS ADDR CONFLICT (ASSIGN/ENABLE)
      LDA =B7 
      STA &XSTA,I 
      JMP IEXIT 
* 
NOBUF EQU *        BUFFER TOO SMALL (READ STATE)
      LDA =B13
      STA &XSTA,I 
      JMP IEXIT 
* 
BADST EQU *        I/O OR ENABLE RQ ON UNKNOWN SCHNL
      LDA =B15
      STA &XSTA,I 
      JMP IEXIT 
* 
NRESP EQU *        NON-RESPONDING DMA 
      LDA =B17
      STA &XSTA,I 
* 
IEXIT EQU *        NO XMISSN: CONTROL (& STATE) EXIT
      CLA          RETURN 0 XMISSION
      STA &WCNT,I 
DDONE EQU *        DMA XMISSN COMPLETE
      CLA          FAKE XMISSN RESIDUE
      STA COUNT 
IDONE EQU *        COMPLETION EXIT
      JSB TIO      B=XMISSN LOG 
      LDA =D4 
      JMP I.36,I   DONE 
* 
IPAUS EQU *        TIME-OUT EXIT
      JSB SAVE
      CLA 
      JMP I.36,I   WAIT FOR INTERRUPT 
* 
* 
*************** 
* LOGICAL I/O * 
*************** 
* 
* 
******************************
* 
* I R E A D 
* 
* EXEC CALL:
*         JSB EXEC
*         DEF *+6 
*         DEF RCODE 
*         DEF CONWD 
*         DEF BUFR
*         DEF LEN 
*         DEF WCSAD 
*            :
*   RCODE DEC 1 
*   CONWD DEC <LU>
*   BUFR  BSS <2W, W=# MICROWORDS>
*   LEN   DEC <2W OR -4W> 
*   WCSAD OCT <CONTROL STORE ADDR>
* 
IREAD EQU *        READ OR STATUS RQ
      LDA &CNTL,I  GET SUBFUNC FIELD AND ENSURE 
      CLB          EXTRANEOUS BITS ARE NOT SET
      LSR 6 
      CPA =D1 
      JMP STATE    READ STATE RQ
      SZA 
      JMP BADRQ    ILL RQ CODE
      JSB UNKN?    DOWN STATE OR DOWN 12978'S?
      JMP BADST    YES: DON'T ALLOW I/O 
      JSB SIO 
      LDA &UNIT,I  DMA ASSIGNED?
      SSA,RSS 
      JMP IR.1     NO 
      JSB GTSC     GO TO APPROPRIATE DMA DVR
      DEF DR1K
      DEF DR1K
      DEF IR256    ALWAYS NON-DMA 
IR.1  EQU * 
      JSB GTSC     GO TO APPROPRIATE NON-DMA DVR
      DEF IR1K
      DEF IR1K
      DEF IR256 
* 
DR1K  EQU *        DMA 1K READ
      JSB SET1K    SET UP 1K BOARD
      CLA,CCE      A=CWD1 INDICATES NO STC/CLC
      JSB DMA      E=1 FOR READ 
      JSB XFR1K    DO DMA TRANSFER
      JMP DDONE 
* 
IR1K  EQU *        NON-DMA 1K READ
      JSB SIO1K    INITIALIZE TRANSFER
      JSB NR1K
      JMP IDONE    DONE 
      JMP IPAUS    TIME-OUT 
* 
IR256 EQU *        NON-DMA 1/4K READ
      JSB NODMA    RETURN DMA CHANNEL 
      JSB NR256 
      JMP IDONE    DONE 
      JMP IPAUS    TIME-OUT 
* 
* 
******************************
* 
* I W R I T 
* 
* EXEC CALL:
*         JSB EXEC
*         DEF *+6 
*         DEF RCODE 
*         DEF CONWD 
*         DEF BUFR
*         DEF LEN 
*         DEF WCSAD 
*            :
*   RCODE DEC 2 
*   CONWD OCT <LU+(IF VERIFY THEN 100B)>
*   BUFR  BSS <2W, W=# MICROWORDS>
*   LEN   DEC <2W OR -4W> 
*   WCSAD OCT <CONTROL STORE ADDR>
* 
IWRIT EQU * 
      JSB UNKN?    DOWN STATE OR DOWN 12978'S?
      JMP BADST    YES: DON'T ALLOW I/O 
      LDA &CNTL,I  ENSURE EXTRANEOUS BITS ARE NOT SET 
      AND =B177600
      SZA 
      JMP BADRQ 
      JSB SIO 
      LDA &UNIT,I  DMA ASSIGNED?
      SSA,RSS 
      JMP IW.1     NO 
      JSB GTSC     GO TO APPROPRIATE DMA DVR
      DEF DW1K
      DEF DW1K
      DEF IW256    ALWAYS NON-DMA 
IW.1  EQU * 
      JSB GTSC     GO TO APPROPRIATE NON-DMA DVR
      DEF IW1K
      DEF IW1K
      DEF IW256 
* 
DW1K  EQU *        DMA 1K WRITE 
      JSB SET1K    SET UP 1K BOARD
      CLA,CLE      A=CWD1 INDICATES NO STC/CLC
      JSB DMA      E=0 FOR WRITE
      JSB XFR1K    DO DMA TRANSFER
      JSB VERF?    CHECK FOR VERIFY OPTION
      JMP DDONE    NO VERIFY RQ 
      JSB NODMA    RETURN DMA TO SYSTEM 
      JSB SIO1K    RE-INITIATE I/O
      JMP IPAUS 
* 
IW1K  EQU *        NON-DMA 1K WRITE 
      JSB SIO1K    INITIALIZE TRANSFER
      JSB NW1K
      JMP *+2      DONE--CHECK FOR VERIFY RQ
      JMP IPAUS    TIME-OUT 
      JSB VERF? 
      JMP IDONE    NO VERIFY RQ 
      JSB RESET 
      JSB SIO1K    RE-INITIATE I/O
      JMP IPAUS    TIME-OUT 
* 
IW256 EQU *        NON-DMA 1/4K WRITE 
      JSB NODMA    RETURN DMA CHANNEL 
      JSB NW256 
      JMP *+2      DONE--CHECK FOR VERIFY RQ
      JMP IPAUS    TIME-OUT 
      JSB VERF? 
      JMP IDONE    NO VERIFY RQ 
      JSB RESET 
      JMP IPAUS    TIME-OUT 
* 
* 
******************************
* 
* I C N T L 
* 
ICNTL EQU * 
      LDA &CNTL,I  GET SUBFUNC FIELD AND ENSURE 
      CLB          EXTRANEOUS BITS ARE NOT SET
      LSR 6 
      CPA =D1 
      JMP ASSGN 
      CPA =D2 
      JMP ENAB
      CPA =D3 
      JMP DISAB 
      CPA =D4 
      JMP DNRQ
      JMP BADRQ    ILL CNTL RQ
* 
* 
******************************
* 
* A S S G N 
* 
* EXEC CALL:
*         JSB EXEC
*         DEF *+4 
*         DEF RCODE 
*         DEF CONWD 
*         DEF WCSAD 
*            :
*   RCODE DEC 3 
*   CONWD OCT <LU+100B> 
*   WCSAD OCT <CONTROL STORE ADDR>
* 
* FOR HP12978A, ACCEPT ASSIGN REQUEST ONLY IF 1/4K BOARD IS IN DOWN STATE 
* OR ADDRESS IS SAME AS CURRENT BASE ADDRESS.  SET HP12978A ENABLED.  FOR 
* HP13197A IS IN DOWN STATE, SET DISABLED.
* 
* NOTE THAT WCSAD WILL BE PASSED THROUGH &BUFR IN THE EQT.
* 
* WE USE 'FLAG' HERE TO INDICATE WHETHER ADDRESS CONTENTION CHECK 
* SHOULD BE MADE ON DOWNED BOARD.  FOR HP13197A, WE DON'T HAVE TO 
* SINCE BOARD WILL COME UP DISABLED.  BUT FOR HP12978A, WE MUST 
* SINCE BOARD IS ALWAYS ENABLED.
* 
ASSGN EQU * 
      JSB GTSC     CASE ON SCHNL
      DEF A.1K
      DEF A.1K
      DEF A.256    1/4K BOARD 
* 
A.1K  EQU *        PHYSICALLY ASSIGN ADDR TO 1K BOARD 
      CLA          SET 'FLAG' FOR "DISABLED"
      STA FLAG
      LDA =B177000
      JSB A.BAS    ADJUST BASE ADDR AND CHECK 
      JSB A.SET    SET BASE ADDR IN ST ENTRY
      JSB DOWN? 
      JSB DABLE    YES: LOGICALLY DISABLE ALL SCHNLS
      JSB BASES    A=SCHN1 BASE ADDR, B=SCHN0 BASE ADDR 
      ALF,ALF 
      RAR,RAR      (WE SHIFT AGAIN BELOW) 
      IOR B 
      RAR 
      JSB A1K      SEND BLOCK NUMBERS 
      JMP IEXIT 
* 
A.256 EQU * 
      CLA,INA      SET 'FLAG' FOR "PSEUDO-DISABLED" 
      STA FLAG
      LDA =B177400
      JSB A.BAS    ADJUST BASE ADDR AND CHECK 
      JSB DOWN? 
      JMP A.OK
      LDA @ST,I    NO: CHECK FOR SAME BASE ADDR 
      AND =B177 
      ALF,ALF 
      CPA BASE
      JMP IEXIT    THE SAME: BOARD IS ALREADY ENABLED 
      JMP BADAD    NOT THE SAME: REJECT ASSIGN RQ 
A.OK  EQU *        LOGICALLY ALTER STATE OF 1/4K BOARD
      JSB A.SET    ON RETN, A=ST ENTRY
      AND =B117777 (ASSUME PRIOR DOWN STATE)
      STA @ST,I 
      LDA #UNKN    REDUCE UNKN COUNTER
      SSA,INA 
      STA #UNKN 
      JMP IEXIT 
* 
A.BAS NOP          INTERNAL SUBR.  A=BASE ADDR MASK.
      AND &BUFR,I  ISOLATE BLOCK/MODULE NUMBER
      SSA 
      JMP BADAD    ERROR: WCS ADDR<0
      STA BASE
      LDB @ST,I    SCHNL ENABLED? 
      BLF,RBR 
      SSB,SLB      DOWN (NEITHER BIT 0)?
      LDB FLAG     YES: USE FLAG
      CMB,SSB,SLB  ENABLED OR PSEUDO-DISABLED?
      JMP A.BAS,I  NO--OK TO PROCEED
      LDB @ST      CHECK FOR CONFLICTS WITH OUR SCHNL 
      JSB DUPE?    (SISTER SCHNLS WERE CHECKED PREVIOUSLY)
      JMP VIOL     ERROR: CONFLICTING ADDR SPACES 
      JMP A.BAS,I 
* 
A.SET NOP          SET BASE ADDR IN ST ENTRY
      LDA @ST,I 
      AND =B177600
      LDB BASE
      BLF,BLF 
      IOR B 
      STA @ST,I 
      JMP A.SET,I   A=ST ENTRY
* 
* 
******************************
* 
* D I S A B 
* 
* EXEC CALL:
*         JSB EXEC
*         DEF *+3 
*         DEF RCODE 
*         DEF CONWD 
*            :
*   RCODE DEC 3 
*   CONWD OCT <LU+300B> 
* 
* ALGORITHM:
*   1.0  IF DOWN, IGNORE REQUEST WITHOUT ERROR (ESSENTIALLY DISABLED
*        ALREADY) 
*   1.1  IF 12978A (AND NOT DOWN), REQUEST HAS NO AFFECT SINCE CANNOT 
*        DYNAMICALLY ALTER CONTROL STATE.  RETURN PSEUDO-DISABLE ERROR
*        BUT DO NOT ALTER STATE TABLE.
*   1.2  IF 13197A (AND NOT DOWN), DYNAMICALLY DISABLE BOARD OR SET 
*        PSEUDO-DISABLE SUBCHANNEL IF BROTHER SUBCHANNEL IS ENABLED.
*        (IF THERE ARE UNKNOWN 12978A'S, WE DON'T HAVE TO DO THIS 
*        SINCE WE KNOW THAT NO ENABLE REQUEST HAS BEEN HONORED. 
*        NONETHELESS, WE IGNORE THIS DEGENERATE CASE.)
* 
DISAB EQU * 
      JSB DOWN?    INACTIVE SCHNL?
      JMP IEXIT    YES: IGNORE RQ WITHOUT NOTICE
      JSB GTSC     CASE ON SCHNL
      DEF D.1K
      DEF D.1K
      DEF D.2      1/4K BOARD: RETURN PSEUDO-DISABLE ERROR
* 
D.1K  EQU * 
      JSB EN?      BROTHER SCHNLS ENABLED?
      JMP D.PSD    YES: PSEUDO-DISABLE THIS ONE 
      JSB DABLE    NO: LOGICALLY DISABLE ALL SCHNLS 
      JSB DS1K     PHYSICALLY DISABLE 1K BOARD
      JMP IEXIT 
* 
D.PSD EQU *        PSEUDO-DISABLE BOARD 
      LDA @ST,I 
      AND =B147777 CLEAR ENABLE BIT 
      IOR =B060000 SET PSEUDO-DISABLE BIT 
      STA @ST,I 
D.2   EQU *        SET PSEUDO-DISABLE ERROR 
      LDA =B11
      STA &XSTA,I 
      JMP IEXIT 
* 
* 
********************************
* 
* E N A B 
* 
* EXEC CALL:
*         JSB EXEC
*         DEF *+3 
*         DEF RCODE 
*         DEF CONWD 
*            :
*   RCODE DEC 3 
*   CONWD OCT <LU+200B> 
* 
* WE FILTER "UNKNOWN" SUBCHANNELS FIRST: NO SUBCHANNEL MAY BE ENABLED 
* UNTIL THE STATE OF ALL 12978A BOARDS IS KNOWN (BY ASSIGNING A BASE
* ADDRESS OR DISABLING) AND UNTIL THE STATE OF THE CURRENT SUBCHANNEL 
* IS KNOWN (BY ASSIGNING A BASE ADDRESS).  THESE RESTRICTIONS ARE 
* NEEDED: (1) TO ENSURE THE INTEGRITY OF THE ADDRESS CONTENTION CHECKS
* (SINCE THE 12978A BOARD IS ALWAYS ENABLED, WE CANNOT PREVENT ADDRESS
* CONFLICTS UNTIL WE ARE MADE AWARE OF THEIR ADDRESS SPACE), AND (2) TO 
* ENSURE THAT DYNAMICALLY CONFIGUARABLE BOARDS (EG., 13197A) HAVE BEEN
* ASSIGNED BLOCK NUMBERS PRIOR TO ENABLING. 
* 
* IF 12978A (1/4K) BOARD, WE ACCEPT REQUEST BUT IT HAS NO AFFECT.  THIS 
* IS BECAUSE BOARD MUST ALREADY BE ENABLED (SINCE WE ENABLED BOARD WHEN 
* ADDRESS WAS ASSIGNED).
* 
ENAB  EQU * 
      JSB UNKN?    DOWN STATE OR DOWN 12978'S 
      JMP BADST    YES: DON'T ALLOW ENABLE
      JSB #SCHN    GET # SCHNLS (NEGATIVE)
      STA CNT1
      STA CNT2     FOR E.PSD SUBR 
      LDB &STAD,I 
      STB @PTR
E.LP1 EQU *        CHK FOR CONFLICTS WITH EACH SISTER SCHNL 
      LDA @PTR,I   IF SCHNL IS NOT DISABLED, NO NEED
      ALF,RAR      TO CHECK FOR CONFLICTS: DONE BEFORE
      CMA,SSA,SLA,RSS  BOTH BITS RESET (=DISABLED)? 
      JMP E.NX1    NO: IGNORE NON-DISABLED SCHNL
      LDA @PTR,I   ST ENTRY 
      AND =B177    CONVERT MODULE NUMBER... 
      ALF,ALF      ...TO BASE ADDR
      LDB @PTR     PTR TO ST ENTRY
      JSB DUPE? 
      JMP VIOL     CONFLICT 
E.NX1 EQU * 
      ISZ @PTR
      ISZ CNT1
      JMP E.LP1 
      JSB GTSC     CASE ON SCHNL
      DEF E.1K
      DEF E.1K
      DEF IEXIT    1/4K BOARD: ALREADY ENABLED
* 
E.1K  EQU *        1K BOARD 
      JSB BASES    A=SCHNL1 MOD#, B=SCHNL0 MOD# 
      ALF,ALF      CONVERT MODULE NUMBERS...
      BLF,BLF      ...TO BASE ADDRS 
      JSB DJNT?    CONFLICT BETWEEN SCHNLS? 
      DEC 1 
      DEC 0 
      JMP VIOL     YES: NOT DISJOINT
      JSB E.PSD    NO: PSEUDO-DISABLE SISTER SCHNLS 
      JSB EN1K     PHYSICALLY ENABLE BOARD
      LDA @ST,I    LOGICALLY ENABLE SCHNL 
      AND =B147777
      IOR =B010000
      STA @ST,I 
      JMP IEXIT 
* 
* INTERNAL SUBROUTINE: SET DISABLED SISTER SCHNLS TO PSEUDO-DISABLE.
* THIS ROUTINE IS CALLED ONLY FOR DEVICES WITH INTERDEPENDENT SCHNLS
* WHICH CANNOT BE INDIVIDUALLY DISABLED/ENABLED.
* 
E.PSD NOP 
      LDB &STAD,I 
E.LP2 EQU *        PSEUDO-DISABLE OTHER SCHNLS
      LDA B,I      ENABLED? 
      ALF,SLA 
      JMP E.NX2 
      LDA B,I      NO: SET PSEUDO-DISABLE BIT 
      IOR =B020000
      STA B,I 
E.NX2 EQU * 
      INB 
      ISZ CNT2
      JMP E.LP2 
      JMP E.PSD,I 
* 
* 
******************************
* 
* D N R Q 
* 
* EXEC CALL:
*         JSB EXEC
*         DEF *+3 
*         DEF RCODE 
*         DEF CONWD 
*            :
*   RCODE DEC 3 
*   CONWD OCT <LU+400B> 
* 
* CALLED BEFORE :DN'ING BOARD (IE., REMOVING FROM MAINFRAME).  WE SET DOWN
* STATE FOR TWO REASONS: (1) EXCLUDE SUBCHANNELS FROM ADDRESS CONTENTION
* CHECKS, AND (2) PREVENT SUBSEQUENT ACCESS TO BOARD WITHOUT PRIOR ASSIGNMENT 
* OF BASE ADDRESS.  FOR 13197A (1K) BOARD, WE ALSO PHYSICALLY DISABLE BOARD.
* WE DO NOT REQUIRE THAT BOARD IS IN INACTIVE STATE AT THE TIME ON THE
* ASSUMPTION THAT IF USER IS ABOUT TO REMOVE BOARD, HE MUST HAVE FULL 
* CONTROL OVER IT.  FOR 12978A (1/4K) BOARD, WE MUST INCREMENT "UNKN" 
* COUNTER.
* 
DNRQ  NOP 
      JSB SETST    SET ALL SCHNLS TO DOWN STATE 
      OCT 030000
      JSB GTSC     CASE ON SCHNL
      DEF DN.1K 
      DEF DN.1K 
      DEF DN256    1/4K BOARD 
* 
DN.1K EQU *        PHYSICALLY DISABLE 1K BOARD
      JSB DS1K
      JMP IEXIT 
* 
DN256 EQU *        DECREMENT "UNKN" COUNTER 
      LDA #UNKN 
      SSA,INA      INCREMENT IF NEGATIVE
      STA #UNKN 
      JMP IEXIT 
* 
* 
******************************
* 
* S T A T E 
* 
* EXEC CALL:
*         JSB EXEC
*         DEF *+5 
*         DEF RCODE 
*         DEF CONWD 
*         DEF STATE 
*         DEF LEN 
*            :
*   RCODE DEC 1 
*   CONWD OCT <LU+100B> 
*   STATE BSS 2 
*   LEN   DEC <2 OR -4 (OR GREATER)>
* 
* NOTE THAT THIS IS A READ REQUEST.  THIS IS SO THAT WE CAN 
* RETURN INFORMATION TO THE CALLER.  THE LENGTH OF STATE AND
* THE SIZE OF LEN MAY EXCEED TWO WORDS. 
* 
STATE EQU * 
      LDA &LEN,I   CHECK BUFLEN 
      SSA,RSS      BYTE COUNT?
      JMP S.CHK 
      CMA,INA      YES
      INA          ROUND UP TO WORD 
      ARS 
S.CHK EQU * 
      ADA =D-2     BUFLEN>=2? 
      SSA 
      JMP NOBUF    NO 
      LDA @ST,I    FORMAT SCHNL & STATUS
      LSR 7 
      AND =B177 
      LDB &BUFR,I 
      STA B,I 
      INB 
      LDA @ST,I    FORMAT BASE ADDR 
      AND =B177 
      ALF,ALF 
      STA B,I 
      JMP IEXIT 
* 
* 
*************** 
* SUBROUTINES * 
*************** 
* 
* 
******************************
* 
* B A S E S 
* 
* EXIT: 
*   A= BASE ADDR FOR SCHNL 1
*   B= BASE ADDR FOR SCHNL 0
* 
* PICKS UP BASE MODULE #'S FOR 2-SCHNL DEVICE (EG., 1K BOARD) AND PUTS INTO 
* A & B REGISTERS.
* 
BASES NOP 
      LDB &STAD,I  PTR TO ST ENTRIES
      LDA B,I      FIRST ST ENTRY 
      AND =B177    BASE ADDR FOR SCHNL 0
      SWP 
      INA 
      LDA A,I      SECOND ST ENTRY
      AND =B177    BASE ADDR FOR SCHNL 1
      JMP BASES,I 
* 
* 
******************************
* 
* D A B L E 
* 
* LOGICALLY DISABLE ALL SISTER SUBCHANNELS.  APPLIES TO ALL INTERCONNECTED
* SUBCHANNELS (EG., 13197A).
* 
DABLE NOP 
      JSB SETST    DISABLE ALL SCHNLS 
      OCT 0 
      JMP DABLE,I 
* 
* 
******************************
* 
* D J N T ? 
* 
                                                                                                                                                                                                                                      