File WORDON

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

*20
	PMODE
	*200
MONIT,	CLA
	TLS
	TAD BELL	/ASCII CODE BELL
	TSF
	JMP .-1
	TLS		/RING BELL
	CLA
	LINC
	LMODE
ACT,	HLT
	SNS I 5
	JMP SHOWIT	/SW 5=DISPLAY
	SNS I 4
	JMP SAVEIT	/SW 4=SAVE TEXT
	SNS I 3
	JMP FINDIT	/SW 3=TEXT-TAPE
	SNS 2
	JMP ACT		/NO SW=HLT AGAIN
	PDP		/READ TEXT ON TT
	PMODE
START,	TLS
	TAD CHTABL	/START AD D TEXT
	DCA PLACE
	KCC
READ,	KSF
	JMP .-1
	KRB
	TSF
	JMP .-1
	TLS		/ECHO CHAR
	DCA TEMP	/SAVE CHAR
	TAD TEMP
	TAD MM200	/CHECK FOR L/T
	SNA CLA
	JMP READ	/SKIP L/T
	TAD TEMP
	TAD M215	/CHECK FOR CR
	SNA CLA
	JMP READ	/SKIP CR
	TAD TEMP
	TAD M212	/CHECK FOR LF
	SNA CLA
	JMP READ	/SKIP LF
	TAD TEMP
	TAD M377	/RUBOUT?
	SZA CLA
	JMP .+5	
	STA		/RUBOUT:AC=-1
	TAD PLACE
	DCA PLACE	/DECR TEXT AD
	JMP READ	/REREAD LAST CH
	TAD TEMP
	AND C0077	/STRIP ASCII
	DCA TEMP
	TAD TEMP
	DCA I PLACE	/STORE CHAR
	TAD TEMP
	TAD M43
	SNA CLA		/END OF TEXT?
	JMP MONIT
	ISZ PLACE	/INCR TEXT AD
	TAD PLACE
	SMA CLA		/OUT OF ROOM?
	JMP READ	/GET NEXT CHAR
	HLT		/NO MORE ROOM
	JMP START	/REREAD TEXT
C0077,	77
TEMP,	0
MM200,	-200
M215,	-215
M212,	-212
CHTABL,	2000		/2000=TEXT
BELL,	207
M377,	-377
M43,	-43
PLACE,	0
/MAG TAPE I/O SEGMENT
	LMODE
FINDIT,	LDA I 0		/MODE INSTR=
	RDC U		/READ TAPE 1
	JMP LAB
SAVEIT,	LDA I 0		/MODE INSTR=
	WRC U		/WRITE TAPE 1
LAB,	STC MODE	/STORE MODE INST
	LDF 1		/LINC DF = 1
	LDA I 0
	4000	
	STC MBLK	/MEM BLK=4
	HLT
	RSW		/OFF R SW GET
	STC TBLK	/INIT TAPE BLK
FIX,	ADD TBLK
	ADD MBLK	/FORM 2ND TAPE
	STC MODE+1	/INSTR
MODE,	0		/RDC-WRC 1
	0		/2ND TAPE INSTR
	PDP
	PMODE
	CLA
	TAD C1000
	TAD MBLK	/INCR MBLK
	SNA		/LAST BLK?
	JMP MONIT	/DONE!
	DCA MBLK	/NEW MBLK
	ISZ TBLK	/NEW TBLK
	LINC
	LMODE
	JMP FIX		/I/O NEXT BLK
MBLK,	0
TBLK,	0
C1000,	1000
/MASKING SUBROUTINE
	*400
	PMODE
MASK,	0		/HOLDS RET ADR
	CLA
	TAD LMASK
	DCA NTIME	/SET UP ISZ LOOP
	TAD I MSPOT	/MASK H.C. INTO
	DCA 1		/LINC BETA-1 REG
	TAD VERCO	/VERT. COOR.
MASKON,	LINC
	LMODE
	DSC I 0		/DISP MASK PW
	7777		/FOUND HERE
	PDP
	PMODE
	ISZ NTIME	/MORE MASK AREA?
	JMP MASKON	/MORE MASK 
	JMP I MASK	/RETURN
LMASK,	-6		/-NO. MASK WORDS
NTIME,	0
MSPOT,	HCMASK		/ADR OF MASK HC
/WINDOW DISPLAY SUBROUTINE
WINDOW,	0		/HOLDS RET AD
	CLA
	TAD WSIZE
	DCA NTIME	/SET UP ISZ LOOP
	TAD I WSPOT	/PUT WINDOW HC
	DCA 1		/INTO LINC B-2 
	TAD I TEXTSP	/ADR-1 OF FIRST
	DCA 10		/INTO AUTO IND
WNEXT,	TAD I 10	/GET NEXT CHAR
	DCA CHAR
	TAD CHAR
	TAD M56		/END OF STRING?
	SNA CLA
	JMP I WINDOW	/RETURN
	TAD CHAR
	CLL RAL		/DOUBLE CODE
	TAD PWTABL	/AD PW TABLE
	DCA 2		/INTO LINC B-2
	TAD VERCO	/VERT. CO.
	LINC 
	LMODE
	DSC 2		/DISPLAY PWS
	DSC I 2
	PDP
	PMODE
	ISZ NTIME	/DONE?
	JMP .+2
	JMP I WINDOW	/RETURN
	CLA
	TAD 1
	TAD HORSP
	DCA 1		/INCR H.C.
	JMP WNEXT	/DO NEXT CHAR
HORSP,	2		/H. INC. -8
WSIZE,	-3		/-WINDOW SIZE
WSPOT,	HCWIND		/AD OF WINDOW HC
TEXTSP,	LOCHAR		/AD OF 1ST CHAR
VERCO,	0		/VERT. COOR.
PWTABL,	PATRN-2		/AD-2 OF PW TAB
CHAR,	0
M56,	-56		/-STOP CODE
/DISPLAY SEGMENT
	*600
	LMODE
SHOWIT,	LDA I 0
	1777		/INIT TEXT AD-1
	STC LOCHAR
WAIT,	SNS 1		/HLT SW 1 OFF
	HLT
	ESF		/HALF SIZE CHAR
	PDP
	PMODE
	CLLR		/CLEAR CLOCK
	TAD KLOCKP	/
	CLLR		/LOAD CLOCK
	JMS I MASKIT	/MASK THRU PAUSE
	CLCA		/CLOCK READING
	TAD PAUSET
	SPA CLA		/DONE PAUSING?
	JMP .-4		/CONT PAUSE
NEXTWD,	CLLR
	TAD KLOCK
	CLLR		/LOAD CLOCK
	CLA
	TAD LOCHAR
	DCA HOLD1
	ISZ HOLD1
	TAD I HOLD1
	TAD M40		/BLANK?
	SNA
	JMP .-4		/SKIP BLANK
	TAD M16		/.?:16+40=56
	SNA CLA
	JMP QUIT	/.=END FOUND
	STA
	TAD HOLD1
	DCA LOCHAR	/LOCHAR=HOLD1-1
	IAC
	DCA WIDTH	/WSIZE=1
FLOOP,	ISZ HOLD1	/ANOTHER CHAR/WD
	TAD I HOLD1
	TAD M40		/BLANK?
	SNA
	JMP FIND	/END OF WORD
	TAD M16		/.?
	SNA CLA
	JMP FIND
	ISZ WIDTH	/ANOTHER CHAR/WD
	JMP FLOOP
FIND,	CLA
	TAD WIDTH
	CIA
	DCA I WIDE	/WSIZE=-WIDTH
	LINC
	LMODE
	SNS 0
	JMP BYLET	/DURATION/LETTER
	JMP BYWORD	/DURATION/WORD
BYLET,	PDP
	PMODE
	TAD I WIDE
	DCA WIDTH	/ISZ LOOP
	TAD ADISP	/BASIC TIME ON
	TAD LDISP	/+TIME/LETTER
	ISZ WIDTH	/ANOTHER LET/WD?
	JMP .-2		/MORE ON TIME
TIMEON,	DCA DISPON	/SET ON TIME
	JMS I MASKIT	/MASK WHILE OFF
	CLCA		/CLOCK READING
	TAD DISPOF	/OFF TIME DONE?
	SPA CLA
	JMP .-4		/MORE OFF TIME
	CLLR
	TAD KLOCK
	CLLR
	JMS I MASKIT	/DO LEADING MASK
	JMS I SHOW	/WINDOW DISP
	CLCA		/CLOCK READING
	TAD DISPON
	SPA CLA		/LONG ENOUGH?
	JMP .-5
	TAD 10		/AD LAST CH DISP
	DCA LOCHAR
	JMP NEXTWD
	LMODE
BYWORD,	PDP
	PMODE
	TAD TDISP	/TIME ON/WORD
	JMP TIMEON
QUIT,	TAD HOLD1	/END OF SENT
	DCA LOCHAR
	TAD LOCHAR
	IAC
	DCA DISPON	/DUMMY USE
	TAD I DISPON
	TAD MM43	/LAST SENT?
	SNA CLA
	JMP I MONN	/DONE!
	LINC
	LMODE
	JMP WAIT	/DO ANOTHER SENT
	PMODE
MONN,	MONIT
MM43,	-43
HOLD1,	0
TDISP,	-144
WIDE,	WSIZE
ADISP,	-50
LDISP,	-24
WIDTH,	0
M40,	-40
M16,	-16
LOCHAR,	0
HCMASK,	240
HCWIND,	274
MASKIT,	MASK
SHOW,	WINDOW
DISPON,	0		/HOLDS ON TIME
DISPOF,	-50		/WINDOW OFF TIME
PAUSET,	-310		/PAUSE TIME
KLOCK,	4100		/COUNT MSEC
KLOCKP,	5100		/COUNT HSEC
	*1002
/PATTERN WORDS FOR CHAR DISPL.
PATRN,	4477		/A
	7744
	5177		/B
	2651
	4136		/C
	2241
	4177		/D
	3641
	4577		/E
	4145
	4477		/F
	4044
	4136		/G
	2645
	1077		/H
	7710
	7741		/I
	0041
	4142		/J
	4076
	1077		/K
	4324
	177		/L
	301
	3077		/M
	7730
	3077		/N
	7706
	4177		/O
	7741
	4477		/P
	3044
	4276		/Q
	376
	4477		/R
	3146
	5121		/S
	4651
	4040		/T
	4077
	177		/U
	7701
	176		/V
	7402
	677		/W
	7701
	1463		/X
	6314
	770		/Y
	7007
	4543		/Z
	6151
	4177		/[
	0000
	2040		/\
	0410
	0		/]
	7741
	2000		/^
	2077
	3410		/BACK ARROW
	1010
	0		/SPACE
	0
	7500		/!
	0
	6006		/"
	60
	3614		/NUMBER SIGN
	1436
	7721		/DOLLAR SIGN
	4677
	1446		/%
	6130
	5166		/&
	0523
	500		/APOSTROPHY
	6
	4163		/(
	0
	0		/)
	6341
	2050		/*
	50
	404		/+
	437
	605		/,
	0
	404		/-
	404
	1		/.
	0
	601		//
	4030
	4136		/0
	3641
	2101		/1
	177
	4523		/2
	2151
	4122		/3
	2651
	2414		/4
	477
	5172		/5
	651
	1506		/6
	4225
	4443		/7
	6050
	5126		/8
	2651
	5120		/9
	3651
	4200		/:
	0
	2601		/;
	0
	2410		/<
	0042
	1212		/=
	1212
	4200		/>
	1024
	4020		/?
	2055



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