File PGATE.PA (PAL assembler source file)

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

/ PRODUCT TRAY GATE HANDLERS			3/16/77
/
/
/%R	PRODUCT TRAY GATE HANDLERS
/
/
/%TW	THESE ROUTINES ARE CALLED DURING EACH SHEET AND
/	CHECKS THE TRAY DESTINATION DATA IN THE DEFECT
/	MEMORY TABLE TO SEE IF THE SHEET NEARING A
/	PRODUCT GATE IS MARKED FOR THAT TRAY.  IF THE
/	SHEET IS NOT FOR THE PRODUCT TRAY, THAT PRODUCT
/	GATE IS TURNED OFF AND THE ROUTINE EXITS.
/
/%TW	IF THE SHEET IS MARKED FOR A PRODUCT TRAY, THE
/	"GATE ON" TIMING DELAY FOR THAT GATE IS SET UP
/	BASED ON THE CURRENT MACHINE SPEED.  ONCE THE
/	TIMER IS SET, IT IS PROCESSED BY THE GATE TURN
/	ON ROUTINE, "GATEON" WHICH WILL TURN ON THAT
/	PRODUCT GATE AND TRAY AIR AT THE PROPER TIME.
/	IF THE PRODUCT TRAY IS OUT, THE SHEET IS
/	IGNORED.  EJECTION OF THE PRODUCT TRAY, TURNING
/	OFF OF THE TRAY AIR, AND THE LIGHTING OF THE
/	TRAY FILLING INDICATOR ARE ALSO CONTROLLED HERE.





TASK=	PCGATE		/PRODUCT C TRAY GATE HANDLER
CUR=	PGATEFLD
INIWT=	RUNWT
VERS=	1

TASK2=	PAGATE		/PRODUCT A TRAY GATE HANDLER
CUR2=	PGATEFLD
INIWT2=	RUNWT
VERS2=	1

TASK3=	PBGATE		/PRODUCT B TRAY GATE HANDLER
CUR3=	PGATEFLD
INIWT3=	RUNWT
VERS3=	1



	FIELD PGATEFLD%10
	*PGATELOC

/ / / /%RP PRODUCT C TRAY GATE CONTROL ROUTINE / / START, CLB IAC DCA PCGTON /CLEAR THE PRODUCT C GATE ON DELAY. TAD PCGLOC /GET THE DATA FROM THE MEMORY TABLE TAD MEMPTR / AT THE PRODUCT C GATE POSITION. AND (0177) TAD (MEMTBL) DCA PCGSCR TAD I PCGSCR /IS THIS SHEET FOR PRODUCT C ? AND (0004) SNA CLA JMP PCG1 /NO, GO TURN OFF THE GATE VALVE. TAD PCTFLG /IS THE PRODUCT C TRAY OUT ? SZA CLA JMP PCG1 /YES, FORGET IT. TAD GATEDY /SET UP THE PRODUCT C GATE ON DELAY. DCA PCGTON CLB IAC RTL /TURN ON THE PRODUCT A FILLING DBSO54 / INDICATOR. AC7775 /-3 DCA PCGAIR /RESET THE PRODUCT C TRAY AIR ON / DELAY. TAD I PCGSCR /IS THIS TRAY MARKED TO EJECT ? SMA CLA JMP PCG2 /NO, GO ON. TAD (-4) /SET UP THE TRAY EJECT DELAY. DCA PCGEJC JMP PCG2
/ PCG1, TAD (400) /TURN OFF THE PRODUCT C GATE VALVE. DBCO50 CLB IAC /HAS THE PRODUCT C TRAY AIR ON DELAY TAD PCGAIR / TIMED OUT ? SPA SNA DCA PCGAIR SNL CLA JMP .+3 /NO, GO ON. CLB IAC RTL /TURN OFF THE PRODUCT C TRAY AIR. DBCO50 CLB IAC /HAS THE PRODUCT C TRAY EJECT DELAY TAD PCGEJC / TIMED OUT ? SPA SNA DCA PCGEJC SNL CLA JMP PCG2 /NO, GO ON. TAD (400) /EJECT THE PRODUCT C TRAY NOW. DBSO51 DCA PCTFLG /SET THE PRODUCT C TRAY OUT FLAG. CLB IAC RTL /TURN OFF THE PRODUCT C FILLING DBCO54 / INDICATOR. PCG2, CLB CAL /ALL DONE, GO BACK TO SLEEP. SUSPND JMP START /GO LOOK AT THE NEXT SHEET. PCGAIR, 0 /PRODUCT C TRAY AIR ON DELAY COUNTER PCGSCR, 0 /LOCAL TEMPORARY
/ / / /%RP PRODUCT A TRAY GATE CONTROL ROUTINE / / START2, CLB IAC DCA PAGTON /CLEAR THE PRODUCT A GATE ON DELAY. TAD PAGLOC /GET THE DATA FROM THE MEMORY TABLE TAD MEMPTR / AT THE PRODUCT A GATE POSITION. AND (0177) TAD (MEMTBL) DCA PAGSCR TAD I PAGSCR /IS THIS SHEET FOR PRODUCT A ? AND (0002) SNA CLA JMP PAG1 /NO, GO TURN OFF THE GATE VALVE. TAD PATFLG /IS THE PRODUCT A TRAY OUT ? SZA CLA JMP PAG1 /YES, FORGET IT. TAD GATEDY /SET UP THE PRODUCT A GATE ON DELAY. DCA PAGTON AC0002 /TURN ON THE PRODUCT A FILLING DBSO54 / INDICATOR. AC7775 /-3 DCA PAGAIR /RESET THE PRODUCT A TRAY AIR ON / DELAY. TAD I PAGSCR /IS THIS TRAY MARKED TO EJECT ? SMA CLA JMP PAG2 /NO, GO ON. TAD (-4) /SET UP THE TRAY EJECT DELAY. DCA PAGEJC JMP PAG2
/ PAG1, TAD (200) /TURN OFF THE PRODUCT A GATE VALVE. DBCO50 CLB IAC /HAS THE PRODUCT A TRAY AIR ON DELAY TAD PAGAIR / TIMED OUT ? SPA SNA DCA PAGAIR SNL CLA JMP .+3 /NO, GO ON. AC0002 /TURN OFF THE PRODUCT A TRAY AIR. DBCO50 CLB IAC /HAS THE PRODUCT A TRAY EJECT DELAY TAD PAGEJC / TIMED OUT ? SPA SNA DCA PAGEJC SNL CLA JMP PAG2 /NO, GO ON. TAD (200) /EJECT THE PRODUCT A TRAY NOW. DBSO51 DCA PATFLG /SET THE PRODUCT A TRAY OUT FLAG. AC0002 /TURN OFF THE PRODUCT A FILLING DBCO54 / INDICATOR. PAG2, CLB CAL /ALL DONE, GO BACK TO SLEEP. SUSPND JMP START2 /GO LOOK AT THE NEXT SHEET. PAGAIR, 0 /PRODUCT A TRAY AIR ON DELAY COUNTER PAGSCR, 0 /LOCAL TEMPORARY PAGE
/ / / /%RP PRODUCT B TRAY GATE CONTROL ROUTINE / / START3, CLB IAC DCA PBGTON /CLEAR THE PRODUCT B GATE ON DELAY. TAD PBGLOC /GET THE DATA FROM THE MEMORY TABLE TAD MEMPTR / AT THE PRODUCT B GATE POSITION. AND (0177) TAD (MEMTBL) DCA PBGSCR TAD I PBGSCR /IS THIS SHEET FOR PRODUCT B ? AND (0001) SNA CLA JMP PBG1 /NO, GO TURN OFF THE GATE VALVE. TAD PBTFLG /IS THE PRODUCT B TRAY OUT ? SZA CLA JMP PBG1 /YES, FORGET IT. TAD GATEDY /SET UP THE PRODUCT B GATE ON DELAY. DCA PBGTON CLB IAC /TURN ON THE PRODUCT B FILLING DBSO54 / INDICATOR. AC7775 /-3 DCA PBGAIR /RESET THE PRODUCT B TRAY AIR ON / DELAY. TAD I PBGSCR /IS THIS TRAY MARKED TO EJECT ? SMA CLA JMP PBG2 /NO, GO ON. TAD (-4) /SET UP THE TRAY EJECT DELAY. DCA PBGEJC JMP PBG2
/ PBG1, TAD (100) /TURN OFF THE PRODUCT B GATE VALVE. DBCO50 CLB IAC /HAS THE PRODUCT B TRAY AIR ON DELAY TAD PBGAIR / TIMED OUT ? SPA SNA DCA PBGAIR SNL CLA JMP .+3 /NO, GO ON. CLB IAC /TURN OFF THE PRODUCT B TRAY AIR. DBCO50 CLB IAC /HAS THE PRODUCT B TRAY EJECT DELAY TAD PBGEJC / TIMED OUT ? SPA SNA DCA PBGEJC SNL CLA JMP PBG2 /NO, GO ON. TAD (100) /EJECT THE PRODUCT B TRAY NOW. DBSO51 DCA PBTFLG /SET THE PRODUCT B TRAY OUT FLAG. CLB IAC /TURN OFF THE PRODUCT B FILLING DBCO54 / INDICATOR. PBG2, CLB DCA I PBGSCR /CLEAR THE DATA IN THE MEMORY TABLE / AT THIS LOCATION, THIS LEAVES THE / MEMORY TABLE CLEAR FROM PRODUCT B / TO DEFECT CHANNEL 1. CAL /ALL DONE, GO BACK TO SLEEP. SUSPND JMP START3 /GO LOOK AT THE NEXT SHEET. PBGAIR, 0 /PRODUCT B TRAY AIR ON DELAY COUNTER PBGSCR, 0 /LOCAL TEMPORARY PAGE /$=$=LHN=$=$



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