* * CHECK IBI FLAG LOGIC IS ENABLED * BY EORFLG AND EORFLGEN. * JSB NOTWM SET ERROR REPORTING MODE. JSB CLCCF CLF ON IBI. JSB SFCIB SFC ON IBI. IS IT CLEAR? E042 DEF IOFLG NO! I-O FLAG ERROR. JSB CACTV DISABLE PPREQ. JSB SPPMD SET ATN AND EOI. JSB SINPD SET EOR FF. JSB SFCIB FLAG SHOULD NOT BE SET. IS IT? E043 DEF IOFLG YES! I-O FLAG ERROR. * * CHECK ABILITY TO SET THE IBI FLAG VIA EORFLG. * JSB CONT SET EOR OCT 10200 FLAG ENABLE. JSB SFSIB I-O FLAG SHOULD BE SET. IS IT? E044 DEF EOFEN NO! EORFLG ERROR. * * INSURE CRS CLEARS EORFLGEN. * CLC INTP,C CRS SHOULD CLEAR EORFLGEN. JSB TIMOT ALLOW IFC TO SETTLE. JSB CLCCF CLC IBI,C. JSB SPPMD SET JSB SINPD EOR FF. JSB SFCIB FLAG SHOULD NOT SET. DID IT? E045 DEF EOFEN YES! EORFLG ERROR. * * CHECK ABILITY TO CLOCK EORFLGEN LOW. * JSB CLCCF CLEAR EOR FF. JSB CONT SET OCT 10200 EORFLGEN. JSB CG3MC CLEAR MODE CONTROL (EORFLGEN). JSB SPPMD SET ATN AND EOI FF'S. JSB SINPD CLOCK EOR FF HIGH. JSB SFCIB FLAG SHOULD NOT SET. DID IT? E046 DEF EOFEN YES! EORFLG ERROR. * * CHECK EORFLG LOW DOESN'T SET IBI FLAG. * JSB CLCCF CLEAR EOR FF. JSB CONT SET OCT 10200 EORFLGEN. JSB SFCIB FLAG SHOULD NOT SET. DID IT? E047 DEF EOFEN YES! EORFLG ERROR. SKP * * THIS SECTION TESTS THE ABILITY TO CHECK * STATUS ON THE DAV,RFD AND DAC SIGNALS. * JSB PRWMS SET ERROR REPORTING MODE. LDA B7000 SET UP STA MASK TEST MASK. JSB IFCMD INITIALIZE IBI(DAV CLEARS). JSB TIMOT ALLOW TIME FOR IFC TO SETTLE. LDB B3000 GET EXPECTED STATUS. JSB STAT IS RFD-DAC HIGH,DAV CLEAR? E050 DEF HANDS NO! REPORT ERROR. JSB INITF SET RFD FF. JSB SLSTN SET LISTEN. CLB FORM EXPECTED STATUS. JSB STAT IS DAV,RFD AND DAC LOW? E051 DEF HANDS NO! REPORT ERROR. JSB LIAIB CLEAR RFD FF. LDB BIT10 GET EXPECTED STATUS. JSB STAT IS RFD HIGH,DAV-DAC LOW? E052 DEF HANDS NO! REPORT ERROR. JSB INITF SET RFDFF. CLB FORM EXPECTED STATUS. JSB STAT IS RFD,DAC & DAV CLEAR? E053 DEF HANDS NO! REPORT ERROR. JSB CONT SET ATN,EOI OCT 10270 AND EORFLGEN. JSB SINPD CLOCK EOR FF HIGH. JSB INITF CLEAR RFD FF. JSB SEOI CLEAR ATN. JSB STAT ALL HANDSHAKE SIGNALS CLEAR? E054 DEF HANDS NO! REPORT ERROR. JSB CONT SET ATN AND EOI AND OCT 270 CLEAR MODE CONTROL. LDB BIT10 GET EXPECTED STATUS. JSB STAT ONLY RFD SHOULD BE HIGH. E055 DEF HANDS NO! REPORT ERROR. JSB CONT SET OCT 10200 EORFLGEN. JSB CLCCF CLEAR EOR FF. JSB STAT ONLY RFD SHOULD STILL BE HIGH. E056 DEF HANDS NO! REPORT ERROR. JSB INITF SET RFD FF. JSB CTLSN CLEAR LISTEN MODE. LDB B3000 GET EXPECTED STATUS. JSB STAT RFD & DAC HIGH? E057 DEF HANDS NO! REPORT ERROR. LDB BIT10 GET EXPECTED STATUS. JSB SLSTN SET LISTEN. JSB SATN SET ATTENTION. JSB STAT RFD STILL HIGH? E060 DEF HANDS NO! REPORT ERROR. SKP * * THIS SECTION TESTS THE ORAFLG AND ORAFLGEN LOGIC * JSB SDMOD FORCE RFD JSB SLSTN LOW. JSB INITF INITIALIZE OBR LOGIC FOR OUTPUT. LDB BIT13 GET EXPECTED STATUS. STB MASK SET UP TEST MASK. JSB STAT GET IBI STATUS. ORAFLG HIGH? E061 DEF ORAFL NO! ORA FLG ERROR. CLA OUTPUT ZEROS JSB DATOT TO IB DATA BUS. CLEAR OWRL FF. CLB GET EXPECTED STATUS. JSB STAT GET IBI STATUS, ORAFLG LOW? E062 DEF ORAFL NO! ORAFLG ERROR. JSB NOTWM SET ERROR REPORTING MODE. CLC INTP,C CLEAR ORAFLGEN IN CASE IT WAS SET. JSB TIMOT ALLOW IFC TO SETTLE. JSB INITF INITIALIZE OBR LOGIC FOR OUTPUT. JSB SFCIB IS FLAG SET? E063 DEF ORAFL YES! ORAFLG ERROR. * * TEST ABILITY TO SET ORAFLGEN. * JSB CONT SET OCT 20200 ORAFLGEN. JSB SFSIB I-O FLAG SET? E064 DEF ORAFL NO! ORAFLG ERROR. * * TEST ABILITY TO CLEAR ORAFLGEN. * JSB CG3MC CLEAR ORAFLGEN. JSB CLCCF CLC IBI,C. SHOULD STAY CLEAR. JSB SFCIB WAS ORAFLGEN CLEARED? E065 DEF ORAFL NO! ORAFLG ERROR. * * CHECK CRS CLEARS ORAFLGEN. * JSB CONT SET OCT 20200 ORAFLGEN. CLC INTP,C CRS SHOULD CLEAR ORAFLGEN. JSB TIMOT ALLOW TIME FOR IFC TO SETTLE. JSB CLCCF CLC IBI,C. FLAG SHOULD STAY CLEAR. JSB SFCIB DID CRS CLEAR ORAFLGEN? E066 DEF ORAFL NO! ORAFLG ERROR. * * THIS SECTION WILL TEST THE IRLFLGEN AND * IRL FLG LOGIC. * THE PREVIOUS CLC INTP,C SHOULD HAVE INSURED PAKEN WAS CLEAR. * JSB PRWMS SET ERROR REPORTING MODE. JSB SINPD CLOCK IRL FF HIGH. LDB BIT14 GET EXPECTED STATUS. STB MASK SET UP TEST MASK. JSB STAT DID IRL FF GET SET? E067 DEF IRLFL NO! IRL FLG ERROR. SKP * * CHECK ABILITY TO CLEAR IRL FF. * LDB B100 RESET THE STB ERRCD ERROR CODE. JSB LIAIB CLEAR IRL FF. INPUT BYTE CNTR * SHOULD STAY LOW FROM PACKEN. CLB GET EXPECTED STATUS. JSB STAT DID IRL FF CLEAR? E100 DEF IRLFL NO! IRL FLG ERROR. * * CHECK ABILITY TO SET IRL FF. * JSB SINPD CLOCK IRL FF HIGH. LDB BIT14 GET EXPECTED STATUS. JSB STAT DID IRL FF GET SET? E101 DEF IRLFL NO! IRL FLG ERROR. JSB LIAIB IF PACKEN CLEAR THEN INPUT BYTE JSB SINPD CNTR CLEAR. CLEAR IRL FF. JSB STAT DID IRL FF CLEAR? E102 DEF IRLFL NO! IRL FLG ERROR. JSB CLCCF CLC IBI,C. JSB SINPD SET IRL FF FROM INPUT BYTE CNTR. JSB NOTWM SET ERROR REPORTING MODE. JSB SFCIB IBI FLAG CLEAR? E103 DEF IRLFL NO! IRL FLG ERROR. * * CHECK ABILITY TO SET IRLFLGEN. * JSB CONT SET OCT 40200 IRLFLGEN. JSB SFSIB IS IBI FLAG SET NOW? E104 DEF IRLFL NO! IRL FLG ERROR. * * CHECK CRS CLEARS IRLFLGEN. * CLC INTP,C CRS SHOULD CLEAR IRLFLGEN. JSB CLCCF CLC IBI,C. JSB SFCIB IBI FLAG SHOULD BE CLEAR. E105 DEF IRLFL NO! IRL FLG ERROR. * * CHECK ABILITY TO CLEAR IRLFLGEN. * JSB CONT SET OCT 40200 IRLFLGEN. JSB CG3MC CLEAR IRLFLGEN. JSB CLCCF CLC IBI,C. JSB SFCIB IS IBI FLAG STILL CLEAR? E106 DEF IRLFL NO! IRL FLG ERROR. SKP * * THIS SECTION TESTS THE SRQFLGEN,SRQFLG,RFDFF,OBRLFF, * NSRQFLG,GENSRQEN AND SERIAL POLL MODE LOGIC. * * CHECK ABILITY TO SET AND CLEAR SRQFLG. * JSB IFCMD SET IFC AND ACTIVE. JSB TIMOT ALLOW IFC TO SETTLE. JSB PRWMS SET ERROR REPORTING MODE. LDB BIT15 GET EXPECTED STATUS. STB MASK SET UP TEST MASK. JSB STAT SRQFLG HIGH? E107 DEF SRQFL NO! REPORT ERROR. JSB CACTV CLEAR ACTIVE. CLB GET EXPECTED STATUS. JSB STAT SRQFLG LOW? E110 DEF SRQFL NO! REPORT ERROR. * * CHECK ABILITY TO CLEAR SRQFLGEN. * JSB CONT SET OCT 100200 SRQFLGEN. JSB CG3MC CLEAR ALL FLAG ENABLES. JSB NOTWM SET ERROR REPORTING MODE. JSB SACTV SET ACTIVE. SRQFLG HIGH. JSB SFCIB I-O FLAG CLEAR? E111 DEF SRQFL NO! REPORT ERROR * * CHECK ABILITY TO SET SRQFLGEN. * JSB CONT SET SSRQE OCT 100200 SRQFLGEN. JSB SFSIB DID IT SET? E112 DEF SRQFL NO! REPORT ERROR. * * CHECK CRS CLEARS SRQFLGEN. * CLC INTP,C SHOULD CLEAR SRQFLGEN. JSB TIMOT ALLOW TIME FOR IFC TO SETTLE. JSB CLCCF CLC IBI,C. JSB IFCMD TRIGGER IFC. JSB TIMOT ALLOW TIME FOR IFC TO SETTLE. JSB SFCIB DID CRS CLEAR SRQFLGEN? E113 DEF SRQFL NO! REPORT ERROR. SKP * * CHECK CONTROL WORD BIT 7 LOGIC WHICH ENABLES * CLOCKS TO TO FLGEN LOGIC. * JSB CONT SHOULD NOT SET SRQFLGEN OCT 100000 WITHOUT CONTROL BIT 7 SET. JSB SFCIB FLAG SHOULD BE CLEAR. IS IT? E114 DEF SRQFL NO! REPORT ERROR. LDA SSRQE OUTPUT DATA WORD WHICH JSB DATOT SHOULD NOT SET SRQFLGEN. JSB SFCIB I-O FLAG SHOULD NOT SET. DID IT? E115 DEF SRQFL YES! REPORT ERROR. JSB CONT SET OCT 100200 SRQFLGEN. JSB SFSIB I-O FLAG SHOULD SET. DID IT? E116 DEF SRQFL NO! REPORT ERROR. * * CHECK NSRQFLG CAN GENERATE IBI FLAG AND * CHECK NSRQFLG LOGIC. * JSB CLCCF SHOULD CLEAR IFCFLG. JSB SFCIB NO I-O FLAG WITH IFCFLG CLEAR. E117 DEF SRQFL IF SET REPORT ERROR. * * CHECK GENSRQEN LOGIC * JSB PRWMS SET ERROR REPORTING MODE. JSB CONT SET OCT 1200 GENSRQEN. JSB STALK CLEAR LISTEN FF. JSB LIAIB CLOCK RFDFF LOW. SRQFLG HIGH. LDB BIT15 GET EXPECTED STATUS. STB MASK SET TEST MASK. JSB STAT IS SRQFLG HIGH? E120 DEF SRQFL NO! REPORT ERROR. JSB STLAT SET TALK AND LISTEN FF'S. CLB GET EXPECTED STATUS. JSB STAT IS SRQFLG LOW? E121 DEF SRQFL NO! REPORT ERROR. JSB CG3MC CLEAR GENSRQEN. JSB STALK CLEAR LISTEN MODE. JSB STAT IS SRQFLG LOW? E122 DEF SRQFL NO! REPORT ERROR. JSB CONT SET OCT 1200 GENSRQEN. JSB INITF INITIALIZE OBR LOGIC FOR OUTPUT. JSB STAT IS SRQFLG LOW? E123 DEF SRQFL NO! REPORT ERROR. SKP * * CHECK CRS CLEARS GENSRQEN * CLC INTP,C CRS SHOULD CLEAR GENSRQEN. JSB TIMOT WAIT FOR IFC TO SETTLE. JSB LIAIB CLEAR RFD FF. JSB CLCCF ISSUE CLRINTFLG TO IBI. JSB STAT DID CRS CLEAR GENSRQEN? E124 DEF SRQFL NO! REPORT ERROR. * * CHECK FOR CROSSTALK ERROR IN THE MODE CONTROL LOGIC. * JSB CONT SET ALL MODE CONTROLS OCT 6600 EXCEPT GENSRQEN. JSB STAT I-O FLAG STILL CLEAR? E125 DEF SRQFL NO! REPORT ERROR. JSB CONT SET OCT 1200 GENSRQEN. JSB INITF INITIALIZE OBR LOGIC FOR OUTPUT. JSB STAT SRQFLG CLEAR? E126 DEF SRQFL NO! REPORT ERROR. * * CHECK INPUT BYTE CNTR AND RFDFF LOGIC. * JSB CONT SET PACKEN AND OCT 5200 GENSRQEN. JSB LIAIB CLEAR RFD FF. LDB BIT15 GET EXPECTED STATUS. JSB STAT SRQFLG SET? E127 DEF SRQFL NO! REPORT ERROR. JSB INITF INITIALIZE OBR LOGIC FOR OUTPUT. JSB SINPD CLEAR RFDFF. E130 JSB STAT SRQFLG HIGH? DEF SRQFL NO! REPORT ERROR. JSB SINPD SHOULD CLOCK RFDFF HIGH. CLB GET EXPECTED STATUS. JSB STAT SRQFLG LOW? E131 DEF SRQFL NO! REPORT ERROR. JSB CONT CLEAR OCT 2 REN. LDA BIT8 SET UP TEST STA MASK MASK. JSB STAT DOES SRQ DRAG REN LOW ON IB? E132 DEF RENF YES! REPORT ERROR. SKP * * CHECK OBRL FF INPUTS TO THE NSRQFLG LOGIC. * JSB SLSTN SET LISTEN FF. JSB INITF INITIALIZE OBR LOGIC FOR OUTPUT. JSB DATOT SET OBRL FF. LDB BIT15 GET EXPECTED STATUS. JSB STAT SRQFLG HIGH? E133 DEF SRQFL NO! REPORT ERROR. JSB INITF INITIALIZE OBR LOGIC FOR OUTPUT. CLB GET EXPECTED STATUS. JSB STAT DID OBRL FF CLEAR? E134 DEF SRQFL NO! REPORT ERROR. JSB DATOT SET OBRL FF. LDB BIT15 GET EXPECTED STATUS. JSB STAT DID OBRL FF SET? E135 DEF SRQFL NO! REPORT ERROR. JSB STALK SET TALK FF. CLB GET EXPECTED STATUS. JSB STAT IS SRQFLG CLEAR? E136 DEF SRQFL NO! REPORT ERROR. JSB CG3MC CLEAR GENSRQEN. JSB CTLSN CLEAR TALK MODE. JSB STAT SRQFLG LOW? E137 DEF SRQFL NO! REPORT ERROR. * * CHECK ABILITY OF SPMFLG AND ACTIVE * LOGIC TO SET IBI FLAG. * JSB IFCMD GENERATE IFC. JSB TIMOT ALLOW TIME FOR IFC TO SETTLE. JSB SACTV CLEAR ACTIVE FF. JSB SATN SET ATN. LDA B30 SET JSB DATOT SPM FF. JSB CACTV CLEAR ACTIVE. LDB BIT15 GET EXPECTED STATUS. JSB STAT SRQFLG HIGH(NACTIVE AND SPM)? E140 DEF SRQFL NO! REPORT ERROR. JSB IFCMD CLEAR SPM FF. JSB TIMOT ALLOW IFC TO SETTLE. JSB CACTV CLEAR ACTIVE. CLB GET EXPECTED STATUS. JSB STAT DID SPM FF CLEAR? E141 DEF SRQFL NO! REPORT ERROR. SKP * * CHECK NO DATA COMBINATION (EXCEPT 30B) WILL SET * THE SPM FF. * JSB SATN SET ATN. CLA INITIALIZE DATA. PTLOP CPA B30 IS THIS "SET THE SPM FF DATA"? JMP NOTST YES! DON'T TEST PATTERN. JSB SACTV GATE DATA TO IB. JSB DATOT SHOULD NOT SET SPM FF. JSB CACTV CLEAR ACTIVE. STA CTLWD PUT DATA IN CONTROL WORD. JSB STAT DID SPM FF SET? E142 DEF SPMFF YES! REPORT ERROR. RSS SKIP ERROR CODE UPDATE. NOTST ISZ ERRCD UPDATE ERROR CODE. CPA B177 END OF DATA? JMP CKSPM YES! EXIT. JSB DECEC NO! DECREMENT ERROR NUMBER. INA DO ANOTHER JMP PTLOP PATTERN. * * CHECK 30B DATA WILL SET THE SPM FF. * CKSPM JSB SACTV SET ACTIVE. LDA B30 SET JSB DATOT SPM FF. JSB CACTV CLEAR ACTIVE. LDB BIT15 GET EXPECTED STATUS. JSB STAT DID SPM FF SET? E143 DEF SPMFF NO! REPORT ERROR. * * CHECK 31B WILL CLEAR THE SPM FF * JSB CLCCF CLEAR IFCFLG FF. JSB SACTV GATE DATA TO IB. LDA B31 CLEAR JSB DATOT SPM FF. JSB CACTV CLEAR ACTIVE. CLB GET EXPECTED STATUS. JSB STAT DID SPM FF CLEAR? E144 DEF SPMFF NO! REPORT ERROR. JSB SACTV SET ACTIVE MODE. LDA B30 SET JSB DATOT SPM FF. JSB STAT SRQ FLG LOW? E145 DEF SRQFL NO! REPORT ERROR. SKP * * THIS SECTION WILL TEST THE PPPID(SW1) * AND MYADDR(SW2) LOGIC. * JSB CLCCF CLEAR IFCFLG FF. LDA B17 SET UP STA MASK DATA TEST MASK. CLA SAVE EXPECTED STA PATTN STATUS WORD. PPLOP JSB DATOT OUTPUT DATA. LDB PATTN GET EXPECTED STATUS JSB STAT PPPID OK? E146 DEF PPFL2 NO! REPORT ERROR. CPA B377 END OF DATA PATTERNS? JMP NXTST YES! GO DO NEXT TEST. JSB DECEC NO! DECREMENT ERROR COUNT. CCE SET E-REG FOR SHIFT. ELA SHIFT PATTERN. ISZ PATTN UPDATE EXPECTED STATUS. JMP PPLOP GO TRY ANOTHER PATTERN. * * CHECK IFCFLG FF FORCES PPPID TO 11B. * NXTST JSB IFCMD SET IFC. JSB TIMOT ALLOW IFC TO SETTLE. LDB B11 GET EXPECTED STATUS. JSB STAT IS PPPID=11B? E147 DEF PPFL2 NO! REPORT ERROR. * * CHECK PPP ID ENABLED ONTO IB. * JSB CTLSN DISABLE OUTPUT DATA TO IB. JSB SINPD CLOCK IB DATA TO INPUT REGISTER. CLB EXPECTED DATA. JSB CDATA GET ACTUAL DATA. IS IT OK? E150 DEF BUSDF NO! IB DATA NOT ONES. JSB CONT SET GENSRQEN AND OCT 1300 CLEAR TALK AND LISTEN. JSB LIAIB CLEAR RFD FF. JSB SPPMD SET ATN AND EOI. CLA OUTPUT ZERO TO JSB DATOT IBI. JSB SINPD IB DATA SHOULD BE ZERO. LDB EXPID GET EXPECTED PPPID. JSB CDATA GET ACTUAL DATA. DOES IT COMPARE? E151 DEF PPFL2 NO! REPORT ERROR. SKP * * CHECK MY ADDRESS LOGIC INCLUDING THE ABILITY * TO SET AND CLEAR THE TALK AND LISTEN MODES. * THIS SECTION ALSO INSURES THE IBI RESPONDS * TO ONLY ONE ADDRESS. * CCA MARK STA NOLSN NO LISTEN AND STA NOTAK NO TALK INDICATORS. CLA INITIALIZE TLLOP STA PATTN TALK ADDR PATTERN. JSB CTLSN CLEAR LISTEN. JSB SATN SET ATN. LDA PATTN GET ADDRESS PATTERN. JSB DATOT OUTPUT ADDRESS. JSB STFIB GET IBI JSB LIAIB STATUS. AND B140 MASK TO TALK-LISTEN STATUS BITS. SZA IS TALK OR LISTEN SET? JMP PROTL YES! GO CHECK FOR ERROR. TLOOP ISZ PATTN UPDATE TEST PATTERN. LDA PATTN GET TEST PATTERN. CPA BIT7 END OF TEST? JMP NXTFC YES! GO DO NEXT TEST. JMP TLLOP NO! GO CHECK NEXT DATA. SKP * * INSURE ADDR LOGIC DID NOT RESPOND TO BIT5-6=0 * PROTL STA SAVIO SAVE ACTUAL INPUT. CLB FORM EXPECTED STATUS. LDA PATTN GET OUTPUT PATTERN. AND B140 MASK TO TALK-LISTEN CNTL BITS. SZA WAS IS IT A TALK OR LISTEN? JMP SK9 YES! CONTINUE NORMALLY. LDA SAVIO NO! RESTORE ACTUAL STATUS. JSB SENDM SEND ERROR MESSAGE. E152 DEF MYADR TALK-LSTN SET W/O CNTL. SK9 LDA PATTN GET OUTPUT DATA AGAIN. AND B37 MASK TO ADDRESS. ISZ ERRCD UPDATE ERROR NUMBER. CPA EXMYA DOES ADDRESS COMPARE? JMP SK10 YES! CONTINUE NORMALLY. LDA SAVIO RESTORE ACTUAL STATUS. JSB SENDM SEND ERROR MESSAGE. E153 DEF MYADR ILLEGAL MYADDR DECODED. SK10 JSB DECEC DECREMENT ERROR CODE. LDA PATTN GET ADDRESS PATTERN AGAIN. AND B40 STRIP TO BIT 5. SZA WAS THIS A LISTEN ADDRESS? STA NOLSN YES! SAVE ADDRESS. LDA PATTN GET ADDRESS. AND B100 STRIP TO BIT 6. SZA WAS THIS A TALK ADDRESS? STA NOTAK YES! SAVE ADDRESS. JMP TLOOP GO DO ANOTHER PATTERN. NXTFC JSB NOTWM SET ERROR REPORTING MODE. ISZ ERRCD UPDATE ERROR CODE. LDA NOLSN GO SEE IF A LISTEN E154 JSB CKMYA ADDRESS WAS FOUND. JSB DECEC DECREMENT ERROR CODE. LDA NOTAK GO SEE IF A TALK E155 JSB CKMYA ADDRESS WAS FOUND. SKP * * CHECK THE UNLISTEN AND UNTALK LOGIC. ALSO, CHECK THE * REST OF THE TALK AND LISTEN LOGIC. * * CHECK IFC WILL CLEAR LISTEN * JSB PRWMS SET ERROR REPORTING MODE. LDA B100 SET UP STA MASK TEST MASK. JSB STLAT SET TALK AND LISTEN FF'S. JSB IFCMD SHOULD CLEAR TALK-LISTEN FF. JSB TIMOT ALLOW TIME FOR IFC TO SETTLE. JSB STAT DID IFC CLEAR LISTEN? E156 DEF LSTNF NO! REPORT ERROR. * * CHECK IFC WILL CLEAR TALK. * LDA B40 CHANGE STATUS MASK STA MASK TO LOOK AT TALK FF. JSB STAT DID IFC CLEAR TALK? E157 DEF TALKF NO! REPORT ERROR. * * CHECK UNTALK WILL CLEAR TALK * JSB SDMOD CLEAR ATN. LDA EXMYA GET CALCULATED MYADDR. INA CHANGE TO CREATE UNTALK. IOR B100 FORM TALK ADDR DATA. STA HOLDD SAVE FOR LATER TEST. JSB STALK SET TALK FF. JSB DATOT OUTPUT TALK ADDR DATA. JSB SATN CLOCK TALK FF LOW. STA CTLWD PUT DATA IN CONTROL WORD. JSB STAT DID TALK CLEAR? E160 DEF TALKF NO! UNTALK DIDN'T WORK. * * CHECK FOR NO TALK ADDR W/O DAV * JSB SLSTN SET LISTEN MODE. LDA EXMYA GET TALK ADDRESS. IOR B100 FORM MY TALK ADDRESS. JSB DATOT OUTPUT IT. JSB STAT TALK SHOULD NOT SET. E161 DEF TALKF TALK SET W/O ATN OR DAV. SKP * * CHECK FOR NO UNTALK W/O DAV. * JSB STALK SET TALK FF. LDA HOLDD GET UNTALK ADDR. JSB DATOT SHOULD NOT CLEAR TALK. LDB B40 GET EXPECTED STATUS. JSB STAT DID TALK CLEAR? E162 DEF TALKF YES! UNTALK W/O DAV. * * CHECK FOR NO LISTEN W/O DAV. * LDA B100 SET TEST MASK TO STA MASK LISTEN MODE. LDA EXMYA FORM IOR B40 LISTEN ADDRESS. JSB DATOT OUTPUT LISTEN DATA. CLB LISTEN SHOULD NOT SET JSB STAT W/O DAV. DID IT? E163 DEF LSTNF YES! REPORT ERROR. * * CHECK LISTEN DOES NOT OCCUR W/O DAV. * JSB STLAT SET TALK AND LISTEN FF'S. LDA B177 OUTPUT JSB DATOT UNLISTEN DATA. LDB B100 EXPECTED STATUS. JSB STAT DID LISTEN CLEAR W/O DAV? E164 DEF LSTNF YES! REPORT ERROR. * * THIS SECTION TESTS ALL LOGIC INVOLVED IN * TRANSFERRING DATA TO AND FROM THE IB. * CLA SAVE DATA STA HOLDD FOR TEST. DLOP1 JSB CTLSN CLEAR TALK AND LISTEN. JSB SATN READY DATA LINES TO IB. ISZ HOLDD UPDATE DATA. LDA HOLDD GET DATA TEST PATTERN. CPA BIT9 END OF TEST? JMP PACKT GO DO PACK-WORD TEST. JSB DATOT OUTPUT PATTERN TO IB. JSB SINPD STROBE DATA IN FROM IB. LDA HOLDD GET EXPECTED DATA. STA CTLWD PUT DATA IN CONTROL WORD. AND B377 MASK TO LOWER BYTE. STA B SAVE DATA. JSB CDATA CHECK INPUT DATA. IS IT OK? E165 DEF BUSDF NO! REPORT FAILURE. JSB DECEC DECREMENT ERROR CODE. JMP DLOP1 GO DO ANOTHER PATTERN SKP * * NOW TEST THE ABILITY TO SEND AND RECEIVE * 16-BIT WORDS VIA THE IB. * PACKT ISZ ERRCD UPDATE ERROR CODE. CLA SET DATA STA HOLDD PATTERN. JSB CONT SET OCT 4200 PACKEN. JSB LIAIB SET INPUT-BYTE CNTR. DLOP2 JSB CTLSN CLEAR LISTEN AND TALK. JSB SATN SET ATTENTION. ISZ HOLDD UPDATE DATA PATTERN. LDA HOLDD GET DATA PATTERN JSB DATOT PUT UPPER BYTE ON IB. JSB DATOT PUT LOWER BYTE ON IB. JSB SINPD PACK IN JSB SINPD ACTUAL WORD OFF IB. STA CTLWD PUT DATA IN CONTROL WORD. LDB HOLDD GET EXPECTED WORD. BLF,BLF SHIFT DATA TO UPPER BYTE. ADB HOLDD MERGE IN LOWER BYTE. JSB CDATA VERIFY DATA. IS IT OK? E166 DEF BUSDF NO! REPORT FAILURE. CPB MIN1 LAST PATTERN CHECKED? JMP SK11 YES! EXIT. JSB DECEC NO! DECREMENT ERROR CODE. JMP DLOP2 TRY ANOTHER PATTERN. * * CHECK PACKEN LOW CLEARS INPUT REGISTER * BITS 8-15 * SK11 JSB CG3MC CLEAR PACKEN. JSB LIAIB GET INPUT DATA. CPA B377 DID PACKEN CLEAR IR8-15? JMP EOTST YES! EXIT. LDB B377 NO! GET EXPECTED DATA. JSB SENDM REPORT ERROR. E167 DEF BUSDF INPUT REG # 377B. SKP * * CHECK THE ENABLE OF THE ASCIIMODE LOGIC * EOTST LDA BIT7 SET ERROR CODE STA ERRCD TO 200 FOR HLT 106000. LDA BIT8 SET THE STATUS STA MASK TEST MASK. JSB CONT SET THE REN FF OCT 603 AND ASCIIMODE. LDA THREE LOAD THE OBR WITH 3(LOCAL). CLB EXPECTED STATUS. E200 JSB ASCOT CHECK ASCII COMMAND. JSB CONT SET THE OCT 3 REN FF. LDB BIT8 GET EXPECTED STATUS. JSB STAT OBRL FF DISALLOW ASCIIMODE? E201 DEF ASCIM NO! REPORT ERROR. LDA B43 OBR BIT 5 SHOULD NOT ALLOW LOCAL. E202 JSB ASCOT CHECK ASCII COMMAND. LDA B103 OBR BIT 6 SHOULD NOT ALLOW LOCAL. E203 JSB ASCOT CHECK ASCII COMMAND. JSB CG3MC CLEAR ASCIIMODE. LDA THREE ASCIIMODE LOW SHOULD NOT ALLOW LOCAL. E204 JSB ASCOT CHECK ASCII COMMAND. * * INSURE CRS CLEARS ASCIIMODE. * CLB FORM EXPECTED STATUS. JSB CONT SET ASCIIMODE HIGH OCT 603 AND REN HIGH. CLC INTP,C GENERATE CRS. JSB TIMOT WAIT FOR IFC TO SETTLE. LDA TWO ASCIIMODE SHOULD BE CLEAR FROM CRS. E205 JSB ASCOT CHECK ASCII COMMAND. SKP