File CHOPCK.PA (PAL assembler source file)

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

/51
/
/
/%R	CHOP TIME FUNCTION SEQUENCE
/
/%TW	COME HERE FOR EACH MOTION INTERRUPT AND SEE IF THE 
/	CHOP SIGNAL HAS OCURRED SINCE THE LAST MOTION PULSE.
/	WHEN A CHOP OCCURS, MAKE SURE ALL THE WORK FOR THE
/	CURRENT SHEET IS FINISHED.  "PRODCT" IS THEN CALLED
/	TO MAKE A PRODUCT DECISION ABOUT THE SHEET JUST
/	CHOPPED, AND PICK THE STACKER TRAY DESTINATION FOR
/	THAT SHEET.
/
/%TD	A CHECK IS MADE TO VERIFY THAT THE CURRENT SHEET
/	LENGTH IS WITHIN THREE BITS OF THE KNOWN SHEET LENGTH.
/	IF NOT, THE MAST MONITOR INTERLOCK IS USED TO
/	STOP THE MACHINE AND AN ERROR MESSAGE, "MOTION PULSE
/	MISSING" IS QUEUED FOR THE CONSOLE TELETYPE.
/
/%TD	"CHOPCK" COMBINES THE PRODUCT DATA FROM THE DEFECT
/	MEMORY TABLE WITH THE MANUAL SAMPLE AND REJECT
/	REQUEST DATA AND PASSES THIS INFORMATION TO "PRODCT",
/	WHICH DETERMINES THE TRAY DESTINATION FOR THIS 
/	SHEET.  "CHOPCK" ALSO INCREMENTS THE DEFECT MEMORY
/	POINTER "MEMPRT" FOR EACH CHOP.
/
/
CHOPCK,	0
	CLB		/HAS THE CHOP SIGNAL COME IN ?
	DBRI50
	AND P200
	SNA CLA
	JMP I CHOPCK	/NO, RETURN
	TAD SHLCNT	/YES, IS THE SHEET LENGTH COUNTER
	CIA		/GREATER THAN OR EQUAL TO THE KNOWN
	TAD SHLENG	/SHEET LENGTH ?
	SPA SNA
	JMP CHOP2	/YES, GO ON
	CIA
	DCA CHOPZ1
	CLB STL RTL	/NO, CHECK IF THE SHEET LENGTH COUNTER
	TAD CHOPZ1	/IS WITHIN 3 OF THE KNOWN SHEET LENGTH.
	SMA CLA
	JMP CHOP1	/YES, GO ON
	TAD FCHOPF	/NO, IS THIS THE FIRST CHOP AFTER START
	SZA CLA		/UP ?
	JMP CHOP1	/YES, GO ON
	CIF 30
	CLB STL RAR
	JMS I (TTYCUE)	/NO, CUE "MOTION PULSE MISSING" FOR
	TEXT11		/OUTPUT

/52 CHOP1, ISZ SHLCNT /FORCE "MEMWRK" TO FINISH ONE COMPLETE JMS MEMWRK /LOOP THRU THE JUMP TABLE ISZ CHOPZ1 /FINISHED ? JMP .-3 /NO, KEEP GOING DCA FCHOPF /CLEAR THE FIRST CHOP FLAG CHOP2, CLB TAD MANSMF /IS THE MANUAL SAMPLE FLAG SET ? SNA CLA JMP CHOP3 /NO, GO ON TAD P40 /YES, MARK THE NEXT SHEET AS A SAMPLE TAD I MEMPTR DCA I MEMPTR CLB CMA TAD MANSMF /DECREMENT THE MANUAL SAMPLE REQUEST SMA /FLAG. (THE FLAG VALUE MUST REMAIN DCA MANSMF /POSITIVE OR ZERO.) JMP CHOP4 CHOP3, TAD MANRJF /IS THE MANUAL REJECT FLAG SET ? SNA CLA JMP CHOP4 /NO, GO ON TAD I MEMPTR /YES, IS THE NEXT SHEET AVAILABLE FOR AND (0170) /A REJECT ? SZA CLA JMP CHOP4 /NO, GO ON TAD P400 /YES, MARK THE NEXT SHEET AS A REJECT TAD I MEMPTR DCA I MEMPTR CLB CMA TAD MANRJF /DECREMENT THE MANUAL REJECT REQUEST SMA /FLAG. (THE FLAG VALUE MEST REMAIN DCA MANRJF /POSITIVE OR ZERO.) CHOP4, CLB DCA SHLCNT /RESET THE SHEET LENGTH COUNTER ISZ CHOPCT /INCREMEMT THE CHOP COUNTER FOR DISPLAY NOP /THIS NOP IS REQURIED !! JMS PRODCT /GO SET UP STACKER FOR THIS SHEET CLB CMA /INCREMENT THE MEMORY TABLE POINTER TAD MEMPTR AND P177 /TRAP THE POINTER BETWEEN 0 AND 177 TAD (MEMTBL) /ADD IN THE TABLE BASE ADDDRESS DCA MEMPTR TAD P200 /CLEAR CHOP BIT IN THE INPUT REGISTER DBCI50 CLB JMP I CHOPCK /RETURN CHOPZ1, 0 CHOPCT, 0
/53 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