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

AB, 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
MASK, -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
DISP, -24 WIDTH, 0 M40, -40 M16, -16
OCHAR, 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