File DEF13.PA (PAL assembler source file)

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

/ CHANNEL 1 & 3 DEFECT ROUTINES              24-JUL-78




TASK=	CH1DEF
CUR=	DEF1FLD
INIWT=	ENABWT
VERS=	1

TASK2=	CH1RES
CUR2=	DEF1FLD
INIWT2=	ENABWT
VERS2=	2

TASK3=	CH3DEF
CUR3=	DEF1FLD
INIWT3=	ENABWT
VERS3=	1

TASK4=	CH3RES
CUR4=	DEF1FLD
INIWT4=	ENABWT
VERS4=	2



	FIELD DEF1FLD%10
	*DEF1LOC

/ / /%RP PROCESS SHEET DEFECT DATA FOR CHANNEL 1 / / /%TW THIS ROUTINE IS CALLED AS / EACH SHEET BOUNDRY (YET TO BE CHOPPED) CROSSES THE / INSPECTION POINT FOR CHANNEL 1. IF CHANNEL 1 / IS ENABLED, THE DEFECT DATA FOR THIS SHEET AND / THE FAILURE FLAG FROM SELF CHECK ARE "OR"ED / INTO THE DEFECT MEMORY TABLE AT THE CHANNEL 1 / POSITION. THIS DATA IS LATER USED BY "PRODCT" / TO DETERMINE THE QUALITY OF THIS SHEET. / START, CLB CAL SUSPND /GO TO SLEEP 'TIL NEEDED. CLB TAD CH1LOC /FORM ADDRESS POINTER INTO MEMORY TAD MEMPTR / TABLE AND SAVE THE CURRENT AND (0377) / LOCATION OF THE CHANNEL POINTER TAD (MEMTBL) / FOR THE RESOLUTION ROUTINE. DCA CH1PTR DBRI50 /IS MAST IN THE "TEST" MODE ? AND (0040) SZA CLA JMP DEF11 /NO, GO ON. DBRI52 /IS THIS CHANNEL DISABLED ? AND (0004) SNA CLA JMP DEF11 /NO, GO ON. DCA CH1FLR /YES, CLEAR THE CHANNEL DISABLE FLAG JMP START /AND EXIT. DEF11, TAD I CH1PTR /GET THE DATA CURRENTLY IN THE MQL /MEMORY TABLE AND "OR" IN THE DEFECT DBRI50 /AND FAILURE DATA FOR THIS CHANNEL. AND (0004) DBCI50 /CLEAR OUR DR8 BIT. MQA MQL TAD SHUTDY /IS THE LASER SHUTTER OPEN ? SNA CLA JMP .+3 /YES, GO ON. CLB /TAD (4) /NO, FORCE A CHANNEL 1 DEFECT. MQL TAD CH1FLR /FAILURE FLAG CLL RTL MQA DCA I CH1PTR /RETURN THE DATA TO THE MEMORY TABLE. JMP START
/ / /%RP CHANNEL 1 RESOLUTION ROUTINE / / /%TW COME HERE AFTER THE RESOLUTION / AREA FOR CHANNEL 1 HAS PASSED THE INSPECTION / POINT. THE RESOLUTION AREA IS A SMALL LENGTH / OF PRODUCT FOLLOWING THE LAST SHEET BOUNDARY FOR / CHANNEL 1. DEFECTS APPEARING IN THE RESOLUTION / AREA BETWEEN TWO SHEETS WILL CAUSE BOTH SHEETS / TO BE REJECTED. ANY DEFECT DATA WHICH HAS COME IN / SINCE "DEFCH1" WAS LAST CALLED IS "OR"ED WITH / THE DEFECT DATA IN THE DEFECT MEMORY TABLE FOR / THE SHEET WHICH JUST PASSED CHANNEL 1. / / START2, CLB CAL SUSPND /GO TO SLEEP 'TIL NEEDED. CLB DBRI50 /IS MAST IN "TEST" MODE ? AND (0040) SZA CLA JMP RES11 /NO, GO ON. DBRI52 /YES, IS THIS CHANNEL DISABLED ? AND (0004) SZA CLA JMP START2 /YES, EXIT. RES11, TAD SHUTDY /IS THE LASER SHUTTER OPEN ? SZA CLA JMP START2 /NO, JUST EXIT. TAD I CH1PTR /GET THE PREVIOUS SHEET DATA. MQL DBRI50 /READ THE DEFECT DATA AND AND (0004) MQA /"OR" THEM TOGETHER. DCA I CH1PTR /PUT DATA BACK IN THE MEMORY TABLE. JMP START2 CH1PTR, MEMTBL /MEMORY TABLE ADDRESS FOR THIS / CHANNEL, LEFT BY DEFCH1.
/ / /%RP PROCESS SHEET DEFECT DATA FOR CHANNEL 3 / / /%TW THIS ROUTINE IS CALLED AS / EACH SHEET BOUNDRY (YET TO BE CHOPPED) CROSSES THE / INSPECTION POINT FOR CHANNEL 3. IF CHANNEL 3 / IS ENABLED, THE DEFECT DATA FOR THIS SHEET AND / THE FAILURE FLAG FROM SELF CHECK ARE "OR"ED / INTO THE DEFECT MEMORY TABLE AT THE CHANNEL 3 / POSITION. THIS DATA IS LATER USED BY "PRODCT" / TO DETERMINE THE QUALITY OF THIS SHEET. / START3, CLB CAL SUSPND /GO TO SLEEP 'TIL NEEDED. CLB TAD CH3LOC /FORM ADDRESS POINTER INTO MEMORY TAD MEMPTR / TABLE AND SAVE THE CURRENT AND (0377) / LOCATION OF THE CHANNEL POINTER TAD (MEMTBL) / FOR THE RESOLUTION ROUTINE. DCA CH3PTR DBRI50 /IS MAST IN THE "TEST" MODE ? AND (0040) SZA CLA JMP DEF31 /NO, GO ON. DBRI52 /IS THIS CHANNEL DISABLED ? AND (0001) SNA CLA JMP DEF31 /NO, GO ON. DCA CH3FLR /YES, CLEAR THE CHANNEL DISABLE FLAG JMP START3 /AND EXIT. DEF31, TAD I CH3PTR /GET THE DATA CURRENTLY IN THE MQL /MEMORY TABLE AND "OR" IN THE DEFECT DBRI50 /AND FAILURE DATA FOR THIS CHANNEL. AND (0001) DBCI50 /CLEAR OUR DR8 BIT MQA MQL TAD SHUTDY /IS THE LASER SHUTTER OPEN ? SNA CLA JMP .+3 /YES, GO ON. CLB /AC0001 /NO, FORCE A CHANNEL 3 DEFECT. MQL TAD CH3FLR /(FAILURE FLAG) MQA DCA I CH3PTR /RETURN THE DATA TO THE MEMORY TABLE. JMP START3
/ / /%RP CHANNEL 3 RESOLUTION ROUTINE / / /%TW COME HERE AFTER THE RESOLUTION / AREA FOR CHANNEL 3 HAS PASSED THE INSPECTION / POINT. THE RESOLUTION AREA IS A SMALL LENGTH / OF PRODUCT FOLLOWING THE LAST SHEET BOUNDARY FOR / CHANNEL 3. DEFECTS APPEARING IN THE RESOLUTION / AREA BETWEEN TWO SHEETS WILL CAUSE BOTH SHEETS / TO BE REJECTED. ANY DEFECT DATA WHICH HAS COME IN / SINCE "DEFCH3" WAS LAST CALLED IS "OR"ED WITH / THE DEFECT DATA IN THE DEFECT MEMORY TABLE FOR / THE SHEET WHICH JUST PASSED CHANNEL 3. / / START4, CLB CAL SUSPND /GO TO SLEEP 'TIL NEEDED CLB DBRI50 /IS MAST IN "TEST" MODE ? AND (0040) SZA CLA JMP RES31 /NO, GO ON. DBRI52 /YES, IS THIS CHANNEL DISABLED ? AND (0001) SZA CLA JMP START4 /YES, EXIT. RES31, TAD SHUTDY /IS THE LASER SHUTTER OPEN ? SZA CLA JMP START4 /NO, JUST EXIT. TAD I CH3PTR /GET THE PREVIOUS SHEET DATA. MQL DBRI50 /READ THE DEFECT DATA AND AND (0001) MQA /"OR" THEM TOGETHER, DCA I CH3PTR JMP START4 CH3PTR, MEMTBL /MEMORY TABLE ADDRESS FOR THIS / CHANNEL, LEFT BY DEFCH3.
PAGE NOPUNCH /FIELD 1 COMMON 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