ZSAVA NOP 
ZSAVB NOP 
ZEOLC NOP 
ZTSTA NOP 
ZSINA NOP 
ZSINB NOP 
ZUINA NOP 
ZUINB NOP 
ZBTMP NOP 
Z.2   OCT 2 
Z.3   OCT 3 
Z.7   OCT 7 
Z.10  OCT 10
Z.60  OCT 60
Z.77  OCT 77
Z.177 OCT 177 
Z.M1  DEC -1
Z.M2  DEC -2
ZIOM  OCT 177700
ZSW15 OCT 100000
ZSW14 OCT 40000 
ZSW13 OCT 20000 
ZSW12 OCT 10000 
ZSW9  OCT 1000
ZSWM9 OCT 176777
Z.100 OCT 100 
Z.200 OCT 200 
Z.300 OCT 300 
ZH2   OCT 102000
ZH6   OCT 106000
ZH3   OCT 103000
ZH7   OCT 107000
ZCFTT DEC -1
ZTSTF DEF *+1 
      ASC 3,TEST
ZTSTN ASC 2,XX//
ZPSC  OCT 6412
      ASC 6,PASS XXXXXX/
ZA.E  OCT 105 
      SKP 
*         GENERAL ROUTINES
*        CONVERT A REG. TO TWO ASCII CHARACTERS IN A REG. 
* 
ZN2AO NOP 
      STA ZIOAD     SAVE NUMBER 
      AND Z.7       CONVERT FIRST 
      IOR Z.60        NUMBER
      STA B         SAVE IT 
      LDA ZIOAD     GET 
      RAR,RAR         SECOND
      RAR               NUMBER
      AND Z.7       CONVERT 
      IOR Z.60        IT
      ALF,ALF       MOVE TO UPPER HALF
      IOR B         ADD LOWER 
      JMP ZN2AO,I   AND RETURN
* 
* 
*         SWITCH REGISTER CHECK 
* 
ZSWRT NOP 
      STA ZN2AO     SAVE A REGISTER 
      LIA SW        GET SWITCH REG. 
      AND B         MASK OUT BIT
      SZA,RSS       IS IT UP? 
      ISZ ZSWRT     NO
      LDA ZN2AO     RESTORE A REGISTER
      LIB SW        LET B = SWITCH REGISTER 
      JMP ZSWRT,I   RETURN TO CALLER
* 
* 
*         INITIALIZE TRAP CELL HALTS
* 
ZITCH NOP 
      LDA ZTSH      GET STARTING TRAP CELL HALT 
      LDB Z.2       GET FIRST TRAP CELL LOCATION
ZTSHL STA B,I       PUT IT IN PLACE 
      CPB Z.77      AM I FINISHED 
      JMP ZITCH,I   YES 
      INB             NEXT ADDRESS
      JMP ZTSHL 
* 
* 
*         PUT JSB INSTRUCTION IN TRAP CELL
* 
ZTCJI NOP 
      LDB ZJSBI     GET INSTRUCTION 
      STB ZIOSC,I   PUT IT IN TRAP CELL 
      LDA ZTCJI,I   GET LOCATION
      STA 3B        SAVE IT FOR JSB INSTRUCTION 
      ISZ ZTCJI     ADJUST RETURN 
      JMP ZTCJI,I   RETURN TO CALLER
* 
ZJSBI JSB 3B,I      JSB INSTRUCTION 
      SKP 
* 
*         INITIALIZE SELECT CODE I/O INSTRUCTIONS 
* 
ZISC  NOP 
      STA ZIOSC     SAVE SELECT CODE
      STB ZIOAD     SAVE TABLE ADDRESS
ZIOL  LDB ZIOAD,I   GET ADDRESS OF LOCATION 
      CPB Z.M1      IS IT THE TERMINATOR
      JMP ZISC,I    YES RETURN TO CALLER
      LDA B,I       NO - GET CONTENTS 
      AND ZIOM      MASK OFF OLD SELECT CODE
      IOR ZIOSC     ADD IN NEW SELECT CODE
      STA B,I       RESTORE  IT 
      ISZ ZIOAD     MOVE TO NEXT ADDRESS
      JMP ZIOL      DO IT 
* 
ZIOSC NOP 
ZIOAD NOP 
* 
* 
*         CONFIGURATION SECTION 
* 
ZCONF CLC INTP,C    TURN I/O SYSTEM OFF 
      LIA SW        GET SELECT CODE AND OPTIONS 
      STA USSC      SAVE THEM 
      AND Z.77      ELIMINATE OPTIONS 
      LDB A 
      CMB,INB       CHECK THAT SC > 7 
      ADB Z.7 
      SSB           ? 
      JMP *+3       OK GO ON
      HLT 73B       NO
      JMP ZCONF     TRY AGAIN 
      LDB IOIPL     INITIALIZE TEST I/O FOR 
      JSB ZISC        LOWER SC INSTRUCTIONS 
      LDA USSC      GET SC AND OPTIONS
      AND Z.77      ELIMINATE OPTIONS 
      INA             & INCREASE SC FOR CONTR.CHANNEL 
      LDB IOIPU     INITIALIZE TEST I/O FOR 
      JSB ZISC        UPPER SC INSTRUCTIONS 
      CLA           CLEAR S-REG 
      OTA SW
      HLT 74B       ALLOW OPERATOR TO CHANGE SWIT 
      JMP ZSTEX     GO TO EXEC CONTROL SECTION
* 
* 
* 
*************************************************************** 
      SKP 
      HED TEST 00 
* 
*         BASIC I/O TESTS, TEST 00
* 
*         THIS TEST IS EXECUTED ON EVERY I-O BOARD TESTED 
*         WITH THIS DIAGNOSTIC. 
* 
SC    EQU 10B 
* 
TST00 EQU * 
      NOP 
      CLA           CLEAR DATA-CONTROL CHANNEL
      STA UIFLG       FLAG FOR 12930 BOARD
      LDA USSC      GET CELL LOCATION 
      AND Z.77
      JSB ZBIO      DO BASIC I/O
      JMP TST00,I 
* 
ZBIO  NOP 
      CLC INTP,C    TURN OFF ALL I/O
      LDB ZBIOD     INITIALIZE BASIC I/O
      JSB ZISC        INSTRUCTIONS
* 
*         INTERRUPT FLAG CHECK
* 
ZBIO1 STF INTP
      CLF INTP
      SFC INTP
      RSS 
      JMP *+3 
E000  JSB ERMS,I    E000 CLF 0-SFC 0 ERROR
      DEF ZBE00 
      SFS INTP
      JMP *+3 
E001  JSB ERMS,I    E001 CLF 0-SFS 0 ERROR
      DEF ZBE01 
      STF INTP
      SFC INTP
      JMP *+4 
      CLF INTP      TURN OFF INTS 
E002  JSB ERMS,I    E002 STF 0-SFC 0 ERROR
      DEF ZBE02 
      SFS INTP
      JMP *+3 
      CLF INTP      TURN OFF INTERRUPTS 
      JMP ZBIO2 
      CLF INTP      TURN OFF INTS 
E003  JSB ERMS,I    E003 STF 0-SFS 0 ERROR
      DEF ZBE03 
      JMP ZBIO2 
* 
ZBE00 ASC 12,E000 CLF 0-SFC 0 ERROR/
ZBE01 ASC 12,E001 CLF 0-SFS 0 ERROR/
ZBE02 ASC 12,E002 STF 0-SFC 0 ERROR/
ZBE03 ASC 12,E003 STF 0-SFS 0 ERROR/
      SKP 
*         CARD FLAG CHECK 
* 
ZBIO2 EQU * 
ZBS21 STF SC
ZBS22 CLF SC
ZBS23 SFC SC
      RSS 
      JMP *+3 
E005  JSB ERMS,I    E005 CLF SC-SFC SC ERROR
      DEF ZBE05 
ZBS24 SFS SC
      JMP *+3 
E006  JSB ERMS,I    E006 CLF SC-SFS SC ERROR
      DEF ZBE06 
ZBS25 STF SC
ZBS26 SFC SC
      JMP *+3 
E007  JSB ERMS,I    E007 STF SC-SFC SC ERROR
      DEF ZBE07 
ZBS27 SFS SC
      RSS 
      JMP ZBIO3 
E010  JSB ERMS,I    E010 STF SC-SFS SC ERROR
      DEF ZBE10 
      JMP ZBIO3 
* 
ZBE05 ASC 13,E005 CLF SC-SFC SC ERROR/
ZBE06 ASC 13,E006 CLF SC-SFS SC ERROR/
ZBE07 ASC 13,E007 STF SC-SFC SC ERROR/
ZBE10 ASC 13,E010 STF SC-SFS SC ERROR/
* 
*         INTERRUPT CONTROL 
* 
ZBIO3 JSB ZTCJI     SET JSB INSTRUCTION 
      DEF ZB3E
ZBS31 STF SC        SET THE FLAG
ZBS32 STC SC        SET THE CONTROL 
      STF INTP      TURN I/O SYSTEM ON THEN 
      CLF INTP      TURN I/O SYSTEM OFF 
      NOP           GIVE IT A CHANCE TI INTERRUPT 
      NOP 
ZBS33 CLF SC        RESET SC FLAG 
      JMP ZBIO4 
* 
ZBE04 ASC 16,E004 CLF 0 DID NOT INHIBIT INT/
* 
ZB3E  NOP 
      CLF INTP      TURN OFF INTS 
E004  JSB ERMS,I    E004
      DEF ZBE04 
      SKP 
*         SELECT CODE SCREEN TEST 
* 
ZBIO4 LDB Z.10      START WITH LOWEST ADDRESS 
ZB40  LDA ZIOSC     GET SELECT CODE 
      CPB A         IS IT THE SC UNDER TEST?
      JMP Z.CLF+1   YES - SKIP TEST 
      LDA Z.STF     SET UP
      AND ZIOM
      IOR B           STF INSTRUCTION 
      STA Z.STF     PUT IT IN PLACE 
      LDA Z.CLF     SET UP
      AND ZIOM
      IOR B         CLF INSTRUCTION 
      STA Z.CLF     PUT IT IN LINE
ZBS41 CLC SC,C      CLEAR CHANNEL FLAG
Z.STF STF SC        EXECUTE STF SC INSTRUCTION
ZBS42 SFC SC        TEST CHANNEL FLAG 
      JMP ZB41
Z.CLF CLF SC        CLEAR TEST FLAG 
      CPB Z.77      IS TEST FINISHED? 
      JMP ZBIO5     YES 
      INB           NO
      JMP ZB40        DO NEXT SELECT CODE 
* 
ZBE11 ASC 14,E011 STF  XX SET CARD FLAG// 
* 
ZB41  STB ZBTMP     SAVE NUMBER 
      LDA B         CONVERT SC FOR MESSAGE
      JSB ZN2AO 
      STA ZBE11+5 
      LDA ZBTMP     RETRIEVE NUMBER 
E011  JSB ERMS,I    E011
      DEF ZBE11 
      SKP 
*         CHECK INTERRUPT & HOLD OFF
* 
ZBIO5 JSB ZTCJI 
      DEF ZBI5
      CLA           SET UP
      STA ZBF5        FLAGS 
      STA ZBI5        FOR TEST
      STA ZBTMP 
ZBS51 STC SC        TURN ON 
ZBS52 STF SC          CARD
      STF INTP      AND INTERRUPTS
      STC 1         * 
      STF 1         * 
      CLC 1         * 
      CLF 1         *  NO INTERRUPT 
      JMP *+1,I     *  SHOULD OCCURR
      DEF *+1       *  HERE 
      JSB *+1,I     * 
      DEF *+1       * 
ZBF5  NOP           * 
      ISZ ZBTMP     INT. SHOULD BE HERE 
      ISZ ZBTMP 
      CLF INTP      TURN I/O SYSTEM OFF 
      LDA ZBI5      DID IT INTERRUPT? 
      SZA 
      JMP *+4 
E014  JSB ERMS,I    E014 NO INT 
      DEF ZBE14 
      JMP ZBIO6     ABORT REST OF SECTION 
      LDA ZBTMP     CHECK FOR CORRECT INTERRUPT 
      CPA Z.2       ? 
      JMP *+3 
E026  JSB ERMS,I    E026 INT EXECUTION ERROR
      DEF ZBE26 
ZBS53 CLF SC        TURN OFF SC FLAG
      JMP ZBIO6     GO TO NEXT SECTION
* 
ZBD5  DEF ZBF5-1
ZBD5A DEF ZBF5+1
* 
ZBE12 ASC 16,E012 INT DURING HOLD OFF INSTR/
ZBE13 ASC 12,E013 SECOND INT OCURRED/ 
ZBE14 ASC 06,E014 NO INT/ 
ZBE15 ASC 12,E015 INT RTN ADDR ERROR/ 
ZBE26 ASC 13,E026 INT EXECUTION ERROR/
      SKP 
ZBI5  NOP 
      CLF INTP      TURN I/O SYSTEM OFF 
      LDA ZBD5      CHECK TO SEE IF ALL 
      CPA ZBF5          INSTRUCTIONS COMPLETED
      JMP *+3       YES 
E012  JSB ERMS,I    E012 INT DURING HOLD OFF
      DEF ZBE12 
      LDA ZBD5A     CHECK RETURN ADDRESS
      LDB CPTO      IF 210X 
      SSB           ADD ONE 
      INA 
      CPA ZBI5
      JMP ZBI5A 
E015  JSB ERMS,I    E015 INT RTN ADDR ERROR 
      DEF ZBE15 
      JMP ZBIO6 
ZBI5A JSB ZTCJI     SET SECOND INT TRAP 
      DEF ZBT5
      STF INTP      TURN I/O SYSTEM ON
      JMP ZBI5,I    CONTINUE TEST 
* 
* 
ZBT5  NOP 
      CLF INTP      TURN I/O SYSTEM OFF 
E013  JSB ERMS,I    E013 SECOND INT OCURRED 
      DEF ZBE13 
      SKP 
*         CLC SC AND  CLC 0 
* 
ZBIO6 JSB ZTCJI     SET JSB INSTRUCTION 
      DEF ZBI61 
ZBS61 STC SC        SET SC CONTROL
ZBS62 STF SC        SET SC FLAG 
      STF INTP      TURN ON INTERRUPTS
ZBS63 CLC SC        CLEAR SC CONTROL
      NOP           GIVE IT A CHANCE
      NOP 
      CLF INTP      TURN INTS OFF 
ZB60  JSB ZTCJI     SET JSB INSTRUCTION 
      DEF ZBI62 
ZBS64 CLF SC        CLEAR SC FLAG 
ZBS65 STC SC        SET SC CONTROL
ZBS66 STF SC        SET SC FLAG 
      STF INTP      TURN ON INTS
      CLC INTP      CLEAR I/O SYSTEM
      NOP           GIVE IT A CHANCE
      NOP 
      CLF INTP      TURN OFF INTS 
      JMP ZBIO7 
* 
* 
ZBI61 NOP 
      CLF INTP      TURN OFF INTS 
E016  JSB ERMS,I    E016 CLC SC ERROR 
      DEF ZBE16 
      JMP ZB60
* 
ZBI62 NOP 
      CLF INTP      TURN OFF INTS 
E017  JSB ERMS,I    E017 CLC 0 ERROR
      DEF ZBE17 
      JMP ZBIO7 
* 
ZBE16 ASC 9,E016 CLC SC ERROR/
ZBE17 ASC 9,E017 CLC 0 ERROR/ 
      SKP 
*         EXTERNAL & INTERNAL PRESET TEST 
* 
ZBIO7 LDB S128      CHECK TO SUPPRESS 
      JSB SWRT,I    ? 
      JMP H025      YES - SKIP PRESET TEST
H024  JSB MSGC,I    TELL OPERATOR 
      DEF ZBM24     PRESS PRESET
* 
ZBS71 CLF SC        CLEAR SC FLAG 
      STF INTP      TURN ON INTS
      JSB ZTCJI     SET TRAP CELL JSB INSTRUCTION 
      DEF ZBI70 
      HLT 24B       WAIT FOR OPERATOR 
      CLA,INA       SET UP FLAGS FOR TESTS
      SFS INTP      CHECK INTP FLAG 
      CLA           NOT SET SO CLEAR FLAG 
      RAL           MOVE TO NEXT FLAG 
      CLF INTP      TURN OFF ONTPS
ZBS72 SFS SC        CHECK CHANNEL FLAG
      INA           NOT SET SO FLAG IT
      RAL           MOVE TO NEXT FLAG 
      LIB 0         CHECK I/O BUSS
      SZB           SHOULD BE ZERO
      INA           NOT SO FLAG IT
      RAL           MOVE TO NEXT FLAG 
      STF INTP      CHECK CONTROL ON CARD 
      NOP           GIVE IT A CHANCE
      NOP 
      CLF INTP      TURN OFF INTPS
ZB70  SLA,RSS       CHECK FOR ERRORS
      JMP *+3 
E022  JSB ERMS,I    E022 DID NOT CLEAR CONTROL
      DEF ZBE22 
      RAR 
      SLA,RSS 
      JMP *+3 
E023  JSB ERMS,I    E023 I/O LINES NOT CLEAR
      DEF ZBE23 
      RAR 
      SLA,RSS 
      JMP *+3 
E020  JSB ERMS,I    E020 FLAG NOT SET 
      DEF ZBE20 
      RAR 
      SLA,RSS 
      JMP *+3 
E021  JSB ERMS,I    E021 DID NOT DIABLE INTS
      DEF ZBE21 
H025  JSB MSGC,I    TELL OPERATOR 
      DEF ZBM25     BASIC I/O IS COMPLETE 
      SKP 
      LDA USSC      CHECK IF UNIVERSAL INTERFACE
      AND .200        IS TESTED 
      SZA,RSS 
      JMP ZBIO,I    NO, RETURN TO CALLER
      LDA UIFLG     YES, CHECK VIA UIFLG IF DATA OR 
      SZA             CONTROL CHANNEL WAS TESTED
      JMP CCT       CONTROL CHANNEL WAS TESTED
      JSB MSGC,I    DATA CHANNEL WAS TESTED. ADD
      DEF ZBN25       QUALIFIER TO MESSAGE
      ISZ UIFLG     INCREMENT FLAG TO CONTROL CHANNEL 
      LDA USSC      LOAD AND INCREMENT THE SC OF THE
      AND .77         DATA CHANNEL TO REACH THE 
      INA               CONTROL CHANNEL SC
      JMP ZBIO+1    RETURN TO BI-O
CCT   JSB MSGC,I    CONTROL CHANNEL TESTED. ADD 
      DEF ZBP25       QUALIFIER TO MESSAGE
      JMP ZBIO,I    RETURN TO CALLER
* 
ZBI70 NOP           CONTROL FAILED
      CLF INTP      TURN OFF INTPS
      INA 
      JMP ZB70
* 
UIFLG OCT 0 
      SKP 
ZBE20 ASC 17,E020 PRESET(EXT) DID NOT SET FLAG/ 
ZBE21 ASC 19,E021 PRESET(INT) DID NOT DISABLE INTS/ 
ZBE22 ASC 20,E022 PRESET(EXT) DID NOT CLEAR CONTROL/
ZBE23 ASC 21,E023 PRESET(EXT) DID NOT CLEAR I-O LINES/
ZBM24 ASC 17,H024 PRESS PRESET (EXT&INT),RUN/ 
ZBM25 ASC 13,H025 BASIC I-O COMPLETED/
ZBN25 ASC 11,     ON DATA CHANNEL/
ZBP25 ASC 12,     ON CONTROL CHANNEL/ 
* 
ZBIOD DEF *+1 
      DEF ZBS21 
      DEF ZBS22 
      DEF ZBS23 
      DEF ZBS24 
      DEF ZBS25 
      DEF ZBS26 
      DEF ZBS27 
      DEF ZBS31 
      DEF ZBS32 
      DEF ZBS33 
      DEF ZBS41    POINTERS TO ALL I-O INSTR. 
      DEF ZBS42      IN BASIC I-O 
      DEF ZBS51 
      DEF ZBS52 
      DEF ZBS53 
      DEF ZBS61 
      DEF ZBS62 
      DEF ZBS63 
      DEF ZBS64 
      DEF ZBS65 
      DEF ZBS66 
      DEF ZBS71 
      DEF ZBS72 
      DEC -1
* 
ZCEND EQU * 
* 
* 
* 
**************************************************************
      SKP 
      HED TESTS 01 & 02 
*           RELAY REGISTER PATTERN TEST, TEST 01
* 
*           THIS TEST IS EXECUTED ONLY ON THE 12551B
*           RELAY REGISTER INTERFACE. IT VERIFIES THE 
*           OPENING AND CLOSURE OF THE REED RELAYS. 
* 
      ORG ZCEND 
TST01 EQU * 
* 
RLOC  NOP 
      LDA USSC      IS THIS A RELAY REGISTER? 
      AND BIT10 
      SZA,RSS       ? 
      JMP RLOC,I    NO, RETURN TO EXEC
      CLC INTP,C    YES, EXECUTE TEST, TURN I-O OFF 
      CCA           SET ALL BITS IN MASK
      STA BTMSK 
      CLA           OPEN ALL RELAYS 
      JSB RELAY 
      DEF MS030     TELL OPERATOR TO CHECK THEM 
      CCA 
      JSB RELAY     CLOSE ALL RELAYS
      DEF MS031 
      LDA ALT1      ALTERNATING PATTERN 
      JSB RELAY 
      DEF MS032 
      LDA ALT2      OPPSITE PATTERN 
      JSB RELAY 
      DEF MS033 
      JMP RLOC,I
* 
MS030 ASC 12,H030 OBSERVE ALL ZEROS/
MS031 ASC 11,H031 OBSERVE ALL ONES/ 
ALT1  OCT 125252
MS032 ASC 14,H032 OBSERVE PATTERN 125252/ 
ALT2  OCT 052525
MS033 ASC 14,H033 OBSERVE PATTERN 052525/ 
* 
*              RELAY PATTERN OUTPUT 
* 
RELAY NOP 
      JSB OUT       OUTPUT PATTERN
      LDB RELAY,I   GET MESSAGE POINTER 
      ISZ RELAY 
      STB RLYM
      STA EXP       SAVE EXPECTED 
      JSB IN        GET INPUT 
      LDA USSC      CHECK FOR READ BACK OPTION
      AND BIT9
      SZA 
      JSB CMPR      YES COMPARE IT
      LDA EXP       DISPLAY PATTERN 
      CLB 
H030  JSB MSGH,I    TELL OPERATOR TO
RLYM  NOP           OBSERVE PATTERN 
      JMP RELAY,I 
      SKP 
* 
*         RELAY REGISTER COMMAND TEST, TEST 02
* 
*         THIS TEST IS EXECUTED ONLY ON THE 12551B RELAY
*         REGISTER INTERFACE. IT VERIFIES THE COMMAND 
*         OUTPUT SIGNALS. 
* 
      ORG 4000B 
TST02 EQU * 
* 
COT   NOP 
      LDA USSC      IS THIS A RELAY REGISTER? 
      AND BIT10 
      SZA,RSS       ? 
      JMP COT,I     NO, RETURN TO EXEC
      CLC INTP,C    YES, TURN EVERYTHING OFF
SC0   CLC SC,C      CLEAR CONTROL/FLAG/COMMAND
SC1   STC SC        SET CONTROL/COMMAND 
H035  JSB MSGH,I    OUTPUT MSG
      DEF MS035        "OBSERVE CMD OUTPUT AN APPLY 
SC2   SFC SC             EXT RESP SIGNAL" 
      RSS           DID FLAG SET ,YES 
      JMP SC3       NO
E036  JSB ERMS,I    OUTPUT MSG
      DEF MS036        "FLAG SET" 
SC3   CLC SC        CLEAR CONTROL COMMAND 
H037  JSB MSGH,I    OUTPUT MSG
      DEF MS037        "OBSERVE CMD OUTPUT AND APPLY
SC4   SFS SC        EXT RESET SIGNAL" 
      RSS           DID FLAG SET, NO
      JMP SC5       YES 
E040  JSB ERMS,I    OUTPUT MSG
      DEF MS040        "FLAG CLEAR" 
SC5   CLC SC,C      TURN OFF CONTROL/CMD/FLAG 
      JMP COT,I     EXIT
* 
MS035 ASC 20,H035 OBSERVE COMMAND OUTPUT FOLLOWED BY
      OCT 6412
      ASC 20,APPLYING EXTERNAL RESPONSE SIGNAL. PUSH
      ASC 04,RUN/ 
* 
MS036 ASC 18,E036 APPLICATION OF RESPONSE SIGNAL
      OCT 6412
      ASC 10,CAUSED FLAG TO SET/
* 
MS037 ASC 20,H037 OBSERVE COMMAND OUTPUT FOLLWED BY 
      OCT 6412
      ASC 20,APPLYING EXTERNAL RESPONSE SIGNAL. PUSH
      ASC 04,RUN/ 
* 
MS040 ASC 18,E040 APPLICATION OF RESPONSE SIGNAL
      OCT 6412
      ASC 09,DID NOT SET FLAG/
* 
*************************************************************** 
      SKP 
      HED TEST 03 
* 
*           DATA BUFFER TEST, TEST 03 
* 
*           THIS TEST IS EXECUTED ON ALL INTERFACE BOARDS 
*           EXEPT THE 12551 RELAY REGISTER AND THE 12589
*           AUTOM. DIALER INTERFACE. IT CHECKS THE INPUT
*           AND OUTPUT DATA BUFFER BY COMPARISON. 
* 
TST03 EQU * 
* 
DB    NOP 
      LDA USSC      IS THIS A RELAY REGISTER
      AND BT108       OR AUTOMATIC DIALER?
      SZA 
      JMP DB,I      YES, IT IS, RETURN TO EXEC
      LDA USSC      NO. IS THIS A 12849 CONTROLER 
      SSA,RSS         MICROCIRC. INTERFACE? 
      JMP *+3       NO
H041  JSB MSGH,I    YES, THEN TELL OPERATOR 
      DEF MS041       TO USE CONNECTOR A
      LDA USSC      IS IT 8 OR 16 BIT 
      AND BIT11 
      SZA,RSS       SKIP IF BOARD IS 12597
      CCB,RSS       16 BIT BOARD, CREATE MASK FOR 16 BIT
      LDB .377      CREATE MASK FOR 8 BIT BOARD 
      STB BTMSK     AND SAVE BIT MASK 
      CLC INTP,C
      CLA           CLEAR 
      STA PTRN      PATTERN 
      STA EXP 
DBL   JSB OUT       OUTPUT PATTERN
      JSB ENCD      ENCODE PATTERN
      JSB WFL       WAIT FOR FLAG 
      JSB IN        GET PATTERN 
      JSB CMPR      COMPARE PATTERN 
      LDA EXP       COMPLEMENT PATTERN
      CMA 
      AND BTMSK     MASK UPPER BITS IF NECESSARY
      STA EXP 
      JSB OUT       OUTPUT PATTERN
      JSB ENCD      ENCODE PATTERN
      JSB WFL       WAIT FOR FLAG 
      JSB IN        GET PATTERN 
      JSB CMPR      COMPARE PATTERN 
      JSB INPT      INCREMENT PATTERN 
      LDA EXP       END OF PATTERN
      SZA 
      JMP DBL       NO
      JMP DB,I      YES EXIT
* 
MS041 ASC 15,H041 USE TEST CONN. 12849-60003/ 
* 
* 
**************************************************************
      SKP 
      HED TEST 04 
* 
*           CONTROL SIGNALS TEST, TEST 04 
* 
*           THIS TEST IS EXECUTED EXCLUSIVLY ON THE 
*           12849 CONTROLLER MICROCIRCUIT INTERFACE.
*           CRS - CONTROL RESET, PON - POWER ON NORMAL
*           DIR - DATA INPUT RECEIVED, RDIR - RESET DIR 
*           ORL - OUTPUT REGISTER LOADER, RORL - RESET ORL
*           CTL - CONTROL, FLG - FLAG 
* 
TST04 EQU * 
* 
CS    NOP 
      LDA USSC      IS THIS A 12849 INTERFACE 
      SSA,RSS 
      JMP CS,I      NO, RETURN TO EXEC
      CLC INTP,C    YES, CLEAR ALL I/O
H043  JSB MSGH,I    TELL OPERATOR TO
      DEF MS043     USE TEST CONNECTOR B
      JSB IN        GEN. IOI TO SET DIR-FF
      CLC INTP      GEN. CRS TO CLEAR DIR-FF
      JSB ENCD      TRANSFER STATUS 
      JSB WFL       WAIT FOR FLAG 
      JSB IN        GET STATUS
      RAR 
      SLA,RSS       DIR CLEARED 
      JMP *+3 
E044  JSB ERMS,I    NO-TELL OPERATOR
      DEF MS044     DIR NOT CLEARED 
      CLC INTP
      JSB IN        SET DIR 
      JSB ENCD      TRANSFER STATUS 
      JSB WFL       WAIT FOR FLAG 
      JSB IN        GET STATUS
      RAR,SLA       DIR SET?
      JMP *+3 
E045  JSB ERMS,I    NO-TELL OPERATOR
      DEF MS045     DIR FALSE AFTER IOI 
* 
      CLA 
      JSB OUT       GEN. IOO TO SET ORL-FF
      CLA,INA 
      JSB OUT       OUTPUT RORL TO CLEAR ORL-FF 
      JSB ENCD      TRANSFER STATUS 
      JSB WFL       WAIT FOR FLAG 
      JSB IN        GET STATUS
      SLA,RSS       ORL FALSE 
      JMP *+3       YES 
E046  JSB ERMS,I    NO-TELL OPERATOR
      DEF MS046     ORL TRUE AFTER RORL 
      CLA           CLEAR RORL
      JSB OUT 
      JSB OUT       SET ORL-FF
      JSB ENCD      TRANSFER STATUS 
      JSB WFL       WAIT FOR FLAG 
      JSB IN        GET STATUS
      SLA           ORL-FF SET? 
      JMP *+3       YES 
E047  JSB ERMS,I    NO-TELL OPERATOR
      DEF MS047     ORL FALSE AFTER IOO 
      RAR,RAR       PUT PON STATUS
      RAR,ERA         IN E REG
      LDA USSC      CHECK FOR POLARITY
      RAL             OF POWER ON 
      SSA 
      CME 
      SEZ 
      JMP *+3 
E050  JSB ERMS,I    WRONG POLARITY
      DEF MS050 
* 
* 
*        W5 IS CHECKED IF ENCODE IS NECESARY TO 
*           TRANSFER STATUS 
* 
SC06  STF SC        TOGGLE FLAG-FF TO CLEAR 
SC07  CLF SC
      LDA USSC
      ALF,RAR       CHECK W5 POSITION 
      SSA 
      JMP *+3       W5 IS OUT 
SC08  STC SC       (DON'T USE CLEAR FLAG) 
      JSB WFL 
      JSB IN
      RAR,RAR 
      SLA,RSS       IS FLAG STATUS SET
      JMP *+3 
E051  JSB ERMS,I    NO-TELL OPERATOR
      DEF MS051     FLAG TRUE AFTER CLF 
SC09  CLF SC        TOGGLE FLAG-FF TO SET 
SC10  STF SC
      LDA USSC      CHECK W5 POSITION 
      ALF,RAR 
      SSA 
      JMP *+3       W5 IS OUT 
SC11  STC SC        (DON'T USE CLEAR FLAG)
      JSB WFL 
      JSB IN
      RAR,RAR 
      SLA           IS FLAG STATUS SET
      JMP *+3 
E052  JSB ERMS,I    NO-TELL OPERATOR
      DEF MS052     FLAG FALSE AFTER STF
* 
      SKP 
SC12  CLC SC        TOGGLE CNTRL-FF TO
      JSB ENCD       SET
      JSB WFL       WAIT FOR FLAG 
      JSB IN        GET STATUS
      RAR,RAR 
      RAR,RAR 
      SLA           IS CTL SET
      JMP *+3       YES 
E053  JSB ERMS,I    NO-TELL OPERATOR
      DEF MS053     CTL FALSE AFTER STC 
      JMP CS,I      RETURN
* 
* 
* 
MS043 ASC 15,H043 USE TEST CONN. 12849-60004/ 
MS044 ASC 14,E044 NO CRS OR RDIR DOES NOT 
      ASC 07, CLEAR DIR-FF/ 
MS045 ASC 13,E045 DIR FALSE AFTER IOI/
MS046 ASC 13,E046 ORL TRUE AFTER RORL/
MS047 ASC 13,E047 ORL FALSE AFTER IOO/
MS050 ASC 08,E050 PON FALSE/
MS051 ASC 12,E051 FLG TRUE AFTER CLF/ 
MS052 ASC 13,E052 FLG FALSE AFTER STF/
MS053 ASC 13,E053 CTL FALSE AFTER STC/
* 
* 
* 
*************************************************************** 
      SKP 
                                                                                                                                      