File PXDXSRC

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

*20
	/DIAL DISPLAY INDEX, PRINT INDEX
	/BLOCKS 361 AND 362 ON THE DIAL TAPE.
	/QTRS 0,1
	*15
/		REBOOTSTRAP
	RCG E7
	7\D7
/
	JMP D1/ DX
	/PRINT INDEX
	JMP B1-4
	JMP X8
	JMP M5
/
	/PRINT LABEL
/
	SET I 2
	D5-4000
	JMP Y8
	JMP X8
	JMP Y8
	SET I 2
	E5-4000
	JMP Y8
	SET I 2
	7007
	JMP X8
	SET I 13
	-10
F5,	LDH I 2
	SHD I
	5700
	JMP H5	/NO ENTRY
	SHD I
	7700
	SKP			/ITS A 77
	JMP	ITSGOD		/NOT A QUESTION MARK
	LDA
	2			/GET CURRENT POINTER
	APO			/LEFY HALF??
	JMP	JBLANK		/BLANK IT OUT
	BCL I
	-7
	AZE
	JMP	JBLANK		/BLANK IT OUT
	LDA I
	0077
	JMP	ITSGOD
JBLANK,	LDA I
	0040
	ITSGOD=.
	JMP W8
	XSK I 13
	JMP F5
	JMP T5
	JMP J5	/NO SOURCE
	JMP W8-2
	JMP W8-2
	JMP T5
	NOP	/NO BINARY
	JMP X8
H5,	LDA
	2
	BSE I
	7007
	STC 2
	XSK 2
	JMP F5-2
	JMP M5
	JMP AZ
	/GET BN, NBLKS
T5,	SET 5
	0
	LDA I 2
	BCL I
	7000
	STC G5
	LDA I 2
	APO
	JMP 0	/NO ENTRY
	JMP W8-2
	LDA I
G5,	0	/BLK NO
	JMP Q8
	LDA 2
	JMP Q8
	XSK I 5
	JMP 5	/ENTYY,.+2
	/LINEFEED
M5,	SET 3
	0
	SET I 5
	-11
	JMP T8
	XSK I 5
	JMP .-2
	JMP 3
	-37	/77-37=40
	/NO SRC SPACE OVER
J5,	SET I 13
	-11
	JMP W8-2
	XSK I 13
	JMP .-2
	JMP H5-5
	/PRINT NUMBER - LEADING ZEROS
/
/
Q8,	SET 4
	0
Q8LOOP,	JMP	M8	/SAVE AND SHIFT NUM
	AZE		/DIGIT 0?
	JMP	R8+3	/NO. PRINT REST
	ADD	N8+3	/GET SHIFT REG.
	BCL I
	-1		/LAST ONE?
	AZE I		/??
	JMP	R8+3	/YEP. PRINT IT
	JMP	W8-2	/BLANK
	JMP	N8	/SHIFT AND CHECK
	JMP	Q8LOOP	/CHECK NEXT
/
/
	/INDEX READ
	RDC I E7
	1\D7+62
	RDC I E7
	3\D7+63		/TELETYPE
	B1,	 LDA
	E6+6
	ROR I 1
	BCL I
	7774
	STC DTEXTR
	ROL I 4
	ADM
	.+6
	ADD E2+1 /4
	STC M2+4
PX,	SET 5
	0
	JMP DTEXTR-1
	RCG /UNIT FIXED
	1\G7
	STC M2+1
	ADD	E2+3	/=10 FOR NOPAUSE
	JMP	DTEXTR+1/DO AXO TO GET INTO NOPAUSE
	CHK		/CHECK UNIT 0 SO THAT IT LL BE
	D7		/RIGHT ON TOP OF DIAL FOR A FAST RESTART.
	ADD Q1+1
	STC G2
	LDA
	3000
	SAE I
	5757
	JMP N1
	JMP 5
	LDA I
	DTEXTR, 0
	MSC 1
	CLR
	JMP 0
	/DISPLAY INDEX
D1,	JMP B1-4
	/COUNT ENTRIES
	A2,SET I 10
	3007
	SET I 12
	0
	JMP E2 /UP 10
	JMP J2
	NOP
	JMP J2
	NOP
	XSK 10
	JMP A2+4
	LDA
	12
	COM
	STA
	11
	ADD L2+1 /10
	APO
	JMP H2
	LDA
	11
	STC G2
	/DISPLAY PRESET
	H2,SET 12
	G2
	SET I 10
	7007
	SET I 14
	JMP G1+7
	JMP E2 /UP 10
	JMP J2	/CHECK SRC
	JMP L2	/SRC ENTRY
	JMP J2	/BIN CHECK
	JMP .+2 /BIN ENTRY
	JMP .-5
	SET I 14
	JMP G1
	/ONCE PER FRAME
	L2,SET 4
	10 /CONSTANT
	SET I 3
	-10
	LDA
	G2
	ADD L2+1 /10
	APO
	JMP E2+5 /G2. MORE THAN 10
	COM
	STC 12
	/COMPUTE VERTICAL
	ADD E2+6
	ADA I
	40
	XSK I 12
	JMP .-3
	SET 3
	G2
	STC M1
	JMP 14
	/ONCE PER LINE
	/BN ENTRY
	G1,SET I 17
	4
	JMP X1
	LDA I
	-2
	ADM
	4
	SET I 17
	46
	JMP X1
	JMP E1
	JMP G1
	/CHECK NAME
	E1, SET 17
	0
	LDA I 
	-6
	ADM
	4
	SET I 6
	-10
	SET I 1
	70
	SET 5
	4
	LDH I 5
	SHD I
	5700
	JMP 0
	JMP .+5
	/DISPLAY NAME
	LDH I 5
	SHD I
	7700
	JMP 17
	JMP Y1
	XSK I 6
	JMP .-6
	JMP 17
	/CHECK ENTRY FOR COUNT
	J2, SET 13
	10 /DELETE ADDRESS
	LDA I 10
	LDA I 10
	APO I
	XSK I 12
	XSK I 0
	JMP 0 /.+1 IF ENTRY
	/UP 10
	E2, LDA I
	4
	ADM
	10
	JMP 0
	/FIX VERTICAL
	LDA I
	-177	/CONSTANT
	JMP G1-2
	/CHECK ENTRY
	X1, SET 6
	0
	LDA I
	-1 /CONSTANT
	ADM
	4
	LDA 4
	BCL I
	7000
	STC M1+5 /BM
	LDA I 4
	APO
	JMP 0 /NO ENTRY
	SET I 1
	354
	/DISPLAY ENTRY
	W1, LDA I
	40
	ADM I
	M1, 0 /VERTICAL
	LDA
	17
	JMP Y1+1
	LDA I
	0 /CM
	JMP T1
	LDA 4	/NO OF BLKS
	JMP T1
	XSK I 3
	JMP 6
	/LAST NAME
	LDA
	4
	BCL I
	2
	STC 4
	JMP E1
	/DISPLAY TITLE
	C1, LDA I
	100
	ADD M1
	STC M1
	JMP V1
	KST
	JMP L2
	/KEYBOARD
U1,	LIF	3
	JMP	KBDOPR
	SHD I
	6200 /2
	JMP S1
	SHD I
	2700 /W
	JMP C2
	SHD I
	6100 /1
	JMP Q1
	SHD I
	2100 /Q
	JMP P1
	APO I			/MAKE SURE ITS NEGATIVE( LINEFEED=37,RUBOUT=4037)
	JMP	.+4		/SKIP PAST RUBOUT CHECK
	SHD I
	3700 /DELETE
	JMP D2
	SHD I
	4300 /EOL
	JMP AZ
	SHD I
	2200	/REPEAT
	JMP V1-2
	SAE I
	72	/: FOR NEWW INDEX
	JMP L2
	/WRITE NEW INDEX
	M2, SRO I
	-0
	JMP AZ /1
	JMP DTEXTR-1
	0
	1\G7
	JMP AZ
	/REPEAT
	JMP PX
	JMP A2
	/DISPLAY TITLE
	V1, SET 2
	0
	SET I 1
	70
	SET I 6
	Z1-4000
	JMP R1
	SET I 1
	424
	JMP R1
	JMP 2
	/DISPLAY TITLE
	R1, SET 17
	0
	LDH I 6
	SHD I
	0000
	JMP 17
	JMP Y1
	JMP .-5
	/DELETE
	D2,LDA I
	5757
	STA I 13
	STA I 13
	LDA
	13
	BCO I
	2
	STC 13
	LDA 13
	APO I
	JMP N2
	LDA
	13
	BCL I
	7
	STC 13
	ADD D2+1
	STA 13
	N2, LDA I
	1
	ADD G2
	AZE
	STC G2
	CLR
	STC M2+1
	XSK I 11
	JMP H2
	/ALL DELETED
	SET I 11
	2777
	STA I 11
	XSK 11
	JMP .-2
	A1, JMP V1
	KST
	JMP .-2
	LIF	3
	JMP	KBDOPR
	SHD I
	7200	/: FOR NEW INDEX
	JMP M2
	SHD I
	2300 /REPEAT
	JMP V1-2
	SAE I
	43
	JMP A1
	JMP AZ
	/KEYBOARD CHANGES
	/FORWARD ENTRY
	S1, JMP B2
	JMP H2
	/FORWARD PAGE
	Q1, SET I 2
	-10 /CONSTANT
	JMP B2
	XSK I 2
	JMP .-2
	JMP H2
	/FORWARD
	B2, LDA I
	G2, -10
	SAE
	11
	ADD X1+3
	STC G2
	JMP 0
	/BACKWARD ENTRY
	C2,	JMP J1
	JMP H2
	/BACKWARD PAGE
	P1, SET I 2
	-10
	JMP J1
	XSK I 2
	JMP .-2
	JMP H2
	/BACKWARD
	J1, LDA I
	1
	ADD G2
	AZE
	STC G2
	JMP 0
	/NUMBER DISPLAY
	T1, SET 7
	0
	ROL 1
	STC K1+3
	JMP K1
	SRO
	K1-7
	JMP K1-4 /DISPLAY LAST
	AZE
	JMP .+6
	ADD 1 /NO LEADING ZEROS
	ADA I
	12
	STC 1
	JMP T1+4
	ADA I
	140
	JMP Y1+1
	JMP K1
	SRO I
	4210
	JMP .+2
	JMP .-7
	/DISPLAY LAST
	ADA I
	140
	JMP Y1+1
	JMP 7
	/FIX DIGIT
	K1, ADD .+3
	ROL 3
	STA I
	0 /NUMBER TO DISPLAY
	BCL I
	7761
	JMP 0
	/DISPLAY
	Y1, ROL 1
	ADA I
	A6
	STC 12
	ADD M1
	DSC 12
	DSC I 12
	LDA I
	4
	ADD 1
	STC 1
	JMP 0
	/TITLE TABLE
Z1,	1601
	1505
	0002
	1640
	4002
	1413
	2300
	/NO
	N1, CLR
	STC M1 /V COORD
	SET I 1
	330 /H
	LDA I
	34
	JMP Y1+1
	DSC I 12
	DSC I 12
	KST
	JMP N1+2
	LIF	3
	JMP	KBDOPR
	JMP AZ
	AZ, SET I 14
	LDF 3
	CLR
	MSC 1
	JMP 14
	/END PX,DX 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