File STUFF1.PA (PAL assembler source file)

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

/ STUFF #1 UTILITY PACKAGE			1-SEP-91
/
/
/
/	 SSSS  TTTTT  U   U  FFFFF  FFFFF    1
/	S        T    U   U  F      F       11
/	S        T    U   U  F      F      1 1
/	 SSS     T    U   U  FFFF   FFFF     1
/	    S    T    U   U  F      F        1
/	    S    T    U   U  F      F        1
/	SSSS     T     UUU   F      F      11111
/
/
/

/
/EDIT HISTORY:
/
/30-AUG-90	(LHN)
/	1) CHANGED INLOCK TO PASS MESSAGE CODE TO 
/	   'CRTMSG'
/	2) ADDED 'MRESET' TASK TO REMOVE SOME OPERATOR 
/	   MESSAGES WHEN INTERLOCK RESET IS PRESSED. THE
/	   IS CALLED BY 'DIGINP'.
/
/04-APR-91	(LHN)
/	1) ADDED MOPM23 TO MRESET LIST
/
/
/12-JUN-91	(LHN)		FOR VERSION 4A
/	1)  DELETED CALL TO SLFRST TASK
/	2)  CHANGED TTYST CALL TO TTY
/
/
/1-SEP-92	(LHN)		FOR VERSION 4B
/	1) ADDED MOPM24 AND MOPM25 TO MRESET
/

/
/%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= 3 TASK4= MRESET CUR4= CUR INIWT4= 0 /INITIALLY RUNNABLE VERS4= 4 FIELD CUR%10 *STUF1LOC
/ / / / / L OOO GGG N N AAA M M / L O O G G N N A A MM MM / L O O G NN N A A M M M / L O O G N N N A A M M / L O O G GGG N NN AAAAA M M / L O O G G N N A A M M / LLLLL OOO GGG N N A A M M / / / / /%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 TTY LOGMG2 TAD LOGMG6 /COLD START FLAG SET ? SNA CLA JMP LOGN2 /NO, GO ON. CAL /SAY POWER FAIL RESTART. SENDW TTY LOGMG5 CAL /ADD 1 LINE FEED SENDW TTY LOGMG4 LOGN2, CLB IAC /SET THE COLD START FLAG. DCA LOGMG6 CAL /SEND THE PROGRAM NAME TO TTY. SENDW TTY LOGMG3
/ CAL /JUST A CR-LF. SENDW TTY 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
/ / / / / IIIII N N IIIII TTTTT ZZZZZ EEEEE / I N N I T Z E / I NN N I T Z E / I N N N I T Z EEEE / I N NN I T Z E / I N N I T Z E / IIIII N N IIIII T ZZZZZ EEEEE / / / / /%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 PAGE
/ / / / / IIIII N N L OOO CCCC K K / I N N L O O C K K / I NN N L O O C K K / I N N N L O O C KK / I N NN L O O C K K / I N N L O O C K K / IIIII N N LLLLL OOO CCCC K K / / / / / INLOCK - OPEN THE REQUESTED M A S T INTERLOCK / / INLOCK IS CALLED BY TASKS THAT WANT TO STOP THE / MACHINE. TASKS SEND A MESSAGE TO THIS TASK / CONTAINING A SINGLE DATA WORD THAT INDICATES THE / INTERLOCK TO OPEN AND THE NUMBER OF THE CRT / MESSAGE TO DISPLAY TO TELL THE OPERATOR WHY THE / MACHINE STOPPED. THE OPERATOR MESSAGE CODE IS / PASSED TO 'CRTMSG'. / / 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 INLMSG /IS OUR MESSAGE TO CRTMSG BUSY ? SZA CLA JMP INL1 /YES, FORGET IT... TAD I MADDR /GET THE OPERATOR MESSAGE CODE AND (0077) DCA INLMSG+3 /PUT IT IN A MESSAGE AND SEND IT CAL / TO CRTMSG SEND CRTMSG INLMSG INL1, CLB TAD MCDF /NOW POST THE MESSAGE DCA PCDF AC7775 TAD MADDR CAL POST PCDF, 0 JMP START3 INLMSG, ZBLOCK 3 0
/ / / / / M M RRRR EEEEE SSSS EEEEE TTTTT / MM MM R R E S E T / M M M R R E S E T / M M RRRR EEEE SSS EEEE T / M M R R E S E T / M M R R E S E T / M M R R EEEEE SSSS EEEEE T / / / / / MRESET - REMOVE MESSAGES WHEN RESET IS PUSHED / / THIS TASK IS RUN FROM 'DIGINP' WHEN THE OPERATOR / PRESSES THE INTERLOCK RESET PUSHBUTON. WE TELL / 'CRTMSG' TO CLEAR THE OPERATOR MESSAGES WHICH / COULD HAVE STOPPED THE MACHINE. / / START4, CLB CAL /GO TO SLEEP 'TIL NEEDED SUSPND CLB TAD (MRETBL) /GET THE ADDRESS OF THE LIST OF DCA MREPTR / MESSAGES TO REMOVE. MRE1, TAD I MREPTR /GET THE NEXT MESSAGE NUMBER ISZ MREPTR SNA /IS IT ZERO ? JMP MRE2 /YES, ALL DONE, GO ON. DCA MREMSG+3 /SAVE THE MESSAGE NUMBER AND CAL / SEND IT TO 'CRTMSG' SENDW CRTMSG MREMSG JMP MRE1 MRE2, CLB JMP START4 /GO BACK TO SLEEP.... MREPTR, 0 /POINTER TO MESSAGE NUMBER LIST MREMSG, ZBLOCK 3 /MESSAGE TO 'CRTMSG' 0 MRETBL, MOPM04+4000 /LIST OF MESSAGES TO REMOVE MOPM09+4000 MOPM10+4000 MOPM13+4000 MOPM14+4000 MOPM15+4000 MOPM16+4000 MOPM17+4000 MOPM18+4000 MOPM20+4000 MOPM21+4000 MOPM23+4000 MOPM24+4000 MOPM25+4000 0
PAGE $=$



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