File MISC1.PA (PAL assembler source file)

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

/ 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



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