File TTX2

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

	*1400
/
/NON-RESIDENT TELETYPE HANDLER MODULE. HANDLES TTY
/INPUT AND OUTPUT, CONVERSION OF ASCII TO LINC CODE ON INPUT
/IF DESIRED, AND LINE PRINTER OUTPUT.
/
	-TIOM		/INDICATOR THAT THIS IS TTY MOD
	SZA CLA		/IS ACCUMULATOR ZERO
	JMP	TYP	/YES - THIS IS TYPE
/
/A KBD OPERATE WAS GIVEN
/
KBD,	TAD	FFIM	/BIT 7 SET IF KST
	AND	C20
	SZA CLA		/SKIP IF NOT KST
	JMP	KBD2	/MUST HAVE BEEN
	TAD	LINS	/GET BACK INSTRUCTIONS
	AND	C20	/CLEAR ALL BUT I BIT
	SNA CLA		/WAS IT SET
	JMP	DOGOA	/NO
	JMS	IOWAIT	/WAIT FOR KBD TO BE STRUCK
	KW
KBD2,	TAD	CASE
	SZA
	JMP	KBD4
	JMS	KTRNS	/TRANSLATE TO LINC CODE
	ISZ	CFLG	/INCREMENT POINTER
	TAD	CFLG	/GET OUTPUT POINTER
	CMA IAC		/MAKE 2S COMPLEMENT
	TAD	ICHR	/ADD INPUT POINTER
	SZA CLA		/THEY THE SAME
	JMP	KBR2	/NO
	TAD	(BUFFER	/YES, RESET POINTERS
	DCA	CFLG
	TAD	(BUFFER
	DCA	ICHR
	TAD	CASE	/DO WE HAVE A CASE CHAR
	SZA CLA
	JMP	KBR2	/YES, DO NOT CLEAR KST
KBR1,	TAD	FFIM	/GET FLIP-FLOP IMAGE
	AND	(7757
	IACF		/CLEAR KST FLOP
	DCA	FFIM	/AND RESTORE IMAGE
KBR2,	TAD	LNCODE	/GET CHARACTER
	JMP	DOGOA	/PUT IT IN AC AND GO
KBD4,	DCA	LNCODE
	DCA	CASE
	JMP	KBR1
/
/A TYPE OPERATE WAS GIVEN
/
TYP,	TAD	LNCA	/GET CHARACTER
	JMS	TYPE	/TYPE IT
	JMP	DOGO	/EXIT
/
/LINE PRINTER SUBROUTINE
/
LTYPE,	AND	(377
	TAD	(-215
	SNA
	JMP	DOGO
	ISZ	LFLG
	JMP	LT3
	TAD	(3
	SNA
	JMP	LT1
	IAC	
	SNA CLA

JMP LT2 ISZ LCNT JMP .+5 SM1 TAD LNCP DCA LNCP JMP LT1 TAD TEMP LLB LSD JMP .-1 LCF CLC DCA LFLG TYPEX, CLA JMP I TYPE / /HANDLE SPACING ON LINE PRINTER / LT2, TAD C7 /FORM FEED LT1, TAD C10 /SINGLE SPACE LPR TAD (-204 DCA LCNT JMP TYPEX LT3, JMS IOWAIT LW / /GENERAL TYPE DISPATCHER / TYPE, 0 DCA TEMP TAD ODEV TAD (JMP I TYPJ+3 TYPJ, DCA .+2 TAD TEMP 0 TYPEX TYPE1 TYPE2 TYPEX TYPEX TYPEX LTYPE / /ECHO INPUT CHAR ON INPUT DEVICE, NOT OUTPUT DEVICE / / /TYPE THE CHAR IN THE AC / TYPE1, ISZ TFLG JMP TYP1W TLS JMP TYPEX TYP1W, JMS IOWAIT TW TYPE2, ISZ T2FLG JMP TYP2W T2LS JMP TYPEX TYP2W, JMS IOWAIT T2W / /WAIT FOR AN I-O COMPLETION OF THE TYPE SPECIFIED. /ACCOMPLISHED BY BACKING UP THE LINC P, AND /REEXECUTING THE INSTRUCTION UPON OCCURANCE OF /THE I-O EVENT. / IOWAIT, 0 CLA TAD I .-2 /GET JOB INDICATOR DCA JOBS /PUT IN PLACE SM1 TAD LNCP /BACK UP LINC P BY ONE DCA LNCP TAD (GO JMP WAITL /WAIT FOR RIGHT INTERRUPT / /END OF PAGE SIX OF NON-RESIDENT TTY MODULE /
*1600 / /CONVERT ASCII TO LINC CODE / KTRNS, 0 DCA CASE /CLEAR CASE TAD I CFLG /GET CHAR TAD (-333 SMA /IS IT GREATER THAN 333 JMP KBDC /YES, DECODE AS SPECIAL TAD (333-240 SPA /IS IT LESS THAN 240 JMP KBDC /YES, DECODE AS SPECIAL TAD (-301+240 SMA /IS IT LESS THAN 301 JMP KBDX1 /NO, IT IS LETTER / /IT IS TRANSLATABLE CODE / TAD (301-240 KBDCON, JMS KBDA1 KBDL, DCA LNCODE TAD (-215 TAD I CFLG SZA CLA JMP I KTRNS /NO TAD (212 /PUT 212 IN LINE FEED DCA LF JMP I KTRNS /AND EXIT / /SPECIALS TEST / KBDC, CLA TAD (KTBL-1 DCA 10 /SET 10 UP TO SCAN TABLE TAD (-6 DCA TEMP /ENTRIES IN TABLE TAD I CFLG /GET ORIGINAL CHAR TAD I 10 /SUBTRACT TABLE ENTRY SNA /THAT DO IT JMP KBDA /YES, WE FOUND IT ISZ TEMP /NO, COUNT ENTRY JMP .-4 /AND TRY AGAIN / /CHECK FOR CONTROLS / CLA TAD (KTBLB-1 DCA 10 /SET UP 10 TO SCAN TAD (-7 DCA TEMP TAD I CFLG /GET CHARACTER TAD I 10 /SUBTRACT TABLE ITEMS SNA /THAT THE ONE JMP KCONT /YES ISZ TEMP /DONE JMP .-4 /NO CLA /YES, NO LUCK JMP KBDL /CONTINUE / /TABLE LOOKUP SUBROUTINE / KBDA1, 0 CLL RAR /SHIFT 1 RT & CLEAR LINK TAD (TTAB /ADD START ADDR OF TABLE DCA TEMP /PUT IN TEMP TAD I TEMP /GET CONT OF ADDR OF TBL SZL /RT OR LEFT HALF NEEDED? JMP .+4 /RIGHT HALF RTR /GET RTR / LEFT RTR / HALF AND (77 /CLEAR OTHER HALF
/ /IT WAS LETTER / KBDX1, TAD (24 JMP KBDL / /SPECIAL WAS FOUND / KBDA, CLA TAD TEMP TAD (STAB-TTAB+6 JMP KBDCON / /CONTROL WAS FOUND / KCONT, CLA TAD TEMP TAD (CTAB-TTAB+7 JMS KBDA1 DCA CASE TAD (23 JMP KBDL / /CONVERSION TABLE / TTAB, 1463 7022 6557 72 7475 1620 6317 6421 1 203 405 607 1011 7615 7261 7360 STAB, 5612 6623 2313 CTAB, 4452 3001 203 1000 KTBL, -212 /LF 212-215 /RETURN 215-333 /[ 333-375 /ALTMODE ON 33 375-376 /ALTMODE ON 35 376-377 /RUBOUT KTBLB, -201 /_PAGE 201-204 /_LINE 204-205 /_CHAR 205-211 /+PAGE 211-221 /+LINE 221-223 /+CHAR 223-227 /ERASE LINE / /END OF TTY HANDLER MODULE /



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