File MEMORY.PA (PAL assembler source file)

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

/43
/
/
/%R	MEMORY FUNCTION ROUTINE
/
/%TW	THIS ROUTINE IS EXECUTED EACH TIME A MOTION INTERRUPT
/	IS RECOGNIZED.  IT CHECKS TO SEE THAT A MOTION BIT WAS
/	RECEIVED FROM THE MOTION ENCODER.  IF NOT, AN 
/	"INVALID MOTION PULSE" ERROR MESSAGE IS QUEUED ON
/	THE CONSOLE TELETYPE, AND THE MACHINE IS STOPPED WITH
/	THE MAST MONITOR INTERLOCK.
/
/%TD	FOR VALID MOTION INTERRUPTS, "MEMORY" SEQUENCES THE 
/	FUNCTIONS NECESSARY FOR THIS MOTION PULSE.  THE
/	ROUTINES CALLED SERVICE THE INSPECTOR DEFECT DATA
/	("DEFDAT"), THE CHOP SIGNAL ("CHOPCK"), AND THE JUMP
/	TABLE ("MEMWRK").  IF STACKER RUNOUT IS IN PROGRESS
/	CONTROL IS TRANSFERRED TO "SROCTR".
/
/%TD	AFTER DOING THE WORK NECESSARY FOR THIS MOTION PULSE,
/	"MEMORY" CHECKS IF ANOTHER MOTION PULSE HAS OCURRED.
/	IF NOT CONTROL IS RETURNED TO THE INTERRUPTED 
/	PROGRAM VIA "INTRET".  IF ANOTHER MOTION PULSE HAS
/	COME IN, MAST HAS BEEN OVERSPEED AND MAY HAVE LOST
/	TRACK OF PRODUCT DATA.  IN THIS EVENT THE MAST 
/	MONITOR INTERLOCK IS OPENED AND THE ERROR MESSAGE
/	"MAST OVERSPEED" IS QUEUED FOR THE CONSOLE TELETYPE.
/	WHILE THE EXERCISER CAN OVERSPEED MAST UNDER SOME
/	CONDITIONS, THE FINISHING MACHINE CANNOT!  IF AN 
/	OVERSPEED OCCURS DURING NORMAL OPERATION THERE
/	IS A SYSTEM FAILURE IN THE HARDWARE OR SOFTWARE
/	AND THE WHOLE SYSTEM SHOULD BE CHECKED CAREFULLY.
/
/
MEMORY,	DBRI50		/WAS THE INTERRUPT CAUSED BY THE MOTION
	AND P2000	/PULSE ?
	SZA CLA
	JMP .+5		/YES, THE MOTION BIT IS PRESENT, GO ON
	CIF 30
	CLB STL RAR
	JMS I (TTYCUE)	/NO, MOTION BIT MISSING, CUE "INVALID
	TEXT10		/MOTION PULSE" FOR OUTPUT
	CLB CMA RTL
	DCA WKA		/SET UP A 13.2 MICROSECOND DELAY BEFORE
	NOP		/CLEARING THE MOTION BIT IN THE INPUT
	ISZ WKA		/REGISTER. THIS INSURES THAT THE INPUT
	JMP .-2		/PULSE HAS GONE AWAY.
	TAD P2000
	DBCI50		/CLEAR MOTION PULSE FROM INPUT REG.
	CLB

/44 TAD MOTENB /IS THE MOTION BIT ENABLED ? SZA CLA JMP INTRET /NO, RETURN THRU THE INTERRUPT RELEASE TAD SROFLG /ARE WE IN STACKER RUN OUT ? SZA CLA JMP SROCTR /YES, GO SERVICE STACKER RUN OUT JMS MEMWRK /GO DO WHAT IS NEEDED FOR THIS MOTION /INTERRUPT. JMS DEFDAT /GO COLLECT DEFECT DATA JMS CHOPCK /GO LOOK FOR A CHOP SIGNAL DBRI50 /CHECK IF ANOTHER MOTION PULSE HAS AND P2000 /COME IN WHILE SERVICING THIS ONE. SNA CLA JMP MRY1 /NO, GO ON TAD FCHOPF /YES, IS THE FIRST CHOP FLAG SET ? SZA CLA JMP MRY1 /YES, GO ON CLB STL RAR /NO, GO CUE THE "MAST OVERSPEED" ERROR CIF 30 /FOR TELETYPE OUTPUT. JMS I (TTYCUE) TEXT03 MRY1, TAD CTHOLD /ARE WE IN COUNT/HOLD ? SZA CLA JMP INTRET /YES, RETURN THRU THE INTERRUPT RELEASE ISZ METER1 /NO, INCREMENT THE METERAGE COUNTER JMP INTRET /RETURN THRU THE INTERRUPT RELEASE CDF 30 ISZ I (INCRTM) /TELL FIELD 3 TO INCREMENT THE METER CDF 0 /COUNTER DISPLAY. TAD METERC /RESET THE METER COUNTER DCA METER1 JMP INTRET /RETURN THRU THE INTERRUPT RELEASE



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