File DIGINP.PA (PAL assembler source file)

Directory of image this file is from
This file as a plain text file

/ DIGITAL INPUT SERVICE                       27-AUG-91
/
/
/
/	DDDD   IIIII   GGG   IIIII  N   N  PPPP
/	D   D    I    G   G    I    N   N  P   P
/	D   D    I    G        I    NN  N  P   P
/	D   D    I    G        I    N N N  PPPP
/	D   D    I    G GGG    I    N  NN  P
/	D   D    I    G   G    I    N   N  P
/	DDDD   IIIII   GGG   IIIII  N   N  P
/
/
/

/
/EDIT HISTORY:
/
/3-JUL-90	(LHN)
/	1) CHANGED SAMPLE TRAY EJECT LOGIC SO THAT THE
/	   SAMPLE TRAY SHEET COUNT IS RESET PROPERLY
/	   AND THE EJECT DELAY IS RESET WHEN SAMPLE TRAY
/	   EJECT REQUEST IS PUSHED AFTER MACHINE STOPS
/	2) CHANGED THE REP RATE OF THIS TASK FROM 100 MS
/	   TO 200 MS. FOR FUTURE USE
/	3) INCREASED THE SHUTTER OPEN DELAY COUNT X 2
/
/30-AUG-90	(LHN)
/	1) CHANGED CALL FOR INTERLOCK RESET FOR 'SLFRST'
/	   TO 'MRESET'
/	2) ADDED CODE TO COMPUTE LINE SPEED USING MOTION
/	   PULSES RATHER THAN THE TACH SIGNAL.
/
/04-APR-91	(LHN)
/	1) ADDED TO LP07 TO DISPLAY CHANGES IN THE 
/	     STACKER CLUTCH OPERATION.
/
/
/12-JUN-91	(LHN)		FOR VERSION 4A
/	1)  DELETED USE OF THE A/D CONVERTER
/	2)  CHANGED LP12 TO EMULFG INSTEAD OF 
/           DR8 INPUT BIT
/
/7-AUG-91	(LHN)
/	1)  DELETED LP16 WHICH CONTROLLED THE
/	      OPEN DELAY - NO LONGER USED.
/	2)  DELETED USE OF "INSINL" 
/
/
/27-AUG-91	(LHN)		FOR VERSION 4B
/	1)  DELETED DISPLAY OF SICKD2
/

/ TASK= DIGINP CUR= DIGINFLD INIWT= 0 VERS= 4 FIELD DIGINFLD%10 *DIGINLOC
/ / /%R TRAY NEEDED INDICATOR FLASH TIMER / /%TW CONTROL THE FLASH RATE OF THE ACTIVE "TRAY NEEDED" / INDICATORS. THE INDICATORS ARE TURNED ON BY THE / "TRAYCK" ROUTINE WHEN REQUIRED. / / START, CLB CAL SENDW CLOCK /GO TO SLEEP FOR 100MS CLKMG LP03, CLB /HAS THE TRAY NEEDED FLASH TIMER ISZ TRAYNT /GONE TO ZERO ? JMP LP04 /NO, GO ON DBRO51 /YES, READ THE TRAY NEEDED IND. BITS AND (0077) MQL TAD (0077) /CLEAR THE TRAY NEEDED IND. BITS DBCO51 ACL /WERE ANY TRAY NEEDED IND. ON ? SZA CLA JMP .+4 /YES, LEAVE THEM OFF AND GO ON TAD TRAYNF /NO, TURN ON THE ACTIVE TRAY NEEDED DBSO51 /INDICATORS. CLB TAD (-5) /RESET THE TRAY NEEDED FLASH TIMER. DCA TRAYNT JMP LP04 TRAYNT, -5 CLKMG, ZBLOCK 3 0 0 24 /200MS
/ / /%R TRAY EJECT CLEAR / /%TW CLEAR THE TRAY EJECT BITS ONCE THE TRAY IS OUT. THE / EJECT BITS ARE SET BY THE GATE HANDLER ROUTINES / AND BY "MISC1". IF MAST IS RUNNING IN THE TEST / MODE WITH THE OUTPUTS DISABLED, THE EJECT BITS ARE / CLEARED IMMEDIATELY SINCE THE TRAYS WILL NOT MOVE. / THIS ALLOWS THE SOFTWARE TO BE EXERCISED AS THOUGH / THE TRAYS WERE OPERATING. / / LP04, DBRI51 /READ THE SENSE TRAY OUT BITS AND (7700) DBCO51 /CLEAR THE MATCHING TRAY EJECT BITS DBRI52 /ARE THE OUTPUTS DISABLED ? AND (0020) SNA CLA JMP LP05 /NO, GO ON DBRO51 /YES, CLEAR ANY EJECT TRAY BITS THAT AND (7700) /ARE SET, FOR THE SOFTWARE'S BENEFIT DBCO51 / / /%R INTERLOCK RESET / /%TW WHEN THE INTERLOCK RESET SIGNAL COMES IN, TURN / ON (OR CLOSE) ALL THE INTERLOCKS. IF THE / INTERLOCK WHICH OPENED IS NOT SATISFIED, IT / WILL OPEN AGAIN WITHIN ONE CHOP. ALSO GO RESET / THE SELF-CHECK FAILURE FLAGS AND THE MACHINE / OVERSPEED ERROR MESSAGE ON THE CRT. THE INTERLOCK / RESET SIGNAL COMES FROM THE OPERATORS RESET BUTTON / ON THE MAIN OPERATORS PANEL. / / LP05, DBRI50 /HAS THE INTERLOCK RESET COME IN ? AND (0400) DBCI50 SNA CLA JMP LP06 /NO, GO ON TAD (MSTINL+TRYINL) DBSO54 /YES, TURN ON ALL THE INTERLOCKS. CLB TAD (JOGINL) /TURN OFF THE JOG STOP INTERLOCK. DBCO54 CLB TAD (MRESET) /GO RESET SOME MESSAGES AND THEN CAL / RESET SELF CHECK RUN
/ / /%R CHECK THE MACHINE STOPPED SIGNAL / /%TW LOOK AT THE MACHINE STOPPED LINE AND SET THE / MACHINE STOPPED FLAG AS NEEDED. WHEN THE MACHINE / STOPS, THE UNNEEDED STACKER GATES ARE TURNED OFF / BY LP17. WHEN THE MACHINE STARTS AGAIN, THIS / ROUTINE RESTORES THE STACKER VALVES TO THE / OPERATING CONDITIONS AT SHUT DOWN. LP06 ALSO / PROVIDES AN INTERLOCK TO PREVENT THE MACHINE FROM / STARTING WHEN ANY TRAY IS OUT. / /%TD WHEN THE FINISHING MACHINE STARTS, THE FIRST CHOP / MAY HAVE AN INCORRECT LENGTH DUE TO COASTING DURING / THE PREVIOUS STOP. THE "FIRST CHOP FLAG" IS SET BY / LP06 TO PREVENT SHEET LENGTH ERROR MESSAGES DURING / THE FIRST CHOP. THIS ROUTINE ALSO FORCES THE / MOTION BIT INTERRUPT TO BE ENABLED. THE MOTION BIT / CAN BE DISABLED DURING STACKER RUNOUT (SEE "SROCTR"). / / LP06, DBRI50 /IS THE MACHINE RUNNING ? CLL RAL SZL CLA JMP LP06A /YES, CHECK IF IT WAS STOPPED THE /LAST TIME THRU HERE. TAD MSPFLG /NO, IS THE MACHINE STOPPED FLAG SZA CLA / SET ? JMP LP07 /YES, GO ON DBRO50 /NO, READ AND CLEAR THE STACKER / CONTROL BITS DCA MSPDAT /SAVE REGISTER DATA FOR START UP ISZ MSPFLG /SET MACHINE STOPPED FLAG TAD (SKP) /FORCE LP17 TO EXECUTE ONCE. DCA LP17 JMP LP07 LP06A, TAD MSPFLG /THE MACHINE IS RUNNING AGAIN, /RESTORE THE STACKER CONTROL /REGISTER THE FIRST TIME THRU HERE. SNA CLA JMP LP07 /NOT FIRST TIME, GO ON DBRI51 /FIRST TIME THRU, CHECK THAT ALL THE MQL /STACKER TRAYS ARE IN DBRO51 MQA SNA CLA JMP LP06B /OK, GO ON
/ CAL /GO OPEN THE TRAY OUT INTERLOCK. SEND INLOCK LP06MG JMP LP07 LP06B, TAD MSPDAT /RESTORE THE STACKER GATE CONTROL DBSO50 /WORD. CLB CMA RAL DCA FCHOPF /RESET THE FIRST CHOP FLAG FOR LATER DCA MSPFLG /CLEAR THE MACHINE STOPPED FLAG DCA MSPDAT TAD (200) /CLEAR THE CHOP PULSE BIT DBCI50 CLB DCA MOTENB /ENABLE THE MOTION INTERRUPT JMP LP07 LP06MG, ZBLOCK 3 /TRAY OUT INTERLOCK AND "STACKER TRYINL+MOPM04 / TRAY IS OUT" MESSAGE PAGE
/ / /%R WATCH FOR THE STACKER RUN OUT SIGNAL / /%TW WHEN THE STACKER RUN OUT SIGNAL OCCURS, SET UP / AND FORCE MAST INTO THE RUN OUT MODE. DURING / RUNOUT, "SROCTR" REPLACES MOST OF THE SHEET DATA / PROCESSING FUNCTIONS OF "MEMORY". LP07 SETS UP / THE TRAP FOR "SROCTR" TO STOP THE MACHINE WHEN / THE RUNOUT IS COMPLETED. / /%TD WHEN STACKER RUNOUT IS INITIATED, THE CURRENT DEFECT / MEMORY POINTER IS SAVED. THIS POINTER IS RESTORED / AFTER RUNOUT IS FINISHED SO THAT NO DEFECT DATA / IS LOST. / / LP07, DBRI50 /IS THE STACKER RUN OUT BIT SET ? AND (1000) SNA CLA JMP LP07A /NO, CHECK THE LAST TIME THRU TAD SROFLG /YES, WAS IT SET THE LAST TIME THRU? SZA CLA JMP LP08 /YES, GO ON ISZ SROFLG /SET THE STACKER RUN OUT FLAG TAD MEMPTR /SAVE THE CURRENT MEMORY POINTER FOR DCA SROSAV /WHEN WE RESUME NORMAL OPERATION. TAD (-1760) /SET UP THE STACKER RUN OUT FINISHED DCA SROTRP /TRAP COUNTER. CAL /GO TRY TO REMOVE THE "CLEAR SENDW /THE STACKER" MESSAGE. CRTMSG LP07M1 CAL /GO TRY TO REMOVE THE "STACKER SENDW / CLUTCH ENGAGED" MESSAGE CRTMSG LP07M2 CAL /GO DISPLAY "STACKER CLUTCH DISENGAGED" SEND / MESSAGE CRTMSG LP07M3 JMP LP08 LP07M1, ZBLOCK 3 /REMOVE "CLEAR STACKER" MESSAGE MOPM07+4000 LP07M2, ZBLOCK 3 /REMOVE "STACKER CLUTCH ENGAGED" MOPM23+4000 / MESSAGE LP07M3, ZBLOCK 3 /DISPLAY "STACKER CLUTCH DISENGAGED" MOPM22 / MESSAGE
/ LP07A, TAD SROFLG /WAS THE RUN OUT BIT SET THE LAST SNA CLA /TIME THRU HERE ? JMP LP08 /NO, GO ON DCA SROFLG /YES, CLEAR THE STACKER RUN OUT FLAG TAD SROSAV /RESTORE THE MEMORY POINTER DCA MEMPTR CLB CMA RAL DCA FCHOPF /SET THE FIRST CHOP FLAG CAL /GO TRY TO REMOVE THE "STACKER SENDW /RUN OUT FINISHED" MESSAGE. CRTMSG LP07M4 CAL /GO TRY TO REMOVE "STACKER CLUTCH SENDW / DISENGAGED" MESSAGE CRTMSG LP07M5 CAL /GO DISPLAY "STACKER CLUTCH ENGAGED" SEND / MESSAGE CRTMSG LP07M6 JMP LP08 LP07M4, ZBLOCK 3 /REMOVE "STACKER IS CLEAR" MOPM06+4000 / MESSAGE LP07M5, ZBLOCK 3 /REMOVE "STACKER CLUTCH DISENGAGED" MOPM22+4000 / MESSAGE LP07M6, ZBLOCK 3 /DISPLAY "STACKER CLUTCH ENGAGED" MOPM23 / MESSAGE SROSAV, 0 /STORAGE FOR THE MEMORY TABLE PTR. PAGE
/ / /%R TURN OFF THE STACKER TRAY INDICATORS / /%TW WATCH THE POSITION OF EACH TRAY, AND AS TRAYS ARE / RETURNED, TURN OFF THE TRAY NEEDED INDICATORS AND / CLEAR THE TRAY OUT FLAGS. ALSO REMOVE THE TRAY / OUT COMMENT FROM THE CRT WHEN ALL TRAYS ARE IN. / /%TD WHEN MAST IN RUN IN THE TEST MODE WITH THE FIELD / INPUTS DISABLED, LP08 CLEARS ALL THE TRAY OUT FLAGS / FORCING ALL TRAYS TO APPEAR TO BE IN THE / STACKING POSITION. / / LP08, DBRI51 /ARE ANY TRAYS OUT OR ON THE WAY MQL /OUT ? DBRO51 MQA AND (7700) MQL DBRI52 /ARE THE FIELD INPUTS DISABLED ? AND (0040) SZA CLA MQL /YES, FORCE DATA TO SHOW ALL THE / TRAYS IN. SWP /GET SAMPLE TRAY OUT BIT CLL RAL SWP SZL CLA /IS THE SAMPLE TRAY OUT ? JMP .+3 /YES, LOOK AT THE NEXT TRAY TAD (40) /NO, CLEAR SAMPLE TRAY NEEDED JMS LP08E / INDICATOR SWP /GET THE REJECT A TRAY OUT BIT CLL RAL SWP SZL CLA /IS THE REJECT A TRAY OUT ? JMP LP08C /YES, LOOK AT THE NEXT TRAY DCA RATFLG /NO, CLEAR THE REJECT A TRAY OUT TAD (20) /FLAG AND THE REJECT A TRAY NEEDED JMS LP08E /INDICATOR.
LP08C, SWP /GET THE REJECT B TRAY OUT BIT CLL RAL SWP SZL CLA /IS THE REJECT B TRAY OUT ? JMP .+4 /YES, LOOK AT THE NEXT TRAY DCA RBTFLG /NO, CLEAR THE REJECT B TRAT OUT TAD (10) /FLAG AND THE REJECT B TRAY NEEDED JMS LP08E /INDICATOR SWP /GET THE PRODUCT C TRAY OUT BIT CLL RAL SWP SZL CLA /IS THE PRODUCT C TRAY OUT ? JMP .+4 /YES, LOOK AT THE NEXT TRAY. DCA PCTFLG /NO, CLEAR THE PRODUCT C TRAY OUT TAD (4) /FLAG AND THE PRODUCT C TRAY NEEDED JMS LP08E /INDICATOR. SWP /GET THE PRODUCT A TRAY OUT BIT CLL RAL SWP SZL CLA /IS THE PRODUCT A TRAY OUT ? JMP LP08D /YES, LOOK AT THE NEXT TRAY DCA PATFLG /NO, CLEAR THE PRODUCT A TRAY OUT CLB STL RTL /FLAG AND THE PRODUCT A TRAY NEEDED JMS LP08E /INDICATOR LP08D, SWP /GET THE PRODUCT B TRAY OUT BIT CLL RAL SZL CLA /IS THE PRODUCT B TRAY OUT ? JMP .+4 /YES, GO ON DCA PBTFLG /NO, CLEAR THE PRODUCT B TRAY OUT FLAG CLB STL RAL /AND THE PRODUCT B TRAY NEEDED IND. JMS LP08E CLB TAD TRAYNF /ARE ALL THE TRAYS BACK IN ? SZA CLA JMP LP09 /NO, GO ON TAD TRAFLG /YES, WERE ANY TRAYS OUT THE LAST SNA CLA /TIME THRU ? JMP LP09 /NO, GO ON CAL /GO REMOVE THE "TRAY NEEDED" SENDW /MESSAGE. CRTMSG LP08MG DCA TRAFLG /CLEAR THE TRAY OUT ALERT ALARM FLAG JMP LP09
/ LP08E, 0 DBCO51 /TURN OFF THE TRAY NEEDED INDICATOR CMA AND TRAYNF /REMOVE THIS BIT FROM THE TRAY DCA TRAYNF /NEEDED INDICATOR DATA FLAG. JMP I LP08E /RETURN LP08MG, ZBLOCK 3 /REMOVE "STACKER TRAY OUT" MESSAGE MOPM04+4000 PAGE
/ / /%R MANUAL TRAY EJECT REQUEST SERVICE / /%TW CHECK IF ANY TRAY EJECT IS REQUESTED AND TAKE THE / CORRECT ACTION. ANY TRAY CAN BE EJECTED WHEN THE / MACHINE IS STOPPED. BUT PRODUCT TRAYS CANNOT BE / EJECTED WHEN THE MACHINE IS RUNNING. / /%TD IF TRAYS ARE MANUALLY EJECTED WHEN THE MACHINE IS / STOPPED, THE SHEET COUNTERS ARE NOT RESET AND THE / TRAY WILL CONTINUE TO BE USED AFTER IT IS / RETURNED. THE MACHINE WILL NOT START WHILE A TRAY / IS OUT !!!!! / /%TD WHEN THE SAMPLE OR REJECT TRAYS ARE MANUALLY / EJECTED WHILE THE MACHINE IS RUNNING, THE SHEET / COUNTERS ARE RESET. IF A REJECT TRAY IS EJECTED / THE OTHER TRAY BECOMES ACTIVE. WHEN THE SAMPLE / TRAY IS MANUALLY EJECTED, SAMPLING IS SKIPPED / WHILE IT IS OUT !! IT IS ASSUMED THAT WHEN A TRAY / IS EJECTED WHILE THE MACHINE IS RUNNING, THAT THE / TRAY IS EMPTIED WHILE THE TRAY IS OUT ! / / LP09, DBRI51 /ANY TRAY EJECT REQUESTS PENDING ? AND (0077) DBCI51 SNA JMP LP10 /NO, GO ON BSW CLL RAL MQL /YES, SAVE THE EJECT DATA IN THE M/Q SNL CLA /IS THE SAMPLE TRAY EJECT REQUESTED? JMP LP09B /NO, LOOK AT THE NEXT TRAY TAD MSPFLG /YES, IS THE MACHINE STOPPED ? SNA CLA JMP LP09A /NO, LOOK ON AC4000 /YES, EJECT THE SAMPLE TRAY NOW DBSO51 DCA SMTFLG /SET THE SAMPLE TRAY OUT FLAG JMP LP09S /BE SURE THE TRAY EJECT IS RESET LP09A, TAD SMTLKF /IS THE SAMPLE TRAY LOCKED IN ? SZA CLA JMP LP09B /YES, FORGET IT TAD (-10) /NO, SET UP TO EJECT THE SAMPLE TRAY LP09S, DCA SMGEJC TAD TRAYSZ /RESET THE SAMPLE TRAY SHEET COUNTER DCA SMTCNT ISZ SMTFLG /SET THE SAMPLE TRAY OUT FLAG
LP09B, SWP /IS THE REJECT A TRAY EJECT CLL RAL /REQUESTED ? SWP SNL CLA JMP LP09E /NO, LOOK AT THE NEXT TRAY TAD MSPFLG /YES, IS THE MACHINE STOPPED ? SNA CLA JMP LP09C /NO, LOOK ON TAD (2000) /YES, EJECT THE REJECT A TRAY NOW DBSO51 DCA RATFLG /SET THE REJECT A TRAY OUT FLAG JMP LP09E /GO ON TO THE NEXT TRAY LP09C, TAD SMTLKF /IS THE SAMPLE TRAY LOCKED IN ? SZA CLA JMP LP09E /YES, FORGET IT TAD REJFLG /IS THE REJECT A TRAY ACTIVE ? SNA CLA JMP LP09D /YES, LOOK ON TAD REJCNT /NO, DOES REJECT B CONTAIN MORE THAN TAD (31) /100 SHEETS ? SMA CLA JMP LP09E /YES, FORGET IT TAD (-6) /NO, SET UP TO EJECT THE REJ. A TRAY DCA RAGEJC JMP LP09E LP09D, TAD RBTFLG /IS THE REJECT B TRAY OUT OR SET UP TAD RBGEJC /TO GO OUT ? SZA CLA JMP LP09E /YES, FORGET IT TAD (-6) /NO, SET THE REJECT A TRAY TO EJECT DCA RAGEJC CLB CMA JMP LP09H /GO SET THE REJECT B TRAY TO BE / ACTIVE
LP09E, SWP /IS THE REJECT B TRAY EJECT CLL RAL /REQUESTED ? SWP SNL CLA JMP LP09I /NO, LOOK AT THE NEXT TRAY TAD MSPFLG /YES, IS THE MACHINE STOPPED ? SNA CLA JMP LP09F /NO, LOOK ON TAD (1000) /YES, EJECT THE REJECT B TRAY NOW DBSO51 DCA RBTFLG /SET THE REJECT B TRAY OUT FLAG JMP LP09I /NO, GO ON TO THE NEXT TRAY LP09F, TAD SMTLKF /IS THE SAMPLE TRAY LOCKED IN ? SZA CLA JMP LP09I /YES, FORGET IT TAD REJFLG /IS THE REJECT B TRAY ACTIVE ? SZA CLA JMP LP09G /YES, LOOK ON TAD REJCNT /NO, DOES REJECT A CONTAIN MORE THAN TAD (31) /100 SHEETS IN IT ? SMA CLA JMP LP09I /YES, FORGET IT TAD (-10) /NO, SET UP TO EJECT THE REJ. B TRAY DCA RBGEJC JMP LP09I LP09G, TAD RATFLG /IS THE REJECT A TRAY OUT OR SET UP TAD RAGEJC /TO GO OUT ? SZA CLA JMP LP09I /YES, FORGET IT TAD (-10) /NO, SET THE REJECT B TRAY TO EJECT DCA RBGEJC LP09H, DCA REJFLG /SET THE REJECT A TRAY TO BE ACTIVE TAD TRAYRZ /RESET THE REJECT TRAY SHEET COUNTER DCA REJCNT
LP09I, TAD MSPFLG /IS THE MACHINE RUNNING ? SNA CLA JMP LP10 /YES, FORGET IT. SWP /IS THE PROD. C TRAY EJECT CLL RAL /REQUESTED ? SWP SNL CLA JMP LP09J /NO, LOOK AT THE NEXT TRAY. TAD (400) /YES, EJECT THE PRODUCT C TRAY NOW. DBSO51 DCA PCTFLG /SET THE PRODUCT C TRAY OUT FLAG JMP LP09J PAGE LP09J, SWP /IS THE PROD. A TRAY EJECT CLL RAL /REQUESTED ? SWP SNL CLA JMP LP09K /NO, LOOK AT THE NEXT TRAY TAD (200) /YES, EJECT THE PRODUCT A TRAY NOW DBSO51 DCA PATFLG /SET THE PRODUCT A TRAY OUT FLAG LP09K, SWP /IS THE PROD. B TRAY EJECT CLL RAL /REQUESTED ? SNL CLA JMP LP10 /NO, GO ON TAD (100) /EJECT THE PRODUCT B TRAY NOW DBSO51 DCA PBTFLG /SET THE PRODUCT B TRAY OUT FLAG
/ / /%R SWITCH REGISTER DISPLAY OPTIONS / /%TW READ THE SWITCH REGISTER AND SEE IF ANY / DISPLAY OPTIONS ARE REQUESTED, IF SO / GET THE REQUESTED DATA AND DISPLAY IT. / /%TD SEE THE PROGRAM LISTING OF THE MAST / DOCUMENTATION FILE (MASTP1.PA) PAGE 3 / FOR THE LIST OF DISPLAY OPTIONS. / / LP10, LAS /ARE ANY DISPLAY REQUESTS PRESENT ? SNA JMP LP10B /NO, GO CLEAR THE DISPLAY BITS TAD (-1) /AC = 1 SZA JMP .+3 TAD SHLCNT /DISPLAY THE SHEET LENGTH COUNTER JMP LP10B TAD (-1) /AC = 2 SZA JMP .+3 TAD SHLENG /DISPLAY THE ACTIVE SHEET LENGTH JMP LP10B TAD (-1) /AC = 3 SZA JMP .+3 TAD CHOPCT /DISPLAY THE CHOP COUNTER JMP LP10B TAD (-1) /AC = 4 SZA JMP .+5 TAD TRAYSZ CIA TAD SMTCNT /SAMPLE TRAY SHEET COUNTER JMP LP10B TAD (-1) /AC = 5 SZA JMP .+5 TAD TRAYRZ CIA TAD REJCNT /REJECT TRAY SHEET COUNTER JMP LP10B TAD (-1) /AC = 6 SZA JMP .+5 TAD PUTUP1 CIA TAD PROCNT /PRODUCT TRAY SHEET COUNTER JMP LP10B
/ TAD (-1) /AC = 7 SZA JMP .+6 TAD SICKD1 /SICK DEFECT DATA CLL RTR RTR RAR JMP LP10B CLB LP10B, MQL /SAVE THE DATA TO BE DISPLAYED TAD (177) /CLEAR THE OUTPUT REGISTER DBCO55 ACL /LOAD THE NEW DATA INTO THE OUTPUT AND (177) /REGISTER DBSO55
/ / /%R "MAST IN TEST MODE" MESSAGE / /%TW DISPLAY THE "MAST IN TEST MODE" CRT MESSAGE / WHENEVER THE EXERCISER LOGIC KEYSWITCH IS IN / THE TEST POSITION. REMOVE THE MESSAGE WHEN THE / KEYSWITCH IS RETURNED TO THE RUN POSITION. / / LP11, DBRI50 /IS MAST IN THE TEST MODE ? AND (0040) SNA CLA JMP LP11A /YES, GO ON TAD MTESTF /NO, WAS IT THE LAST TIME THRU ? SZA CLA JMP LP12 /YES, GO ON AC4000 JMP LP11B /NO, GO SET THE MAST IN TEST FLAG LP11A, TAD MTESTF /WAS MAST IN RUN MODE THE LAST TIME SNA CLA /THRU ? JMP LP12 /YES, GO ON LP11B, DCA MTESTF /NO, SET THE MAST IN TEST FLAG TAD MTESTF TAD (MOPM01) DCA LP11MG+3 CAL SENDW CRTMSG LP11MG JMP LP12 LP11MG, ZBLOCK 3 MOPM01 PAGE
/ / /%R EMULSION FAULT MONITOR / /%TW WATCH THE EMULSION FAULT FLAG AND IF IT IS ON / LONGER THAN ALLOWED, TURN ON THE EMULSION MISS / INDICATOR AND RING THE ALERT ALARM. THE ALARM / WILL SOUND ONCE PER SECOND WHILE THE EMULSION / MISS LASTS. / / LP12, DBRI50 /IS THE MACHINE RUNNING ? RAL SNL CLA JMP LP12C /NO, GO ON TAD EMULFG /YES, IS THE EMULSION FAULT FLAG SET? SZA CLA JMP LP12A /YES, GO ON TAD EMULC2 /NO, IS THE "EMULSION MISS" MESSAGE SNA CLA /BEING DISPLAYED ? JMP LP12C /NO, GO ON DCA EMULC2 /YES, CLEAR THE MESSAGE UP FLAG AND AC4000 /GO REMOVE THE MESSAGE FROM THE CRT. JMP LP12B LP12A, ISZ EMULC1 /HAS THE TRAP GONE TO ZER0 ? JMP LP13 /NO, GO ON CLB IAC /YES, SET THE "EMULSION MISS" DCA EMULC2 /MESSAGE IS BEING DISPLAYED FLAG. LP12B, TAD (MOPM05) DCA LP12MG+3 CAL /DISPLAY THE "EMULSION MISS" SENDW / MESSAGE. CRTMSG LP12MG CDF 20 TAD EMULC2 /SET THE EMULSION MISS MESSAGE FLAG DCA I (EMFMGF) /FOR FIELD 2. CDF CUR LP12C, CLB TAD (-24) /RESET THE EMULSION FAULT COUNTER DCA EMULC1 JMP LP13 LP12MG, ZBLOCK 3 MOPM05
/ / /%R TURN OFF UNNEEDED STACKER GATES / /%TW WHEN THE MACHINE STOPS, TURN OFF THE STACKER / GATES WHICH ARE ON BUT NOT NEEDED. IF A SHEET / IS STILL ON THE VACUMN BELTS BUT NIPPED BY / THE FEED BELTS, THE GATE CAN BE TURNED OFF. / LP06 TELLS THIS ROUTINE TO EXECUTE ONCE EACH / TIME THE MACHINE STOPS. / / LP13, LP14, LP15, LP16, LP17, NOP /WILL BE CHANGED TO A SKP BY LP06 JMP LP18 /GO ON TO THE NEXT PART OF THE WAIT CLB /LOOP TAD (7000) /RESET THE NOP TO EXECUTE THIS DCA LP17 /ROUTINE ONLY ONCE. TAD (77) DBCO50 AC4000 /SET UP SAMPLE GATE CONTROL BIT IN MQL /THE MQ. TAD (TAD I GATEBL) /RESET THE GATE TABLE POINTER DCA LP17A TAD (-6) DCA LP17B /SET UP THE FIELD LOOP COUNTER LP17A, NOP /GET THE NEXT "GATE ON" COUNTER ISZ .-1 /INCREMENT FOR NEXT TIME THRU LOOP SPA JMP .+3 TAD (-32) /SHOULD THIS GATE BE TURNED OFF ? SMA CLA ACL /YES, GET THE CONTROL BIT BACK DBCO50 ACL /ROTATE THE GATE CONTROL BIT TO THE CLL RAR /NEXT GATE. MQL ISZ LP17B /IS THE LOOP FINISHED ? JMP LP17A /NO, KEEP GOING CDF 20 /YES, SET THE STOP MESSAGE FLAG ISZ I (STPMGF) /FOR FIELD 2. CDF CUR TAD (TALLEY) /NOW RUN THE TALLEY GENERATOR CAL / TO LOG THE MESSAGE RUN TAD (RFRESH) /NOW REFRESH THE PRODUCT DATA ON CAL / THE CRT. RUN JMP LP18 /GO ON
/ LP17B, 0 GATEBL, SMGTON /TABLE OF ADDRESSES OF THE GATE RAGTON /DELAY COUNTERS RBGTON PCGTON PAGTON PBGTON PAGE
/ / / CONTROL THE PRODUCT TRAY AIR / LP18, CLB TAD PROAIR /IS THE PRODUCT TRAY AIR INDEX SNA CLA / FLAG SET ? JMP LP19 /NO, GO ON. DCA PROAIR /CLEAR OUR FLAG. TAD PROFLG /GET THE ACTIVE PRODUCT TRAY CODE TAD (LP18A-1) /AND FORM A POINTER TO THE NEXT DCA LP18B / TRAY AIR COMBINATION. CIF CUR / TAD (7) /TURN OFF THE PRODUCT TRAY AIR DBCO50 CLB TAD I LP18B /GET THE BITS TO TURN ON DBSO50 JMP LP19 LP18A, 3 6 0 /NEEDED SPACER !! 5 LP18B, 0
/ / /%R INITIATE THE STACKER TEST FUNCTION / /%TW WATCH THE STACKER TEST BIT, AND WHEN IT APPEARS / SET UP AND FORCE MAST INTO THE STACKER TEST / FUNCTION. THE "PRODCT" ROUTINE WILL GET / THE NECESSARY TRAY DATA FROM "STAKSQ". THE / OTHER INTERRUPT LEVEL ROUTINES OPERATE / NORMALLY. / / LP19, DBRI52 /IS THE STACKER TEST BIT SET ? AND (0200) SNA CLA JMP LP19B /NO, GO ON TAD STAKSF /YES, WAS IT THE LAST TIME THRU ? SZA CLA JMP LP19C /YES, GO ON TAD (-20) /NO, SET UP FOR STACKER TEST RUN DCA STAKCT CLB CMA /GO INTO THE MEMORY TABLE TAD MEMPTR /AND SET THE SHEETS IN THE DCA LP19D /STACKER TO GO OFF THE END. LP19A, CLB IAC TAD LP19D AND (0377) TAD (MEMTBL) DCA LP19D DCA I LP19D ISZ STAKCT JMP LP19A ISZ STAKSF /SET THE STACKER TEST FLAG TAD (-62) /SET UP THE SHEET COUNTER. DCA STAKCT TAD (-5) /SET UP THE DELAY COUNTER DCA STAKDY JMP LP20 LP19B, TAD STAKSF /WAS IT SET THE LAST TIME THRU ? SZA CLA DCA STAKSF /YES, CLEAR THE STACKER TEST FLAG LP19C, JMP LP20 LP19D, 0
/ / / WATCH FOR PRINTER PAPER LOW / / LP20, DBRI56 /IS THE PAPER LEVEL BIT SET ? CLL RAR SZL CLA JMP LP20A /YES, GO ON. TAD LPTPFG /NO, WAS IT THE LAST TIME THRU ? SZA CLA JMP LP21 /NO, GO ON. AC4000 /YES, REMOVE THE "PAPER LOW" JMP LP20B / MESSAGE. LP20A, TAD LPTPFG /WAS IT SET THE LAST TIME THRU ? SNA CLA JMP LP21 /YES, GO ON. LP20B, DCA LPTPFG /RESET THE PAPER LOW FLAG. TAD LPTPFG TAD (MOPM03) DCA LP20MG+3 CAL /DISPLAY (OR REMOVE) THE "PAPER SENDW / LOW" MESSAGE CRTMSG LP20MG JMP LP21 LP20MG, ZBLOCK 3 MOPM03
/ / / WATCH FOR THE PRINTER LINE FEED REQUEST / / LP21, DBRI56 /LOOK FOR THE LINE FEED REQUEST. AND (0004) SNA CLA JMP LP22 /NOT THERE, GO ON. TAD LP21MG /IS OUR MESSAGE BUSY ? SZA CLA JMP LP22 /YES, WE'LL TO WAIT / CDF 20 / DCA I (DWLINE) /TELL TALLEY WE'RE AT TOP OF FORM. / CDF CUR CAL /NOW SEND THE LINE FEED TO THE SEND / PRINTER. LPT LP21MG JMP LP22 LP21MG, ZBLOCK 3 0 0 0
/ / / CURRENT END OF THIS TASK / / LP22, JMP START /AND AROUND AGAIN. PAGE NOPUNCH /F1COMM FILE FOLLOWS XLIST 1



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search