/ ELECTRONIC SYSTEMS SELF CHECK 29-MAY-90 TASK= SELFCK CUR= SLFCKFLD INIWT= 0 VERS= 1 TASK2= LIST CUR2= CUR INIWT2= 0 VERS2= 1 TASK3= PRESF5 CUR3= CUR INIWT3= 0 VERS3= 1 TASK4= SLFRST CUR4= CUR INIWT4= 0 VERS4= 1 / /EDIT HISTORY: / /[01] 01-FEB-78: / 1) DELETED SECOND A/D READING IN "ADCNTR". / 2) FIXED INSPECTOR DIGITAL ERROR MESSAGE. / 3) ADDED INDIVIDUAL ERROR MESSAGES FOR EACH OF THE / PREMULTIPLEXOR BUS CHANNELS. / 4) FIXED CHANNEL ENABLE TEST FOR DIGITAL SELF CHECK / /[01] 22-NOV-78 / 1) CHANGED MAST 5VDC SCALE FACTOR FROM 737 TO 1000 / /29-MAY-90 (LHN) / 1) UPDATED LIMITS FOR LASER POWER TESTS / / /%TW THIS CODE CONTAINS THE ANALOG AND DIGITAL SELF CHECK / ROUTINES FOR THE ELECTRONIC SYSTEMS. THE SELF / CHECK SOFTWARE IS PARTITIONED INTO SEGMENTS WHICH / ARE APPROXIMATELY 200 MICROSECONDS LONG. ONE OF / THESE SEGMENTS IS EXECUTED DURING EACH EXECUTION OF / THE SELF CHECK TASK. / / / /%RX AD01 ANALOG TO DIGITAL CONVERTER COMMANDS / / IFNDEF EPLTEST < ADSF=6531 /SKIP ON A/D DONE FLAG ADRB=6532 /READ A/D BUFFER ADCV=6534 /CONVERT ANALOG INPUT ADSC=6535 /SET MULTIPLEXER CHANNEL AND GAIN ADRC=6536 /READ A/D BUFFER, CLEAR FLAG & START / CONVERSION ADSR=6537 /SELECT CHANNEL AND GAIN AND READ A/D / BUFFER, THEN START ANOTHER CONVERSION > IFDEF EPLTEST < /FOR TESTING AT EPL. ADSF= SKP ADRB= CLL CLA ADCV= CLL CLA ADSC= CLL CLA ADRC= CLL CLA ADSR= CLL CLA > / / FIELD SLFCKFLD%10 *SLFCKLOC / / /%R SELF CHECK RATE CONTROL / /%TW COME HERE AND EXECUTE ONE / SEGMENT OF THE SELF CHECK ROUTINES. / / START, CLB IFDEF EPLTEST < CAL /DISABLE SELF CHECK AT EPL ! BLKARG ENABWT > CAL /WAIT FOR THE NEXT CLOCK TICK. SENDW CLOCK SELFMG DBRI50 /READ THE INSPECTOR DEFECT DATA MQL /BITS, "OR" WITH THE INSPECTOR DBRI52 /CHANNEL DISABLE BITS, AND SAVE AS MQA /THE CURRENT DEFECT DATA FOR THE AND (7) /DIGITAL SELF CHECK ROUTINES. RAR SZL ISZ DIGDF3 /CHANNEL 3 DEFECT DATA RAR SZL ISZ DIGDF2 /CHANNEL 2 DEFECT DATA RAR SZL CLA ISZ DIGDF1 /CHANNEL 1 DEFECT DATA NOP ISZ ADINDY JMP LP201A TAD (-50) DCA ADINDY ISZ ADWCF ISZ DIGWCF LP201A, ISZ SLFCNT /INCREMEMT THE SELF CHECK CONTROL NOP /COUNTER. TAD SLFCNT /IS THE CONTROL COUNTER NOW AN EVEN CLL RAR /NUMBER ? SNL CLA JMP LP101 /YES, GO TO THE DIGITAL SELF CHECK TAD ADERRF /IS THE A/D LOOP ERROR FLAG SET ? SZA CLA JMP LP101 /YES, A/D SELF CHECK IS DISABLED, / GO ON. CLB JMP I ADCPTR /NO, GO DO THE NEXT PART OF THE A/D /SELF CHECK ROUTINE. LP101, JMS DIGCTR /GO TO THE DIGITAL SELF CHECK /CONTROL ROUTINE. LP102, CLB DBRO54 /TOGGLE THE MAST RUNNING PULSE AND (4000) DBCO54 CLL RAL CML RAR DBSO54 CLB JMP START SELFMG, ZBLOCK 3 0 0 1 /1 CLOCK TICK / MNTLST, SCHD01 /HEADING, PAGE DASHES SCHD02 /HEADING, #12 FINISHING SYSTEM SCHD03 /HEADING, ELECTRONICS CONSOLE ... SCHD10 /HEADING, DATE MARKER SCHD05 /HEADING, CONTROL PARAMETERS SCTX03 /A/D CHANNEL 3, MAST PSM +5V SCTX01 /A/D CHANNEL 1, MAST PSM +15V SCTX02 /A/D CHANNEL 2, MAST PSM -15V SCTX05 /A/D CHANNEL 5, MAST PSM +6V SCTX06 /A/D CHANNEL 6, MAST PSM -12V SCTX07 /A/D CHANNEL 7, MAST PSM -18V SCHD08 /CARRIAGE RETURN - LINE FEED SCTX08 /A/D CHANNEL 8, I/O PSM +24V PS1 SCTX09 /A/D CHANNEL 9, I/O PSM +24V PS2 SCTX10 /A/D CHANNEL 10, I/O PSM +5V SCHD08 /CARRIAGE RETURN LINE FEED SCTX11 /SAMPLE MARKER HIGH VOLTAGE SCHD08 /CARRIAGE RETURN - LINE FEED SCTX00 /A/D CHANNEL 0, MACHINE LINE SPEED SCTX04 /A/D CHANNEL 4, MACHINE LINE SPEED SCHD06 /HEADING, INSPECTION PARAMETERS SCHD07 /HEADING, INSPECTOR CHANNELS ... SCTX16 /A/D CHANNEL 16, LASER POWER SCTX17 /A/D CHANNEL 17, HIGH VOLTAGE LEVEL SCTX18 /A/D CHANNEL 18, PA SIGNAL SCTX19 /A/D CHANNEL 19, AUTO CALIBRATION SCTX20 /A/D CHANNEL 20, INSPECTOR PSM +21V SCTX21 /A/D CHANNEL 21, INSPECTOR PSM -21V SCTX22 /A/D CHANNEL 22, INSPECTOR PSM +12V SCTX23 /A/D CHANNEL 23, INSPECTOR PSM -12V SCTX24 /A/D CHANNEL 24, INSPECTOR PSM +15V SCTX25 /A/D CHANNEL 25, INSPECTOR PSM -15V SCTX26 /A/D CHANNEL 26, INSPECTOR PSM +5V SCHD09 /CARRIAGE RETURN - 5 LINE FEEDS SCHD01 /HEADING, PAGE DASHES 0 PAGE / / /%R CUE THE MAINTENANCE LIST FOR TELETYPE OUTPUT / / START2, CLB TAD (SELFCK) CAL UNBARG USERWT CLB CAL SUSPND CLB TAD (SELFCK) CAL BLKARG USERWT CLB CDF 0 TAD I (DATE /GET THE SYSTEM DATE WORD CDF CUR SZA /IS THE SYSTEM DATED ? JMP LIST1 /YES, GO ON TAD (4040) /NO, SET THE DATE TEXT TO SPACES. DCA SCHD04+7 TAD (4040) DCA SCHD04+11 TAD (4040) DCA SCHD04+13 JMP LIST2 /NOW QUEUE THE LIST. LIST1, DCA LISTA /SAVE THE DATE WORD. TAD LISTA AND (0370) /GET THE 'DAY' BITS. CLL RTR RAR JMS LIST4 /GO CONVERT TO DECIMAL ASCII, AND DCA SCHD04+7 /PUT THE 'DAY' IN THE TEXT AREA. TAD LISTA /GET THE 'MONTH' BITS. AND (7400) BSW CLL RTR JMS LIST4 /GO CONVERT TO DECIMAL ASCII, AND DCA SCHD04+11 /PUT THE 'MONTH' IN THE TEXT AREA. / CDF 0 TAD I (YEAR) /NOW GET THE YEAR CDF CUR TAD (106) /ADD IN 1970 (THE BASE YEAR), JMS LIST4 /GO CONVERT TOT DECIMAL ASCII, AND DCA SCHD04+13 /PUT IT IN THE TEXT STRING. LIST2, TAD (MNTLST) /NOW QUEUE THE LIST TO THE TTY. DCA LISTA LIST3, TAD I LISTA ISZ LISTA SNA JMP START2 DCA LISTB CAL SENDW TTYST LISTMG JMP LIST3 LISTA, 0 LISTMG, ZBLOCK 3 1000 0 LISTB, 0 / / 2 DIGIT OCTAL TO ASCII CONVERTER / LIST4, 0 DCA LISTB /SAVE THE NUMBER TO BE CONVERTED. TAD (57) /PRESET 'TENS' COUNTER DCA LISTC TAD LISTB LIST5, ISZ LISTC /INCREMENT THE 'TENS' COUNTER. TAD (-12) /"DIVIDE OVERFLOW" ? SMA JMP LIST5 /NO, GO AROUND AGAIN. TAD (60+12) /REFORM THE 'UNITS' DIGIT IN ASCII. DCA LISTB TAD LISTC /SHIFT THE 'TENS' DIGIT LEFT, BSW TAD LISTB /COMBINE WITH THE UNITS DIGIT, AND JMP I LIST4 /RETURN. LISTC, 0 / PAGE / / /%R ANALOG SELF CHECK CALLING LIST / /%TW THE FOLLOWING IS A CHAIN OF CALLING SEQUENCES / TO READ AND TEST THE ANALOG VALUES IN THE #72 / FINISHING SYSTEM ELECTRONICS CONSOLE. / /%TW EACH GROUP OF STATEMENTS CAUSES ONE ANALOG VALUE / TO BE READ AND VERIFIED TO BE WITHIN THE PRESET / LIMITS. THE SCALED ANALOG VALUE IS ALSO PLACED / IN THE SELF CHECK TEXT AREA FOR THE A/D / MAINTENANCE LIST ROUTINE. / /%TN /%TN THE CALLING SEQUENCE FORMAT IS AS FOLLOWS: /%TN /%TN JMS I ADCNTL LINK TO THE A/D CONTROL ROUTINE /%TN ABCC A/D CONTROL WORD WHERE: /%TN A = PREMULTIPLEXER CODE /%TN B = A/D GAIN RANGE /%TN CC= THE A/D CHANNEL NUMBER /%TN XXXX SCALE FACTOR FOR OUTPUT AND LIMITS /%TN YYYY HIGH VALUE LIMIT /%TN ZZZZ LOW VALUE LIMIT /%TN ERROR COUNTER COUNT OF CONSECUTIVE ERRORS /%TN TEXT ADDRESS ADDRESS FOR THE SCALED VALUE /%TN TEXT ADDRESS ADDRESS OF THE TEXT FOR OUTPUT /%TN / / / / / / /%RP START OF THE A/D SELF CHECK CALLING SEQUENCE / / ADCLST, CLB TAD (7400) /RESET THE A/D INSPECTOR STATUS BITS MQL TAD CH1DAT /FOR CHANNEL 1 MQA DCA CH1DAT TAD CH2DAT /FOR CHANNEL 2 MQA DCA CH2DAT TAD CH3DAT /FOR CHANNEL 3 MQA DCA CH3DAT / / /%RXP A/D CHANNEL 0, LINE SPEED / / CLB IAC /PRESET ERROR COUNTER TO FORCE AN DCA ADC00 / MESSAGE FOR EACH ERROR JMS I CHNENL /IS A/D SELFCHECK ENABLED ? JMP ADC15A /NO, GO ON. JMS I ADCNTL 0000 441 -764 /-500 0 ADC00, 0 SCTX00+7 SCTX00 CLB TAD ADVAL /SAVE THE CHANNEL 0 LINE SPEED TO DCA LNSP1 /CHECK AGAINST CHANNEL 4 LATER / / /%RXP A/D CHANNEL 1, MAST PSM +15V / / CLB IAC DCA ADC01 JMS I ADCNTL 0001 1756 -3100 /-1600 -2570 /-1400 ADC01, 0 SCTX01+7 SCTX01 / / /%RXP A/D CHANNEL 2, MAST PSM -15V / / CLB IAC DCA ADC02 JMS I ADCNTL 0002 1740 -3100 /-1600 -2570 /-1400 ADC02, 0 SCTX02+7 SCTX02 / / /%RXP A/D CHANNEL 3, MAST PSM +5V / / CLB IAC DCA ADC03 JMS I ADCNTL 0103 1000 /[N1] -1046 /-550 -702 /-450 ADC03, 0 SCTX03+7 SCTX03 / / /%RXP A/D CHANNEL 4, LINE SPEED / / CLB IAC DCA ADC04 JMS I ADCNTL 0004 430 -764 /-500 0 ADC04, 0 SCTX04+7 SCTX04 CLB TAD ADVAL /SAVE THE CHANNEL 4 LINE SPEED TO DCA LNSP2 /CHECK AGAINST CHANNEL 0 LATER / / /%RXP A/D CHANNEL 5, MAST PSM +6V / / CLB IAC DCA ADC05 JMS I ADCNTL 0105 0751 -1224 /-660 -1034 /-540 ADC05, 0 SCTX05+7 SCTX05 / / /%RXP A/D CHANNEL 6, MAST PSM -12V / / CLB IAC DCA ADC06 JMS I ADCNTL 0006 1747 -2424 /-1300 -2114 /-1100 ADC06, 0 SCTX06+7 SCTX06 / / /%RXP A/D CHANNEL 7, MAST PSM +18V / / CLB IAC DCA ADC07 JMS I ADCNTL 0007 1745 -3554 /-1900 -3244 /-1700 ADC07, 0 SCTX07+7 SCTX07 / / /%RXP A/D CHANNEL 8, I/O PSM +24V PS1 / / CLB IAC DCA ADC08 JMS I ADCNTL 0010 2745 2730 /SPECIAL CONSTANT = -2640 3620 /SPECIAL CONSTANT = -2160 ADC08, 0 SCTX08+10 SCTX08 / / /%RXP A/D CHANNEL 9, I/O PSM +24V PS2 / / CLB IAC DCA ADC09 JMS I ADCNTL 0011 2730 2730 3620 ADC09, 0 SCTX09+10 SCTX09 JMP ADC10A PAGE / / /%RXP A/D CHANNEL 10, I/O PSM +5V / / ADC10A, CLB IAC DCA ADC10 JMS I ADCNTL 0112 0757 -1046 /-550 -702 /-450 ADC10, 0 SCTX10+7 SCTX10 / / /%RXP A/D CHANNEL 11, SAMPLE MARKER HIGH VOLTAGE / / JMS I ADCNTL 0013 2532 7530 /2600 VOLTS 5010 /1700 VOLTS ADC11, 0 SCTX11+14 SCTX11 / / / A/D CHANNEL 12, NOT USED / A/D CHANNEL 13, NOT USED / A/D CHANNEL 14, NOT USED / A/D CHANNEL 15, NOT USED / / / ADC15A, CLB TAD ADWCF /IS THE ANALOG CLOCK FLAG SET ? SNA CLA JMP ADC20 /NO, GO ON DCA ADWCF /YES, CLEAR THE ANALOG CLOCK FLAG / / /%RXP A/D CHANNEL 16, INSPECTOR LASER POWER / / CLB IAC DCA ADC16A JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 0020 0764 -1046 /-550 -702 /-450 ADC16A, 0 SCTM16+21 /[01] SCTM16 JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+14 /NO, GO ON. JMS I ADWATL 1000 1000 JMS I ADCNTL /INSPECTOR CHANNEL 1 1020 0757 -1356 /-750 -454 /-300 ADC16B, 0 SCTX16+10 SCTX16 JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+14 /NO, GO ON. JMS I ADWATL 2000 0040 JMS I ADCNTL /INSPECTOR CHANNEL 2 2020 1215 -1500 /-832 WAS /-1356 /-750 -420 /-272 ADC16C, 0 SCTX16+14 SCTX16 / JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+14 /NO, GO ON. JMS I ADWATL 3000 0002 JMS I ADCNTL /INSPECTOR CHANNEL 3 3020 1270 -1356 /-750 -454 /-300 ADC16D, 0 SCTX16+20 SCTX16 JMS I ADIERL /SEE IF ANY ERROR FOR THIS CHANNEL. / / /%RXP A/D CHANNEL 17, INSPECTOR HIGH VOLTAGE LEVEL / / CLB IAC DCA ADC17A JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 0021 0764 -1046 /-550 -702 /-450 ADC17A, 0 SCTM17+21 /[01] SCTM17 JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 1021 /INSPECTOR CHANNEL 1 2145 -2114 /-1100 -454 /-300 ADC17B, 0 SCTX17+14 SCTX17 JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 2021 /INSPECTOR CHANNEL 2 2172 -2114 /-1100 -454 /-300 ADC17C, 0 SCTX17+21 SCTX17 / JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 3021 /INSPECTOR CHANNEL 3 2240 -2114 /-1100 -454 /-300 ADC17D, 0 SCTX17+26 SCTX17 JMS I ADIERL /SEE IF ERROR FOR THIS CHANNEL. JMP ADC18 PAGE / / /%RXP A/D CHANNEL 18, INSPECTOR PA SIGNAL / / ADC18, CLB IAC DCA ADC18A JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 0022 0764 -1046 /-550 -702 /-450 ADC18A, 0 SCTM18+21 /[01] SCTM18 JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+14 /NO, GO ON. JMS I ADWATL 1000 1000 JMS I ADCNTL 1022 /INSPECTOR CHANNEL 1 0764 -226 /-150 -62 /-50 ADC18B, 0 SCTX18+7 SCTX18 JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+14 /NO, GO ON. JMS I ADWATL 2000 0040 JMS I ADCNTL 2022 /INSPECTOR CHANNEL 2 0764 -226 /-150 -62 /-50 ADC18C, 0 SCTX18+13 SCTX18 / JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+14 /NO, GO ON. JMS I ADWATL 3000 0002 JMS I ADCNTL 3022 /INSPECTOR CHANNEL 3 0764 -226 /-150 -62 /-50 ADC18D, 0 SCTX18+17 SCTX18 JMS I ADIERL /SEE IF ERROR FOR THIS CHANNEL. / / /%RXP A/D CHANNEL 19, INSPECTOR AUTO CALIBRATION LEVEL / / CLB IAC DCA ADC19A JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 0023 0764 -1046 /-550 -702 /-450 ADC19A, 0 SCTM19+21 /[01] SCTM19 JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+14 /NO, GO ON. JMS I ADWATL 1000 1000 JMS I ADCNTL 1023 /INSPECTOR CHANNEL 1 0764 -1130 /-600 -226 /-150 ADC19B, 0 SCTX19+12 SCTX19 JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+14 /NO, GO ON. JMS I ADWATL 2000 0040 JMS I ADCNTL 2023 /INSPECTOR CHANNEL 2 0764 -1130 /-600 -226 /-150 ADC19C, 0 SCTX19+16 SCTX19 / JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+14 /NO, GO ON. JMS I ADWATL 3000 0002 JMS I ADCNTL 3023 /INSPECTOR CHANNEL 3 0764 -1130 /-600 -226 /-150 ADC19D, 0 SCTX19+22 SCTX19 JMS I ADIERL /SEE IF ERROR FOR THIS CHANNEL. JMP ADC20 PAGE / / /%RXP A/D CHANNEL 20, INSPECTOR PSM +21V / / ADC20, CLB IAC DCA ADC20A JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 0024 0764 -1046 /-550 -720 /-450 ADC20A, 0 SCTM20+21 /[01] SCTM20 CLB IAC DCA ADC20B JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 1024 /INSPECTOR CHANNEL 1 2732 3360 /SPECIAL CONSTANT = -#2310 -3720 /-2000 ADC20B, 0 SCTX20+12 SCTX20 ADC20E, CLB IAC DCA ADC20C JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 2024 /INSPECTOR CHANNEL 2 2730 3360 -3720 /-2000 ADC20C, 0 SCTX20+16 SCTX20 / CLB IAC DCA ADC20D JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 3024 /INSPECTOR CHANNEL 3 2730 3360 -3720 /-2000 ADC20D, 0 SCTX20+22 SCTX20 JMS I ADIERL /SEE IF ERROR FOR THIS CHANNEL. / / /%RXP A/D CHANNEL 21, INSPECTOR PSM -21V / / CLB IAC DCA ADC21A JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 0025 0764 -1046 /-550 -702 /-450 ADC21A, 0 SCTM21+21 /[01] SCTM21 CLB IAC DCA ADC21B JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 1025 /INSPECTOR CHANNEL 1 2740 3360 -3720 /-2000 ADC21B, 0 SCTX21+12 SCTX21 CLB IAC DCA ADC21C JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 2025 /INSPECTOR CHANNEL 2 2740 3360 -3720 /-2000 ADC21C, 0 SCTX21+16 SCTX21 / CLB IAC DCA ADC21D JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 3025 /INSPECTOR CHANNEL 3 2732 3360 -3720 /-2000 ADC21D, 0 SCTX21+22 SCTX21 JMS I ADIERL /SEE IF ERROR FOR THIS CHANNEL. / / /%RXP A/D CHANNEL 22, INSPECTOR PSM +12V / / CLB IAC DCA ADC22A JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 0026 0764 -1046 /-550 -702 /450 ADC22A, 0 SCTM22+21 /[01] SCTM22 CLB IAC DCA ADC22B JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 1026 /INSPECTOR CHANNEL 1 1752 -2424 /-1300 -2114 /-1100 ADC22B, 0 SCTX22+12 SCTX22 JMP ADC22E PAGE / ADC22E, CLB IAC DCA ADC22C JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 2026 /INSPECTOR CHANNEL 2 1753 -2424 /-1300 -2124 /-1100 ADC22C, 0 SCTX22+16 SCTX22 CLB IAC DCA ADC22D JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 3026 /INSPECTOR CHANNEL 3 1742 -2424 /-1300 -2114 /-1100 ADC22D, 0 SCTX22+22 SCTX22 JMS I ADIERL /SEE IF ERROR FOR THIS CHANNEL. / / /%RXP A/D CHANNEL 23, INSPECTOR PSM -12V / / CLB IAC DCA ADC23A JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 0027 0764 -2046 /-550 -702 /-450 ADC23A, 0 SCTM23+21 /[01] SCTM23 CLB IAC DCA ADC23B JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 1027 /INSPECTOR CHANNEL 1 1751 -2424 /-1300 -2114 /-1100 ADC23B, 0 SCTX23+12 SCTX23 CLB IAC DCA ADC23C JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 2027 /INSPECTOR CHANNEL 2 1746 -2424 /-1300 -2114 /-1100 ADC23C, 0 SCTX23+16 SCTX23 / CLB IAC DCA ADC23D JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 3027 /INSPECTOR CHANNEL 3 1752 -2424 /-1300 -2114 /-1100 ADC23D, 0 SCTX23+22 SCTX23 JMS I ADIERL /SEE IF ERROR FOR THIS CHANNEL. / / /%RXP A/D CHANNEL 24, INSPECTOR PSM +15V / / CLB IAC DCA ADC24A JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 0030 0764 -1046 /-550 -702 /-450 ADC24A, 0 SCTM24+21 /[01] SCTM24 CLB IAC DCA ADC24B JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 1030 /INSPECTOR CHANNEL 1 1751 -3100 /-1600 -2570 /-1400 ADC24B, 0 SCTX24+12 SCTX24 CLB IAC DCA ADC24C JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 2030 /INSPECTOR CHANNEL 2 1754 -3100 /-1600 -2570 /-1400 ADC24C, 0 SCTX24+16 SCTX24 / CLB IAC DCA ADC24D JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 3030 /INSPECTOR CHANNEL 3 1751 -3100 /-1600 -2570 /-1400 ADC24D, 0 SCTX24+22 SCTX24 JMS I ADIERL /SEE IF ERROR FOR THIS CHANNEL. / JMP ADC25 PAGE / / /%RXP A/D CHANNEL 25, INSPECTOR PSM -15V / / ADC25, CLB IAC DCA ADC25A JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 0031 0764 -1046 /-550 -702 /-450 ADC25A, 0 SCTM25+21 /[01] SCTM25 CLB IAC DCA ADC25B JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 1031 /INSPECTOR CHANNEL 1 1746 -3100 /-1600 -2570 /-1400 ADC25B, 0 SCTX25+12 SCTX25 CLB IAC DCA ADC25C JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 2031 /INSPECTOR CHANNEL 2 1751 -3100 /-1600 -2570 /-1400 ADC25C, 0 SCTX25+16 SCTX25 / CLB IAC DCA ADC25D JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 3031 /INSPECTOR CHANNEL 3 1752 -3100 /-1600 -2570 /-1400 ADC25D, 0 SCTX25+22 SCTX25 JMS I ADIERL /SEE IF ERROR FOR THIS CHANNEL. / / /%RXP A/D CHANNEL 26, INSPECTOR PSM +5V / / CLB IAC DCA ADC26A JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 0032 0764 -1046 /-550 -702 /-450 ADC26A, 0 SCTM26+21 /[01] SCTM26 CLB IAC DCA ADC26B JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 1132 /INSPECTOR CHANNEL 1 0763 -1046 /-550 -702 /-450 ADC26B, 0 SCTX26+12 SCTX26 CLB IAC DCA ADC26C JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 2132 /INSPECTOR CHANNEL 2 0762 -1046 /-550 -702 /-450 ADC26C, 0 SCTX26+16 SCTX26 / CLB IAC DCA ADC26D JMS I CHNENL /IS THIS CHANNEL ENABLED ? JMP .+11 /NO, GO ON. JMS I ADCNTL 3132 /INSPECTOR CHANNEL 3 0756 -1046 /-550 -702 /-450 ADC26D, 0 SCTX26+22 SCTX26 JMS I ADIERL /SEE IF ERROR FOR THIS CHANNEL. / / / A/D CHANNEL 27, NOT USED / A/D CHANNEL 28, NOT USED / A/D CHANNEL 29, NOT USED / A/D CHANNEL 30, NOT USED / A/D CHANNEL 31, NOT USED / / CLB JMP ADCL0 PAGE ADCL0, TAD (ADCLST) /RESET THE INDIRECT POINTER TO THE DCA ADCPTR /START OF THE A/D CALLING SEQUENCE. TAD LNSP1 /TEST THAT THE LINE SPEED VALUES CIA /AGREE TAD LNSP2 SPA /FORM THE ABSOLUTE VALUE OF THE CIA /SPEED DIFFERENCE. TAD (-12) /ARE THE LINE SPEEDS WITHIN 10. SPA CLA / METERS PER MINUTE ? JMP ADCL1-1 /YES, GO ON ISZ LNSPEC /NO, INCREMENT THE LINE SPEEDS CLB CMA /DISAGREE ERROR COUNTER TAD LNSPEC /IS THE ERROR COUNTER = 2 ? SPA CLA JMP ADCL1 /NO, GO ON TAD ADHDRF /YES, IS THE A/D HEADING FLAG SET ? SZA CLA JMP .+3 /YES, GO ON JMS TTYQF1 /NO, GO CUE "SYSTEM FAILURE" HEADING SCTXSE CLB STL RTR JMS TTYQF1 /GO CUE THE LINE SPEED ERROR MESSAGE SCTXLS CLB IAC /FORCE THE A/D LOOP ERROR TO BE SET DCA ADLPER DCA LNSPEC /CLEAR THE LINE SPEEDS DISAGREE /ERROR COUNTER ADCL1, TAD ADLSSF /IF THE A/D LIST STARTED FLAG IS SET, SZA CLA /SET THE A/D LIST IN PROGRESS FLAG. ISZ ADLSTF /THIS LETS THE A/D ROUTINES SCAN /ONCE WHEN THE LIST IS REQUESTED. DCA ADLSSF /CLEAR THE A/D LIST STARTED FLAG TAD ADLPER /IS THE A/D LOOP ERROR FLAG SET ? SNA CLA JMP ADCL2 /NO, GO ON ISZ ADERRF /YES, SET THE A/D ERROR DISABLE FLAG DCA ADLPER /CLEAR THE A/D LOOP ERROR FLAG ISZ ADLSTF /SET THE LIST IN PROGRESS FLAG TO /PREVENT THE A/D VALUES FROM /CHANGING IN THE ERROR TEXT MESSAGES /IF THE OPERATOR HITS THE RESET /BUTTON BEFORE THE ERRORS HAVE /COMPLETED TYPING. ADCL2, DCA ADHDRF /CLEAR THE A/D ERROR HEADING FLAG JMP LP102 /RETURN TO THE SELF CHECK CONTROL / / SEND SELF CHECK TEXT TO THE TTY HANDLER / TTYQF1, 0 CLB CAL /OPEN THE INSPECTOR MONITOR SEND /INTERLOCK. INLOCK SKMSG1 CLB TAD I TTYQF1 ISZ TTYQF1 DCA TTYQ1 CAL SENDW TTYST ERRMSG JMP I TTYQF1 ERRMSG, ZBLOCK 3 1000 0 TTYQ1, 0 SKMSG1, ZBLOCK 3 /OPEN INSPECTOR MONITOR 2000 /INTERLOCK MESSAGE / / / CHECK IF THIS CHANNEL IS ENABLED / / CHNENB, 0 CLB IAC RAL /GET THE CHANNEL ARGUMENT WHICH IS TAD CHNENB / 3 LOCATIONS AFTER THE CALL. DCA CHNA TAD I CHNA RTL /CONVERT THE CHANNEL TO RTL /A POWER OF 2. AND (0003) TAD (CHNTBL) DCA CHNA TAD I CHNA /IS THIS CHANNEL ENABLED ? AND CHANEB SNA CLA JMP I CHNENB /NO, RETURN TO THE CALLER NOW. ISZ CHNENB /CHANNEL IS ENABLED, SKIP /OVER THE CALLERS DISABLE JMP I CHNENB /EXIT AND RETURN. CHNTBL, 10 /CHANNEL 0 - POWER SUPPLIES 1 /CHANNEL 1 2 /CHANNEL 2 4 /CHANNEL 3 CHNA, 0 /LOCAL TEMPORARY. PAGE / / /%R A/D SELF CHECK CONTROL ROUTINE / / ADCNTR, 0 CLB TAD (3000) DBCO55 /CLEAR THE PREMULTIPLEXER CONTROL AND I ADCNTR /BITS DBSO55 /SET NEW PREMULTIPLEXER CONTROL BITS DCA ADPMUX /SAVE THE PREMULTIPLEXER BITS FOR /LATER TAD I ADCNTR /SAVE THE NEW A/D CONTROL WORD FOR DCA ADCHAN /LATER. CLB CMA RAR AND I ADCNTR /GET THE NEW A/D CONTROL WORD AGAIN ISZ ADCNTR IOF /TURN OFF THE INTERRUPT SYSTEM ADSC /LOAD THE A/D CONTROL WORD AND START CLB /THE FIRST A/D CONVERSION. /[01] ADSF /WAIT FOR THE A/D CONVERSION TO /[01] JMP .-1 /FINISH /[01] ADRC /READ THE A/D BUFFER AND START THE /[01] /A/D CONVERTING AGAIN. /[01] DCA ADVAL /SAVE THE FIRST CONVERSION ADSF JMP .-1 ADRB /READ THE A/D BUFFER AND ADD IN THE /[01] TAD ADVAL /SECOND CONVERSION. CLL RAL CLL RAL /[01] DCA ADVAL ION /TURN THE INTERRUPT SYSTEM BACK ON TAD I ADCNTR /GET THE CHANNEL SCALE FACTOR AND ISZ ADCNTR /SAVE IT AS THE MULTIPLICAND. DCA .+3 TAD ADVAL /GET THE A/D VALUE AND GO TO THE JMS USMULT /MULTIPLY ROUTINE FOR SCALING. 0 DCA ADVAL /SAVE THE SCALED A/D VALUE TAD ADVAL TAD I ADCNTR /DOES THE SCALED VALUE EXCEED THE ISZ ADCNTR /UPPER LIMIT ? SMA CLA ISZ ADVLER /YES, SET THE A/D VALUE ERROR FLAG TAD ADVAL TAD I ADCNTR /IS THE SCALED VALUE LESS THAN THE ISZ ADCNTR /LOWER LIMIT ? SPA CLA ISZ ADVLER /YES, SET THE A/D VALUE ERROR FLAG TAD ADWATF /IS THE WAIT ROUTINE FLAG SET ? SNA CLA JMP ADCN1 /NO, GO ON TAD ADSHTF /YES, IS THE SHUTTER OPEN FLAG SET ? SNA CLA JMP .+5 /NO, GO ON DBRI50 /YES, IS THE LASER SHUTTER STILL AND (0020) /OPEN ? SZA CLA JMP .+3 /YES, GO ON DCA ADVAL /NO, ZERO THE CURRENT A/D VALUE AND DCA ADVLER /CLEAR THE A/D VALUE ERROR FLAG. ADCN1, TAD ADVLER /IS THE A/D VALUE ERROR FLAG SET ? SNA CLA JMP ADCN2 /NO, GO ON ISZ I ADCNTR /YES, INCREMENT THE CHANNEL ERROR CLB CMA RAL /COUNTER. TAD I ADCNTR /HAS THE ERROR COUNTER OVERFLOWED ? SMA CLA JMP .+3 /YES, GO ON DCA ADVLER /NO, CLEAR THE A/D VALUE ERROR FLAG SKP ADCN2, DCA I ADCNTR /CLEAR THE CHANNEL ERROR COUNTER ISZ ADCNTR JMS SBINAS /GO CONVERT THE A/D VALUE FROM A /BINARY NUMBER INTO 4 ASCII /CHARACTERS. TAD I ADCNTR /SET UP THE ADDRESS TO PUT THE A/D ISZ ADCNTR /VALUE IN IT'S TEXT STATEMENT. DCA XKA TAD ASCW1 /MOVE THE FIRST ASCII PAIR TO THE DCA I XKA /TEXT AREA. ISZ XKA ISZ XKA TAD ASCW2 /MOVE THE SECOND ASCII PAIR TO THE DCA I XKA /TEXT AREA. TAD ADVLER /IS THE A/D VALUE ERROR FLAG SET ? SNA CLA JMP ADCN3 /NO, GO TO THE EXIT SEQUENCE TAD ADERRF /YES, IS THE A/D ERROR DISABLE FLAG SZA CLA /SET ? JMP ADCN4 /YES, GO TO THE EXIT SEQUENCE TAD ADHDRF /IS THE A/D ERROR HEADING FLAG SET ? SZA CLA JMP .+4 /YES, GO ON JMS TTYQF1 /NO, CUE HEADING "SYSTEM FAILURE" SCTXSE ISZ ADHDRF /SET THE A/D ERROR HEADING FLAG ISZ ADLPER /SET THE A/D LOOP ERROR FLAG TAD ADPMUX /IS THE PREMULTIPLEXER CODE = 0 ? SZA CLA JMP ADFAIL /NO, SET UP FOR AN INSPECTOR ERROR TAD I ADCNTR /YES, SET UP AND CUE THE ERROR TEXT DCA .+2 /FOR THIS A/D CHANNEL. JMS TTYQF1 0 ADCN3, ADCN4, DCA ADVLER /CLEAR THE A/D VALUE ERROR FLAG ISZ ADCNTR /RESET THE INDIRECT ADDRESS LINK FOR TAD ADCNTR /THE NEXT CALL. DCA ADCPTR DCA ADSHTF /CLEAR THE LASER SHUTTER OPEN FLAG DCA ADWATF /CLEAR THE A/D WAIT ROUTINE FLAG JMP LP102 /RETURN TO THE SELF CHECK CONTROL PAGE / / /%R WAIT FOR THE INSPECTOR CHANNEL PEDESTAL / /%TW COME HERE FROM THE A/D CALLING SEQUENCE FOR / THOSE INSPECTOR CHANNELS THAT REQUIRE THE / PEDESTAL TO BE PRESENT. SET UP AND WAIT FOR / THE PEDESTAL. IF IT DOES NOT APPEAR IN THE / ALLOWED TIME, GO ON ANYWAY, THIS WILL FORCE / AN ERROR IN "ADCNTR". / / ADWAIT, 0 ISZ ADWAIT /SKIP OVER 'CHNENB' ARGUMENT. CLB IAC /SET THE A/D WAIT ROUTINE ACTIVE DCA ADWATF /FLAG TAD I ADWAIT /GET THE PRODUCT INSPECTION GATE DCA XKB /MASK FOR THIS CHANNEL. ISZ ADWAIT DBRI50 /IS THE LASER SHUTTER OPEN NOW ? AND (0020) SNA CLA JMP ADWA1 /NO, SET UP THE SHUTTER OPEN DELAY ISZ ADSHTD /YES, HAS THE OPENING DELAY TIMED /OUT ? JMP I ADWAIT /NO, RETURN CLB CMA /YES, RESET THE DELAY COUNTER FOR DCA ADSHTD /THE NEXT TIME THRU HERE. JMP ADWA2 ADWA1, TAD (-22) /RESET THE LASER SHUTTER OPENING DCA ADSHTD /DELAY COUNTER FOR WHEN THE SHUTTER JMP I ADWAIT /OPENS, AND RETURN. ADWA2, CLB IAC DCA ADSHTF /SET THE LASER SHUTTER OPEN FLAG IOF /TURN THE INTERRUPT SYSTEM OFF TAD XKB /CLEAR THE PRODUCT INSPECTION GATE DBCI54 /BIT FOR THIS INSPECTOR CHANNEL. CLB TAD (-64) /SET UP THE LOOP COUNTER FOR A 500 DCA ADWCTR /MICROSECOND WAIT. ADWA3, DBRI54 AND XKB /IS THE PRODUCT INSPECTION GATE BIT SZA CLA /FOR THIS CHANNEL SET ? JMP I ADWAIT /YES, RETURN TO START THE A/D NOW SRQ /NO, IS AN INTERRUPT PENDING ? JMP .+3 ION /YES, ENABLE THE INTERRUPT SYSTEM, JMP LP102 /QUIT HERE, AND RETURN TO THE WAIT /LOOP. ISZ ADWCTR /NO, HAS THE WAIT COUNTER TIMED OUT? JMP ADWA3 /NO, WAIT SOME MORE DCA ADWATF /YES, CLEAR THE A/D WAIT ROUTINE JMP I ADWAIT /FLAG AND RETURN - THIS WILL FORCE /AN ERROR. ADWCTR, 0 /WAIT LOOP DELAY COUNTER ADSHTD, -1 /LASER SHUTTER OPENING DELAY COUNTER / / /%R SET UP FOR INSPECTOR FAILURE ERROR MESSAGES. / / ADFAIL, TAD ADPMUX /FORM AN ADDRESS FOR THIS CHANNEL IN CLL RTL /THE TABLE OF FAILURE FLAGS, USING RTL /THE PREMULTIPLEXER CODE. RAL TAD (FALTBL-2) DCA XKA TAD I XKA /GET THE ADDRESS OF THE FAILURE FLAG DCA XKB /FROM THE TABLE. CLB IAC CDF 10 DCA I XKB /SET THE FAILURE FLAG IN FIELD 0 CDF CUR ISZ XKA TAD I XKA /ADD THE CHANNEL CODE TO THE TAD ADIERF /INSPECTOR ERROR FLAG. DCA ADIERF TAD ADCHAN /IS THIS CHANNEL AN INSPECTOR POWER AND (54) /SYSTEM ? SZA CLA JMP ADCN3 /YES, RETURN TO "ADCNTR" CLB STL IAC RAL /NO, REMOVE THE PROPER BIT FROM THE AND ADCHAN /INSPECTOR CHANNEL STATUS WORD. TAD (STMTBL) /FORM THE ADDRESS OF THE PROPER DCA XKB /STATUS WORD. TAD I XKA TAD (STWTBL-1) /FORM THE ADDRESS OF THE "AND" MASK DCA XKA /TO REMOVE THE STATUS BIT. TAD I XKA DCA XKA TAD I XKA /GET THE INSPECTOR CHANNEL STATUS AND I XKB /WORD, REMOVE THE DESIRED STATUS DCA I XKA /BIT, AND REPLACE THE CORRECTED /STATUS WORD. CLB CMA RAL TAD ADCNTR /SET THE ERROR COUNTER FOR THIS CALL DCA XKA /IN THE A/D CALLING SEQUENCE TO 1. CLB IAC /THIS WILL FORCE AN ERROR EACH TIME DCA I XKA /THE A/D SELF CHECK IS ENABLED UNTIL /THIS PROBLEM IS CORRECTED. JMP ADCN3 /RETURN TO "ADCNTR" / / / TABLE OF THE INSPECTOR CHANNEL FAILURE FLAGS / IN FIELD 0, ALONG WITH THE CHANNEL CODES. / / FALTBL, CH1FLR 0001 CH2FLR 0002 CH3FLR 0004 / / / TABLE OF THE "AND" MASKS USED TO REMOVE / BITS FROM THE INSPECTOR STATUS WORDS. / / STMTBL, 3777 /LASER POWER STATUS BIT 5777 /HIGH VOLTAGE LEVEL STATUS BIT 6777 /PA SIGNAL STATUS BIT 7377 /AUTO CALIBRATION STATUS BIT / / / TABLE OF THE ADDRESSES OF THE INSPECTOR / CHANNEL STATUS WORDS. / / STWTBL, CH1DAT CH2DAT 0 /MUST BE HERE FOR TABLE SPACING !!! CH3DAT PAGE / / /%R DATA SET UP FOR AN INSPECTION ERROR / /%TW COME HERE FROM "ADCNTR" TO CUE AN INSPECTOR / CHANNEL ERROR MESSAGE. COME HERE ONLY AFTER / PROCESSING ALL THREE A/D CHANNELS FOR THE / CURRENT INSPECTOR CHANNEL (THE PREMULTIPLEX / CODE IS = 3). CUE THE INSPECTOR CHANNEL ERROR / TEXT MESSAGE AND THEN DETERMINE WHICH OF THE / UNDERLINE TEXT MESSAGES TO CUE. / / ADIERP, 0 CLB CMA RAL /COMPUTE THE ADDRESS OF THE TEXT TAD ADIERP / STATEMENT FOR THIS CHANNEL DCA ADI1 TAD I ADI1 DCA ADI1 /SAVE THE INSPECTOR CHANNEL ERROR /TEXT MESSAGE ADDRESS. TAD ADIERF /WAS THERE AN ERROR FOR THIS SNA / CHANNEL ? JMP I ADIERP /NO, RETURN. TAD (DSHTBL-1) /DETERMINE THE PROPER UNDERLINE TEXT DCA XKA / MESSAGE FROM THE DATA IN 'ADIERF'. TAD I XKA DCA ADI2 /MOVE THE UNDERLINE TEXT ADDRESS JMS TTYQF1 ADI1, 0 JMS TTYQF1 ADI2, 0 DCA ADIERF /CLEAR THE INSPECTOR ERROR FLAG JMP I ADIERP /RETURN / / / TABLE OF THE TEXT MESSAGES USED FOR UNDER- / LINING AN INSPECTOR SYSTEM ERROR. / / DSHTBL, SCHD11 /CHANNEL 1 SCHD12 /CHANNEL 2 SCHD13 /CHANNELS 1 & 2 SCHD14 /CHANNEL 3 SCHD15 /CHANNELS 1 & 3 SCHD16 /CHANNELS 2 & 3 SCHD17 /CHANNELS 1, 2 & 3 / / /%R 12 BIT UNSIGNED INTEGER MULTIPLY ROUTINE / /%TW ENTER WITH THE MULTIPLIER IN THE ACCUMULATOR AND / THE MULTIPLICAND IN THE CORE LOCATION FOLLOWING / THE JMS TO USMULT. / /%TW WHEN FINISHED, A 12 BIT PRODUCT IS RETURNED IN / THE ACCUMULATOR. CONTROL RETURNS TO THE CORE / LOCATION FOLLOWING THE MULTIPLICAND. / / USMULT, 0 DCA USMPZ1 /STORE THE MULTIPLIER DCA USMPZ4 TAD I USMULT /GET THE MULTIPLICAND ISZ USMULT DCA USMPZ2 TAD (-14) /SET UP THE LOOP COUNTER DCA USMPZ3 USMP1, TAD USMPZ1 /ROTATE THE MULTIPLIER RIGHT 1 BIT RAR DCA USMPZ1 TAD USMPZ4 /GET THE DEVELOPING PRODUCT SZL /IS THIS BIT SET IN MULTIPLIER ? TAD USMPZ2 /YES, ADD IN MULTIPLICAND CLL RAR /CLEAR LINK & SHIFT RIGHT DCA USMPZ4 /SAVE DEVELOPING PRODUCT ISZ USMPZ3 /ARE WE FINISHED ? JMP USMP1 /NO, KEEP GOING TAD USMPZ4 /YES, RESTORE THE PRODUCT RAL JMP I USMULT /RETURN USMPZ1, 0 /STORAGE FOR THE MULTIPLIER USMPZ2, 0 /STORAGE FOR THE MULTIPLICAND USMPZ3, 0 /LOOP COUNTER USMPZ4, 0 /STORAGE FOR THE DEVELOPING PRODUCT / / /%R BINARY TO ASCII CONVERSION ROUTINE / /%TW BINASC CONVERTS A 12 BIT UNSIGNED INTEGER INTO / 4 STRIPPED ASCII DIGITS, PACKED IN TWO WORDS. / /%TW ENTER WITH THE BINARY NUMBER TO BE CONVERTED IN / THE ACCUMULATOR. WHEN FINISHED, THE ASCII CHAR- / ACTERS ARE PACKED IN ASCW1 AND ASCW2. / / SBINAS, 0 CLB TAD ADVAL DCA SBINZ1 /SAVE THE NUMBER TO BE CONVERTED TAD (TAD SBATBL-1) /RESET THE POWER OF TEN POINTER DCA SBIN2 JMS SBIN1 /GO CONVERT THE FIRST DIGIT AND (17) /IS IT ZERO (60) ? SZA TAD (20) /NO, RESTORE AND USE IT TAD (40) /YES, REPLACE IT WITH A SPACE (40) BSW DCA ASCW1 JMS SBIN1 /GO CONVERT THE SECOND DIGIT AND TAD ASCW1 /COMBINE IT WITH THE FIRST DCA ASCW1 JMS SBIN1 /GO CONVERT THE THIRD DIGIT BSW DCA ASCW2 JMS SBIN1 /GO CONVERT THE FOURTH DIGIT AND TAD ASCW2 /COMBINE IT WITH THE THIRD DCA ASCW2 JMP I SBINAS /RETURN SBIN1, 0 DCA SBINZ2 /CLEAR THE DIGIT COUNTER ISZ SBIN2 /INCREMENT THE POWER OF TEN POINTER SKP DCA SBINZ1 /SAVE THE REMAINDER FROM THE LAST /LOOP CLL TAD SBINZ1 SBIN2, TAD SBATBL /SUBTRACT THE CURRENT POWER OF TEN SNL /IS THE NUMBER STILL POSITIVE ? JMP .+3 /NO, GO ON ISZ SBINZ2 /YES, INCREMENT THE DIGIT COUNTER JMP SBIN2-3 /GO AGAIN CLB TAD SBINZ2 /GET THE NEW DIGIT AND FORM A TAD (60) /STRIPPED ASCII NUMBER JMP I SBIN1 /RETURN / / / TABLE OF POWERS OF TEN FOR "SBINAS" / / SBATBL, -1750 -144 -12 -1 SBINZ1, 0 SBINZ2, 0 PAGE / / /%R DIGITAL SELF CHECK CONTROL ROUTINE / /%TW COME HERE FROM THE WAIT LOOP AND DO THE / NEXT PART OF THE DIGITAL SELF CHECK ROUTINES. / / DIGCTR, 0 CLB TAD DIGWCF SNA CLA JMP I DIGCTR DBRI50 /IS THE LASER SHUTTER OPEN NOW ? AND (0020) SZA CLA JMP .+3 /YES, GO ON CLB CMA RTL /NO, RESET THE SHUTTER OPENING DELAY DCA DGSHTD ISZ DGSHTD /HAS THE SHUTTER DELAY TIMED OUT ? JMP DIGCT3 /NO, GO RESET THE CONTROL COUNTER CLB CMA /YES, RESET THE SHUTTER DELAY FOR DCA DGSHTD /THE NEXT TIME THRU HERE. ISZ DIGCNT /YES, INCREMENT THE CONTROL COUNTER NOP CLB CMA /IS THE CONTROL COUNTER = 1 ? TAD DIGCNT SZA JMP DIGCT1 /NO, GO ON CLB CMA /YES, CLEAR THE INSPECTOR SELF CHECK DBCI54 /DATA INPUT REGISTERS, EXCEPT FOR DBRI55 /THE "RECALIBRATE DONE" BITS. AND (0421) DCA DIGD2 TAD (3146) DBCI55 CLB TAD (0200) /FIRE THE SELF CHECK RESET LINE TO DBSO55 /THE INSPECTOR. CLB CMA RTL DCA XKA ISZ XKA /WAIT 13.2 MICROSECONDS JMP .-1 TAD (0200) /CLEAR THE RESET LINE DBCO55 CLB JMP I DIGCTR /RETURN TO THE WAIT LOOP DIGCT1, TAD (-1) /IS THE CONTROL COUNTER = 2 ? SNA JMP I DIGCTR /YES, RETURN, USED AS A DELAY FOR /THE INSPECTOR SELF CHECK SIGNALS. TAD (-1) /IS THE CONTROL COUNTER = 3 ? SNA JMP I DIGCTR /YES, RETURN, MORE DELAY TAD (-1) /NO, IS THE CONTROL COUNTER = 4 ? SZA JMP DIGCT2 /NO, GO ON DBRI54 /YES, READ THE FIRST SELF CHECK DATA DBCI54 /REGISTER AND SAVE THE DATA FOR THE DCA DIGD1 /INDIVIDUAL CHANNEL ROUTINES. TAD DIGD2 MQL DBRI55 /READ THE SECOND SELF CHECK REGISTER DBCI55 MQA DCA DIGD2 TAD DIGDF1 /MOVE THE DEFECT DATA FOR EACH DCA CH1TBL+2 /CHANNEL TO THE CHANNEL DATA TABLE DCA DIGDF1 /CLEAR THE THE DEFECT DATA TAD DIGDF2 /ACCUMULATORS. DCA CH2TBL+2 DCA DIGDF2 TAD DIGDF3 DCA CH3TBL+2 DCA DIGDF3 DBRI56 /READ THE INSPECTOR RECALIBRATE AND (0002) /REQUEST LINE. DBCI56 TAD DIGREC /ADD IN THE END-OF-SPLICE RECAL FLAG SNA CLA JMP I DIGCTR /RECALIBRATE NOT REQUESTED, RETURN DCA DIGREC /CLEAR THE END-OF-SPLICE RECAL FLAG ISZ CH1TBL+3 /SET THE RECALIBRATE FLAGS IN THE ISZ CH2TBL+3 /INDIVIDUAL CHANNEL DATA TABLES. ISZ CH3TBL+3 NOP JMP I DIGCTR /RETURN TO THE WAIT LOOP DIGCT2, TAD (-1) /IS THE CONTROL COUNTER = 5 ? SZA JMP .+7 /NO, GO ON JMS I CHNENL /CHECK IF CHANNEL 1 IS ENABLED JMP I DIGCTR /DISABLED, JUST EXIT. SKP 1000 /'CHNENB' ARGUMENT. JMS DIGCH1 /YES, GO DO CHANNEL 1 SELF CHECK JMP I DIGCTR /RETURN TO THE WAIT LOOP TAD (-1) /IS THE CONTROL COUNTER = 6 ? SZA JMP .+7 /NO, GO ON JMS I CHNENL /CHECK IF CHANNEL 2 IS ENABLED JMP I DIGCTR /DISABLED, JUST EXIT. SKP 2000 /'CHNENB' ARGUMENT. JMS DIGCH2 /YES, GO DO CHANNEL 2 SELF CHECK JMP I DIGCTR /RETURN TO THE WAIT LOOP TAD (-1) /IS THE CONTROL COUNTER = 7 ? SZA CLA JMP DIGCT3 JMS I CHNENL /SEE IF CHANNEL 3 IS ENABLED JMP I DIGCTR /DISABLED, JUST EXIT. SKP 3000 /'CHNENB' ARGUMENT. JMS DIGCH3 /YES, GO DO CHANNEL 3 SELF CHECK DIGCT3, DCA DIGCNT /RESET THE DIGITAL COUNTROL COUNTER DCA DIGWCF /CLEAR THE DIGITAL SELF CHECK ACTIVE JMP I DIGCTR /FLAG, AND RETURN TO THE WAIT LOOP. DGSHTD, -1 /LASER SHUTTER OPENING DELAY /COUNTER PAGE / / /%R CHANNEL 1 DIGITAL SELF CHECK / /%TW COME HERE FROM THE DIGITAL SELF CHECK CONTROL / ROUTINE, SET UP AND EVALUATE THE DIGITAL SELF / CHECK DATA FOR INSPECTOR CHANNEL 1. / / DIGCH1, 0 CLB TAD CH1ERF /IS THE CH 1 ERROR DISABLE SET ? SZA CLA JMP I DIGCH1 /YES, RETURN TAD DIGD1 /NO, SET UP THE INSPECTOR DATA FOR AND (7400) /THE "DIGCHK" ROUTINE. CLL RTR RTR MQL TAD DIGD2 AND (7400) BSW CLL RTR MQA MQL TAD (CH1TBL) /GET ADDRESS OF CHANNEL DATA TABLE JMS DIGCHK /AND GO TO DIGITAL SELF CHECK /SUBROUTINE SNA CLA /DOES THE AC CONTAIN AN ERROR BIT ? JMP I DIGCH1 /NO, RETURN CDF 10 CLB IAC DCA I CH1FRL /YES, SET THE CHANNEL 1 FAILURE FLAG CDF CUR ISZ CH1ERF /SET THE CHANNEL 1 ERROR DISABLE JMP I DIGCH1 /FLAG AND RETURN / / / CHANNEL 1 DATA TABLE FOR THE "DIGCHK" ROUTINE / / CH1TBL, CH1DAT /ADDRESS OF THE CH 1 STATUS WORD SCTX30 /CHANNEL 1 FAILURE HEADING 0 /CHANNEL 1 DEFECT DATA 0 /INSPECTION RECALIBRATE FLAG 0 /RECALIBRATE ERROR COUNTER 0 /CLOCK PULSE ERROR COUNTER 0 /SCAN GATE ERROR COUNTER -2 /MIRROR SYNC. DELAY COUNTER 0 /MIRROR SYNC. ERROR COUNTER 0 /LD/SD GATE ERROR COUNTER 0 /PROD. INSPECTION GATE ERROR COUNTER 0 /GOOD PROD. AND PED. ERROR COUNTER 0 /TEST DEFECT ERROR COUNTER / / /%R CHANNEL 2 DIGITAL SELF CHECK / /%TW COME HERE FROM THE DIGITAL SELF CHECK CONTROL / ROUTINE, SET UP AND EVALUATE THE DIGITAL SELF / CHECK DATA FOR INSPECTOR CHANNEL 2. / / DIGCH2, 0 CLB TAD CH2ERF /IS THE CH 2 ERROR DISABLE SET ? SZA CLA JMP I DIGCH2 /YES, RETURN TAD DIGD1 /NO, SET UP THE INSPECTOR DATA FOR AND (0360) /THE "DIGCHK" ROUTINE. MQL TAD DIGD2 AND (0360) CLL RTR RTR MQA MQL TAD (CH2TBL) /GET ADDRESS OF CHANNEL DATA TABLE JMS DIGCHK /AND GO TO DIGITAL SELF CHECK /SUBROUTINE SNA CLA /DOES THE AC CONTAIN AN ERROR BIT ? JMP I DIGCH2 /NO, RETURN CDF 10 CLB IAC DCA I CH2FRL /YES, SET THE CHANNEL 2 FAILURE FLAG CDF CUR ISZ CH2ERF /SET THE CHANNEL 2 ERROR DISABLE JMP I DIGCH2 /FLAG AND RETURN / / / CHANNEL 2 DATA TABLE FOR THE "DIGCHK" ROUTINE / / CH2TBL, CH2DAT /ADDRESS OF THE CH 2 STATUS WORD SCTX31 /CHANNEL 2 FAILURE HEADING 0 /CHANNEL 2 DEFECT DATA 0 /INSPECTION RECALIBRATE FLAG 0 /RECALIBRATE ERROR COUNTER 0 /CLOCK PULSE ERROR COUNTER 0 /SCAN GATE ERROR COUNTER -2 /MIRROR SYNC. DELAY COUNTER 0 /MIRROR SYNC. ERROR COUNTER 0 /LD/SD GATE ERROR COUNTER 0 /PROD. INSPECTION GATE ERROR COUNTER 0 /GOOD PROD. AND PED. ERROR COUNTER 0 /TEST DEFECT ERROR COUNTER / / /%R CHANNEL 3 DIGITAL SELF CHECK / /%TW COME HERE FROM THE DIGITAL SELF CHECK CONTROL / ROUTINE, SET UP AND EVALUATE THE DIGITAL SELF / CHECK DATA FOR INSPECTOR CHANNEL 3. / / DIGCH3, 0 CLB TAD CH3ERF /IS THE CH 3 ERROR DISABLE SET ? SZA CLA JMP I DIGCH3 /YES, RETURN TAD DIGD1 /NO, SET UP THE INSPECTOR DATA FOR AND (0017) /THE "DIGCHK" ROUTINE. CLL RTL RTL MQL TAD DIGD2 AND (0017) MQA MQL TAD (CH3TBL) /GET ADDRESS OF CHANNEL DATA TABLE JMS DIGCHK /AND GO TO DIGITAL SELF CHECK /SUBROUTINE SNA CLA /DOES THE AC CONTAIN AN ERROR BIT ? JMP I DIGCH3 /NO, RETURN CDF 10 CLB IAC DCA I CH3FRL /YES, SET THE CHANNEL 3 FAILURE FLAG CDF CUR ISZ CH3ERF /SET THE CHANNEL 3 ERROR DISABLE JMP I DIGCH3 /FLAG AND RETURN / / / CHANNEL 3 DATA TABLE FOR THE "DIGCHK" ROUTINE / / CH3TBL, CH3DAT /ADDRESS OF THE CH 3 STATUS WORD SCTX32 /CHANNEL 3 FAILURE HEADING 0 /CHANNEL 3 DEFECT DATA 0 /INSPECTION RECALIBRATE FLAG 0 /RECALIBRATE ERROR COUNTER 0 /CLOCK PULSE ERROR COUNTER 0 /SCAN GATE ERROR COUNTER -2 /MIRROR SYNC. DELAY COUNTER 0 /MIRROR SYNC. ERROR COUNTER 0 /LD/SD GATE ERROR COUNTER 0 /PROD. INSPECTION GATE ERROR COUNTER 0 /GOOD PROD. AND PED. ERROR COUNTER 0 /TEST DEFECT ERROR COUNTER / PAGE / / /%R THE DIGITAL SELF CHECK DATA EVALUATION ROUTINE. / /%TW COME HERE FROM THE INDIVIDUAL CHANNEL SET UP / ROUTINES, DIGCH1, DIGCH2, DIGCH3, AND EVALUATE / THE DATA IN THIS CHANNEL'S DATA TABLE. / / DIGCHK, 0 DCA XKA /SAVE CHANNEL DATA TABLE ADDRESS. TAD I XKA /GET THE SELF CHECK STATUS WORD FOR DCA XKB /THIS CHANNEL, "OR" IN THE CURRENT TAD I XKB /DIGITAL SELF CHECK DATA, AND SAVE AND (7400) /IT. MQA DCA I XKB ISZ XKA TAD I XKA /SET THE ERROR TEXT HEADER ADDRESS ISZ XKA /FOR THIS CHANNEL IN "DIGTYP". DCA DIGT1 DCA DIGERF /CLEAR THE FIRST ERROR FLAG TAD XKA /SET UP THE ADDRESS OF THE DEFECT DCA XKB /DATA FOR THIS CHANNEL. ISZ XKA TAD I XKA /IS THE INSPECTION RECAL FLAG SET ? SNA CLA JMP DIGC1 /NO, GO ON TO THE CLOCK BIT ACL /YES, IS THE RECAL DONE BIT SET ? RAR SZL CLA JMP DIGC1-1 /YES, GO CLEAN UP AND GO ON TAD I XKB /NO, HAS ANY DEFECT DATA COME IN ? SZA CLA JMP DIGC1 /YES, GO ON ISZ XKA JMS DIGERC /NO, GO CHECK THE RECAL ERROR SCTX33 /COUNTER SKP JMP DIGC1+2 /RETURN HERE IF NO ERROR OCCURRED, CLB CMA /BACK UP THE ADDRESS POINTER AND TAD XKA /CLEAR THE INSPECTOR RECALIBRATE DCA XKA /FLAG IN THIS CHANNEL DATA TABLE. DCA I XKA DIGC1, ISZ XKA DCA I XKA /RESET THE RECAL ERROR COUNTER ISZ XKA SWP /IS THE CLOCK BIT SET ? CLL RTR SWP SZL CLA JMP .+3 /YES, GO RESET THE ERROR COUNTER JMS DIGERC /NO, GO CHECK THE ERROR COUNTER SCTX34 DCA I XKA /RESET THE CLOCK ERROR COUNTER ISZ XKA SWP /IS THE SCAN GATE BIT SET ? CLL RAR SWP SZL CLA JMP .+3 /YES, GO RESET THE ERROR COUNTER JMS DIGERC /NO, GO CHECK THE ERROR COUNTER SCTX35 DCA I XKA /RESET THE SCAN GATE ERROR COUNTER ISZ XKA SWP /IS THE MIRROR SYNC BIT SET ? CLL RAR SWP SZL CLA JMP DIGC2 /YES, GO RESET THE MIRROR SYNC DELAY /AND ERROR COUNTERS. ISZ I XKA /NO, HAS THE DELAY TIMED OUT ? JMP DIGC3 /NO, GO ON CLB CMA RAL /YES, RESET THE MIRROR SYNC DELAY DCA I XKA ISZ XKA JMS DIGERC /GO CHECK THE ERROR COUNTER SCTX36 DCA I XKA /RESET THE MIRROR SYNC ERROR COUNTER JMP DIGC3+1 DIGC2, CLB CMA RAL DCA I XKA /RESET THE MIRROR SYNC DELAY COUNTER ISZ XKA DCA I XKA /RESET THE MIRROR SYNC ERROR COUNTER SKP DIGC3, ISZ XKA ISZ XKA SWP /IS THE LD/SD GATE BIT SET ? CLL RAR SWP SZL CLA JMP .+3 /YES, GO RESET THE ERROR COUNTER JMS DIGERC /NO, GO CHECK THE ERROR COUNTER SCTX37 DCA I XKA /RESET THE LD/SD ERROR COUNTER ISZ XKA SWP /IS THE PRODUCT INSPECTION GATE BIT CLL RAR /SET ? SWP SZL CLA JMP .+3 /YES, GO RESET THE ERROR COUNTER JMS DIGERC /NO, GO CHECK ERROR COUNTER SCTX38 DCA I XKA /RESET THE PRODUCT INSPECTION GATE ISZ XKA /ERROR COUNTER. SWP /IS THE GOOD PRODUCT AND PEDESTAL CLL RAR /BIT SET ? SWP SZL CLA JMP DIGC4 /YES, GO RESET THE ERROR COUNTER TAD I XKB /NO, HAS DEFECT DATA COME IN ? SZA CLA JMP DIGC4 /YES, GO RESET THE ERROR COUNTER JMS DIGERC /NO, GO CHECK THE ERROR COUNTER SCTX39 DIGC4, DCA I XKA /RESET THE GOOD PRODUCT AND PEDESTAL ISZ XKA /ERROR COUNTER. SWP /IS THE TEST DEFECT BIT SET ? CLL RAR SZL CLA JMP .+3 /YES, GO RESET THE ERROR COUNTER JMS DIGERC /NO, GO CHECK THE ERROR COUNTER SCTX40 DCA I XKA /RESET THE TEST DEFECT ERROR COUNTER TAD DIGERF /IS THE FIRST TIME ERROR FLAG SET ? SZA CLA JMS DIGCLR /YES, GO SET ALL THE ERROR COUNTERS /IN THIS CHANNEL'S DATA TABLE TO 1. TAD DIGERF /RETURN WITH THE ERROR FLAG IN THE JMP I DIGCHK /ACCUMULATOR PAGE / / /%R DIGITAL SELF CHECK ERROR COUNTER CHECK ROUTINE / /%TW COME HERE FROM THE "DIGCHK" ROUTINE AND CHECK / IF TWO CONSECUTIVE ERRORS HAVE OCCURRED FOR / FOR THE SAME DIGITAL SIGNALS. IF SO, CUE THE / NECESSARY TEST MESSAGES. / / DIGERC, 0 ISZ I XKA /INCREMENT THE ERROR COUNTER CLB CMA RAL TAD I XKA /HAS THE ERROR COUNTER OVERFLOWED ? SMA CLA JMP .+4 /YES, GO ON ISZ DIGERC /NO, SET UP AND RETURN ISZ DIGERC JMP I DIGERC TAD DIGERF /IS THE FIRST TIME ERROR FLAG SET ? SZA CLA JMP DGEC1 /YES, GO ON JMS DIGTYP /NO, CUE THE CHANNEL HEADING AND /STATUS WORD FOR OUTPUT. CLB IAC /SET THE FIRST TIME ERROR FLAG DCA DIGERF DCA ADHDRF /CLEAR THE A/D ERROR HEADING FLAG TO /INSURE A NEW A/D FAILURE HEADING. DGEC1, TAD I DIGERC /GET THE TEXT ADDRESS THAT FOLLOWS ISZ DIGERC /THE CALL, AND GO CUE IT FOR OUTPUT. DCA .+2 JMS TTYQF1 0 JMP I DIGERC /RETURN DIGERF, 0 / / /%R CUE THE DIGITAL SELF CHECK ERROR HEADINGS / /%TW COME HERE FROM THE "DIGERC" ROUTINE AND / CUE THE PROPER INSPECTOR CHANNEL ERROR / HEADING. ALSO CONVERT AND CUE THIS / INSPECTOR CHANNEL'S STATUS WORD. / / DIGTYP, 0 CLB CAL /LOG "INSPECTOR FAILURE" SENDW TTYST SCTX29 CLB CMA RAL /FORM THE ADDRESS OF THIS CHANNEL'S TAD XKB /STATUS WORD. DCA XKC TAD I XKC DCA XKC TAD DIGT1 /SET UP THE TEXT ADDRESS FOR THE TAD (7) /CONVERTED STATUS WORD DIGITS. DCA XR10 TAD I XKC /GET THIS CHANNEL'S STATUS WORD CLL CMA RAL DCA XKC JMS DIGT2 /GO CONVERT AND PLACE THIS CHANNEL'S JMS DIGT2 /STATUS WORD IN THE TEXT AREA. JMS DIGT2 JMS DIGT2 JMS TTYQF1 /NOW LOG THE ERROR DIGT1, 0 /[01] JMP I DIGTYP /RETURN DIGT2, 0 TAD XKC /FORM THE NEXT STATUS WORD DIGIT RTL RAL DCA XKC TAD XKC AND (7) /FORM A FULL ASCII NUMBER TAD (4660) DCA I XR10 /PUT THE NEW DIGIT IN THE TEXT AREA JMP I DIGT2 /RETURN / / /%R SET THE DIGITAL SELF CHECK ERROR COUNTERS / /%TW COME HERE FROM THE "DIGCHK" ROUTINE AFTER AN / ERROR HAS BEEN DETECTED, AND SET ALL THIS / INSPECTOR CHANNEL'S ERROR COUNTERS T0 1. THIS / WILL FORCE ANY ERROR NOT SEEN ON THIS SCAN / (BECAUSE OF THE COUNT OF TWO IN THE ERROR / COUNTERS) TO BE SEEN ON THE NEXT SCAN, IF AN / ERROR STILL EXISTS THEN. / / DIGCLR, 0 CLB CMA /SET UP THE ADDRESS OF THE DATA TAD XKB /TABLE FOR THIS INSPECTOR CHANNEL. DCA XR10 DCA I XR10 /RECALIBRATE FLAG ISZ XR10 DCA I XR10 /RECALIBRATE DONE ERROR COUNTER CLB IAC DCA I XR10 /CLOCK CLB IAC DCA I XR10 /SCAN GATE CLB CMA RAL DCA I XR10 /MIRROR SYNC DELAY COUNTER CLB IAC DCA I XR10 /MIRROR SYNC ERROR COUNTER CLB IAC DCA I XR10 /LD/SD GATE CLB IAC DCA I XR10 /PRODUCT INSPECTION GATE CLB IAC DCA I XR10 /GOOD PRODUCT & PEDESTAL CLB IAC DCA I XR10 /TEST DEFECT JMP I DIGCLR /RETURN PAGE / / / SELF CHECK MESSAGE TEXT STORAGE / / SCTXLS, TEXT "'LINE SPEED CHANNELS DO NOT AGREE" SCTM16, TEXT "'PREMULTIPLEXER CHANNEL 16 (+5V) XX.&XX VDC" SCTM17, TEXT "'PREMULTIPLEXER CHANNEL 17 (+5V) XX.&XX VDC" SCTM18, TEXT "'PREMULTIPLEXER CHANNEL 18 (+5V) XX.&XX VDC" SCTM19, TEXT "'PREMULTIPLEXER CHANNEL 19 (+5V) XX.&XX VDC" SCTM20, TEXT "'PREMULTIPLEXER CHANNEL 20 (+5V) XX.&XX VDC" SCTM21, TEXT "'PREMULTIPLEXER CHANNEL 21 (+5V) XX.&XX VDC" SCTM22, TEXT "'PREMULTIPLEXER CHANNEL 22 (+5V) XX.&XX VDC" SCTM23, TEXT "'PREMULTIPLEXER CHANNEL 23 (+5V) XX.&XX VDC" SCTM24, TEXT "'PREMULTIPLEXER CHANNEL 24 (+5V) XX.&XX VDC" SCTM25, TEXT "'PREMULTIPLEXER CHANNEL 25 (+5V) XX.&XX VDC" SCTM26, TEXT "'PREMULTIPLEXER CHANNEL 26 (+5V) XX.&XX VDC" SCTXSE, TEXT "##SYSTEM FAILURE:" SCHD01, TEXT "#####----------#########" SCHD02, TEXT "'' NO. 72 FINISHING SYSTEM###" SCHD03, TEXT "'ELECTRONICS CONSOLE MAINTENANCE" *.-1 SCHD04, TEXT " LIST AS OF& &- &- " SCHD05, TEXT "'CONTROL PARAMETERS###" SCHD06, TEXT "#####'INSPECTION PARAMETERS###" SCHD07, TEXT "'INSPECTOR CHANNEL' 1' 2' 3##" SCHD08, TEXT "##" SCHD09, TEXT "##" SCHD10, TEXT "'''''' ----------####" SCHD11, TEXT "'''' -----" SCHD12, TEXT "''''' -----" SCHD13, TEXT "'''' -----' -----" SCHD14, TEXT "'''''' -----" SCHD15, TEXT "'''' -----'' -----" SCHD16, TEXT "''''' -----' -----" SCHD17, TEXT "'''' -----' -----' -----" SCTX00, TEXT "'LINE SPEED''&XX&&XX (M/MIN)" SCTX01, TEXT "'MAST'(+15)'' XX.&XX VDC" SCTX02, TEXT "'MAST'(-15)''-XX.&XX VDC" SCTX03, TEXT "'MAST'(+ 5)'' XX.&XX VDC" SCTX04, TEXT "'LINE SPEED''&XX&&XX (M/MIN)" SCTX05, TEXT "'MAST'(+ 6)'' XX.&XX VDC" SCTX06, TEXT "'MAST'(-12)''-XX.&XX VDC" SCTX07, TEXT "'MAST'(+18)'' XX.&XX VDC" SCTX08, TEXT "'I/O'(+24 PS1)' XX.&XX VDC" SCTX09, TEXT "'I/O'(+24 PS2)' XX.&XX VDC" SCTX10, TEXT "'I/O'(+ 5)''& XX.&XX VDC" SCTX11, TEXT "'SAMPLE MARKER H.V.' & &XX&&XX VDC" SCTX16, TEXT "'LASER POWER''& XX.&XX' XX.&XX' XX.&XX MW" SCTX17, TEXT "'HIGH VOLTAGE LEVEL'& & " *.-1 TEXT "XX&&XX' & XX&&XX' & XX&&XX VDC" SCTX18, TEXT "'PA SIGNAL''& XX.&XX' XX.&XX' XX.&XX VDC" SCTX19, TEXT "'AUTO CALIBRATION'& XX.&XX' XX.&XX' XX.&XX VDC" SCTX20, TEXT "'INSPECTOR (+21)''& XX.&XX' XX.&XX' XX.&XX VDC" SCTX21, TEXT "'INSPECTOR (-21)''&-XX.&XX'-XX.&XX'-XX.&XX VDC" SCTX22, TEXT "'INSPECTOR (+12)''& XX.&XX' XX.&XX' XX.&XX VDC" SCTX23, TEXT "'INSPECTOR (-12)''&-XX.&XX'-XX.&XX'-XX.&XX VDC" SCTX24, TEXT "'INSPECTOR (+15)''& XX.&XX' XX.&XX' XX.&XX VDC" SCTX25, TEXT "'INSPECTOR (-15)''&-XX.&XX'-XX.&XX'-XX.&XX VDC" SCTX26, TEXT "'INSPECTOR (+ 5)''& XX.&XX' XX.&XX' XX.&XX VDC" SCTX29, ZBLOCK 3 2000 0 TEXT "##INSPECTOR FAILURE - CHANNEL " SCTX30, TEXT "1, MISSING: & &(&X&X&X&X)" SCTX31, TEXT "2, MISSING: & &(&X&X&X&X)" SCTX32, TEXT "3, MISSING: & &(&X&X&X&X)" SCTX33, TEXT "'- RECALIBRATE DONE" SCTX34, TEXT "'- CLOCK PULSE" SCTX35, TEXT "'- SCAN GATE" SCTX36, TEXT "'- MIRROR SYNC" SCTX37, TEXT "'- LD/SD GATE" SCTX38, TEXT "'- PRODUCT INSPECTION GATE" SCTX39, TEXT "'- GOOD PRODUCT AND PEDESTAL" SCTX40, TEXT "'- TEST DEFECT" SCTX41, TEXT "##DR-8/EA CODE &5&X RESET ERROR%##" PAGE / / /%R INITIALIZE FIELD 5 FOR OPERATION / /%TW COME HERE WHEN FIRST STARTED BY THE OPERATOR / OR WHEN RESTARTED BY THE POWER FAIL ROUTINES. / / START3, CAL SEND PWRF /TELL POWER FAIL TO RESTART US. PWRMSG PREST5, CLB TAD (PR1TBL-1) /PRESET THE WORKING LOCATION FROM DCA XR10 /THE FIELD 1 INITIAL VALUE TABLE. TAD (PR1TBL-PR1END-1) STL RAR DCA PRE5B TAD I XR10 DCA PRE5A TAD I XR10 DCA I PRE5A ISZ PRE5B JMP .-5 TAD (SLFRST) CAL RUN CAL SUSPND JMP PREST5 PRE5A, 0 PRE5B, 0 PWRMSG, ZBLOCK 3 /POWERFAIL MESSAGE PREST5-1 / / /%R RESET ALL THE SELF CHECK FAILURE FLAGS / /%TW COME HERE FROM FIELD 0 (LP05) WHEN THE / INTERLOCK RESET ON THE MOP IS PUSHED. / / START4, CLB DCA ADERRF /RESET THE A/D ERROR FLAG DCA CH1ERF /RESET CHANNEL 1 ERROR FLAG DCA CH2ERF /RESET CHANNEL 2 ERROR FALG DCA CH3ERF /RESET CHANNEL 3 ERROR FLAG DCA DIGCNT /CLEAR DIGITAL CONTROL COUNTER CAL SENDW /REMOVE THE SPEED LIMIT EXCEEDED CRTMSG /MESSAGE SCFMG1 CAL SENDW /REMOVE THE PRINTER FAILURE CRTMSG /MESSAGE SCFMG2 CLB CDF 10 DCA I CH1FRL /RESET CHANNEL FAILURE FLAGS DCA I CH2FRL DCA I CH3FRL CDF CUR CAL SUSPND JMP START4 SCFMG1, ZBLOCK 3 /MACHINE SPEED EXCEEDED MOPM09+4000 SCFMG2, ZBLOCK 3 /PRINTER FAILURE MOPM10+4000 PAGE / / /%RT TABLE OF INITIAL VALUES FOR PROGRAM START UP / / PR1TBL, ADERRF /A/D SELF CHECK ERROR DISABLE FLAG 1 CH1ERF /CHANNEL 1 ERROR DISABLE FLAG 1 CH2ERF /CHANNEL 2 ERROR DISABLE FLAG 1 CH3ERF /CHANNEL 3 ERROR DISABLE FLAG 1 ADLIST /A/D MAINTENANCE LIST REQUEST FLAG 0 ADLSTF /A/D MAINTENANCE LIST IN PROG. FLAG 0 ADLSSF /A/D MAINTENANCE LIST STARTED FLAG 0 ADVLER /A/D SET POINT LIMIT ERROR FLAG 0 ADLPER /A/D LOOP ERROR FLAG 0 ADCPTR /INITIAL A/D CALLING SEQ. ADDRESS ADCLST ADINDY /ANALOG INSPECTOR SELF CHECK DELAY -50 ADPMUX /A/D PREMULTIPLEXER CONTROL CODE 0 ADWATF /A/D WAIT ROUTINE ACTIVE FLAG 0 ADSHTF /LASER SHUTTER OPEN FLAG 0 ADSHTD /LASER SHUTTER OPENING DELAY -1 SLFCNT /SELF CHECK CONTROL COUNTER 0 DIGDF1 /CHANNEL 1 PRODUCT DEFECT DATA 0 DIGDF2 /CHANNEL 2 PRODUCT DEFECT DATA 0 DIGDF3 /CHANNEL 3 PRODUCT DEFECT DATA 0 DIGCNT /DIGITAL SELF CHECK CONTROL COUNTER 0 DIGREC /END-OF-SPLICE RECALIBRATE FLAG 0 LNSPEC /LINE SPEEDS DISAGREE ERROR COUNTER 0 / / / AND MORE INITIAL VALUES / / / THE FOLLOWING GROUP INITIALIZES THE PEDESTAL / RELATED A/D CHANNEL ERROR COUNTERS TO 1. / / ADC16B /LASER POWER 1 ADC16C 1 ADC16D 1 ADC17B /HIGH VOLTAGE LEVEL 1 ADC17C 1 ADC17D 1 ADC18B /PA SIGNAL 1 ADC18C 1 ADC18D 1 ADC19B /AUTO CALIBRATION 1 ADC19C 1 ADC19D 1 CH1TBL+7 /MIRROR SYNC DELAY COUNTER -2 CH2TBL+7 -2 CH3TBL+7 PR1END, -2 PAGE