/ MISCELLANEOUS ROUTINE 3-AUG-91 / / / / M M IIIII SSSS CCCC 1 / MM MM I S C 11 / M M M I S C 1 1 / M M I SSS C 1 / M M I S C 1 / M M I S C 1 / M M IIIII SSSS CCCC 11111 / / / / /EDIT HISTORY: / /11-JUL-90 (LHN) / 1) RESET SHUTTER DELAY AFTER RECAL COMMAND TO / PREVENT FALSE SPLICES / /30-AUG-90 (LHN) / 1) ADDED OPERATOR MESSAGE CODE TO INLOCK MESSAGE / /12-JUN-91 (LHN) FOR VERSION 4 / 1) DELETD REFERENCE TO 'DIGREC' SELFCK FLAG / 2) ADDED CODE FOR CURL SAMPLE DISPLAY / 3) DELETED CODE FOR INSPECTION RECAL / /2-AUG-91 (LHN) / 1) ADDED KERDEV TASK HERE. / TASK= MISC1 CUR= MISC1FLD INIWT= 0 VERS= 4 TASK2= KERDEV CUR2= KERMFLD INIWT2= 0 VERS2= 4 FIELD MISC1FLD%10 *MISC1LOC / / /%R MISCELLANEOUS ROUTINE / /%TW WATCH FOR A SPLICE AND TURN ON THE SPLICE / COMMENT ON THE M.O.P. AND LOCK IN THE SAMPLE / TRAY UNTIL SPLICE IS IN THE SAMPLE TRAY. / ALSO DISPLAY MACHINE CHECK AND CURL SAMPLE / AND PARTIAL BOX MESSAGES. / START, CLB CAL SUSPND /GO TO SLEEP 'TIL NEEDED CLB IAC /HAS THE MACHINE CHECK MESSAGE TAD MCKMCT /DISPLAY TIMED OUT ? SPA SNA DCA MCKMCT SNL CLA JMP MISC0 /NO, GO ON. CAL SEND CRT MISMG1 JMP MISC2 MISC0, TAD MCKDSP /IS THE MACHINE CHECK FLAG SET ? SNA JMP MISC2 /NO, GO ON AND (7700) /YES, FOR THE TRAY LETTER AND BSW /PUT IT IN THE CRT TEXT TAD (4000) DCA I (CRTH22+11) TAD MCKDSP /NOW FORM THE NUMBER OF AND (0007) /SHEETS AND PUT IT IN THE TAD (4060) /CRT TEXT. DCA I (CTH22A) TAD (-400) /SET THE MACHINE CHECK DCA MCKMCT /MESSAGE COUNTER DCA MCKDSP /CLEAR OUR FLAG. CAL /SEND THE MESSAGE TO THE CRT SEND CRT MISMG2 / MISC2, CLB IAC TAD SPLMCT /HAS THE SPLICE MESSAGE DISPLAY SPA SNA /TIMED OUT ? DCA SPLMCT SNL CLA JMP MISC3 /NO, GO ON. CAL SEND CRT MISMG3 MISC3, CLB CDF 10 TAD I (SPLFLG) /IS THE SPLICE DETECTED FLAG SET ? MQL /SAVE IT DCA I (SPLFLG) ACL CDF CUR AND (0010) SNA CLA JMP MISC5 /NO, GO ON. CAL SEND CRT MISMG4 TAD (-400) /SET THE SPLICE MESSAGE DISPLAY DCA SPLMCT /DELAY COUNTER. TAD (BELL) /RING THE ALERT ALARM CAL RUN CDF 10 ISZ I (SMTLKF) /LOCK IN THE SAMPLE TRAY TAD (-55) DCA I (SMTLKD) /SET THE SAMPLE TRAY UNLOCK DELAY. DBRI51 /IS THE SAMPLE OR A REJECT TRAY OUT ? MQL DBRO51 MQA AND (7000) TAD I (SMGEJC) TAD I (RAGEJC) TAD I (RBGEJC) SNA CLA JMP MISC4 /NO, GO ON. / CAL SEND /YES, OPEN THE TRAY OUT INTERLOCK INLOCK INLMG1 MISC4, CLB CDF 10 DCA I (REJCNT) /SET THE REJECT SHEET COUNTER TO 0. CDF CUR JMP START /RETURN MISC5, CLB IAC /INCREMENT THE SAMPLE TRAY LOCKED CDF 10 TAD I (SMTLKD) /IN COUNTER. SPA SNA DCA I (SMTLKD) SZL CLA DCA I (SMTLKF) CDF CUR JMP MISC6 PAGE / MISC6, CLB IAC /HAS THE PARTIAL BOX MESSAGE TAD PARBMG /DISPLAY TIMED OUT ? SPA SNA DCA PARBMG SNL CLA JMP MISC7 /NO, EXIT CAL SEND /YES, ASK FOR OUR MESSAGE TO CRTMSG /BE REMOVED MISMG5 MISC7, CLB IAC /HAS THE CURL SAMPLE MESSAGE TAD CRLMCT /DISPLAY TIMED OUT ? SPA SNA DCA CRLMCT SNL CLA JMP MISC8 /NO, GO ON. CAL SEND CRT MISMG6 JMP MISC9 MISC8, TAD CRLDSP /IS THE CURL SAMPLE FLAG SET ? SNA JMP MISC9 /NO, GO ON AND (7700) /YES, FOR THE TRAY LETTER AND BSW /PUT IT IN THE CRT TEXT TAD (4000) DCA I (CRTH26+11) TAD CRLDSP /NOW FORM THE NUMBER OF AND (0017) /SHEETS AND PUT IT IN THE TAD (4060) /CRT TEXT. DCA I (CTH26A) TAD (-400) /SET THE MACHINE CHECK DCA CRLMCT /MESSAGE COUNTER DCA CRLDSP /CLEAR OUR FLAG. CAL /SEND THE MESSAGE TO THE CRT SEND CRT MISMG7 MISC9, JMP START /ALL DONE, EXIT / MISMG1, ZBLOCK 3 /CLEAR MACHINE CHECK CRT LINE CRTH23 MISMG2, ZBLOCK 3 /MACHINE CHECK MESSAGE CRTH22 MISMG3, ZBLOCK 3 /CLEAR SPLICE CRT LINE CRTH25 MISMG4, ZBLOCK 3 /SPLICE DETECTED MESSAGE CRTH24 MISMG5, ZBLOCK 3 /REMOVE PARTIAL BOX MESSAGE MOPM11+4000 MISMG6, ZBLOCK 3 /CLEAR CURL SAMPLE CRT LINE CRTH27 MISMG7, ZBLOCK 3 /CURL SAMPLE MESSAGE CRTH26 INLMG1, ZBLOCK 3 /OPEN TRAY OUT INTERLOCK AND TRYINL+MOPM04 / "TRAY OUT" MESSAGE / / / / K K EEEEE RRRR DDDD EEEEE V V / K K E R R D D E V V / K K E R R D D E V V / KK EEEE RRRR D D EEEE V V / K K E R R D D E V V / K K E R R D D E V V / K K EEEEE R R DDDD EEEEE V / / / / /EDIT HISTORY: / /01-AUG-91 (LHN) FOR VERSION 4 / 1) CREATED TASK / / / THIS TASK DISABLES THE SERIAL INTERFACE THAT / KERMIT USES. AT STARTUP, IT DISABLES THE INTERFACE / INTERRUPT AND THEN PUTS ITSELF IN THE SKIP CHAIN, / JUST IN CASE. IF WE SEE AN INTERRUPT FROM THE / KERMIT INTERFACE, WE CLEAR THE FLAG AND DISABLE / THE INTERRUPT AGAIN. THIS TASK PREVENTS THE / SOFTWARE FROM HANGING UP IN THE SHIP CHAIN AND NOT / BEING ABLE TO CLEAR THE DEVICE FLAG. / / / /%RX KERMIT INTERFACE DEVICE COMMANDS / / KRKCF= 6400 /CLEAR THE KEYBOARD FLAG KRKSF= 6401 /SKIP IF THE KEYBOARD FLAG IS SET KRKCC= 6402 /CLEAR THE AC AND THE KEYBOARD FLAG KRKRS= 6404 /READ THE KEYBOARD BUFFER STATICALLY KRKIE= 6405 /PUT AC BIT 11 IN THE INTERRUPT ENABLE F-F KRKRB= 6406 /CLEAR THE AC, READ THE KEYBOARD BUFFER, / AND CLEAR THE KEYBOARD FLAG KRTFL= 6410 /SET THE DISPLAY FLAG KRTSF= 6411 /SKIP IF THE DISPLAY FLAG IS SET KRTCF= 6412 /CLEAR THE DISPLAY FLAG KRTPC= 6414 /LOAD THE DISPLAY BUFFER AND DISPLAY KRTSK= 6415 /SKIP IF THE KERMIT INTERRUPT OCCURRED KRTLS= 6416 /LOAD THE DISPLAY BUFFER, DISPLAY, AND /CLEAR THE DISPLAY FLAG / / / / KERMIT DEVICE INTERRUPT HANDLER ROUTINE / / START2, CAL /INSERT RT01 INTO SKIP CHAIN SKPINS KERMIN KNEXT, CLB /JUST DISABLE THE INTERRUPT ON THE KRKIE / INTERFACE KERMIT USES KRTCF /CLEAR THE DISPLAY FLAG. KRKCF /CLEAR THE INPUT FLAG. CAL / AND GO TO SLEEP. SUSPND JMP KNEXT / / /%R KERMIT DEVICE INTERRUPT LEVEL CODE / /%TW COME HERE WHEN AN KEYBOARD INTERRUPT IS DETECTED / ON THE INTERFACE KERMIT USES. CLEAR THE FLAG(S) / AND DISABLE THE INTERRUPT - AGAIN. / / KERMIN, ZBLOCK 2 /EXEC INTERUPPT STORAGE KRTSK /IS KERMIT DEVICE INTERRUPT SET ? JMP I KERMIN /NO, GO TO NEXT MODULE IN CHAIN. CDI CUR /YES, CONTINUE. KRTCF /CLEAR THE DISPLAY FLAG. KRKCF /CLEAR THE INPUT FLAG. CLB /JUST DISABLE THE INTERRUPT ON THE KRKIE / INTERFACE KERMIT USES - AGAIN ISZ KERMCT /INCREMENT THE INTERRUPT COUNTER. NOP CIF 0 POSTDS /NOW DISMISS THE INTERRUPT. KERMCT, 0 /INTERRUPT SEEN COUNTER. PAGE NOPUNCH /F3COMM AND CRTTXT FOLLOWS XLIST 1