File PRINTMS

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

*20
	/DIAL PRINT MANUSCRIPT(SOURCE)
	/ASSEMBLE WITH TELETYPE
	/BLOCK 364,  WITH THE TELETYPE ROUTINES IN BLOCK 363, QTR 3&2
	*1000
	RDC E7
	3\D7+63
	CLR
	ADD 1377
	BSE I 
	6000
	STA
	B5A+1
	STC B5+1
	ADD 1376
	BCL I
	7774
	STC DTEXTR
	ADD 1376
	BCL I
	0003
	STA
	B5A
	STC B5
	STC PZT
	SET I	5
	E6			/POINTER TO LINE NUMBERS
	LDA	5		/GET THE FIRST LINE NUMBER
	STA I
X1,	0			/A TEMP FOR 8 MODE ADDRESSING
	LDA I	5		/SECOND LINE NUMBER
	STA I
X2,	0			/SECOND TEMP
	PDP
	PMODE			/GET INTO 8 MODE FOR GOOD COMPARES.
	CLA
	TAD	X1		/GET THE FIRST LINE NUMBER
	CLL CML CIA		/COMPLEMENT
	TAD	X2		/NUMBER 2.
	SZL CLA			/FIRST > SECOND???
	CLA IAC			/YES. SET AC TO NON ZERO.
	LINC
	LMODE			/GET BACK INTO LINC MODE
	AZE			/WE RE NUMBERS OK?
	JMP	B8		/NOPE. EXIT.
	SET I 5
	E6
	SET I 3
	J9+2
	LDA 5	/1ST LINE
	AZE I
	JMP .+6
	ADA I
	-1
	AZE I
	COM
	STC K5-4
	ADD	.	/GET A DUMMY INSTRUCTION IN THE AC.
	STC	JBNOBK	/AND STORE IN THE PAGE BREAK ROUTINE
/THIS INSURES THAT IT WILL ONLY GIVE TWO LINES INITIALLY.
	ADD A5+1
	STC L8
	LDA I 5
	AZE
	STC K5+7
	LDA I 5
	SAE I
	7777
	JMP .+3
	LDA I
	5443
	STA 3
	LDA I 5
	STA I 3
	LDA I 5
	STA I 3
	LDA I 5
	STA I 3
	LDA I
	-0
	STA I 3
GT,	SET I 15
	RCG E7
	SET I 3
	7001
	SET I 5
	-1
	LDA
	A5+3
	SAE I
	0
	JMP S5
	ADD A5+1
	STC C8
K5,	JMP Z8
	JMP X8
	SET I 13
	-1000
	LDA 
	A5+3
	SAE I
	7776
	JMP L5
	/DONE
	JMP B8-1	/WAIT FOR KEY
	/PARTIAL PRINT
S5,	JMP A5
	LDA I
	43
	SHD I 3
	JMP K5-7
	JMP CHECK
	JMP .-5
	/PRINT LINE
L5,	JMP A5	/UP LINE
	SET 2
	3
	LDH I 2
	SHD I
	0000			/00=END OF FILE CHARACTER???
	JMP	JBDONE		/END OF THE LISTING!
	SET I 13
	-74
M5,	JMP CHECK
	LDH I 3
	SHD I
	4700			/CHECK FOR A TAB
	SKP
	JMP	NOTAB		/NOT A TAB
	LDA
	TBCONT			/GET THE OUTPUT POSITION
	ADA I
	-10			/BOP DWON BY 8
	APO I
	JMP	.-3		/STILL POSITIVE
	AZE I
	JMP	.-5		/AND NONZERO
	COM			/NOW GET THE POSITIVE REMAINDER
	ADA I
	-1			/AND ZAP DOWN FOR THE XSK TO FOLLOW
	ADD	13		/ADD IN NUMBER OF CHARS TO GO
	AZE I
	JMP	DOIT		/TOO BIG
	APO
	JMP	NOPE		/IT LL FIT
DOIT,	LDA I
	-1			/SO XSK WILL KNOW ITS THE END OF THE LINE
NOPE,	STC	13		/AND STORE BACK CORRECT COUNT
NOTAB,	LDA I			/RESET Z8 TO DO A PAGE BREAK
	JMP	T8		/PAGE BREAK CALLER
	STC	JBNOBK		/STORE IT AWAY
	LDH	3		/GET THE OLD CHAR BACK.
	SHD I
	4300
	JMP P5
	JMP W8
	LDH 3
	SHD I
	4000
	JMP C5
N5,	XSK I 13
	JMP M5
	JMP CHECK
	LDH I 3
	SHD I
	4300
	JMP P5
	/TT LINE CONTINUES PAST PAGE BREAK
	XSK I 5
	JMP .+2
	JMP Z8
	JMP X8
	SET I 13
	-100
	LDH 3
	JMP M5+5
	/COUNT TO NEXT SPACE OR EOL.
	/DO NOT BREAK WORDS AT END OF TT LINE
C5,	SET I 4
	1
	SET 2
	3
	JMP CHECK
	LDH I 2
	SHD I
	4300
	JMP .+5
	XSK I 4
	SAE I
	40
	JMP .-7
	LDA
	13
	ADD 4
	APO
	JMP N5
	LDA I
	-101
	ADD 4
	APO I
	JMP N5
	JMP N5+2
	/EOL
P5,	LDA
	A5+3
	ADD A5+1
	STC C8
	STC TBCONT
Q5,	XSK I 5
	JMP K5+1
	JMP K5
	/MS ADDRESS CKECK AND UP LINE NUMBER
A5,	LDA I
	1
	ADM I
	0	/CURRENT LINE
B5B,	SET 6
	0
	LDA
	PZT
	APO
	JMP B5C
	JMP DTEXTR-1
B5A,	0
	0
	STC PZT
	MSC 1
	ADD B5A+1
	ADD A5+1
	STC B5+1
	JMP 6
	JMP DTEXTR-1
B5,	0
	0
	ADD B5+1
	ADD A5+1
	STC B5+1
	MSC 1
	SET I 3
	6777
	SET 2
	3
	JMP 6
	LDA I
DTEXTR,	0
	MSC 1
	JMP 0
PZT,	0
B5C,	LDA
	3
	SAE I
	7377
	JMP .+2
	JMP B5-1
	JMP 6
CHECK,	SET 15
	0
	LDA 
	3
	SAE I
	7377
	JMP .+2
	JMP B5B
	JMP 15
/
/
JBDONE,	LDA I
	10
	AXO			/SET NO PAUSE TO MOVE
	CHK			/TAPE 0 BACK TO DIAL
	D7			/TO SAVE TIME
	JMP	A8		/EXIT WITH LINEFEEDS.
/
/
/
/
	*1376
	RDC B7
	A7
	/DIAL PRINT MS(SRC)
	/ADD TELETYPE HERE BEFORE ASSEMBLY
	/
	EJECT
	/TELETYPE ROUTINES
	KBDOPR=1400
	E6=2371
	A6=2001
	G7=346
	D7=300
	E7=0
	J9=771
	*1400
	/DIAL TELETYPE ROUTINE
	/44-END PRINT
/
/
A8,	LDA I
	-4		/TO COMPENSATE FOR NO BREAK AT THE END
	ADM
	5		/BOP DOWN LINE NUMBER COUNTER
	JMP	T8	/DO A LINE FEED
	XSK I	5	/DONE YET???
	JMP	.-2		/DOWN TO BOTTOM OF PAGE.
	LDA I
	55			/THE MINUS SIGN
	JMP	W8		/PRINT IT
	SET I	5
	-14			/ENOUGH TO GET PAST TEAR RIM.
	JMP	X8		/C.R.  S
	XSK I	5		/ALL DONE??
	JMP	.-2		/NOPE.
	NOP
B8,	SET I 15
	LDF 3
	SET I 16
	RCG I E7
	SET I 17
	7\D7
	CLR
	MSC 1
	JMP 15
	/PAGE PRESET
Z8,	SET I 5
	-4
	SET 14
	0
	JMP X8
JBNOBK,	JMP T8
	XSK I 5
	JMP .-2
	LDA I
	55
	JMP W8	/-
	JMP X8
	JMP T8
	LDH
	J9+2
	SHD I
	5400
	JMP .+7
	SET I 2
	J9+2-4000
	JMP Y8	/NAME
	LDA I
	54
	JMP W8	/,
	LDA I
L8,	0	/PAGE NUMBER
	JMP P8
	LDA I
	1	/CONSTANT
	ADD .-4
	STC .-5
	ADD C8	/LINE NUMBER
	AZE I
	JMP X8-6
	JMP W8-2
	JMP W8-2
	SET I 2
	S8-4000
	JMP Y8	/LN=
	LDA I
C8,	0	/LN
	JMP P8	/PRINT NUMBER
	JMP X8
	JMP T8
	SET I 5
	-71
	STC	TBCONT		/ZERO OUT THE TAB COUNTER. A NEW LINE IS HERE.
	JMP 14			/EXIT.
	/KST, CARRIAGE RETURN
X8,	SET 7
	0
	KST
	JMP	.+6
	LIF	3
	JMP	KBDOPR
	SHD I
	4300
	JMP B8
	PDP
	PMODE
	CLA
	TAD P215
	JMS I TYPOA
	TAD P212
	JMS I TYPOA
	LINC
	LMODE
	JMP 7
P215,	215
TYPOA,	TYPO
P212,	212
	PMODE
TYPO,	0
	TSF
	JMP .-1
	TLS
	CLA
	JMP I TYPO
	LMODE
T8,	PDP
	PMODE
	CLA
	TAD P212
	JMS I TYPES
	LINC
	LMODE
	JMP 0
TYPES,	TYPO
	/LINEFEED ONLY
R8,		SET 4
	0
	JMP M8
	ADA I
	60
	JMP W8
	JMP N8
	JMP R8+2
	/PRINT NUMBER, NO LEADS
P8,	SET 4
	0
	AZE
	JMP .+5
	ADA I
	60
	JMP W8
	JMP 4
P8S,	JMP M8
	AZE
	JMP .+3
	JMP N8
	JMP P8S
	ADA I
	60
	JMP R8+5
	/NUMBER SUBS
M8,	ROL 3
	STA I
	0
	BCL I
	7770
	JMP 0
N8,	LDA
	M8+2
	SRO I
	3567
	JMP 0
	JMP 4
	/PRINT
	LDA I
	40
W8,	PDP
	PMODE
	JMS I CONVT
	DCA TEMP
	TAD TEMP
	TAD M211A
	SNA CLA
	JMP TABP
	TAD TEMP
	JMS I TYPS
	ISZ TBCONT
LNRT,	LINC
	LMODE
	JMP 0
TYPS,	TYPO
TBCONT,	0
CONVT,	CONVRT
	/PRINT LINE OR LABEL
Y8,	SET I 13
	0	/CHARS PER LINE
	SET 7
	0
	LDH I 2
	SHD I
	4300
	JMP 7	/END DIAL LINE
	SHD I 	
	7700	/END NAME
	JMP 7
	JMP W8
	XSK I 13
	JMP Y8+4
	LDH I 2	/END OF TT LINE
	SHD I
	4300
	JMP 7
	XSK I 5
	JMP J8
	/TTLINE CONTINUES PAST PAGE BREAK
J8,	JMP X8
	SET I 7
	JMP M5+2
	SET I 14
	-12
	JMP W8-2
	XSK I 14
	JMP .-2
	SET I 13
	-66
	LDH 2
	JMP Y8+5
A7=370
B7=0
PMODE
M47,	-47
M40,	-40
P240,	240
P100,	100
P211,	211
TEMP,	0
M211A,	-211
M10,	-10
P77,	77
CONVRT,	0
	AND P77
	DCA TEMP
	TAD TEMP
	TAD M47
	SNA CLA
	JMP TABCV
	TAD TEMP
	TAD M40
	SPA
	TAD P100
	TAD P240
	JMP I CONVRT
TABCV,	TAD P211
	JMP I CONVRT
TABP,	TAD TBCONT
	TAD M10
	SMA
	JMP .-2
	JMS SKIP
	DCA TBCONT
	JMP LNRT
T4,	0
SKIP,	0
	DCA T4
	TAD P240
	JMS I TYPS
	ISZ T4
	JMP .-3
	JMP I SKIP
	LMODE
D5,	4040
4040
4040
4040
4040
4040
2317
2522
0305
4040
4040
0211
1601
2231
4340
4016
0115
0540
E5,	4040
4002
1640
4002
1413
2343
S8,	1416
7543



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