ASMB,A,B,L,C HED 12773 DIAGNOSTIC PROGRAM -- BASIC TESTS ORG 2 * * 12773 DIAGNOSTIC PROGRAM * * SOURCE TAPES 29024-80001 (1 OF 2) DATE CODE 1636 * AND 29024-80002 (2 OF 2) DATE CODE 1636 * * ST ARTING ADDRESS 2 * * RESTARTING ADDRESS 100B * * REQUIRES TAPE READER ONLY, THE SWITCH REGISTERS ARE * USED FOR ENTERING THE NECESSARY INFORMATION REQUIRED * BY THE PROGRAM. THE FOLLOWING TABLE SHOWS THE PROGRAM * WORD ORGAN IZATION. * * ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ * BIT^15^14^13^12^11^10^ 9^ 8^ 7^ 6^ 5^ 4^ 3^ 2^ 1^ 0^ * ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ * ^ ^ ^ ^ ^ ^ ^ * ^ ^ ^ ^ ^ ^ ^ * ^ ^ ^ ^ ^ * / ^ ^ / / * DMA INDI- / COMPUTER / * CATOR / WIRED BIT CODE SELECT CODE * 1 - YES / PER SECOND 000 - ILL. FROM 10 TO 77 * 0 - NO / 000-2400 011-2100/14/15 OCTAL * / 001-1200 001/010 - 2116 BELOW 10B ILL. * / 010- 600 100 - 21MX IL L. HALT AT 2 * 2570 IN- 011- 300 101 - 21MX-E SERIES * DICATOR 100- 150 ILL. HALT * 1 - YES 101- 75 AT 1 * 0 - NO 110- ILL. * 111- ILL. * ILL. HALT * AT 3 * * DMA AND 2570 ARE MUTUALLY EXCLUSIVE * * IF HALT HAPPENS AT 1, 2, 3, CORRECT THE SWITCH REGISTERS, * THEN "RUN" * IF HALT AT ANY OTHER LOCATION, LOOK THE ERROR MESSAGE TABLE * FOR DESCRIPTION OF ERROR, THE OPERATOR WILL THEN HAVE ONE * OPTION TO CHOOSE, * WITH BIT 15 1 -- SKIP THE SCOPE LOOP AND CONTINUE THE NEXT * TEST AFTER "RUN" * 0 -- GO INTO SCOPE SERVICE LOOP AFTER "RUN" * * AT T HE COMPLETION OF DIAGNOSIS, THE COMPUTER WILL HALT THE 77B. * TO COMPLETE THE PARITY CHECK IT IS REQUIRED FOR THE OPERATOR * TO CONNECT TEST POINT TP18 TO GROUND, THEN "RUN", THE * COMPUTER WILL HALT AT 76B IF THE PARITY LOGIC IS CORRECT, AND * HALT AT 54B INDICATES INCORRECT PARITY LOGIC. * * FOR COMPUTER TO COMPUTER SYSTEM CHECK, IT REQUIRES THAT THE * DIAGNOSTIC PROGRAM BE LOADED AND EXECUTED ONCE IN EACH COMPUTER * THEN TIE THESE TWO COMPUTERS TOGETHER THROUGH THE COMMUNICATION * CABLE. TO START THE TEST, SIMPLY LOAD * * ADDRESS 4000B INTO THE ORIGINATING COMPUTER * * ADDRESS 5000B INTO THE RESPONDING COMPUTER * * THEN "RUN" FOR BOTH COMPUTERS. * * HALT AT 70B WILL HAPPEN WHENEVER THERE IS ANY ERROR SPOTTED * IN THE TRANSMISSION. TO CONTINUE THE TEST SIMPLY "RUN" * * RETEST AFTER HALT AT 77B REQUIRES "RUN" ONLY * * ABBREVIATIONS US -- MICROSECOND * MS -- MI LLISECOND * JMP *+1,I DEF START ORG 100B RESTART ADDRESS JMP *+1,I DEF ITEST ORG 2000B START LIA 1 READ CONTROL WORD FROM SW REGISTERS * CHECK FOR I/O PROCESSOR (2570) AND BIT12 CHECK FOR 2570 STA A2570 LDB D19 19 BIT WORD SZA OR LDB D14 14 BIT WORDS STB WTM BRS STB .5WTM * CHECK FOR DMA LIA 1 AND BIT13 CHECK FOR DMA STA ADMA SAVE IN DMA INDICATOR * CHECK CARD BAUD RATE LIA 1 FETCH CONTROL WORD ALF,ALF RAR AND B7 MASK BIT LENGTH INFORMATION STA BLNG AND B6 CHECK LEGALITY CPA B6 JMP HLT3 * CHECK COMPUTER TYPE LIA 1 AND B700 LOOK AT COMPUTER TYPE BITS 6,7,8 CPA B300 JMP P1415 CPA B100 JMP P2116 CPA B200 JMP P2116 CPA B400 JMP PMX CPA B500 JMP PMXE JMP HLT1 NONE OF THE ABOVE/RECONFIGURE P1415 LDB DM105 JMP CNFGR P2116 LDB DM129 JMP CNFGR PMX LDB DM85 CNFGR LDA INBSZ STA TMR+3 LDA JMPM1 STA TMR+4 LDA BM2 STA CNT2 LDA BM3 STA CNT3 JMP STMC PMXE LDB DM653 LDA MICXE MODIFY STA TMR+3 TIMING CLA ROUTINE FOR STA TMR+4 XE PROCESSOR LDA BM5 STA CNT3 LDA BM4 STA CNT2 STMC LDA BLNG CALCULATE 1 BIT TIMING CONSTANT CMA,RSS BLS ADJUST FOR INA,SZA BIT RATE SPECIFIED JMP *-2 STB TMC CONSTANT FOR 1 BIT TIMING ROUTINE TMR LDB M67 PREPARE LDA HIS TRAPS STA *+2 FOR LDA HI ILLEGAL STA 10B INTERRUPT ISZ *-1 FROM INA ANY INB,SZB DEVICE JMP *-4 * CHECK CARD SELECT CODE LIA 1 FETCH CONTROL WORD AND B77 MASK SELECT CODE STA ADDR SAVE ADDRESS AND B70 CHECK THAT SELECT CODE SZA IS AT LEAST 10B JMP .ADIN HLT2 HLT 2 ILLEGAL SELECT CODE JMP START HLT3 HLT 3 ILLEGAL BIT RATE JMP START HLT1 HLT 1 ILLEGAL COMPUTER TYPE CODE JMP START .ADIN JSB ADIN CONFIGURE I/O INSTRUCTIONS SKP * * INITIAL TEST --- CHECK THE TRANSMITTING/RECEIVING * MODE F/F, THE FLAG F/F, THE FLAG * BUFFER F/F, THE CONTROL F/F, THE * INTERRUPT CIRCUITRY, AND ALL THE * ASSOC IATED GATES. * ITEST NOP CLC 0,C TURN-OFF INTERRUPT SYSTEM CLC1 CLC 0 SET CARD IN TRANSMITTING MODE LDB CNT3 WAIT INB FOR SZB AT LEAST JMP *-2 10 US SFS1 SFS 0 TEST FLAG SET JMP HLT10 JMP *+3 HLT10 HLT 10B ERROR! FLAG IS NOT SET JSB LOOP1 SFC1 SFC 0 TEST FLAG CLEAR JMP *+3 HLT11 HLT 11B ERROR! FLAG IS CLEARED JSB LOOP1 OTA1 OTA 0 CLEAR THE FLAG SFS2 SFS 0 TEST FLAG JMP *+3 HLT12 HLT 12B ERROR! FLAG IS SET JSB LOOP1 GO TO SERVICE LOOP SFC2 SFC 0 JMP HLT13 JMP *+3 HLT13 HLT 13B ERROR! FLAG IS NOT CLEARED JS B LOOP1 GO TO SERVICE LOOP LDA WTM JSB TMR * * 10 US ONE - SHOT TEST * CLCC1 CLC 0,C SET CARD IN RECEIVING MODE LIA1 LIA 0 READ A DATA WORD, CLEAR FLAG CLC2 CLC 0 SET CARD IN TRANSMITTING MODE NOP WAIT SFS3 SFS 0 TEST FLAG SET JMP *+3 OK! HLT14 HLT 14B ERROR! FLAG IS SET TOO SOON JSB LOOP1 GO TO SERVICE LOOP LDB CNT2 WAIT INB AT LEAST SZB 10 JMP *-2 US SFS4 SFS 0 TEST FLAG JMP HLT15 JMP *+3 HLT15 HLT 15B ERROR! FLAG IS NOT SET YET JSB LOOP1 GO TO SERVICE LOOP * * INTERRUPT LOGIC TEST * CLC 0,C TURN-O FF INTERRUPT SYSTEM CLCC2 CLC 0,C SET CARD IN RECEIVING MODE LIA2 LIA 0 CLEAR FLAG STCC1 STC 0,C SET CONTROL SFC3 SFC 0 TEST FLAG CLEAR JMP HLT16 JMP *+3 HLT16 HLT 16B ERROR! FLAG IS NOT CLEARED JSB LOOP1 GO TO SERVICE LOOP LDA ERR SET ERROR IN STA ADDR,I TRAP CELL STF 0 TURN-ON INTERRUPT SYSTEM NOP WAIT NOP LDA OK SET OK IN STA ADDR,I TRAP CELL STC1 STC 0 SET CONTROL LDB CNT3 WAIT INB FOR SZB INTERRUPT JMP *-2 NOP HLT0 HLT 0 ERROR! WRONG INTERRUPT JSB LOOP1 GO TO SERVICE LOOP OKXX LDA HLT0 RESTORE IOR ADDR TRAP STA ADDR,I CELL CLF 0 TURN-OFF INTERRUPT SYSTEM * * TRANSMITTER/RECEIVER TEST * CLCC3 CLC 0,C SET CARD IN RECEIVING MODE LIA3 LIA 0 CLEAR FLAG SFC4 SF C 0 TEST FLAG CLEAR JMP HLT17 JMP *+3 HLT17 HLT 17B ERROR! FLAG IS NOT CLEARED JMP LOOP2 GO TO SERVICE LOOP LIAC1 LIA 0,C READ STATUS WORD LIAC2 LIA 0,C READ STATUS WORD * * AFTER READ DATA WO RD AND STATUS WORD THE RECEIVER * ENABLED , MISSED WORD, RECEIVER IN PROCESS AND PARITY * FLIP-FLOPS SHOULD ALL BE CLEARED * SLA CHECK JMP HLT20 RECEIVER ENABLE JMP *+3 FLIP FLOP HLT20 HL T 20B ERROR!RECEIVER IS DISABLED JSB LOOP2 GO TO SERVICE LOOP SSA CHECK JMP HLT21 PARITY JMP *+3 F/F HLT21 HLT 21B ERROR! PARITY F/F IS SET JSB LOOP2 GO TO SERVICE LOOP RAR,RAR SSA CHECK JMP HLT22 MISSED WORD JMP *+3 F/F HLT22 HLT 22B ERROR! M.W. F/F IS SET JSB LOOP3 GO TO SERVICE LOOP SLA CHECK JMP HLT23 RECEI VER IN PROCESS JMP *+3 F/F HLT23 HLT 23B ERROR! R.I.P. F/F IS SET JSB LOOP2 GO TO SERVICE LOOP * * * TRANSMIT A WORD TO CHECK STATUS BITS, ONLY THE REC. * IN PROCESS F/F SHOULD CHANGE STATE * OT A2 OTA 0 TRANSMIT A WORD LDA .5WTM WAIT HALF JSB TMR A WORD TIME LIAC3 LIA 0,C READ STATUS SLA CHECK JMP HLT24 REC. JMP *+3 ENA. F/F HLT24 HLT 24B ERRO R! RECEIVER IS DISABLED TOO JSB LOOP2 SOON; BIT TIME MAY BE WRONG RAR SLA CHECK JMP HLT25 M.W. F/F JMP *+3 HLT25 HLT 25B ERROR! M.W. F/F SHOULD NOT BE SET JSB LOOP3 GO TO SE RVICE LOOP RAR SLA CHECK JMP *+3 R.I.P. F/F HLT26 HLT 26B ERROR! R.I.P. F/F IS NOT SET JSB LOOP2 EITHER F/F OR CLOCK IS BAD LDA WTM WAIT ONE JSB TMR WORD TIME SFS5 SFS 0 TEST JMP HLT27 FLAG JMP *+3 SET HLT27 HLT 27B ERROR! FLAG DID NOT SET JSB LOOP2 GO TO SERVICE LOOP * * READ STATUS BEFORE READ DATA, SHOULD FIND THAT * RECEIVER IS DISA BLED * LIAC4 LIA 0,C READ STATUS SLA TEST JMP *+3 R. ENA. F/F HLT30 HLT 30B ERROR! RECEIVER IS NOT DISABLED JSB LOOP2 GO TO SERVICE LOOP * * TRANSMIT ANOTHER WORD WOULD CAUSE M.W. F/F TO BE SET * OTA3 OTA 0 TRANSMIT ANOTHER WORD LDA WTM WAIT ONE JSB TMR WORD TIME LIAC5 LIA 0,C READ STATUS WORD AGAIN SLA CHECK JMP *+3 R.ENA. F/F HLT31 HLT 31B ERROR! R ECEIVER IS NOT DISABLED JSB LOOP3 GO TO SERVICE LOOP RAR SLA CHECK M.W. F/F JMP *+3 OK! HLT32 HLT 32B ERROR! M.W. F/F IS NOT SET JSB LOOP3 GO TO SERVICE LOOP LIAC6 LIA 0,C READ STA TUS AGAIN * * SHOULD CLEAR M.W. F/F,R.D. F/F REMAIN SET AND FLAG SET * SLA CHECK JMP *+3 R. ENA. F/F HLT33 HLT 33B ERROR! RECEIVER IS NOT DISABLED JSB LOOP2 GO TO SERVICE LOOP RAR SLA CHECK M.W. F/F AGAIN JMP HLT34 JMP *+3 OK! HLT34 HLT 34B ERROR! M.W. F/F IS NOT CLEARED JSB LOOP3 GO TO SERVICE LOOP SFS6 SFS 0 TEST FLAG JMP HLT35 JMP *+3 OK! HLT35 HLT 35B ERROR! FLAG DID NOT STAY SET JSB LOOP2 GO TO SERVICE LOOP * * READ DATA WORD SHOULD CLEAR FLAG , THEN READ STATUS * SHOULD CLEAR ALL FOUR STATUS BITS * LIA4 LIA 0 READ DATA WORD SFC5 SFC 0 TEST F LAG CLEAR JMP HLT36 JMP *+3 OK! HLT36 HLT 36B ERROR! FLAG DID NOT CLEAR JSB LOOP2 GO TO SERVICE LOOP LIAC7 LIA 0,C READ STATUS WORD SSA CHECK PARITY F/F JMP HLT37 JMP *+3 OK! HLT37 HLT 37B ERROR! PARITY F/F IS SET JSB LOOP2 GO TO SERVICE LOOP SLA CHECK R. ENA. F/F JMP HLT40 JMP *+3 OK! HLT40 HLT 40B ERROR! RECEIVER IS NOT ENABLED JSB LOOP2 GO TO SERVICE LOOP RAR,RAR SSA JMP HLT41 JMP *+3 OK! HLT41 HLT 41B ERROR! M.W. F/F IS NOT CLEARED JSB LOOP3 GO TO SERVICE LOOP SLA CHECK I.P. F/F JMP HLT42 JMP *+3 HLT42 HL T 42B ERROR! I.P. F/F IS SET JSB LOOP2 * * THE FOLLOWING SUBROUTINE IS DESIGNED TO TEST * BLOCK TRANSMITTING AND RECEIVING WITH 1'S AND * 0'S PROPAGATING THROUGH THE TRANSMISSION WORDS * LDB CNT4 STB CNT5 SET COUNTER CLC3 CLC 0 SET CARD IN TRANSMIT MODE LDA ADATA STA IDATA SET START ADDRESS OF DATA BLOCK PLOOP NOP LDA IDATA,I LOAD DATA OTA4 OTA 0 TRANSMIT DATA OTA 1 LDA WTM WAIT O NE JSB TMR WORD TIME LIA5 LIA 0 READ DATA WORD STA TEMP0 LIBC1 LIB 0,C READ STATUS WORD SSB CHECK PARITY BIT JMP HLT43 JMP *+3 OK! HLT43 HLT 43B ERROR! PARITY F/F JSB LOOP2 GO TO SERVICE LOOP LDB A2570 READ 2570 INDICATOR SZB JMP P1 YES, CARD IS WIRED FOR 2570 CMA,INA ADA IDATA,I ADD ORIGINAL DATA TO THE COMPLE- * MENT OF THE RECEIVED DATA JMP P2 P1 NOP LDA IDATA,I LOAD ORIGINAL DATA AND M3777 MASK OFF THE UNWANTED BITS ALF SHIFT RAL 5 BITS LEFT STA TEMP1 SAVE LDA TEMP0 LOAD THE REC EIVED DATA CMA,INA CHANGE TO NEGATIVE NUMBER ADA TEMP1 ADD TO THE TRANSMITTED DATA P2 SZA TEST RESULT JMP *+2 JMP *+3 HLT44 HLT 44B ERROR! SUM IS NOT ZERO JSB LOOP2 LDA IDATA LOAD THE ADDRESS OF DATA INA INCREMENT ONE STA IDATA RESTORE THE CURRENT ADDRESS ISZ CNT5 INCREMENT ADDRESS COUNTER, TEST JMP PLOOP GO BACK TO TRANSMIT NEXT WORD LDA ADMA FETCH DMA INDICA TOR SZA CHECK TO SEE IF DMAT IS NEEDED JSB DMAT GO ON TO TEST DMA IN AND OUT HLT 77B TEST COMPLETION JSB PARIT CHECK PARITY LOGIC JMP ITEST+1 * * END OF TAPE 29024-80001 * CONTINUA TION OF PROGRAM ON TAPE 29024-80002