      DEF EM044 
      JSB CMND
      ABS MASKC+DSRM
      JSB CSTUS     CHECK STATUS
      ABS CHECK+CHECK+MRQ+DSRI+SRLS+RLS+CLS+DSR+RNG 
      DEF EM044 
      JSB SHUTA 
      JSB CMND      GIVE INTERFACE MASK COMMAND 
      ABS MASKC+RLSM
      JSB CSTUS     CHECK STATUS
      ABS CHECK+CHECK+MRQ+RLSI+SRLS+RLS+CLS+DSR+RNG 
      DEF EM045 
      JSB CMND      GIVE INTERFACE MASK COMMAND 
      ABS MASKC+SRLSM 
      JSB CSTUS     CHECK STATUS
      ABS CHECK+CHECK+MRQ+SRLSI+SRLS+RLS+CLS+DSR+RNG
      DEF EM045 
      JSB SHUTA 
      JSB CMND      GIVE INTERFACE MASK COMMAND 
      ABS MASKC+CLSM
      JSB CSTUS     CHECK STATUS
      ABS CHECK+CHECK+MRQ+CLSI+SRLS+RLS+CLS+DSR+RNG 
      DEF EM046 
      JSB CMND
      ABS MASKC+NULL
      JSB CSTUS     CHECK STATUS
      ABS SRLS+RLS+CLS+DSR+RNG
      DEF EM046 
      JSB SHUTA     CHECK SUB-TEST HALT, LOOP 
      JSB CMND      GIVE INTERFACE MASK COMMAND 
      ABS MASKC+DSRM+CLSM+RLSM+SRLSM
AML01 JSB AMS1      TEST DSR ARM
      ABS CNTLC+DTR 
      ABS CHECK+CHECK+MRQ+DSRI+DSR+RNG
      ABS ARMC+DSRA 
      DEF EM047 
      JSB SUBT
      JMP AML01     LOOP
      JSB SUBUP     UPDATE SUB-TEST NO
AML02 JSB AMS1      TEST CLS ARM
      ABS CNTLC+RQS 
      ABS CHECK+CHECK+MRQ+CLSI+CLS
      ABS ARMC+CLSA 
      DEF EM050 
      JSB SUBT      CHECK SUBOTEST HALT, LOOP 
      JMP AML02     LOOP
      JSB SUBUP     UPDATE SUB-TEST NO
AML03 JSB AMS1      TEST RLS ARM
      ABS CNTLC+SRQS
      ABS CHECK+CHECK+MRQ+RLSI+RLS+SRLS 
      ABS ARMC+RLSA 
      DEF EM051 
      JSB SUBT      CHECK SUB-TEST HALT, LOOP 
      JMP AML03      LOOP 
      JSB SUBUP 
AML04 JSB AMS1      TEST SRLS ARM 
      ABS CNTLC+SRQS
      ABS CHECK+CHECK+MRQ+SRLSI+SRLS+RLS
      ABS ARMC+SRLSA
      DEF EM052 
      JSB SUBT      CHECK SUB-TEST HALT, LOOP 
      JMP AML04     LOOP
      JSB SUBUP     UPDATE SUB-TEST NO
      OCT 53
      JSB CMND      GIVE MASK COMMAND 
      ABS MASKC+RNGM+DSRM+RLSM+SRLSM+CLSM 
      JSB MRST      GIVE INTERFACE MASTER RESET 
      JSB CNTRL     GIVE CONTROL COMMAND
      ABS CNTLC+DTR+RQS+SRQS
      JSB CSTUS     CHECK STATUS
      ABS CLS+DSR+RNG+RLS+SRLS
      DEF EM053 
      JSB SHUTA 
      JSB CMND      GIVE ARM COMMAND
      ABS ARMC+DSRA+CLSA+RLSA+SRLSA 
      JSB MRST
      JSB CMND      GIVE MASK COMMAND 
      ABS MASKC+DSRM+CLSM+RLSM+SRLSM
      JSB CNTRL     GIVE CONTROL COMMAND
      ABS CNTLC+DTR+RQS+SRQS
      JSB CSTUS     CHECK STATUS
      ABS CHECK+CHECK+MRQ+SRLSI+RLSI+CLSI+DSRI+SRLS+RLS+CLS+DSR+RNG 
      DEF EM054 
      JSB SHUTA     CHECK SUB-TEST HALT, LOOP 
      JSB MRST      INTERFACE MASTER RESET
      JSB CLF 
      CLF INTP
      JSB CNTRL     GIVE CONTROL COMMAND
      ABS CNTLC+DTR+RQS+SRQS
      JSB CMND      GIVE MASK COMMAND 
      ABS MASKC+DSRM+CLSM+RLSM+SRLSM
      JSB SFS       SKIP FLAG SET 
      JMP AMC01     CONTINUE
      JSB ERMS,I    REPORT ERROR
      DEF EM055 
AMC01 JSB SUBTH     CHECK SUB-TEST HALT 
      JSB STC 
      JSB SFS       SKIP FLAG SET 
      RSS 
      JMP AMC02     CONTINUE
      JSB ERMS,I    REPORT ERROR
      DEF EM056 
AMC02 JSB SUBTT     CHECK SUB-TEST HALT, LOOP 
      JMP AMTST,I   RETURN
      SKP 
AMS1  NOP           RETURN ADDRESS
      LDA AMS1,I    GET PARAMETERS
      STA AMP1
      ISZ AMS1
      LDA AMS1,I
      STA AMP2
      AND AMMS1 
      STA AMP4
      LDA AMP2
      AND AMMS2 
      STA AMP5
      LDA AMP2
      AND AMMS3 
      ALF,ALF 
      ALF,ARS 
      IOR AMMS4 
      STA AMP6
      ISZ AMS1
      LDA AMS1,I
      STA AMP3
      ISZ AMS1
      LDA AMS1,I
      STA AMSE1 
      STA AMSE2 
      STA AMSE3 
      STA AMSE4 
      JSB CMND
AMP6  BSS 1 
      JSB CNTRL     GIVE CONTROL COMMAND
      ABS CNTLC+NULL
      JSB CMND      GIVE ARM COMMAND
AMP3  BSS 1 
      JSB CSTUS     CHECK STATUS
AMP4  BSS 1 
AMSE1 DEF *-* 
      JSB CNTRL     GIVE CONTROL COMMAND
AMP1  BSS 1 
      JSB CSTUS     CHECK STATUS
AMP5  BSS 1 
AMSE2 DEF *-* 
      JSB CMND
      ABS ARMC+NULL 
      JSB CSTUS     CHECK STATUS
AMP2  BSS 1 
AMSE3 DEF *-* 
      JSB CNTRL     GIVE CONTROL COMMAND
      ABS CNTLC+NULL
      JSB CSTUS     CHECK STATUS
      ABS NULL
AMSE4 DEF *-* 
      ISZ AMS1
      JMP AMS1,I
      SPC 2 
AMMS1 ABS CHECK+CHECK+MRQ+DSRI+SRLSI+RLSI+CLSI
AMMS2 ABS DSR+RLS+SRLS+CLS+RNG
AMMS3 ABS SRLSI+RLSI+CLSI+DSRI
AMMS4 ABS MASKC 
      SKP 
TST04 EQU * 
ICTST NOP           RETURN ADDRESS
      JSB STSUB     SAVE SUB-TEST NO. 
      OCT 57
      JSB MRST
      JSB CMND
      ABS TESTC+DIAGN 
      JSB CDATA      CHECK DATA 
      ABS TSDTA+TSDTA 
      DEF EM057 
      JSB SUBTH     CHECK SUB-TET HALT
      JSB CNTRL     GIVE CONTROL COMMAND
      ABS CNTLC+RQS 
      JSB CDATA     CHECK DATA
      ABS RQSS
      DEF EM060 
      JSB SUBTH 
      JSB CMND      GIVE TEST COMMAND 
      ABS TESTC+RECVT+DIAGN 
      JSB CDATA     CHECK DATA
      ABS RQSS
      DEF EM061 
      JSB SUBTH     CHECK SUB-TEST HALT 
      JSB CMND      GIVE TEST COMMAND 
      ABS TESTC+DIAGN+RECVT+TRDTA 
      JSB CDATA     CHECK DATA
      ABS TSDTA+TSDTA+RQSS
      DEF EM062 
      JSB SHUTA     CHECK SUB-TEST HALT, LOOP 
      JSB MRST      MASTER RESET TO INTERFACE 
      JSB CMND      GIVE COMMAND TEST 
      ABS TESTC+DIAGN 
      JSB CMND      GIVE START COMMAND
      ABS STRTC 
      JSB CDSB      CHECK DIAGN STATUS BYTE 
      ABS RUN 
      DEF EM063 
      JSB SUBTH     CHECK SUB-TEST HALT 
      JSB CMND      GIVE COMMAND
      ABS STOPC 
      JSB CDSB      CHECK DIAGN STATUS BYTE 
      ABS NULL
      DEF EM064 
      JSB SHUTA     CHECK SUB-TEST HALT, LOOP 
      JSB CMND      GIVE COMMAND
      ABS STRTC 
      JSB MRST
      JSB CMND      GIVE TEST COMMAND 
      ABS TESTC+DIAGN 
      JSB CDSB      CHECK DIAGN STATUS BYTE 
      ABS NULL
      DEF EM065 
      JSB SHUTA 
      JSB CMND      SET RUN 
      ABS STRTC 
      JSB MCLK      SET ACTV
      JSB CDSB      CHECK DIAGN STATUS BYTE 
      ABS RUN+ACTV
      DEF EM066 
      JSB SUBTH     CHECK SUB-TEST HALT 
      JSB CMND      STOP
      ABS STOPC 
      JSB CDSB      CHECK DIAGN STATUS BYTE 
      ABS NULL
      DEF EM067 
      JSB SHUTA     CHECK SUB-TEST HALT, LOOP 
      JSB CMND      SET RUN 
      ABS STRTC 
      JSB MCLK      SET ACTV
      JSB MCLK      SET HUNT
      JSB CDSB      CHECK DIAGN STATUS BYTE 
      ABS RUN+ACTV+HUNT 
      DEF EM100 
      JSB SUBTH     CHECK SUB-TEST HALT 
      JSB CMND      STOP
      ABS STOPC 
      JSB CDSB      CHECK DIAGN STATUS BYTE 
      ABS NULL
      DEF EM101 
      JSB SHUTA     CHECK SUB-TEST HALT, LOOP 
      JSB CNTRL     PUT INTERFACE IN
      ABS CNTLC+RQS TRANSMIT MODE 
      JSB CMND
      ABS STRTC     SET RUN 
      JSB MCLK      SET ACTV
      JSB MCLK      SET BYMD
      JSB CDSB      CHECK DIAGN STATUS BYTE 
      ABS RUN+ACTV+BYMD+RQSS
      DEF EM102 
      JSB SUBTH     CHECK SUB-TEST HALT 
      JSB CMND      RESET BYMD
      ABS STOPC 
      JSB CDSB      CHECK DIAGN STATUS BYTE 
      ABS RQSS
      DEF EM103 
      JSB SHUTA     CHECK SUB-TEST HALT, LOOP 
      JSB CNTRL     INITIALIZE INTERFACE FOR
      ABS CNTLC+RQS  TRANSMIT MODE
      JSB CMND      SET RUN 
      ABS STRTC 
      LDB MD9 
ICC01 JSB MCLK      SUPPLY 5 CLOCKS 
      INB,SZB       TO GET BCOV 
      JMP ICC01 
      JSB CDSB      CHECK DIAGN STATUS BYTE 
      ABS RUN+ACTV+BYMD+BCOV+RQSS 
      DEF EM104 
      JSB SUBTH     CHECK SUB-TEST HALT 
      JSB MCLK
      JSB CDSB      CHECK DIAGN STATUS BYTE 
      ABS RUN+ACTV+BYMD+RQSS
      DEF EM105 
      JSB SUBTH     CHECK SUB-TEST HALT 
      LDB MD7 
ICC02 JSB MCLK      SUPPLY TEST CLOCKS
      INB,SZB       TO GET BCOV 
      JMP ICC02 
      JSB CDSB      CHECK DIAGN STATUS BYTE 
      ABS RUN+ACTV+BYMD+BCOV+RQSS 
      DEF EM106 
      JSB SUBTH     CHECK SUB-TEST HALT 
      JSB CMND      STOP
      ABS STOPC 
      JSB CDSB      CHECK DIAGN STATUS BYTE 
      ABS RQSS
      DEF EM107 
      JSB SHUTA     CHECK SUB-TEST HALT, LOOP 
      JSB MRST      MASTER RESETT 
      JSB CNTRL     SET UP TRANSMIT MODE
      ABS CNTLC+RQS 
      JSB CMND      SET RUN 
      ABS STRTC 
      JSB MCLK      SET ACTIVE
      JSB MCLK      SET DQR 
      JSB CSTUS     CHECK STATUS
      ABS DRQ+CLS 
      DEF EM110 
      JSB SUBTH     CHECK SUB-TEST HALT 
      JSB CMND      STOP
      ABS STOPC 
      JSB CSTUS     CHECK STATUS
      ABS CLS 
      DEF EM111 
      JSB SHUTA     CHECK SUB-TEST HALT, LOOP 
      JSB MRST      MASTER RESET
      JSB CNTRL     SET UP TRANSMIT MODE
      ABS CNTLC+RQS 
      JSB CMND      SET RUN 
      ABS STRTC 
      JSB MCLK      SET ACTV
      JSB MCLK      SET DRQ 
      JSB SFS       CHECK FLAG SET
      RSS 
      JMP ICC03     CONTINUE
      JSB ERMS,I    REPORT ERROR
      DEF EM112 
ICC03 JSB SUBTH     CHECK SUB-TEST HALT 
      JSB OTA       RESET DRQ WITH DSTB 
      OCT 0 
      JSB CSTUS     CHECK STATUS
      ABS CLS 
      DEF EM113 
      JSB SUBTH     CHECK SUB-TEST HALT, LOOP 
      LDB MD8 
ICC04 JSB MCLK      SET DRQ BY BCOV 
      INB,SZB 
      JMP ICC04 
      JSB CSTUS     CHECK STATUS
      ABS DRQ+CLS 
      DEF EM114 
      JSB SUBTH     CHECK SUB-TEST HALT 
      JSB CNTRL     SET INTERFACE TO
      ABS CNTLC     RECEIVE MODE
      JSB RDDTA     READ DATA 
      JSB CSTUS     CHECK STATUS
      ABS NULL
      DEF EM115 
      JSB CMND      STOP
      ABS STOPC 
      JSB SHUTA 
      JSB MRST      MASTER RESET
      JSB CNTRL     PUT INTERFACE IN
      ABS CNTLC+RQS TRANSMIT MODE 
      JSB CMND      SET RUN 
      ABS STRTC 
      LDB MD18
ICC05 JSB MCLK      SET DRQ THEN DERR 
      INB,SZB 
      JMP ICC05 
      JSB CSTUS     CHECK STATUS
      ABS CHECK+CHECK+DERR+DRQ+CLS
      DEF EM116 
      JSB SUBTH     CHECK SUB-TEST HALT 
      JSB CMND      STATUS RESET COMMAND
      ABS SRSTC+RDERR 
      JSB CSTUS     CHECK STATUS
      ABS DRQ+CLS 
      DEF EM117 
      JSB SUBTT     CHECK SUB-TEST HALT, LOOP 
      JMP ICTST,I   RETURN
      SKP 
*                   DATA PATH TEST
TST05 EQU * 
DATST NOP           RETURN ADDRESS
      JSB STSUB     SAVE SUB-TEST NO. 
      OCT 120 
      JSB MRST      MASTER RESET
      JSB CDATA     CHECK DATA
      ABS NULL
      DEF EM120 
      JSB SHUTA     CHECK SUB-TEST HALT, LOOP 
      JSB CNTRL     RQS = 1 
      ABS CNTLC+RQS 
*                   TRANSMIT MODE 
      LDB MD7 
DAC01 JSB MCLK      GIVE TEST CLOCKS
      INB,SZB 
      JMP DAC01 
      JSB CDATA     CHECK DATA
      ABS B1+B2+B3+B4+B5+B6+B7+RQSS 
      DEF EM121 
      JSB SUBTH     CHECK SUB-TEST HALT 
      JSB MCLK      PLACE LAST ONE IN SHIFT REG 
      JSB CDATA     CHECK DATA
      ABS B0+B1+B2+B3+B4+B5+B6+B7+RQSS+TSDTA+TSDTA
      DEF EM122 
      JSB SUBTH     CHECK SUB-TEST HALT 
      JSB MRST      MASTER RESET
      JSB CDATA     CHECK DATA
      ABS NULL
      DEF EM123 
      JSB SHUTA     CHECK SUB-TEST HALT, LOOP 
      CLA 
      JSB DAS1      TEST DATA PATH NO PARITY
      DEF EM124 
      JSB SHUTA     CHECK SUB-TEST HALT,LOOP
      CLA,INA 
      JSB DAS1      TEST DATA PATH PARITY EVEN- 
      DEF EM125 
      JSB SHUTA     CHECK SUB-TEST HALT,LOOP
      CCA           HAG - PARITY EVEN 
      JSB DAS1      DATA SUB-TEST 
      DEF EM126 
      JSB SUBTT     CHECK SUB-TET HALT,LOOP 
      JMP DATST,I   RETURN
      SPC 2 
DAS1  NOP           RETURN ADDRESS
      STA DAP       SAVE PARITY TYPE
      CLA 
      STA NOERS     CLEAR ERROR FLAG
      LDA DAS1,I    GET ERROR MESSAGE 
      STA DAERR     SAVE
      JSB MRST      MASTER RESET
      JSB XMTI      SETUP FOR TRANSMIT
      LDA DAP       CHECK PARITY TYPE 
      SZA 
      JSB PENN      ENABLE PARITY 
      CLA           INITIALIZE DATA 
DAC02 STA DAP01     SAVE TEST DATA
      JSB OTA       OUTPUT DATA 
DAP01 BSS 1         DATA
      LDB MD8 
DAC03 JSB MCLK      SUPPLY TEST COLCK 
      INB,SZB 
      JMP DAC03     CONTINUE
      LDB DAP       GET PARITY TYPE 
      LDA DAP01 
      SZB 
      JSB PTYGN     GENERATE PARITY 
      ADA DADSB 
      SLA 
      ADA B15 
      STA DAP02     SAVE EXPECTED DATA
DAC04 JSB CDATA     CHECK DATA
DAP02 BSS 1         EXPECTED DATA 
DAERR DEF *-*       ERROR MESSAGE POINTER 
      ISZ NOERS     CHECK FOR EXTENDED ERROR REPORTS
      RSS 
      JMP DAC05     CONTINUE
      LDA DAP01     UPDATE DATA PATERN
      INA 
      AND LOHWD 
      SZA 
      JMP DAC02 
DAC05 ISZ DAS1      UPDATE RETURN 
      JMP DAS1,I    RETURN
DADSB ABS RUN+ACTV+BYMD+RQSS
DAP   BSS 1 
      ORG 6000B 
      SKP 
TST06 EQU * 
RMTST NOP           RETURN ADDRESS
      JSB STSUB     SAVE SUB-TEST NO. 
      OCT 127 
      JSB GSYNC     GET SYNC CHARACTER
      STA RMP01 
      STA RMP02 
      STA RMP04 
      STA RMP05 
      STA RMP06 
      STA RMP07 
      STA RMP08 
      STA RMP09 
      STA RMP10 
      INA 
      AND LOHWD 
      STA RMP03 
      JSB MRST      MASTER RESET
      JSB RCVI      START RECEIVE MODE
      JSB CNTRL     TURN RQS ON 
      ABS CNTLC+RQS 
      CLA 
RML01 STA RMP04     SAVE TEST CHARACTER 
      JSB OTA       OUTPUT DATA 
RMP04 BSS 1         TEST DATA 
      JSB RDDTA     GET DIAGNOSTIC STATUS BYE 
      LDA XSYND     ISOLATE SYND
      AND B 
      STA XXSYN     SAVE
      LDB RMP04 
      CPB SYNCH 
      XOR XSYND 
      SZA,RSS 
      JMP RMC02     CONTINUE
      LDA SYNC0 
      LDB XXSYN 
      SZB 
      LDA SYNC1 
      STA E127D,I 
      CLE 
      LDB E127C 
      LDA RMP04 
      JSB O2AS,I    CONVERT TO ASCII
      LDA XXSYN 
      LDB RMP04 
      JSB ERMS,I    REPORT EROR 
      DEF EM127 
      LDB SW2       MASK FOR SW 2 
      JSB SWRT,I    CHECK SWITCH REGISTER 
      RSS 
      JMP RMC01     CONTINUE - BYPASS ADDITIONAL ERRORS 
RMC02 LDA RMP04     UPDATE TEST DATA
      INA 
      AND LOHWD 
      SZA           CHECK FOR ALL 
      JMP RML01     NO
RMC01 JSB SHUTA     UPDATE SUB-TEST NO. 
      JSB MRST      MASTER RESET
      JSB RCVI      START RECEIVE MODE
      JSB SDIN      SERIAL INPUT
SYNCH EQU * 
RMP01 BSS 1         SYNC CHARACTER
      JSB CDSB      CHECK DIAGNOSTIC STATUS BYTE
      ABS RUN+ACTV+HUNT+BYMD+SYND 
      DEF EM130 
      JSB SHUTA     CHECK SUB-TEST HALT, LOOP 
      JSB MRST      MASTER RESET
      JSB RCVI      START RECEIVE MODE
      JSB SDIN      SERIAL INPUT
RMP02 BSS 1 
      JSB SDIN      SERIAL INPUT
RMP03 BSS 1 
      JSB CDSB      CHECK DIAGNOSTIC STATUS BYTE
      ABS RUN+ACTV+HUNT 
      DEF EM131 
      JSB SHUTA     CHECK SUB-TEST HALT, LOOP 
      JSB MRST      MASTER RESET
      JSB RCVI      START RECEIVE MODE
      JSB SDIN      SERIAL INPUT
RMP05 BSS 1 
      JSB SDIN      SERIAL INPUT
RMP06 BSS 1 
      JSB CDSB      CHECK DIAGNOSTIC STATUS BYTE
      ABS RUN+ACTV+BYMD 
      DEF EM132 
      JSB SHUTA     CHECK SUB-TEST HALT, LOOP 
      JSB MRST      MASTER RESET
      JSB RCVI      START RECEIVE 
      JSB SDIN      SERIAL INPUT
RMP07 BSS 1 
      JSB SDIN      SERIAL INPUT
RMP08 BSS 1 
      JSB SDIN      SERIAL INPUT
      ABS B0+B1+B2+B3+B4+B5+B6+B7 
      JSB CDATA     CHECK DATA
      ABS RUN+ACTV+BYMD+377B+TSDTA+TSDTA
      DEF EM133 
      JSB SHUTA     CHECK SUB-TEST HALT, LOOP 
      JSB MRST
      JSB RCVI      START RECEIVE MODE
      JSB SDIN      SERIAL INPUT
RMP09 BSS 1 
      JSB SDIN      SERIAL INPUT
RMP10 BSS 1 
      JSB CNTRL     ENABLE PARITY 
      ABS CNTLC+PEN 
      JSB SDIN      SERIAL INPUT
      ABS B0        BAD PARITY
      JSB CSTUS 
      ABS CHECK+CHECK+DRQ+PERR
      DEF EM134 
      JSB SUBTH 
      JSB CMND      RESET PARITY ERROR
      ABS SRSTC+RPERR 
      JSB CSTUS     CHECK STATUS
      ABS DRQ 
      DEF EM135 
      JSB SUBTT     CHECK SUB-TEST HALT, LOOP 
      JMP RMTST,I   RETURN
      SPC 1 
XXSYN BSS 1 
XSYND ABS SYND
SYNC0 ASC 1,0 
SYNC1 ASC 1,1 
E127C DEF E127B 
E127D DEF E127A 
      SKP 
TST07 EQU * 
TRTST NOP           RETURN ADDRESS
      JSB STSUB     SAVE SUB-TEST NO. 
      OCT 136 
      JSB MRST      MASTER RESET
      JSB CLBFR     CLEAR BUFFER
      JSB CMNDI     START TRANSMIT MODE 
      ABS CNTLC+DTR 
      ABS CHECK+CHECK+MRQ+DSRI+DSR
      DEF EM136 
      JSB CMNDI     OUTPUT COMMAND
      ABS CNTLC+DTR+RQS 
      ABS CHECK+CHECK+MRQ+CLSI+CLS+DSR
      DEF EM136 
      JSB SUBUP 
      JSB CLC       CLEAR CONTROL FF
      LDA TDATA 
      ALS 
      STA BUFFA 
      LDA ABUFB 
      ALS 
      STA BUFFB 
      LDA MD38
      STA TRCNT 
      JSB PTG 
      DEF TRTSI 
      DEF TRC01 
      JSB XMTI      INITIATE TRANSMIT 
TRC03 JSB STC       SET CONTROL FF
      LDA D4        WAIT 4 MS 
      JSB TMRR,I    INTERRUPT 
      CLF INTP      TURN INTERRUPT SYSTEM OFF 
      JSB ERMS,I    REPORT TIMEOUT
      DEF EM155 
      JSB MRST      MASTER RESET
      JMP TRTST,I   RETURN
TRC01 JSB SDOU      SUPPLY COLCKS 
      LDB BUFFB 
      JSB PUPLO     PUT CHARACTER IN BUFFER 
      ISZ BUFFB     UPDATE BUFFER POINTER 
      JMP TRC03     CONTINUE
TRTSI NOP           UNUSED RETURN ADDRESS 
      CLF INTP      TURN OFF INTERRUPTS 
      ISZ TRCNT     LAST
      RSS           NO
      JMP TRC02     YES - RETURN
      LDB BUFFA 
      JSB GUPLO 
SMIO6 OTA SSMI,C    OUTPUT TEST DATA
      ISZ BUFFA 
      STF INTP
      JMP IRTN,I    RETURN
TRC02 JSB CMND      GIVE STOP COMMAND 
      ABS STOPC 
      JSB STSUB 
      OCT 136 
      JSB CMNDI     COMMAND RQS = 0 
      ABS CNTLC+DTR 
      ABS CHECK+CHECK+MRQ+CLSI+DSR
      DEF EM136 
      JSB CMNDI     OUTPUT COMMAND
      ABS CNTLC 
      ABS CHECK+CHECK+MRQ+DSRI
      DEF EM136 
      CLF INTP      TURN INTERRUPTS OFF 
      JSB SUBUP     UPDATE SUB-TEST NO. 
      JSB CBUFS 
      DEF EM137 
      JMP TRTST,I 
TRCNT BSS 1 
      SKP 
TST10 EQU * 
RCTST NOP           RETURN ADDRESS
      JSB STSUB     SAVE SUBTEST NO.
      OCT 140 
      JSB MRST      MASTER RESET
      JSB CLBFR 
      JSB CMNDI     INITIALIZE INTERFACE
      ABS CNTLC+DTR 
      ABS CHECK+CHECK+MRQ+DSRI+DSR
      DEF EM140 
      JSB CMNDI 
      ABS CNTLC+DTR+SRQS
      ABS CHECK+CHECK+MRQ+RLSI+RLS+DSR
      DEF EM140 
      JSB CLC       CLEAR CONTROL FF
      LDA TDATA     INITIALIZE BUFFER POINTERS
      ALS 
      STA BUFFA 
      LDA ABUFB 
      ALS 
      INA 
      STA BUFFB 
      LDA MD32
      STA RCCNT 
      JSB GSYNC     GET SYNC CHARACTER
      STA RCSY1     INITIALIZE TEST 
      STA RCSY2 
      JSB PTG       PLACE TO GO 
      DEF RCSYI     INTERRUPT 
      DEF RCC03 
      JSB RCVI      START RECEIVE MODE
      JSB SDIN      RECEIVE FIRST SYNC
RCSY1 BSS 1         DYNV VHSTSVYRT
      JSB SDIN      RECEIVE SECOND SYNC 
RCSY2 BSS 1         SYNC CHARACTER
RCC01 JSB SUBUP     UPDATE SUB-TEST NO
      JSB PTG       PLACE TO GO 
      DEF RCTSI     INTERRUPT 
      DEF RCC02     DONE
RCC02 LDB BUFFA 
      JSB GUPLO     GET TEST DATA 
      STA RCDTA 
      ISZ BUFFA 
      JSB SDIN
RCDTA BSS 1         TEST DATA 
      JSB STC       SET CONTROL 
      LDA D4
      JSB TMRR,I    WAIT FOR INTERRUPT
      CLF INTP      TURN INTERRUPT SYSTEM OFF 
      JSB ERMS,I    REPORT TIMEOUT
      DEF EM156 
      JSB MRST      MASTER RESET
      JMP RCTST,I   RETURN
RCTSI NOP           UNUSED RETURN ADDRESS 
      CLF INTP      TURN INTERRUPTS OFF 
      JSB RDDTA     READ DATA 
      LDA B 
      LDB BUFFB 
      JSB PUPLO     PLACE DATA IN BUFFER
      ISZ BUFFB 
      ISZ RCCNT     DONE? 
      RSS           NO
      JMP RCC03     YES-CONTINUE
      STF INTP      TURN INTERRUPT SYSTEM ON
      JMP IRTN,I    RETURN
RCSYI NOP           UNUSED RETURN ADDRESS 
      CLF INTP      TURN INTERRUPTS OFF 
      JSB CSTUS 
      ABS SRLS+RLS+RNG+DSR
      DEF EM140 
      JMP IRTN,I    RETURN
RCC03 JSB CMND
      ABS STOPC 
      JSB CBUFS     CHECK DATA
      DEF EM141 
      JSB STSUB     SAVE SUB-TEST NO
      OCT 140 
      JSB CMNDI     COMMAND SRLS = 0
      ABS CNTLC+DTR 
      ABS CHECK+CHECK+MRQ+RLSI+DSR
      DEF EM140 
      JSB CMNDI     COMMAND DTR = 0 
      ABS CNTLC 
      ABS CHECK+CHECK+MRQ+DSRI
      DEF EM140 
      CLF INTP      TURN INTERRUPTS OFF 
      JSB SUBTT     CHECK SUB-TEST
      JMP RCTST,I   RETURN
RCCNT BSS 1 
EM156 ASC 17,E156 MISSING INT. DURING RECEIVE/
CUPGO EQU * 
      SKP 
      ORG BSPGO 
TST11 EQU * 
DMATS NOP           RETURN ADDRESS
      JSB STSUB     SAVE SUB-TEST NO. 
      OCT 142 
      JSB MRST      MASTER RESET
      CLF INTP      TURN OFF INTERRUPTS 
      JSB CLF       CLEAR FLAG AND SRQ
      JSB DMS1      DMAEN AND DRQ 
      JSB SFS 
      JMP DMC01     CONTINUE
      JSB ERMS,I    REPORT ERROR
      DEF EM142 
DMC01 JSB SHUTA     CHECK SUB-TEST HALT, LOOP 
      JSB MRST      MASTER RESET
      JSB CLF       CLEAR FLAG AND SRQ
      JSB STC       SET CONTROL FF
      JSB DMS1      DMAEN,DRQ,SRQ 
      JSB CMND      GENERATE CHECK
      ABS MASKC+DSRM+CLSM+RLSM+SRLSM
      JSB SFS 
      JMP DMC02     CONTINUE
      JSB ERMS,I    REPORT ERROR
      DEF EM143 
DMC02 JSB SHUTA     CHECK SUB-TEST HALT, LOOP 
      JSB MRST      MASTER RESET
      JSB CLF       CLEAR FLAG AND SRQ
      JSB STC       SET CONTROL FF
      JSB DMS1      DMAEN,DRQ,SRQ 
      JSB CMND      GENERATE CHECK
      ABS MASKC+DSRM+CLSM+RLSM+SRLSM
      JSB CLF       CLEAR FLAG AND SRQ
      JSB SFS 
      RSS           FLAG CLEAR
      JMP DMC03     CONTINUE
      JSB ERMS,I    REPORT ERROR
      DEF EM144 
DMC03 JSB SHUTA     CHECK SUB-TEST HALT, LOOP 
      JSB MRST      MASTER RESET
      JSB CLF       CLEAR FLAG AND SRQ
      JSB DMS1      DMAEN,DRQ,SRQ 
      JSB CNTRL     DROP DMAEN
      ABS CNTLC+DTR+RQS+SRQS
      JSB STC       SET CONTROL FF
      JSB SFS 
      RSS           FLAG CLEAR
      JMP DMC04     CONTINUE
      JSB ERMS,I    REPROT ERROR
      DEF EM145 
DMC04 JSB SHUTA     CHECK SUB-TEST HALT, LOOP 
      JSB DMS2
      CLF INTP      TURN OFF INTERRUPTS 
      JMP DMATS,I   RETURN
      ORG CUPGO 
HDMS  ASC 11,SYNC COMM INTFC DIAG/
FWAA  EQU * 
      END 
                                                                                                                                                                      