File DEF2.PA (PAL assembler source file)

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

/ LINE SPEED & CHANNEL 2 DEFECTS                24-JUL-78




	TASK=	LINESP
	CUR=	DEF2FLD
	INIWT=	0
	VERS=	1

	TASK2=	CH2DEF
	CUR2=	DEF2FLD
	INIWT2=	0
	VERS2=	2

	TASK3=	CH2RES
	CUR3=	DEF2FLD
	INIWT3=	0
	VERS3=	1




	FIELD DEF2FLD%10
	*DEF2LOC

/ /%RX AD01 ANALOG TO DIGITAL CONVERTER COMMANDS / / IFNDEF EPLTEST < ADSF=6531 /SKIP ON A/D DONE FLAG ADRB=6532 /READ A/D BUFFER ADCV=6534 /CONVERT ANALOG INPUT ADSC=6535 /SET MULTIPLEXER CHANNEL AND GAIN ADRC=6536 /READ A/D BUFFER, CLEAR FLAG & START / CONVERSION ADSR=6537 /SELECT CHANNEL AND GAIN AND READ A/D / BUFFER, THEN START ANOTHER CONVERSION > IFDEF EPLTEST < /FOR TESTING AT EPL. ADSF= SKP ADRB= CLL CLA ADCV= CLL CLA ADSC= CLL CLA ADRC= CLL CLA ADSR= CLL CLA > / /
/ / /%R COMPUTE THE STACKER TIMING ADVANCE / /%TW MEASURE THE CURRENT LINE SPEED AND COMPUTE / THE REQUIRED STACKER VALUE TIMING ADVANCE FOR / DELAYING THE TURN ON OF THE INDIVIDUAL GATES. / THE DELAY IS COMPUTED IN MOTION PULSE UNITS / USING THE STACKER TIMING ADVANCE TABLE. IF THE / EXERCISER IS ON, ALL GATE ADVANCES ARE SET / TO ZERO. / / START, DBRI52 /IS THE MAST EXERCISER ON ? AND (0040) SNA CLA JMP .+3 /NO, GO ON. CLB CMA /YES, SET UP FOR ZERO GATE DELAY AND JMP LINE1 /SET UP TO GET THE CURRENT LINE / SPEED. IOF ADSC /START AN A/D CONVERSION OF LINE / SPEED. CLB ADSF /WAIT FOR THE A/D DONE FLAG. JMP .-1 ADRB /READ THE A/D BUFFER AND SCALE THE ION RTR /A/D VALUE INTO AN ADDRESS WITHIN RTR /THE LINE SPEED TABLE. AND (37) TAD (LSPTBL) /FORM A TABLE ADDRESS FROM THE A/D DCA LINEA /VALUE. TAD I LINEA /GET THE GATE VALVE TIMING ADVANCE TAD LINEZ1 /FROM THE TABLE AND ADD IN TIMING / OFFSET. LINE1, DCA GATEDY CAL SUSPND /GO TO SLEEP 'TIL NEEDED JMP START LINEA, 0 /LOCAL STORAGE LINEZ1, -50 /THIS IS THE GATE TIMING OFFSET. /THIS NUMBER MUST BE GREATER THAN /THE LARGEST TIMING ADVANCE. NOTE: /CHANGING THIS CONSTANT REQUIRES /RETIMING THE MACHINE DISTANCES.
/ / /%R STACKER GATE TIMING ADVANCE TABLE / /%TW THIS TABLE IS CONSTRUCTED WHEN THE FINISHING / MACHINE IS DYMANICALLY TIMED, AND CONTAINS THE / NUMBER OF MOTION PULSES A GATE TURN ON MUST BE / ADVANCED FOR EACH UNIT OF MACHINE SPEED. THE / MACHINE LINE SPEED IS SCALED INTO THE RANGE OF / 0 TO 37 OCTAL, AND USED AS AN INDEX TO GET THE / GATE ADVANCE FROM THIS TABLE. / / / SCALED TIMING FILM SPEED / A/D VALUE ADVANCE IN M/MIN. / LSPTBL, 0 /0 0 2 /1 4 /2 20 6 /3 25 10 /4 12 /5 14 /6 16 /7 20 /10 70 22 /11 24 /12 85 26 /13 30 /14 32 /15 110 34 /16 36 /17 40 /20 130 42 /21 44 /22 46 /23 47 /24 47 /25 47 /26 47 /27 47 /30 47 /31 47 /32 47 /33 47 /34 47 /35 47 /36 47 /37 /
/ / /%RP PROCESS SHEET DEFECT DATA FOR CHANNEL 2 / / /%TW THIS ROUTINE IS CALLED AS / EACH SHEET BOUNDRY (YET TO BE CHOPPED) CROSSES THE / INSPECTION POINT FOR CHANNEL 2. IF CHANNEL 2 / 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 2 / POSITION. THIS DATA IS LATER USED BY "PRODCT" / TO DETERMINE THE QUALITY OF THIS SHEET. / START2, CLB CAL SUSPND /GO TO SLEEP 'TIL NEEDED. CLB TAD CH2LOC /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 CH2PTR DBRI50 /IS MAST IN THE "TEST" MODE ? AND (0040) SZA CLA JMP DEF21 /NO, GO ON. DBRI52 /IS THIS CHANNEL DISABLED ? AND (0002) SNA CLA JMP DEF21 /NO, GO ON. DCA CH2FLR /YES, CLEAR THE CHANNEL DISABLE FLAG JMP START2 /AND EXIT.
/ DEF21, TAD I CH2PTR /GET THE DATA CURRENTLY IN THE MQL /MEMORY TABLE AND "OR" IN THE DEFECT DBRI50 /AND FAILURE DATA FOR THIS CHANNEL. AND (0012) DBCI50 /CLEAR OUR DR8 BIT & SPLICE BIT. MQA MQL TAD SHUTDY /IS THE LASER SHUTTER OPEN ? SNA CLA JMP .+3 /YES, GO ON. CLB /AC0002 /NO, FORCE A CHANNEL 2 DEFECT. MQL TAD CH2FLR /(FAILURE FLAG) CLL RAL MQA DCA I CH2PTR /RETURN DATA TO THE MEMORY TABLE. ACL /LEAVE THE CHANNEL 2 DATA AROUND DCA SPLFLG / FOR "MISC1". JMP START2
/ / /%RP CHANNEL 2 RESOLUTION ROUTINE / / /%TW COME HERE AFTER THE RESOLUTION / AREA FOR CHANNEL 2 HAS PASSED THE INSPECTION / POINT. THE RESOLUTION AREA IS A SMALL LENGTH / OF PRODUCT FOLLOWING THE LAST SHEET BOUNDARY FOR / CHANNEL 2. DEFECTS APPEARING IN THE RESOLUTION / AREA BETWEEN TWO SHEETS WILL CAUSE BOTH SHEETS / TO BE REJECTED. ANY DEFECT DATA WHICH HAS COME IN / SINCE "DEFCH2" WAS LAST CALLED IS "OR"ED WITH / THE DEFECT DATA IN THE DEFECT MEMORY TABLE FOR / THE SHEET WHICH JUST PASSED CHANNEL 2. / / START3, CLB CAL SUSPND /GO TO SLEEP 'TIL NEEDED. DBRI50 /IS MAST IN "TEST" MODE ? AND (0040) SZA CLA JMP RES21 /NO, GO ON. DBRI52 /YES, IS THIS CHANNEL DISABLED ? AND (0002) SZA CLA JMP START3 /YES, EXIT. RES21, TAD SHUTDY /IS THE LASER SHUTTER OPEN ? SZA CLA JMP START3 /NO, JUST EXIT. TAD I CH2PTR /GET THE PREVIOUS SHEET DATA. MQL DBRI50 /READ THE DEFECT DATA AND AND (0002) MQA /"OR" THEM TOGETHER DCA I CH2PTR /PUT DATA BACK IN THE MEMORY TABLE. JMP START3 CH2PTR, MEMTBL /MEMORY TABLE ADDRESS FOR THIS / CHANNEL, LEFT BY DEFCH2.
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