/ STUFF #1 PACKAGE 24-JUL-78 / / /%RS STUFF PAGKAGE #1 / /%TW A GROUP OF SHORT ULTILITY TASKS. / / TASK= LOGNAM CUR= STUF1FLD INIWT= 0 /INITIALLY RUNNNABLE VERS= 1 TASK2= INITZE CUR2= CUR INIWT2= 0 /INITIALLY RUNNABLE VERS2= 1 TASK3= INLOCK CUR3= CUR INIWT3= 0 /INITIALLY RUNNABLE VERS3= 1 FIELD CUR%10 *STUF1LOC / / / /%RT LOGNAM - LOG THE PROGRAM NAME ON STARTUP / /%RT CALLED AT STARTUP TO LOG THE PROGRAM NAME / AND VERSION NUMBER. ALSO REMINDS THE OPERATOR / TO ENTER THE TIME AND DATE. / / START, CLB CAL /TELL PWRF WHAT TO DO FOR US. SEND PWRF LOGMG1 CLB /PWRF OVERHEAD. LOGN1, CLB TAD (MCR) /BLOCK THE MCR UNTIL WE HAVE A CAL /CHANCE TO LOG OUR NAME AND VERSION BLKARG /ON THE CONSOLE DEVICE. USERWT CAL /DO TWO LINE FEEDS. SENDW TTYST LOGMG2 TAD LOGMG6 /COLD START FLAG SET ? SNA CLA JMP LOGN2 /NO, GO ON. CAL /SAY POWER FAIL RESTART. SENDW TTYST LOGMG5 CAL /ADD 1 LINE FEED SENDW TTYST LOGMG4 LOGN2, CLB IAC /SET THE COLD START FLAG. DCA LOGMG6 CAL /SEND THE PROGRAM NAME TO TTY. SENDW TTYST LOGMG3 CAL /JUST A CR-LF. SENDW TTYST LOGMG4 TAD (MCR) /UNBLOCK THE MCR NOW THAT OUR NAME CAL /AND VERSION HAVE BEEN LOGGED. UNBARG USERWT CAL /NOW TO SLEEP. SUSPND JMP LOGN1 /GO AROUND AGAIN. LOGMG1, ZBLOCK 3 LOGN1-1 /PWRF RESTART ADDRESS. / LOGMG2, ZBLOCK 3 /3 LINE FEEDS. 4000 0 215 212 215 212 0 LOGMG3, ZBLOCK 3 0 0 TEXT " M A S T V " *.-1 MSTVERSION /THE CURRENT VERSION CODE 0 LOGMG4, ZBLOCK 3 /JUST DO CR-LF 5000 0 LOGMG2+7 LOGMG5, ZBLOCK 3 0 0 TEXT "POWER FAIL RESTART" LOGMG6, 0 /COLD START FLAG / / / /%RT INITZE - RESET OR INITIALIZE THE SYSTEM / /%TW INIT CAUSES THE POWER FAIL - AUTO RESTART TASK / "PWRF" TO RUN. "PWRF" WILL RESET THOSE USER / TASKS WHICH HAVE SENT RESTART MESSAGES TO / "PWRF". "PWRF" HAS BEEN MODIFIED TO REMOVE THE / RUN WAIT AND MESSAGE WAIT BITS ALONG WITH / EVENT FLAG AND EVENT-MESSAGE WAIT BITS. / / START2, CAL /PUT US IN RUN WAIT. SUSPND CLB CMA /GET THE ADDRESS OF THE POWER FLAG CDF 0 /RESTART EVENT FLAG. TAD I (3) CAL /GO POST THE POWER FAIL EVENT FLAG POST CDF 0 JMP START2 / / / OPEN THE REQUESTED M A S T INTERLOCK / / START3, CLB /WAIT 'TIL SOMEONE NEEDS US. CAL RECEIVE MADDR, 0 DCA .+1 /SAVE THE CDF TO THE MESSAGE. MCDF, HLT TAD I MADDR /GET THE MESSAGE WORD AND AND (3600) /OPEN THE REQUESTED INTERLOCK DBCO54 CLB TAD MCDF /NOW POST THE MESSAGE DCA PCDF AC7775 TAD MADDR CAL POST PCDF, 0 JMP START3 PAGE $=$