CPB A IS IT THE CH? 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 CLF CH CLEAR CHANNEL FLAG Z.STF STF CH EXECUTE STF CH INSTRUCTION ZBS42 SFC CH TEST CHANNEL FLAG JMP ZB41 Z.CLF CLF CH CLEAR TEST FLAG CPB Z.77 IS TEST FINISHED? JMP ZBIO5 YES INB NO JMP ZB40 DO NEXT CHANNEL * ZBE11 ASC 14,E011 STF XX SET CARD FLAG// * ZB41 STB ZBTMP SAVE NUMBER LDA B CONVERT CH 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 CH TURN ON ZBS52 STF CH 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 CH TURN OFF CH 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 INSTRUCTION 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 CH AND CLC 0 * ZBIO6 JSB ZTCJI SET JSB INSTRUCTION DEF ZBI61 ZBS61 STC CH SET CH CONTROL ZBS62 STF CH SET CH FLAG STF INTP TURN ON INTERRUPTS ZBS63 CLC CH CLEAR CH CONTROL NOP GIVE IT A CHANCE NOP CLF INTP TURN INTS OFF ZB60 JSB ZTCJI SET JSB INSTRUCTION DEF ZBI62 ZBS64 CLF CH CLEAR CH FLAG ZBS65 STC CH SET CH CONTROL ZBS66 STF CH SET CH 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 CH 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 CH ERROR/ ZBE17 ASC 9,E017 CLC 0 ERROR/ SKP * EXTERNAL & INTERNAL PRESET TEST * ZBIO7 LDB ZS812 CHECK TO SUPPRESS JSB SWRT,I ? JMP H025 YES - SKIP PRESET TEST H024 JSB MSGC,I TELL OPERATOR DEF ZBM24 PRESS PRESET * ZBS71 CLF CH CLEAR CH 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 CH 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 SKP 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 JMP ZBIO,I RETURN TO CALLER * ZBI70 NOP CONTROL FAILED CLF INTP TURN OFF INTPS INA JMP ZB70 * 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 08,H025 BI-O COMP/ SKP 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 DEF ZBS42 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 * HED 12920 MULTIPLEXER DATA DIAGNOSTIC ORG 150B IOID EQU * DEF CH22 DEF CH23 DEF CH24 DEF CH25 DEF CH26 DEF CH27 DEF CH28 DEF CH29 DEF CH30 DEF CH31 DEF CH32 DEF CH33 DEF CH34 DEF CH35 DEF CH38 DEF CH39 DEF CH40 DEF CH41 DEF CH42 DEF CH43 DEF CH45 DEF CH46 DEF CH47 DEF CH48 DEF CH49 DEF CH50 DEF CH53 DEF CH54 DEF CH55 DEF CH56 DEF CH59 DEF CH70 DEF CH71 DEF CH73 DEF CH74 DEF CH76 DEF DCH DEC -1 SPC 1 FRST DEF *+1 DEF CH60 DEF CH61 DEF CH62 DEF CH63 DEF CH64 DEF CH65 DEF CH66 DEF CH67 DEF CH68 DEF CH69 DEF CH72 DEF CH75 LST DEF *-1 SPC 1 TSTD EQU * DEF TST.0 DEF TST01 DEF TST02 DEF TST03 DEF TST04 DEF TST05 DEF TST06 DEF TST07 DEC -1 SKP ASCZZ ASC 1,00 POINT BSS 1 CWS BSS 1 CWR BSS 1 DS BSS 1 DR BSS 1 PORT BSS 1 PORT1 BSS 1 PORT2 BSS 1 CNT0 BSS 1 CNT1 BSS 1 CNT2 BSS 1 CVT1 BSS 1 CVT2 BSS 1 CVT3 BSS 1 SAVEA BSS 1 TEMP STORAGE OF A-REG SAVEB BSS 1 TEMP STORAGE OF B-REG SAVE BSS 1 SAVE1 BSS 1 TEMP5 BSS 1 SPC 1 MM1 DEC -1 MM2 DEC -2 MM5 DEC -5 MM8 DEC -8 MM10 DEC -10 MM100 DEC -100 M300 DEC -300 M1000 DEC -1000 D2 DEC 2 D7 DEC 7 D10 DEC 10 D16 DEC 16 D100 DEC 100 D1000 DEC 1000 BT4 OCT 20 SPC 1 OUT DEF OUTI MCLR DEF MCLRI SFS DEF SFSI RCH DEF RCHI STCH DEF STCHI CFGCH DEF CFGD CONFIGURE DEVICE CHANNEL CRL OCT 2 CRI DEF *+1 OCT 6400 CARRIAGE RETURN ERRA DEF ERRAI E27 ERRB DEF ERRBI E31 ERRC DEF ERRCI E43 ERRD DEF ERRDI E26 ERRE DEF ERREI E30 ERRF DEF ERRFI E32 ERRG DEF ERRGI E42 ERRH DEF ERRHI E45 M30A DEF M30+8 M31A DEF M31+9 M32A DEF M32+13 M32B DEF M32+20 M33A DEF M33+14 M33B DEF M33+21 M34A DEF M34+26 M34AA DEF M34+25 M34B DEF M34+18 M34BB DEF M34+17 M34C DEF M34+14 M46A DEF M46+19 M47A DEF M47+21 M50A DEF M50+11 SPC 1 * CH+1 INITIAL VALUE OF UPPER SC IO BSS 1 LOWER SELECT CODE BSS 1 UPPER SELECT CODE SRP NOP MPXCH NOP DCH NOP SPC 1 TIMC DEC 500 500 MS DELAY HDMX DEF HDM1+3 MBT9 OCT 176777 A17 OCT 17 A0077 OCT 77 B377 OCT 377 BIT8 OCT 400 B3407 OCT 003407 BT11 OCT 4000 BT14 OCT 40000 PT1 OCT 43600 PT4 OCT 43400 DAT1 OCT 43725 NULL OCT 43000 NULL BKNON OCT 43777 BREAK BIT NON-ZERO TEST DAT2 OCT 47777 B7600 OCT 76000 BT15 OCT 100000 B1760 OCT 176000 P7700 OCT 177700 PTYDA BSS 1 TEST DATA PTYIN BSS 1 SAVE DATA MASKC OCT 177 MASK FOR 7 BITS BT7 OCT 200 BIT 7 PYCNT BSS 1 COUNTER PYTYP BSS 1 PARITY TYPE B0TB6 OCT 177 MD8 DEC -8 SPC 1 * CONTROL WORD TABLE CONTAINS THE LOWER 11 BITS * OF THE CONTROL WORD. THE CHARACTER SIZE, DATA * FOR SEND AND RECEIVE AND BAUD RATE. THE WORD * IN THE TABLE IS ADDED TO THE UPPER 5 BITS IN * THE ROUTINE S/R-T. IE.: CWSX, CWRX, DSX, DRX. SPC 1 CWTB DEF *+1 CONTROL WORD TABLE I OCT 1405 9 BIT CHARACTER,2 STOPS 2400 BAUD OCT 3525 S/R DATA 525 = 101010101 II OCT 1405 9 BIT CHARACTER,2 STOPS 2400 BAUD OCT 3252 S/R DATA 252 = 010101010 COMP P-2 III OCT 1277 8 BIT CHARACTER,2 STOPS 75 BAUD OCT 3525 S/R DATA 125 = 01010101 IV OCT 1277 8 BIT CHARACTER,2 STOPS 75 BAUD OCT 3652 S/R DATA 252 = 10101010 COMP P-2 V OCT 0602 8 BIT CHARACTER,1 STOP 110 BAUD OCT 3525 S/R DATA 125 = 01010101 VI OCT 0027 7 BIT CHARACTER,1 STOP 600 BAUD OCT 3652 S/R DATA 52 = 0101010 VII OCT 3457 6 BIT CHARACTER,1 STOP 300 BAUD OCT 3725 S/R DATA 25 = 010101 VIII OCT 2137 3 BIT CHARACTER,1 STOP 150 BAUD OCT 3772 S/R DATA 2 = O/O SPC 1 CWRX OCT 120000 CWSX OCT 160000 DRX OCT 174000 DSX OCT 040000 SPC 1 NOP CW ENA PTY ECH DIAG CHAR BAUD CW1 OCT 141277 SEND 0 0 - 0 8 75 CW2 OCT 121277 REC 1 - 0 0 8 75 CW3 OCT 111277 REC 0 - 1 0 8 75 CW4 OCT 145277 SEND 0 0 - 1 8 75 CW5 OCT 105277 REC 0 - 0 1 8 75 CW6 OCT 151277 SEND 0 1 - 0 8 75 CW7 OCT 121005 REC 1 - 0 0 8 2400 CW8 OCT 151005 SEND 0 1 - 0 8 2400 SPC 1 MSK0 OCT 3777 SPC 1 CFGD JSB CFGG CONFIGURE PORT NUMBERS CF.1 LIA 1 INPUT SW-REG INA ADD ONE TO SC AND A0077 MASK OFF SC STA IO+1 SET UP UPPER SELECT CODE LDB FRST STB SRP L.2 LDB SRP,I LDA B,I AND P7700 IOR IO+1 STA B,I CPB LST,I FINISHED UPPER SELECT CODE ? JMP CFIG,I CONTINUE THE CONFIGURATION ISZ SRP NO JMP L.2 LOOP SKP * THIS ROUTINE CONFIGURES THE DEVICE PORTS TO BE * TESTED. THE TWO PORT NUMBERS ARE ENTERRED INTO * BIT 12-15 AND 6-9. THE NUMBERS ENTERRED MUST BE IN * OCTAL AND THE TEST CABLE MUST BE CONNECTED TO THE * SAME PORTS SPECIFIED. THE OPERATOR MAY OBTAIN * SEVEN (7) ADDITIONAL TEST CONNECTORS AND CONNECT * THEM AS SHOWN IN FIGURE 4-2 IN THE MOD AND SET * SWITCH REGISTER BIT 11 DURING THE CONFIGURATION * OF THE DEVICE CHANNEL. THE PROGRAM WILL TEST ALL * 16 PORTS IN SEQUENCE (CH0 - CH15). SPC 1 CFGG NOP RETURN ADDRESS CFSW LIA 1 READ SWITCH REG ALF,ALF RAL,RAL STA MPXCH STORE PORT NUMBERS JSB STCH,I SET CH NUM IN PORT 1&2 LDA PORT1 TEST PORT1 LDB PORT2 AND PORT2 CPA B SHOULD NOT BE EQUAL RSS JMP CFGG,I RETURN SZA,RSS CHECK FOR AUTO JMP CAUTO ALL 16 HLT 72B BOTH PORT NOS = SAME VALUE JMP CFSW TRY AGAIN CAUTO STA PORT1 INITIALIZE PORT NOS INA STA PORT2 LDA MPXCH SET AUTO BIT IOR BT4 STA MPXCH JMP CFGG,I RETURN SPC 1 SPC 1 CK21A NOP RETURN ADDRESS LDA USSC GET OPTIONS AND BT11 SZA JMP CK21A,I RETURN ISZ CK21A UPDATE RETURN JMP CK21A,I RETURN - 12921B SPC 1 HED BASIC I/O TESTS TST.0 NOP RETURN ADDRESS CLA CH60 OTA CH+1 INITIALIZE UPPER SLEECT CODE JSB TTST0,I DO BASIC I/O TEST JMP TST.0,I RETURN SPC 1 TTST0 DEF TST00 POINTER TO BASIC I/O TEST SKP HED INITIALIZATION PROGRAM - 12921 ASYNC MPX HED SEND/RECEIVE TEST * THE SEND/RECEIVE TEST SELECTS A CONTROL WORD FROM * THE CONTROL WORD TABLE (CWTB) AND SETS UP THE * S/R CHANNELS TO BE TESTED. THE CW IN THE TABLE * TESTS 5 DIFFERENT CHARACTER SIZES AND 6 * DIFFERENT BAUD RATES. THESE COMBITATIONS OF * TESTS CHECKS THE ABITILY TO SET AND RESET EACH * BIT WITHIN THE CHARACTER COUNTER AND BAUD RATE * COUNTER. SPC 1 ORG ZCEND TST01 EQU * SRTST NOP RETURN ADDRESS LDA MM8 STA CNT2 JSB STCH,I SET UP PORT NUMBERS SRT.4 LDA MM2 STA CNT1 SPC 1 SRT.2 JSB MCLR,I MASTER CLEAR MPX LDA CWTB GET ADDRESS OF CONTROL WORD TABLE STA POINT STORE ADDRESS IN POINT LDA MM8 NUMBER OF CW TO BE TESTED STA CNT0 SR LDA POINT,I GET CHARTER SIZE AND BAUD RATE ADA CWSX ADD TO SEND CONTROL WORD STA CWS SEND CONTROL WORD XOR CWSX DELETE SEND CONTROL WORD AND ADA CWRX ADD RECEIVE CONTROL WORD STA CWR RECEIVE CONTROL WORD ISZ POINT INCREMENT POINT ADDRESS IN TABLE LDA POINT,I GET SEND DATA ADA DSX ADD SEND DATA CONTROL WORD STA DS OUTPUT SEND DATA XOR DSX ADA DRX STA DR ISZ POINT INCREMENT POINT ADDRESS IN TABLE SPC 1 LDA CWS LOAD SEND CONTROL WORD LDB PORT1 SEND PORT NUMBER JSB OUT,I CONFIGURE SEND PORT LDA CWR LOAD RECEIVE CONTROL WORD LDB PORT2 RECEIVE PORT NUMBER CH22 CLF CH CLEAR MPX I/O FLAG JSB OUT,I CONFIGURE RECEIVE PORT LDA DS DATA WORD TO SEND LDB PORT1 PORT NUMBER TO SEND ON JSB OUT,I SEND DATA JSB SFS,I CHECK SEND PORT FOR INTERRUPT JSB ERRD,I E030 SEND PORT XX DIDN'T INT CH61 LIA CH+1 READ STATUS SLA IS S/R BIT SET JMP CH23 CONTINUE JSB ERMS,I S/R BIT =0 SHOULD BE=1 DEF M35 CH23 LIA CH READ STATUS AND B7600 MASK OFF PORT NUMBER ALF,ALF POSITION PORT NUMBER RAR,RAR IN BIT O-4 CPA PORT1 COMPARE SEND PORT NUMBER RSS OK JSB ERRE,I E032 SEND PORT NO. IS XX S/B YY CH24 CLF CH ACKNOWLEDGE INTERRUPT FOR SEND CH JSB SFS,I JSB ERRA,I E031 REC CH XX DIDN'T INTERRUPT CH25 LIA CH READ DATA IOR B1760 MAKE PARITY AND PORT NUM ALL ONES CPA DR COMPARE RECEIVED DATA RSS OK JSB ERRF,I E034 REC DATA IS INCORRECT CH62 LIA CH+1 READ STATUS SLA,RSS IS S/R BIT 0 JMP CH26 CONTINUE JSB ERMS,I S/R BIT=1 SHOULD B 0 DEF M36 CH26 LIA CH READ STATUS AND B7600 MASK OFF PORT NUMBER ALF,ALF POSITION PORT NUMBER RAR,RAR IN BITS O-4 CPA PORT2 COMPARE RECEIVE PORT NUMBER RSS OK JSB ERRB,I E033 REC PORT NO. IS XX S/B YY CH27 CLF CH ACKNOWLEDGE RECEIVE INTERRUPT SPC 1 ISZ CNT0 IS TEST FINISHED ? JMP SR NO - CONTINUE TESTING JSB RCH,I YES - REVERSE PORT1 AND PORT2 ISZ CNT1 WHEN=0 BOTH PORT # HAVE BEEN TEST JMP SRT.2 REPEAT TEST WITH PORT # REVERSED LDA MPXCH CHECK FOR ALL 16 OR 2 CH ONLY AND BT4 ISOLATE AUTO BIT SZA,RSS CHECK FOR AUTO JMP SRT.3 2 CHANNELS ONLY ISZ PORT1 ALL 16 PORTS ISZ PORT1 ADD TWO ISZ PORT2 TO EACH ISZ PORT2 PORT NUMBER ISZ CNT2 HAVE ALL 16 PORT BEEN TESTED ? JMP SRT.4 NO - CONTINUE TESTING CLA YES - ALL 16 CH HAVE BEEN TESTED STA PORT1 RESTORE INA PORT 1 AND PORT2 STA PORT2 TO THERE ORGINAL VALUE SRT.3 JMP SRTST,I RETURN HED BRK - BREAK TEST - 12921 ASYNC MPX * BREAK TEST (BRK) SPC 1 * THIS TEST SENDS AND RECEIVES A NON-ZERO TEST * CHARACTER ON A PORT. AND CHECKS THE BREAK * BIT (BIT 2) OF THE STATUS WORD AFTER EACH SEND * AND RECEIVE TO SEE THAT IT IS SET TO ZERO. * THEN THE TEST SENDS AND RECEIVES A BREAK