File RD.TK

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

/******** TOPS8 PAPERTAPE READER DRIVER ********
/LAST EDIT: 29-SEP-78, HOU
/LAST EDIT: 25-AUG-75, ELC

PRTMP,	TASKNA RD
	201		/CONNECTED TO PAPARTAPE READER INT'S
PRQPTR,	HSR		/DEVICE NUMBER PAPERTAPE READER
	PRINT		/INTERRUPT ENTRYPOINT
QPRLOOP,PRLOOP+1
	0
PR,	DCA ZTEM1	//REQUEST ADDRESS
	TAD QPRLOOP
	DCA PRGET	//INITIALISE CO-ROUTINES
	AC4000
	TAD I ZTEM1	//SET LINK IF WRITE
	AND C3700
	CIA
	DCA PRWC
	TAD I ZTEM1
	AND C70
	TAD C6201
	DCA PRCDF	//DATAFIELD OF BUFFER
	ISZ ZTEM1
	TAD I ZTEM1
	DCA PRCA	//ADDRESS OF BUFFER
	TAD MYCDF
	DCA PRFLD
	CDTOIF
	CIF MONFLD
	JMS I ZRESERV
	   JMS ALARM	/NOT SLOT AVAILABLE !
	JMS MONITOR
	   RETURN CONTINUE
	DCA PRSLOT
	SZL
	 JMP PRERR1	/CAN'T WRITE ON PR !
RETRY,	6004+KL8P
	TAD (-DGNTICK%2!4000	/HALF SECOND TIMEOUT
	JMS MONITOR
	   WAIT
	   HSR
	SNA CLA
	 JMP PRRTRN	/ALL DONE
	ISZ PRRETR	/RETRY AGAIN ?
	 JMP RETRY	/YES, START TAPE AGAIN
	TAD PRCDF
	DCA .+1
	HLT		TAD (232	/A ^Z TO CLOSEMAYBY WE LOSE A CHAR OR  /SIGNAL END-OF-MEDIUM
XIT,	JMS MONITOR
	   SIGNAL HALT CLEAR SWPOUT
PRSLOT,	   0
PRRETR,	-3		/RETRY COUNT
PRRTRN,	TAD PRSLOT
	DCA PRSLT1
	JMS MONITOR
	   SIGNAL HALT RELEASE
PRSLT1,	   0

PRGET,	PRLOOP+1	///CO-ROUTINE !
	KCC&70
	TAD (-DGNTICK%2!4000	
	DCA I (HSR^2+HRDLST /	DCA PRRETR	///RESET RETXT

PRINT,	CLA CLL		///INTERRUPT ENTRYPOINT
	KRS&7007+KL8P		///READ CHAR
PRCDF,	CDF		///'CDF TO BUFFER FIELD
	JMP I PRGET

PRLOOP,	JMS PRGET	///GET FIRST CHARACTER
	DCA I PRCA	///STORE IN WORD 0
	JMS PRGET	///GET SECOND CHARACTER
	DCA PRTMP	///KEEP IT AT HAND
	JMS PRGET	///GET THIRD CHARACTER
	CLL RTL
	RTL
	DCA PRCHAR	///LEFT JUSTIFIED
	TAD PRCHAR
	AND (7400	///UPER FOUR BITS GO ALONG
	TAD I PRCA	///WITH FIRST
	DCA I PRCA	///INTO THE BUFFER AT WORD 0
	TAD PRCHAR
	CLL RTL
	RTL
	AND (7400	///NEXT FOUR BITS OF THIRD
	ISZ PRCA	///CHARACTER GO ALONG
	TAD PRTMP	///WITH SECOND CHARACTER INTO
	DCA I PRCA	///SECOND WORD OF BUFFER
	ISZ PRCA	///BUMP CURRENT ADDRESS POINTER AND
	ISZ PRWC	///DOUBLE WORD COUNTER. DONE ?
	 JMP PRLOOP	///NO, DOE ANOTHER THREE CHAR'S
	TAD PRQPTR	///YES, INTERRUPT TASKS PART AT PTR SLOT
PRFLD,	CDF		///'CDF TO THIS FIELD
	CIF MONFLD
	JMS I ZSOFINT
PRWC,	0		///THE WORDCOUNT SHOULD BE ZERO NOW !
PRCA,	0
PRCHAR,	0

$



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