File EDITORV2

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

*20
/THIS IS DIAL V2
/EDITOR
/UPDATE
/15 DEC 69
	SEGMNT 3
	LMODE
	*20
	LIF 2 		/RESTART EDITOR
	JMP 20
			/KNOB S.R.
SAM3,	SAM 3		/CURSOR
	ADA I
	-1000
	SCR 2
	STC CURVAL
	JMP 0
SAM7,	SAM 7		/LNS PER FRAME
	SCR 6
	ADD P10
	JMP 0
	NOP
	NOP
	NOP
P10,	10
DSCCUR,	LDA
	0
	STC SCPRTN
	SET 4
	14
	LDH I 4
	SAE I
	LF
	JMP BYMC
	LDA
	14
	SAE
	2
	JMP Y5
			/DISPLAY CURSOR
BYMC,	SET I 12
	CURSOR		/GRID PATRN ADDR
	LDA I		/CURSOR VC IS BELOW
	-10		/CURSOR LN
	ADD VCOORD	/VC OF CURSOR LN
	STA
	CURVC		/CURSOR VC
	DSC 12
	DSC I 12
	CLR		/CURSOR HAS BEEN
			/DISPLAYED
	STC CURFLG	/SET FLAG TO 0
	LDA I		/RESET HC TO INHIBIT
	-10		/GAP BETWEEN CHARS
	ADM
POS1,	1
SCPRTN, 0		/RTN
CURVC,	0
CURFLG,	0
CURSOR,	7717		/THESE LOCS DET.
	1777		/CURSOR PATTERN
GAPARG,	0
DOCL,	LIF 2		/CLEAR THE WA
	JMP CLWA
DOPI,	SET I 12	/GET PIP
	E6+1+2000	/NAME SECTOR OF
			/MC PARAM TABLE
	LDA I		/PUT P I P IN TABLE
	2011		/PI
	STA I 12
	LDA I
	2077		/P77 (77 TERMINATES
			/NAME)
	STA I 12
	CLR		/SET UNIT TO 0
	STA
	E6+6+2000	/UNIT SECTOR
	COM
	STA I 12
	STA I 12
	JMP DOLO+2	/NOW DO AN
			/LO PIP,0
DOQL,	LDA I		/HERE FOR QUICK LIST
	7777		/THIS VALUE TELLS
			/ASSEMBLER TO QL
	LDF 2
	STA
UNITNO+2000-3		/=7777 FOR QL .NE.
			/7777 FOR LI
			/NO MATTER FOR AS
	LDF 1
	STA
	2000
	LDA I
	5000
	JMP BYAS
DOLI,	CLR
	JMP DOQL+2
DOAS,	LDA I
	5002		/SA FOR AS
BYAS,	STC LIORCV
	JMP W2
	JMP ECON
	JMP CHKMT
	JMP ERRXIT
	LDA I
	WAUNIT
	LDF 2
	STA
	UNITNO+2000
	LDA I
	1\WA
RDCASM,	STC BLKST
	LDF 1
	CLR
	SAE
	2000+E6+1
	JMP .+4
	SAE
	2000+E6
	JMP ERRXIT
	LDA
	2000+E6
	LDF 2
	STA
	2000+UNITNO-2
	COM
	LDF 1
	ADA
	2000+E6+1
	LAM
	2000+E6
	LZE
	JMP ERRXIT
	LDF 2
	STA
	2000+UNITNO-1
	LDF 0
	RDC I DIALU
	4\ASTBLK
	RDC I DIALU
	5\ASTBLK+1
	RDC I DIALU
	6\ASTBLK+2
	RDC I DIALU
	7\ASTBLK+3
	LDF 1
	RCG I DIALU
	3\ASTBLK+4
	LDF 2
	RDC I DIALU
	4\ASTBLK+10
	RDC
	6\ASTBLK+14
	LDA
	BLKST
	BSE I
	1000
	STA
	2002
	PDP
	PMODE
	JMP I .+1
	LMODE
LIORCV,	0
BLKST,	WA
W2,	SET 11
	0
	JMP DECODE
	JMP .+4
	LIF 2
	JMP T2
	JMP 11
	LIF 2
	JMP T2
	XSK I 11
	JMP 11
CHKMC3,	LDF 2		/EXECUTE MC COMMAND
	SET 6
	2007
	JMP CLRALL
	LDF 1
	LDH I 6
	JMP NUMCHK	/IS FIRST CHAR 0-7 ?
	JMP M8
	JMP LOCATE	/YES DO LOC REQUEST
			/SEARCH MONITOR
			/COMMAND TABLE
			/CLR NO PAS AND TRAP
CLRALL,	CLR
	SFA
	BCL I
	SPFCNS
	ESF
	CLR
	XOA
	BCL I
	EXTMTP
	AXO
	JMP 0
M8,	LDH 6
	ROL 6
	STC 0
	LDH I 6
	ADD 0		/COMMAND XX IS IN AC
	SET I 1
	Z6-1+2000	/PTR TO MC TABLE
	SET I 7
	Z6-Y6-3		/LENGTH
	XSK I 7		/TABLE SCANNED ?
	SKP		/NO
	JMP XITERR	/YES DELETE 
			/ILLEGAL COMMAND
N1,	SAE I 1		/FOUND A MATCH ?
	JMP .-4		/NO DO SOME MORE
	LDA I 1		/LOAD A JMP INST
	STC .+1
	0		/TO META
			/LOCATE LN XXXX
LOCATE,	LDA I		/RESET PTR TO
	-HBIT		/START OF
	ADM		/COMMAND
P6,	6		/STRING
	JMP P56		/CONVERT CODES
			/TO LN NUMBERS
	LDF 1
	LIF 2
	JMP LOKATE
			/DIGIT CHK
NUMCHK,	ADA I		/IS CHAR CODE
	-67		/.GT. 67
	APO I		/NO
	JMP 0		/YES  IS NOT A NUM
	ADA I
	10
	APO		/.GT. 57 ?
	JMP 0
	XSK I 0
	JMP 0		/YES IT IS A NUM
			/DECODE MONITOR
			/COMMAND STRING
P56,	SET 16		/SAV RTN JMP
	0
	CLR		/SET NUM TO 0
	STC T4		/STORE RESULT
	LDH I 6
	SHD I
	SP1
	JMP .-3		/IGNORE SPACES
	JMP NUMCHK	/DIGIT ?
	JMP T4-1	/NO EXIT
	LDH 6
	BCL I
	7770		/0-7 TO AC
	ADD T4
	ROL 3
	JMP P56+3	/DO SOME MORE
	LDA I
T4,	0		/NUMBER TO MOVE
	ROR 3
	JMP 16
DOMC,	JMP DECODE
	JMP XITERR
	JMP E2
	LIF 0
AAA4S3,	JMP KDOMC
	*400
	JMP 20
			/ADD PROGRAM
DOAP,	SET 7
	6
	LDH I 7
	SHD I
	CR1
	JMP XITERR
	JMP DECODE
	JMP .+2		/BY BLOCK NUM
	JMP .+4		/BY NAME
	LDA
	E6+1+2000	/UNIT NUM
	JMP U2+3	/PUT IN UNIT
			/NUM WD OF PARAM TABLE
	LDF 2
	RDC I DIALU
	7\APTBLK
	IOB
	6244
	JMP 1400	/GO ADD PROG
APRTN,	LDF 2
	RDC DIALU	/RTN HERE
	7\DIALST+3
	LDA I
	EXTMTP
	AXO
	LIF 2
	JMP C1		/GO DISPLAY
			/LOAD BINARY
DOLO,	JMP DECODE
	NOP
	JMP E2
	LDF 2
	RDC I DIALU
	4\LOTBLK
	IOB
	6244
	JMP 20
CURPTR,0
SCOPE,	ROL 1
	STC LNFOR
			/PRESET ONCE
			/PER FRAME
	LDF 2
	LDA
	2000+10
	STA
	FIRSWD
	SET 2
	2000+2
	JMP SCPSTR	/NORMAL CALL
	JMP IWAIT	/TO SCOPE
	JMP .-1		/NOT READY
XIT1,	LDF 1		/READY GET A
	LIF 2		/CHAR
	JMP 17
GETCUR,	LDA		/FIND CURSOR
	0		/CHAR
	STC CURRTN
	LDF 2
	SET I 10
	-3
	JMP SAM3
	JMP CURGO
	STC TEMPB
	STC ENDFLG
	ADD TEMPB
	JMP OUTCUR
CURGO,	LDA
	0
	STC XITCUR
	LDA
	2
	SAE
	14
	SKP
	JMP XITCUR
	XSK CURVAL
	SKP
	JMP XITCUR
CURSET,	ADA I
	-HBIT
	XSK I CURVAL
	SKP
	JMP XITCUR
	SAE
	14
	JMP CURSET
	XSK I 10
	SKP
	JMP XITCUR
	LDA
	ENDFLG
	AZE I
	JMP CNTALL
	SET CURVAL	/KNOB 3 TOO FAR
	TEMPB
	JMP CURGO
	JMP OUTCUR	/FREEZE CURSOR
CNTALL,	LDA
	2
	STA
	ENDFLG
	ROL 1
	COM
	STC TEMPB
	ADD 14
	ROL 1
	ADD TEMPB
	STC TEMPB
	JMP 0
TEMPB,	0
ENDFLG,	0
XITCUR,	0
OUTCUR,	STA
	CURPTR
	ADA I
	HBIT
	STA
	2000+CURPT2
CURRTN,	0
IWAIT,	SET 5
	0
	JMP OUTSCP+1	/GO SCOPE
	LIF 0
	JMP MODKBD	/CHK DUBL BUFR
	XSK I 5		/CHAR READY
	JMP 5		/EMPTY OR MTP
NOPAS,	JMP SCPSTR	/NO PAUSE CALL
	JMP IWAIT	/TO SCOPE
	NOP
	STD
	JMP NOPAS+1	/LOOP TILL DUN
	LIF 0		/RTN TO
	JMP TRPRTN	/TRAP SR
	STC SVACC	/SCP SR EXIT
	ADD 0
	STC DSCRTN
OUTSCP,	0		/RTN JMP TO CALL
	LDA
	0
	STC OUTSCP
	ADD SVACC
DSCRTN,	0		/RTN JMP TO SCP
SVACC,	0
FIRSWD,	0
SCPSTR,	LDA
	0
	STC OUTSCP
	SET 14
	FIRSWD
JGC,	JMP GETCUR
	LDF 1
	ADD EOFRAM
	STC CURFLG
	ADD EOFRAM
	STC CURVC
	STC GAPARG
	LDA I
LNFOR,	0		/LN-1 FOR DISPLAY
	STC K5+1
	LDA I
MAXVC,	0
	STC VCOORD
			/ONCE PER LN
F5,	JMP SAM7	/RTN WITH NUM LNS
			/PER FRAME
	SAE I
OLDSAM,	0		/HAS KNOB 7 MOVED ?
	SKP
	JMP .+3
	LIF 2
	JMP SAMARG
	JMP OUTSCP-3
			/DISPLAY A LN NUM
			/DO NOT DISPLAY
			/LEADING ZEROES
H5,	SET I 1
	LNHC
			/NUM
	LDA I
	2
	ADD K5+1
	STC K5+1
	JMP K5		/GET GRID PTR FOR
			/DIGIT IN LN NUM
	AZE		/IS IT A LEADING 0 ?
	JMP J5		/NO DISPLAY FIRST NON
			/ZERO DIGIT
	ADA I		/YES INCREASE H COORD
	12
	ADD 1
	STC 1
	JMP K5-3	/AND GET NEXT DIGIT
	JMP .-7		/CHK FOR LEADING ZERO
J5,	ADA I
	140
	JMP DSCCHR+1	/DISPLAY A DIGIT
	JMP K5-3	/GET PTR NEXT DIGIT
AAA7S3,	JMP J5
	*701
	JMP 20
			/COME HERE TO
			/DISPLAY THE LN
DISTXT,	SET I 1
	TXTHC		/INIT H COORD FOR
			/FIRST CHAR OF A LN
	JMP EOFRAM	/CHK FOR END
			/OF FRAME
	LDH I 14
	SHD I
	TB1		/TAB ?
	JMP FLDSET
	SHD I
	LF1
	JMP Y5
P5,	JMP DSCCHR
	JMP EOFRAM
	LDH I 14
	SHD I
	TB1
	JMP FLDSET
	SAE I
	CR
	JMP P5
	LDA I
	TXTHC
	SAE
	1
	JMP W5
	JMP F5
Y5,	LDA I		/SET FOR MC
	MCVC
	STC VCOORD
	SET I 1
	MCHC
	LDA I
	LF
	JMP 0
FLDSET,	SET I 10	/SET FOR TAB
	FLDTAB-1
GOTAB,	LDA I 10
	SAE
	ENDTB
	JMP ENDSKP
	LDA I
	-COMTB
	ADD 1
	STC CARTB
	JMP W5
	LDA I
CARTB,	0
	ADM
	1
	JMP P5+1
ENDSKP,	COM
	ADD 1
	APO I
	JMP GOTAB
	AZE I
	JMP GOTAB
	LDA 10
	STC 1
	JMP P5+1
FLDTAB,	TAGTB
	INSTB1
	INSTB2
	COMTB
ENDTB,	0
TABSET=120
TXTHC=1157
TAGTB=TXTHC+TABSET
INSTB1=TAGTB+TABSET
INSTB2=INSTB1+TABSET
COMTB=INSTB2+TABSET
			/DSC 1 CHAR ACCORDING
			/TO C(AC) AND RTN
DSCCHR, ROL 1
	ADA I
M5,	A6-1+2000
	STC 12
	ADA I
VCOORD, 0
	ADD GAPARG
	DSC I 12
	DSC I 12
	XSK I 1
	XSK I 1
	JMP 0
W5,	CLR		/SET VC
	SET 12		/FOR NXT SCP LN
	0
	SAE
	CURFLG
	JMP .+4
	LDA I
	-10
	STC GAPARG
	LDA I
	-17
	LAM
	VCOORD
	BCL I
	7020
	SET I 1
	TXTHC
	JMP OUTSCP-3
	SAE I
	360
	JMP 12
			/MOVE DISPLAY TO
			/TOP OF SCOPE
	STC MAXVC
	JMP 12
			/CHK END OF FRAME
EOFRAM, LDA
	0
	STC RTNEOF
	LDA
	14
	SAE
	CURPTR
	SKP
	JMP DSCCUR
	LDA
	2		/PTR TO LAST CHAR 
			/IN BUFFER
	SAE
	14		/PTR TO LST 
			/DISPLAYED CHAR
RTNEOF,	0
	CLR
	SET I 1
	MKHC
	JMP DSCCHR+1	/DISPLAY MARKER
	JMP SCPSTR+3
XITERR,	IOB
	6244
	JMP DELMC
ERRXIT,	LDF 1
	LIF 2
	JMP DELMC+2
			/COUNT DIGITS
	SRO I
	4210
	JMP DISTXT	/EXEC THIS WHEN
			/LN NUM
			/HAS BEEN DISPLAYED
K5,	LDA I
	0		/LN FOR DISPLAY
	ROL 3
	STA
	K5+1
	BCL I
	7761
	JMP 0
KSAM7,	LDA
	0
	STC EGGSIT
	JMP SAM7
	IOB
	6244
EGGSIT,	0
			/MONITOR COMMAND
			/STRING DECODE
			/LN,NAME,UNIT
DECODE,	CLR
	SET I 12
	E6+2000		/PTR TO MON
			/PARAMETER TABLE
			/CLEAR THE TABLE
	STA 12		/LN NUM
	STA I 12	/LN NUM
	COM
	STA I 12	/N
	STA I 12	/A
	STA I 12	/M
	STA I 12	/E
	CLR
	STA I 12	/UNIT NUM
	SET 1		/SAV RTN JMP
	0
			/LN NUM
	SET I 12
	E6-1+2000
	SET I 17
	-2		/COMMA CTR
	SET 14
	6
F2,	JMP P56		/AND RTN WITH A
			/NUM IN AC
	STA I 12	/STORE A LN NUM
	LDH 6
	SHD I
	CR1
	JMP 1		/END OF COMMAND
	SAE I
	COMA
	JMP .+4		/NO
	XSK I 17	/FIRST COMMA ?
	JMP F2-2	/YES CHK FOR 2ND LN NUM
	JMP .+5
	CLR		/NO COMMA RESET
	STA 12		/NUM TO 0
	SET 6		/RESET COMMAND
	14		/STRING PTR
			/NAME
N2,	SET I 12
	E6+4001+2000	/NAME SECTOR
	SET I 16
	-11		/NAME LENGTH CTR
	XSK I 1		/SET RTN TO P+2
	LDH I 6
	SHD I
	SP1
	JMP .-3
REDO,	SHD I
	CR1
	JMP XITERR
	SHD I
	KOM1
	JMP XITERR
	SHD I
	QMARK1
	JMP XITERR
	SHD I
	COMA1
	JMP U2		/GET UNIT NUM
	STH I 12
	LDH I 6
	XSK I 16
	JMP REDO
	JMP XITERR	/NAME TOO LONG
			/UNIT
U2,	JMP P56
	SET 0
	1
	STA
	E6+6+2000
	BCL I
	7
	AZE I
	JMP 0
	JMP XITERR	/ILLEGAL UNIT
			/SB,SR
Y2,	LDA		/RTN JMP
	0
	STC RTNY2
	JMP DECODE
	JMP XITERR	/NO NAME
	LDH 6
	SHD I
	CR1
	JMP DUNSB
	SAE I
	COMA
	JMP XITERR
	LDH I 6
	SHD I
	PCODE
	JMP STPDP
	SHD I
	LCODE
	JMP STLINC
	JMP XITERR
STPDP,	LDA I
	0200
	STA
	2000+E6+1
	LDA I
	4000+400+0
	JMP GETSA
STLINC,	LDA I
	4020
	STA
	2000+E6+1
	LDA I
	0+400+0
GETSA,	STA
	2000+E6
	LDH I 6
	SHD I
	CR1
	JMP DUNSB
	JMP NUMCHK
	JMP XITERR
	LDH 6
	BCL I
	7770
	ADM
	2000+E6
	JMP P56
	STA
	2000+E6+1
DUNSB,	JMP E2
	LDF 2
	RDC I DIALU
	4\SBTBLK
	RDC I DIALU
	5\SBTBLK+1
RTNY2,	0
			/AS,SP
			/CHK FOR EMPTY WA
CHKMT,	LDF 2
	LDA
	2000+MAXLN
	LDF 1
	SAE I
	1
	XSK I 0
	JMP 0
			/EXIT LOAD BINARY SR
E2,	LDF 2
	CLR
	STA
	2000+X2+5
	IOB
	6244
	JMP T2
	JMP 0
			/SAVE PROG
DOSP,	JMP CHKMT
	JMP XITERR
	JMP DECODE
	JMP XITERR	/NO NAME
	JMP E2
	LDF 2
	RDC DIALU
	4\FCTBLK
	ADA
			/LAST BLK NUM
	SPTBLK+2000
	IOB
	6244
	JMP FCSA+3
			/PRINT MS
DOPS,	JMP W2
	JMP .+3
	JMP CHKMT
	JMP ERRXIT
	LDF 2
	RDC I DIALU
	4\FCTBLK
	IOB
	6244
	JMP FCSA+5
	/PX
DOPX,	JMP Z2
	LDF 2
	RDC I DIALU
	4\PXTBLK
	IOB
	6244
	JMP 20
AASEG3,	0
	*1377
	JMP RDCASM
/KBD INPUT CONVERSION ROUTINES
/TABLE CONTAINS ASCII CODES OF ALL
/SPECIAL  AND ILLEGAL CHARS
/HIGH ORDER 4 BITS HOLDS A MICRO ADDR
/RELATIVE TO LOC KLEGAL
*1400
KBDOPR,	LDA
	0
	STC RTNJMP
	IOB		/GET THE CHAR
	6036		/KRB
	BCL I
	7600
	STA
	CHAR
	STC ENDTAB	/LAST CHAR IN TABLE
			/WILL GENERATE A MATCH
			/IN SCAN ROUTINE
			/UNLESS A SPECIAL
			/OR ILLEGAL CHAR
			/WAS STRUCK
	SET I 1
	TABLE-1
SPYTAB,	LDA I 1		/NEXT CHAR
	BCL I		/LOOK AT
	7600		/EVEN ASCII ONLY
	SAE		/FOUND A 
	CHAR		/MATCH ?
	JMP SPYTAB	/NO DO SOME MORE
	LDH 1		/MICRO ADDR TO
	SCR 2		/LOW ORDER FOUR BITS
	ADA I		/MAKE A JMP INST
	JMP+KLEGAL	/RELATIVE TO KLEGAL
	STC AJMP
	XSK I 1		/DIAL CODE OF INPUT
	LDH I 1		/CHAR IS LOW ORDER
			/6 BITS OF LOC
			/FOLLOWING MATCH
	STC ENDTAB
AJMP,	0		/GO TO S.R.
KLEGAL,	JMP LEGAL	/HERE FOR LEGAL CODE
	JMP ILEGAL
	JMP TAB
	JMP KCR
	JMP RUBOUT
	JMP LNFEED
	JMP ALTM
/FOR ADDITIONAL SPECIAL CHARS
	JMP ALTZ
LEGAL,	ADD CHAR
	ADA I
	-140
	APO
	JMP .+5
	ADA I
	-32
	APO
	JMP .+5
	LDA
	CHAR
	JMP TYPE
	JMP EXIT
	LDA
	CHAR
	BCL I
	40
	JMP TYPE
	ADD ENDTAB
	BCL I
	40
	JMP EXIT+1
TAB,	LDA I
	240		/ASCII FOR  SPACE
	JMP LEGAL+1
KCR,	JMP TYCAR
	JMP EXIT
RUBOUT,	LDA I
	334
	JMP TYPE
	ADD ENDTAB
ALTM1,	BSE I
	4000
	JMP EXIT+1
LNFEED,	JMP EXIT
ALTM,	ADD ENDTAB
	BCL I
	0041
	JMP ALTM1
ALTZ,	LDA I
	4036
	JMP EXIT+1
ILEGAL,	STC ENDTAB
EXIT,	ADD ENDTAB
	IOB
	6244
	DJR
RTNJMP,	0
TYCAR,	LDA
	0
	STC RTN
	ADD CRCODE
	JMP TYPE
	ADD LFCODE
	JMP TYPE
RTN,	0
TYPE,	PDP		/TYPE AC
			/AND RTN
	PMODE
	TSF
	JMP .-1
	TLS
	CLA
	LINC
	LMODE
	JMP 0
/TABLE FORMAT IS :
/XX00+0YYY
/AAZZ WHERE:
/XX= UNROTATED MICRO ADDRESS E.G.
/1400 ROR 10=0003
/AND C(KLEGAL+3) = JMP TAB
/YYY= ASCII CODE
/ZZ= DIAL CODE FOR YYY IF YYY IS A 
/SPECIAL CHAR
 
 
 
TABLE,	1000+211	/TAB
	0400+247	/APOSTROPHE
LFCODE,	2400+212
	0400+337	/LEFT ARROW
CRCODE,	1400+215
	0400+243	/NUMBER SIGN
	3000+375	/ALT
	3000+376	/ALT
	2000+377	/RUBOUT
	0400+337	/LEFT ARROW
	3400+233	/ALT ESCAPE
	0400+300	/AT SIGN
ENDTAB,	0		/C(CHAR)
CHAR,	0		/LOC FOR INPUT CHAR
			/ABOVE 2 TAGS NOT
			/TO BE MOVED
			/SAVE BINARY
DOSB,	JMP Y2
	IOB
	6244
	JMP 20
DOEX,	JMP E2		/EXIT
	HLT
	LIF 2
	JMP 20
DODX,	JMP Z2
	LDF 2
	RDC DIALU
	4\DXTBLK
	JMP XIT1
Z2,	LDA
	0
	STC P2T
	JMP DECODE
	JMP .+2
	JMP XITERR
	LDA
	E6+1+2000
	JMP U2+3
	JMP E2
P2T,	0
ECON,	LDF 2
	RDC I DIALU
	4\FCTBLK
	RDC I DIALU
	5\FCTBLK+1
	IOB
	6244
	JMP FCSA+4
AATTY3,	0
	*1600
			/DISK DECTP I\O
	EJECT
	SEGMNT 2
	*20
	LDF 0		/RDC REST OF
TEMP1,	RDC I DIALU	/EDITOR
TEMP2,	4\DIALST+10
TEMP3,	RDC I DIALU
TOPPTR,	5\DIALST+11
CURPT2,	RDC I DIALU
	6\DIALST+12
	RDC I DIALU
	7\DIALST+13
RETEX,	LIF 0		/RTN FROM EXIT
	JMP OLDPTR
	JMP INBUF
	JMP C1
CLWA,	LIF 0		/CLR THE WA
	JMP INPTRS
	JMP INBUF
	LDA I
	5262
	STA I 2
	LDA I
	6000+CR
	STA I 2
	JMP C1
INBUF,	LDF 1		/GET INPUT BUFRS
	RCG DIALU	/AND INIT
	2\DIALST+15
	IOB
	6046
	CLR
	STC PLAFLG
	XOA
	BSE I
	EXTMTP
	AXO
	PDP
	PMODE
	CLA
	TAD KHERE
	DCA I KBDIN
	TAD KHERE
	DCA I KBDOUT
	DCA I KCTR
	LINC
	6000		/JMP 0
KHERE,	HERE
KBDIN,	PTRIN
KBDOUT,	PTROUT
KCTR,	CHRCTR
	LMODE
	JMP 0
TBTOWB,	LDA I		/INSERT TAB
	HBIT
	ADM
	CURPT2
	LDA I
	TB
ACTOWB,	STH I 2
CHKBUF,	SET 13		/CHK INPUT BUFRS
	0
	JMP CHKWBF
	JMP WBFULL
	JMP CHKPLA
	JMP PLAFUL
	JMP 13
D1,	LDA I		/DELETE CUR LN
	1
	SAE
	MAXLN
	JMP .+2
	JMP KCLWA
	SAE
	CURLN
	JMP .+2
	JMP C1+2
	LDH 2
	SAE I
	CR
	JMP K1-3
	LDA I
	-1
	JMP EOLFIX+2
	ADD MAXLN
	STC MAXLN
	JMP NOTOK
	JMP K1
	JMP C1		/GO DISPLAY
K1,	SET 10
	0
	JMP CHKWBE	/CHK WB EMPTY
	LDA I
MINUS1,	-1
	JMP CHKPLA+2
	STC PLACTR
	JMP BUWB
	JMP K1+2
	SET 3
	2
	JMP 10
			/COUNT PLAYGRND
CHKPLA, LDA I		/DECREASE
P1,	1		/COUNT BY ONE
	ADM I
PLACTR,	0
	AZE		/IS PLAYGRND FULL ?
	XSK I 0		/NO
	ADD P1000
	JMP 0		/YES
	/TAPE NOT OK
NOTOK,	CLR
	STC X2+5	/CLEAR META EXIT
	STC TPFLG
	JMP 0
TPCHK,	SRO I
TPFLG,	7777		/OK IF ONE
	XSK I 0		/OK
	JMP 0		/NOT OK
			/MONITOR COMMAND
			/CHECK
CHKMC,	LIF 3
	JMP CHKMC3
DELMC,	JMP BUWB
	JMP K1
	CLR		/RESTORE NO PAS
	XOA
	BSE I
	EXTMTP
	AXO
	JMP C1
KT4,	0
LOKATE,	ADD P1		/LOCATE REQUEST
	STA
	KT4
	STC M4
			/DELETE REST OF
			/MONITOR COMMAND
	JMP BUWB	/DEL 1 CHAR
			/FROM WB
	JMP K1		/DELETE UNTIL DONE
	CLR
	ADD CURLN
	COM
	LAM
	KT4
	JMP TPCHK	/CHK TAPE STATUS
	JMP S4		/NOT OK
	LZE I		/OK
	JMP L4
	LDA I
M4,	0		/REQD LINE
	COM
	STC .+4
	CLR
	ADD MAXLN
	LAM I
	0017		/CHECK MAX
	LDA 
	MAXLN
	LZE I
	STC M4
	JMP L4
			/LOCATE FWD
			/FWD PAGE
P4,	LDA
	LNSPER
	ADD MINUS1
	AZE
	JMP F4+2
			/FWD LN
F4,	CLR
	ADD P1
	STC KT4
	SET 10
	TPFLG		/TAPE STATUS
	JMP H4
	LDA
	10
	STC TPFLG
	JMP C1		/GO DISPLAY
			/SLIDE FWD
H4,	SET 13
	0
	JMP A3		/IS MAXLN=CURLN ?
	JMP 13		/YES RTN
	JMP CBTOWB	/NO TRANSFER 1
			/CHAR FROM CB TO WB
	JMP J4		/RTN HERE IF NON CR
	JMP EOLFIX
	ADM
	KT4
J4,	JMP CBMT
	JMP CHKWBF
	JMP WBFULL
	LDA
	KT4
	AZE
	JMP H4+2
	JMP 13
			/PLAYGRND FULL
PLAFUL,	SET 17
	0
	JMP A3		/MAXLN=CURLN ?
	JMP 17		/YES
	LDA
	BBTBLK
	STC F3
	ADD P1
	STC PLAFLG
	SET 14
	2
R3,	LDH I 4
	SHD I
	EOF1
	JMP S3
	STH I 2
	JMP CBMT
	JMP CHKWBF
	NOP
	JMP R3
S3,	STH I 2
	JMP WBWRC
	JMP BBFWD
	SET 2
	14		/NOTE
	ADD MAXBLK
	STC CURBLK
	STC PLAFLG
	JMP F3-3
T3,	LDA I
	RDC WAUNIT
	JMP WBRDC
	JMP 17
PLAFLG,	0
			/MS INPUT ROUTINES
			/CHK WB FULL
CHKWBF,	SET 15		/RTN JMP
	0		/TO P+1
	XSK I 0		/RTN TO P+2
	LDA I
	HBIT+CB-1
	SAE
	2
	JMP 0		/IF WB IS NOT FULL
	JMP WBWRC	/DO STRING SLIDE
	JMP BBFWD
	JMP NOTOK	/TAPE NOT OK
	SET I 2
	HBIT+WB-1
	JMP A3		/WA FULL
	STC CURBLK
AAA4S2,	JMP 15
	*400
	JMP 20
			/WB FULL FIX
			/BPL AND BB
WBFULL,	SET 15
	0
	LDA I
	-400
	ADD CURPT2
	STC CURPT2
	ADD .-3
	ADD 3
	STC 3
	ADD CURLN
	STA 5
	XSK I 5
			/WB TO BB
	SET I 16
	WB-1
	SET I 14
	BB-1
	SET I 12
	-400
	LDA I 16
	STA I 14
	XSK I 12
	JMP .-3
	LDA
	5
	SAE I		/IS CNTRL TABLE
	E6+2000		/FULL ?
	JMP 15
	LDA I		/YES
	JMP NOTOK	/MAKE TAPE ALWAYS
	STC L3+11	/NOT OK
	SET I 5		/TO START
	D6+2000		/OF CNTRL TABLE
	JMP 15
			/CHK CB EMPTY
CBMT,	SET 15
	0
	LDA		/BETA 4
	4		/IS CB PTR
	AZE
	JMP 0
	JMP CBFWD	/CB IS EMPTY
	JMP CBRDC
	SET I 4
	HBIT+CB-1
	JMP 15
			/CHK CONTINUATION
A3,	LDA I
CURLN,	0
	SAE I
MAXLN,	0
	XSK I 0
	LDA I
MAXBLK,	0		/BIGGEST USED
			/IN WA
	JMP 0
			/FIX BNS
	SET 15
	0
	LDA I
F3,	0		/BQBN SAVED
	SAE
	BBTBLK
	JMP .+2
	JMP V3-4
	STA
	BBTBLK
	STC WBTBLK
	JMP BBRDC
	ADD BBTBLK
	JMP V3-11	/RDC CQ
			/CB TO WB
CBTOWB,	LDH I 4
	STH I 2
	SHD I
	CR1
	XSK I 0
	JMP 0
			/EOL FIXES
EOLFIX,	LDA I
	1
	ADD CURLN
	STC CURLN
	SET 3
	2
	ADD MINUS1
	JMP 0
			/MAKE TAPE OK
L3,	SET 15
	0
	SET 4
	2
	LDA I
	EOF
	STH I 4
	LDA I
	7777
	STC TPFLG	/THIS LOC CHNGED
			/TO JMP NOTOK
			/WHEN TAPE NOT OK
	ADD CURLN
	STA 5
	LDA I
WZ,	WRC I WAUNIT
	JMP WBRDC
	ADD BBTBLK
	STA I
SPTBLK,	0
	BSE I
	2000
	STC CBTBLK
	JMP CBFWD
	JMP CBRDC
	LDA I
P400,	400
	ADD 2
	STC 4
V3,	LDA I
	HBIT+WB-1
	STC PLACTR
	JMP CHKWBF+15
			/CHK WB EMPTY
CHKWBE,	SET 15
	0
	LDA I
	HBIT+WB-1
	SAE
	2
	JMP 0
	JMP BBWRC
	LDA I
	-1
	JMP BBBWD
	JMP BBRDC	/RTN WITH -0 IN AC
	ADD CBRDC
	JMP WBRDC
	SET I 2
	HBIT+CB-1
	ADD 5
	SAE I		/CNTRL TABLE NOT MT
	D6+2000
	ADD MINUS1
	STC 5
	ADD P400
	ADD TOPPTR
	STC TOPPTR
	ADD P400
	ADD CURPT2
	STC CURPT2
	JMP CHKWBF+15
			/LOWER PSA,PFA
BUCBWB,	LDA I
	-HBIT
	ADD 4
	STC 4
BUWB,	LDA I
	-HBIT
	ADD 2
	STC 2
	LDH 2
	SHD I
	CR1
	XSK I 0
	JMP 0
			/STRING SLIDES
			/WB FWD OR BWD
BBWRC,	LDA
	BBTBLK
	STC .+2
	WRC WAUNIT
	0
	JMP 0
WBWRC,	SET 11
	0
	LDA I
	1
	SAE
	PLAFLG
	JMP BBWRC
	SET 0
	11
	LDA I
WT,	WRC WAUNIT
WBRDC,	STC .+6		/SOMETIMES COMES HERE
			/WITH RDC IN AC
	LDA I		/ADD 1 TO
	1001		/MBLK AND TBLK
	ADM
	.+3
	STC MAXBLK	/WA TBLK
	0		/TAPE INSTRUCTION
WBTBLK,	0		/MBLK6\TBLK
	LDA
	BBTBLK
	STC .-3
AAA7S2,	JMP 0
	*701
	JMP 20
			/BB RDC FWD OR BWD
BBFWD,	LDA I
	1
			/SOMETIMES COMES HERE
			/WITH -1 IN AC
BBBWD,	ADM
	.+4		/ADD +OR- 1 TO TBLK
	STC WBTBLK
	JMP 0
BBRDC,	RDC I WAUNIT
BBTBLK,	0
	JMP 0
			/CB FIX
CBFWD,	LDA I
	1
			/SOMETIMES COMES HERE
			/WITH -1 IN AC
CBBWD,	ADM
	CBTBLK
	STC TBLKCB
	JMP 0
			/FWD
CBRDC,	RDC WAUNIT
CBTBLK,	0		/MBLK7\TBLK
	JMP 0
			/CB WRC BWD
CBWRC,	WRC WAUNIT
TBLKCB,	0		/MBLK7\TBLK
	JMP 0
X2,	SET 1		/MC EXIT
	0
	JMP BUWB
	JMP K1
	SRO I
	0
	JMP WP
	LDA I
	-0
	STC .-4
WP,	WCG I DIALU
	2\DIALST+15
	RDC DIALU
	5\PTBLK
	LIF 0
	JMP OUTPTR
XIT2,	LDA
	1
	STC RJMP
	LDF 1
	LIF 3
	DJR
RJMP,	0
CURBLK,	6\WA
	*1000
CRSET,	SET 7		/UPDATE CR
	0		/ARGUMENTS
	LDA I
	1
	ADD CURLN
	STC CURLN
	ADD P1
	ADD MAXLN
	STC MAXLN
	JMP CHKBUF
	LDA
	MAXLN
	AZE I
	JMP D1
	LDA
	CURBLK
	SAE I
	6\WAEND
	JMP 7
	JMP D1
C1,	SET I 6
	-MAXNUM
	JMP DISPLA	/GO DISPLAY
			/CALLS TO
			/ KEYBRD INPUT
			/INTERPRETIVE SR
	LIF 0
	JMP A88
ALTSET,	JMP DISPLA
	LIF 0
	JMP ALTREQ+2
EDSET,	JMP DISPLA
	LIF 0
	JMP CHKED+2
SUBSET,	JMP DISPLA
	LIF 0
	JMP SUBCHR+2
	STC TEMP1
	JMP TBTOWB
	XSK I 6
	SKP
REGCHR,	STC TEMP1	/INSERT A CHAR
	JMP CHKPOS
	JMP .+3
	LIF 0
	JMP CHKCNT
	JMP INSERT
P1000,	LDA
	TEMP1
	JMP ACTOWB
	JMP CHKNOK
	JMP CHKPOS
	JMP UP6
UP3,	LDH I 3		/PTR TO 1ST CHR
			/ON CUR LN
	JMP C1+2
UP6,	XSK I 6		/CHAR CTR CUR LN
	JMP C1+2
	JMP ACR2
CRLOW,	LDH I 7		/CR ON CUR LN
	SHD I
	LF1
	JMP CHKMC
	JMP 0
RUB,	JMP ROACHR	/RUB OUT 1 CHAR
	JMP CHKNOK
	LDA
	6
	AZE
	JMP C1+2
	LDA I
	-HBIT
	ADD CURPT2
	STC CURPT2
	JMP RUB
COMRTN,	STC 10
	JMP TBTOWB
	XSK I 10
	JMP .-2
	LDA I
	KOM
	LDF 0
	STA
	2000+COMFLG
	LDF 1
	JMP REGCHR
CMARTN,	JMP TBTOWB
	JMP UP6
ACR,	JMP CHKEND	/HERE FOR CR
	JMP ACR2
	STC 7
	LDA I
	CR
	SHD I 7
	JMP C1+2
	SHD I 7
	SKP
	JMP ACR2
	LDA
	7
	JMP CHKEND+2
	JMP ACR2
	JMP C1+2
ACR2,	LDA I
	CR
	STC TEMP1
	JMP INSERT
	LDA
	TEMP1
	STH I 2
	JMP CHKNOK
	SET 7
	3
	JMP CHKPOS
	JMP .+4
	JMP SET6N3
CRHI,	JMP CRSET	/CR ABOVE
	JMP C1+2	/CUR LN
	JMP SET6N3
	JMP CRLOW
	JMP CRHI
INSERT,	SET 17		/INSERT CHAR
	0		/OVER CURSOR
	JMP CHKEND
	JMP 17
	ADA I
	HBIT
	SAE
	2
	SKP
	JMP 17
	STA
	12
	STC 7
	LDH I 12
	STC TEMP2
MAKGAP,	LDA
	2
	SAE
	12
	SKP
	JMP DUNGAP
	LDH I 12
	STC TEMP3
	ADD TEMP2
	STH 12
	LDA
	TEMP3
	STC TEMP2
	JMP MAKGAP
DUNGAP,	LDA
	TEMP1
	STH I 7
	LDA
	TEMP2
	STC TEMP1
	JMP 17
CHKEND,	LDA		/IS CURSOR
	CURPT2		/FULL RIGHT ?
	ADA I
	-HBIT
	SAE
	2
	XSK I 0		/NO
	JMP 0		/YES
CHKPOS,	LDA		/IS CURSOR
	CURPT2		/ON CUR LN ?
	ROL 1
	COM
	STC TEMP2
	LDA
	3
	ROL 1
	ADD TEMP2
	APO I
	XSK I 0		/NO
	JMP 0		/YES
RORIT,	JMP CHKEND	/RUB OUT TO
	JMP C1+2	/RIGHT OF CURSOR
	LDA I
	JMP DUNRIT
	STC OK-1
	LDA I
	JMP EXTRUB
	STC ROACHR+3
	ADD OK+1
	STC OK-3
	JMP ROACHR
	JMP .-1
DUNRIT,	JMP FIXUP
	JMP ROACHR
	JMP CHKNOK
	JMP C1+2
FIXUP,	LDA I
	JMP C1+2
	STC OK-1
	ADD RESET+4
	STC OK-3
	ADD NOTACR+2
	STC ROACHR+3
	JMP 0
ROLEF,	JMP CHKEND	/RUB OUT TO
	STC CURPT2	/LEFT OF CURSOR
	LDA I
	CURPT2
	STC OK-5
	LDA I
	JMP DUNLEF
	STC OK-1
	LDA I
	JMP EXTRUB
	STC ROACHR+3
DOLEF,	JMP ROACHR
	LDA I
	-HBIT
	ADD CURPT2
	STC CURPT2
	JMP DOLEF
DUNLEF,	LDA I
	2
	STC OK-5
	JMP FIXUP
	JMP CHKNOK
	JMP C1+2
ROACHR,	LDA		/RUB OUT 1 CHAR
	0
	STC XITRO
	LDA I
	1
	SAE
	CURLN
	JMP OK
EXTRUB,	LDA
	2
	SAE
	TOPPTR
	SKP
	JMP C1+2
OK,	SET 12
	CURPT2
	JMP CHKEND
	STC 12
	LDH 12
	SHD I
	CR1
NOADJ,	JMP LASTCR
NOTACR,	JMP CHKEND
	JMP ENDRUB
	LDA I
	-HBIT
	ADD 12
	STC 1
BWDCHR,	LDH I 12
	STH I 1
	LDA
	1
	SAE
	2
	JMP BWDCHR
ENDRUB,	JMP CHKWBE
	LDA I
	-1
	JMP CHKPLA+2
	STC PLACTR
	JMP BUWB
ANOP,	NOP
	JMP SET6N3
	LDA I
	-HBIT
	ADD CURPT2
	STA
	7
	JMP CHKEND+2
	JMP XITRO
	LDH 7
	SAE I
	CR
	JMP XITRO
	SHD I 7
	SKP
XITRO,	0
	LDA
	7
	JMP CHKEND+2
	JMP XITRO
	JMP ROACHR+3
SET6N3,	LDA
	0
	STC RTNSET
	SET 10
	2
	SET I 1
	0
	LDH I 2
	SKP
RESET,	XSK I 1
	LDA
	2
	SAE
	TOPPTR
	SKP
	JMP .+3
	JMP BUWB
	JMP RESET
	SET 3
	2
	SET 2
	10
	LDA I
	-MAXNUM
	ADD 1
	STC 6
RTNSET,	0
LASTCR,	SET 11
	0
	LDA
	OK-1
	SAE I
	JMP C1+2
	JMP NOCNT
	LDA
	12
	SAE
	2
	SKP
	JMP NOCNT
	LIF 0
	JMP CHKCNT
NOCNT,	LDA I
	-1
	ADD CURLN
	STC CURLN
	ADD .-3
	ADD MAXLN
	STC MAXLN
	JMP 11
			/DISPLAY
			/ONCE PER ENTRY
DISPLA,	SET 17		/SAVE RTN JMP
	0		/SET INITIAL
	LIF 3		/SCOPE ARGUMENTS
	JMP KSAM7
SAMARG,	LDF 3
	STA
	OLDSAM+2000
	STA
	LNSPER
	ROL 4
	STA
	MAXVC+2000
	LDF 1
B5,	LDA I
LNSPER, 0
	COM
	STC 14
	ADD CURLN
	STC DISLN
	SET 10
	2
DOWN,	LDA I
	-D6+2-4000
	ADD 2
	STC D5
			/ENABLE SPECIAL FCNS
	BSE I
	SPFCNS
	ESF
	LDA I		/FIND THE LN NUM
	EXTMTP		/FOR TOP OF SCPE
	AXO
	LDH 10
	SHD I
	CR1
KBU1LN,	JMP BU1LN	/BU LN TO BE
			/DISPLAYED BY 1
			/UNLESS AT FIRST
			/LN OF DISPLAY
	LDA I
	-HBIT		/BU 1 CHAR
	ADM
	10
	SAE I
D5,	0		/NO MATTER
	JMP D5-11
	LDA I
	-1
	ADD DISLN
GOSCP,	STC TEMP1
	ADD 10
	STC TOPPTR
	ADD TEMP1
	LIF 3
	JMP SCOPE
			/CR LOWER LN
BU1LN,	LDA I
	-1
	ADM I		/BACK UP
DISLN,	0		/LN FOR DISPLAY
	AZE I		/LN 1 ?
	JMP D5+5	/YES
	XSK I 14	/TOP LOGICAL LN ?
	JMP 0
	JMP D5+5	/YES
			/BWD PAGE
Q4,	LDA
	LNSPER
	ADD MINUS1
	AZE
	JMP B4+2
			/BWD LN
B4,	CLR
	ADD P1
	STC KT4
	JMP TPCHK
	JMP .+2
	JMP BWDSLD
	JMP A3
	JMP L3
			/BWD SLIDE
KBWD,	LDA
	KT4
	AZE I
	JMP C1
BWDSLD,	LDA I
	1
	SAE
	CURLN
	JMP .+2
	JMP C1
	JMP CHKWBE
			/CHK CB FULL
WBTOCB,	LDA I
	HBIT+CB-1
	SAE
	4
	JMP E4
	JMP CBWRC
	STC 4		/7777 TO BETA 4
	ADD NEG1
	JMP CBBWD
E4,	LDH 2
	STH 4
	JMP BUCBWB
	JMP WBTOCB-1
	LDA I
NEG1,	-1
	JMP EOLFIX+2
	ADM
	KT4
	AZE
	JMP BWDSLD
	JMP C1
			/LOCATE TP NOT OK
S4,	LZE		/CARRY ON LAM ?
	JMP F4+1	/YES
	COM
	STC KT4
	JMP A3		/MAXLN=CURLN ?
	JMP .+2		/YES
	JMP KBWD
	JMP L3
			/FIND REQUEST
			/IN CNTRL BLK
L4,	CLR
	STC BBTBLK	/SET WRONG BB , CB
	SET I 5
	D6-2+2000
	ADD P1
	STC KT4
	LDA 5
	STC CURLN
	LDA I 5
	COM
	STC .+4
	CLR
	ADD M4
	LAM I
	0
	LZE
	JMP L4+4
G4,	LDA I
	5000+WA-D6-1-2000
	ADD 5
	STC F3
	JMP F3-3
	SET I 2
	HBIT+WB-1
	SET I 4
	HBIT+CB-1
	JMP F4+3
			/TP FIX
T2,	SET 1
	0
	JMP BUWB
	JMP K1		/FROM WMBLK
	JMP TPCHK
	JMP .+2		/NOT OK
	JMP X2+4	/OK
	LDA I
	7776
	STC KT4
	JMP H4
	JMP L3
	JMP X2+7
CHKNOK,	SET 1
	0
	SET 7
	3
	LDH I 7
	SAE I
	LF
	JMP NOTOK
	JMP CHKPOS
	JMP 1
	JMP NOTOK
	JMP 1
KCLWA,	CLR
	AXO
	ESF
	JMP CLWA
RESTRT,	IOB		/RESTART AFTER
	6046		/HLT
	LDA I
	EXTMTP
	AXO
	LDF 1
	JMP C1+2
AASEG2,	0
	EJECT
	SEGMNT 1
	*1		/GRID TABLE
			/FOR DSC
A6,	0101		/MARKER 
	0101
	4477	/1,A
	7744
	5177	/2,B
	2651
	4136	/3,C
	2241
	4177	/4,D
	3641
	4577	/5,E
	4145
	4477	/6,F
	4044
	4136	/7,G
	2645
	1077	/10,H
	7710
	7741	/11,I
	0041
	4142	/12,J
	4076
	1077	/13,K
	4324
	0177	/14,L
	0301
	3077	/15,M
	7730
	3077	/16,N
	7706
	4177	/17,O
	7741
	4477	/20,P
	3044
	4276	/21,Q
	0376
	4477	/22,R
	3146
	5121	/23,S
	4651
	4040	/24,T
	4077
	0177	/25,U
	7701
	0176	/26,V
	7402
	0677	/27,W
	7701
	1463	/30,X
	6314
	0770	/31,Y
	7007
	4543	/32,Z
	6151
	4177	/33,/
	0000
	1020	/34,\
	0204
	0000	/35,]
	7741
	4710	/36 UP ARROW
	1047
	2504	/LF
	0416
	0000	/40, SPACE
	0000
	7500	/41,!
	0000
	6000	/42,"
	0060
	4020	/43,CR
	2055
	5721	/DOLLAR SIGN
	4671
	1446	/ PER CENT
	6130
	5166	/46,&
	0526
	4020	/47,	
	2055
	3600	/50,(
	0041
	4100	/51,)
	0036
	2050	/52,-
	0050
	0404	/53,+
	0437
	0500	/54,,
	0006
	0404	/55,-
	0404
	0001	/56,.
	0000
	0601	/57,\
	4030
	4536	/60,0
	3651
	2101	/61,1
	0177
	4523	/62,2
	2151
	4122	/63,3
	2651
	2414	/64,4
	0477
	5172	/65,5
	0651
	1506	/66,6
	4225
	4443	/67,7
	6050
	5126	/70,10
	2651
	5122	/71,11
	3651
	2200	/72,:
	0000
	2601	/73,;
	0000
	2410	/74,<
	0042
	1212	/75,=
	1212
	4200	/76,>
	1024
	4020	/77,?
	2055
		/MONITOR COMMANDS
Z6,	0120	/AP
	JMP DOAP
	0530	/EX
	JMP DOEX
	2320	/SP
	JMP DOSP
	0123	/AS
	JMP DOAS
	2302	/SB
	JMP DOSB
	1411	/LI
	JMP DOLI
	0430	/DX
	JMP DODX
	2011	/PI
	JMP DOPI
	2030	/PX
	JMP DOPX
	2023	/PS
	JMP DOPS
	0314	/CL
	JMP DOCL
	2114	/QL
	JMP DOQL
	1503	/USER MC
	JMP DOMC
	1417	/LO
Y6,	JMP DOLO
			/MUST HAVE TWO
			/ZEROES HERE
	0
	0
D6,	0		/CNTRL TABLE
			/MONITOR
			/PARAMETER TABLE
	*371
E6,	0		/LN NUM
	0		/LN NUM
	0		/N
	0		/A
	0		/M
	0		/E
	0		/UNIT
	EJECT
	SEGMNT 0
	*20
	PDP
	6141		/LINC
	LIF 2
	JMP 20
	*141
TRAP,	CLR		/TRAP SR USED
	SFA		/FOR NO PAUSE
	BCL I
	SPFCNS
	ESF
	LDF 3
	LDA I
	NOP
	STA
	JGC+2000
	LDA I
	JMP H5-1
	STA
	F5+2000
	LDF 2
	LDA
	2000
	STC SVZERO
	LDA
	TRAP-1
	ADA I
	-1
	BSE I
	6000
	STC 17
	LDA 17
	STC MTP
	LDA I 17
	STC TPWORD
	XSK I 17
	ADD 17
	STC DUNTRP
	LDF 1
	LIF 3
MTP,	0
TPWORD,	0
	JMP NOPAS
TRPRTN,	CLR		/END OF TRAP
	SFA		/RTN CONTROL
	BSE I		/TO EDITOR
	SPFCNS
	ESF
	LDF 3
	LDA I
	JMP SAM7
	STA
	F5+2000
	LDA I
	JMP GETCUR
	STA
	JGC+2000
	LDF 2
	LDA
	SVZERO
	STA
	2000
	LDF 1

	LIF 2
	TAC
	DJR
DUNTRP,	0
SVZERO,	0
	*400
	PDP
	6141		/LINC
	LIF 2
	JMP 20
MODKBD,	LDA		/DUBL BUFFERED
	0		/KEYBRD INPUT SR
	PDP
	PMODE
	DCA RTNMOD
	KSF
	JMP TRYBUF
	TAD CHRCTR
	TAD M24
	SNA CLA
	JMP CHKMTP
	LINC
	LMODE
	LIF 3
	JMP KBDOPR
	PDP
	PMODE
	DCA I PTRIN
	ISZ CHRCTR
	JMS BUMPIT
	PTRIN
TRYBUF,	TAD CHRCTR
	SZA CLA
	JMP CHKMTP
	ISZ RTNMOD
	LINC
	603		/LIF 3
RTNMOD,	0		/RTN TO P+1 IF
			/READY ; RTN TO
			/P+2 IF MTP
			/OR BUFR EMPTY
CHKMTP,	LINC
	LMODE
	STD
	SKP
	JMP .-5
	PDP
	PMODE
	JMP .-11
BUMPIT,	0
	TAD I BUMPIT
	DCA TEMP5
	TAD I TEMP5
	TAD ENDBUF
	SZA CLA
	JMP .+4
	TAD STBUF
	DCA I TEMP5
	SKP
	ISZ I TEMP5
	ISZ BUMPIT
	JMP I BUMPIT
TEMP5,	0
GETCHR,	0		/GET A CHAR FROM
	CLA		/DUBL BUFFER
	TAD I PTROUT
	DCA SVCHR
	JMS BUMPIT
	PTROUT
	STA
	TAD CHRCTR
	DCA CHRCTR
	TAD SVCHR
	JMP I GETCHR
CHRCTR,	0
M24,	-24
PTRIN,	0
PTROUT,	0
SVCHR,	0
STBUF,	HERE
ENDBUF,	-THERE
HERE,	0
	THERE=HERE+24
	LMODE
	*701
	PDP
	6141		/LINC
	LIF 2
	JMP 20
	*773
INPTRS,	LDF 1		/INIT ED PTRS
	RDC I DIALU
	4\DIALST+14
	RDC DIALU
	5\PTBLK
	PDP
	PMODE
	STA
	JMS SHIFT
	PTINIT
RTNRTN,	LINC
	LMODE
	LIF 2
	JMP 0
OUTPTR,	PDP		/EXIT SAVE
	PMODE		/EDITOR PTRS
	CLA
	JMS SHIFT
	PTEXIT
	JMS CTLTAB
	D6PTR
	D6VAL
	LINC
	LMODE
	LDF 1
	WRC DIALU
	5\PTBLK
	RDC DIALU
	5\DIALST+15
	LIF 2
	JMP 0
OLDPTR,	LDF 1		/RTN FROM EXIT
	RDC I DIALU	/RESTORE ED PTRS
	4\DIALST+14
	RDC DIALU
	5\PTBLK
	PDP
	PMODE
	STA
	JMS SHIFT
	PTEXIT
	JMS CTLTAB
	D6VAL
	D6PTR
			/TEST FOR 12B OR 12A
	LINC
	14		/ATR
	15		/RTA
	0002		/PDP
	SNA CLA
	JMP RTNRTN	/12A
/CHNG KNOB SR FOR 12B
	TAD KTAD
	DCA MOVEIT-3
	STA
	JMS SHIFT
	B12VAL
	TAD K2TAD
	DCA MOVEIT-3
	JMP RTNRTN
CTLTAB,	0		/FOR CONTROL
	CLA		/TABLE
	TAD I CTLTAB
	DCA FROM
	ISZ CTLTAB
	TAD I CTLTAB
	DCA TO
	ISZ CTLTAB
	TAD D6CTR
	DCA SAVAC
D6LOOP,	TAD I FROM
	DCA I TO
	ISZ FROM
	ISZ TO
	ISZ SAVAC
	JMP D6LOOP
	JMP I CTLTAB
D6CTR,	D6-2-E6
	JMP RTNRTN
SHIFT,	0		/CORE TRANSFER
	DCA SKPLIT	/SR USED FOR
	TAD I SHIFT	/SETTING PTRS
	JMS SKPCHK
	DCA FROM
	SKP
	DCA TO
	TAD KPTADR
	DCA TORF
	ISZ SHIFT
MOVEIT,	TAD I TORF
	JMS SKPCHK
	DCA TO
	SKP
	DCA FROM
	TAD I FROM
	DCA I TO
	JMS SKPCHK
	ISZ FROM
	SKP
	ISZ TO
	ISZ TORF
	JMS SKPCHK
	TAD I FROM
	SKP
	TAD I TO
	TAD I TORF
	SZA CLA
	JMP MOVEIT
	JMP I SHIFT
SKPCHK,	0
	DCA SAVAC
	TAD SKPLIT
	SZA CLA
	JMP .+3
	ISZ SKPCHK
	ISZ SKPCHK
	TAD SAVAC
	JMP I SKPCHK
SAVAC,	0
SKPLIT,	0
VIRGST,	TAD P4002
	DCA I KPTADR
	TAD ATAD
	DCA MOVEIT
	LINC
	LMODE
	LDF 1
	WRC DIALU
	5\PTBLK
	LIF 2
	JMP CLWA
	PMODE
FROM,	0
TO,	0
TORF,	0
KPTADR,	PTADDR
ATAD,	TAD I TORF
P4002,	4002
KTAD,	TAD KPT12
K2TAD,	TAD KPTADR
KPT12,	PT12B
	LMODE
A88,	JMP ENDCHK	/INTERPRET
	SKP		/DIAL CODES
	JMP SUBCHR+2
	LDF 2
	SET 3
	2003
	LDF 1
	SAE
	3
	JMP SUBCHR+2
	CLR		/FIRST CHAR
	STC COMFLG	/CUR LN
	JMP GETTTY
	AZE I
	JMP XIT2C1
	SET I 17
	SPCHAR-HBIT
	SHD I 17
	JMP XITREG
	SHD I 17
	JMP LFORRO
	SHD I 17
	JMP AMORUP
	SHD I 17
	JMP XIT2C1
	SHD I 17
	JMP COMSET
	SHD I 17
	JMP XIT2C1
	LIF 2
	JMP REGCHR-4
ENDCHK,	LDF 2
	LDA
	2000+CURPT2
	ADA I
	-HBIT
	SAE
	2000+2
	XSK I 0
	LDF 1
	JMP 0
XIT2C1,	LIF 2
	JMP C1+2
XITREG,	LIF 2
	JMP REGCHR
AMORUP,	APO I
	JMP XITREG
	JMP ALTREQ
LFORRO,	APO I
	JMP XITREG
	LIF 2
	JMP RUB
ALTREQ,	LIF 2		/ALT MODE REQ
	JMP ALTSET
	JMP GETTTY
	AZE I
	JMP ALTREQ
	SET I 17
	SPCHAR+2+HBIT
	SHD I 17
	JMP XIT2C1
	SHD I 17
	JMP BWDLN
	SHD I 17
	JMP FWDFR
	SHD I 17
	JMP BWDFR
	SHD I 17
	JMP FWDLN
EDALT,	SHD I 17	/ALT MODE EDIT
	JMP RUBR
	SHD I 17
	JMP RUBL
	SHD I 17
	JMP RUBC
	JMP XIT2C1
CHKED,	LIF 2
	JMP EDSET
	JMP GETTTY
	AZE I
	JMP CHKED
	SET I 17
	SPCHAR+5
	JMP EDALT
SUBCHR,	LIF 2		/LATER CHARS
	JMP SUBSET
	JMP GETTTY
	AZE I
	JMP XIT2C1
	SET I 17
	SPCHAR
	SHD I 17
	JMP LFCHK
	SHD I 17
	JMP CHKAM
	SHD I 17
	JMP XITCR
	SHD I 17
	JMP COMFMT
	SHD I 17
	JMP CMAFMT
	JMP XITREG
BWDLN,	LIF 2
	JMP B4
FWDFR,	LIF 2
	JMP P4
BWDFR,	LIF 2
	JMP Q4
FWDLN,	LIF 2
	JMP F4
RUBR,	LIF 2
	JMP RORIT
RUBL,	LIF 2
	JMP ROLEF
RUBC,	LIF 2
	JMP D1
XITCR,	LIF 2
	JMP ACR
LFCHK,	APO I
	JMP XIT2C1
	LIF 2
	JMP RUB
CHKAM,	APO I
	JMP XITREG
	JMP CHKED
COMSET,	STA
	COMFLG
	JMP XITREG
COMFLG,	0
POSCHK,	LDF 2
	LDA
	2000+CURPT2
	ROL 1
	COM
	STC TEMP4
	LDA
	2003
	ROL 1
	ADD TEMP4
	APO I
	XSK I 0
	LDF 1
	JMP 0
TEMP4,	0
COMFMT,	JMP POSCHK	/FORMAT COMMENT
	JMP .+3
	LDH 17
	JMP XITREG
	LDA
	COMFLG
	AZE
	JMP XITCOM
	LDF 2
	SET 12
	2003
	SET 2
	2002
	LDF 1
	SET I 1
	-10
	SET I 10
	-3
SRTAB,	LDH I 12
	SHD I
	TB1
	JMP TABCNT
	XSK I 1
	SKP
	JMP TABCNT
TABEND,	LDA
	12
	SAE
	2
	JMP SRTAB
	LDA
	10
	LIF 2
	JMP COMRTN
TABCNT,	SET I 1
	-10
	XSK I 10
	JMP TABEND
XITCOM,	LDH 17
	JMP COMSET
CMAFMT,	LDF 2		/FORMAT COMA
	SET 3
	2003
	SET 2
	2002
	SET 6
	2006
	LDF 1
	SET 14
	3
	LDH I 14
	SHD I
	LF1
	JMP XITCMA
	SAE I
	TB
	JMP XITCMA
	LDA
	COMFLG
	AZE
	JMP XITCMA
	JMP POSCHK
	SKP
	JMP XITCMA
	LDA I
	MAXNUM-7
	ADD 6
	ADA I
	10
	COM
	STC 1
	SET I 10
	-7
	SET 12
	3
CMACHK,	LDA
	12
	SAE
	2
	SKP
	JMP SHUFLE-2
	LDH I 12
	SHD 17
	JMP XIT2C1
	XSK I 10
	JMP CMACHK
	SET 12
	3
SHUFLE,	LDH I 14
	STH I 12
	XSK I 1
	JMP SHUFLE
	LDH 17
	STH 2
	LIF 2
	JMP CMARTN
XITCMA,	LDH 17
	JMP XITREG
GETTTY,	PDP
	PMODE
	JMS I KGET
	LINC
	6000		/JMP 0
KGET,	GETCHR
	LMODE
SPCHAR,	TB1+LF		/SPECIAL CHAR
	AM1+CR		/TABLE
	KOM1+COMA
	RO1+BL
	FF+BF
	FL+RR
	RL+RC
CHKCNT,	LDA 
	0
	STC CNTOUT
	LDF 2		/CHK ILLEGAL
	SET 16		/LENGTH
	CURPT2+2000
	JMP ENDCHK
	STC 16
	LDF 2
	SET 17
	TOPPTR+2000
	SET 15
	16
	SET 13
	2002
	SET I 14
	0
	LDF 1
	SKP
GOCNT,	XSK I 14
	LDA
	15
	SAE
	17
	SKP
	JMP DUNHI
	LDA I
	-HBIT
	ADD 15
	STC 15
	LDH 15
	SAE I
	CR
	JMP GOCNT
DUNHI,	LDA
	16
	SAE
	13
	SKP
	JMP DUNLO
	XSK I 14
	LDH I 16
	SAE I
	CR
	JMP DUNHI
DUNLO,	LDA I
	-MAXNUM
	ADD 14
	AZE I
	JMP ERROR
	APO
	JMP GOOD
ERROR,	JMP XIT2C1
GOOD,	LIF 2
CNTOUT,	0
KDOMC,	CLR
	LDA
	E6+2006
	ROR I 1
	AXO
	LDA I
	34
	ROL I 4
	LDF 2
	STC .+1
	0
	4\FREE
	LDF 1
	LDA
	E6+2002
	LDF 3
	LIF 2
	JMP 20
AASEG0,	0
	EJECT
			/SYSTEM
			/PARAMETERS
	UNITNO=777
	WA=370
	ASTBLK=330
	WAUNIT=0	/WA UNIT
	WAEND=467
	FILE=WAEND+1
	FREE=270
	DIALST=300	/START OF DIAL
	DIALU=0		/DIAL UNIT
	INDEX=346
	FCTBLK=350
	APTBLK=321
	LOTBLK=354
	SBTBLK=356
	DXTBLK=361
	PXTBLK=DXTBLK
	FCSA=20
	SPFCNS=1400
	EXTMTP=10
	BB=2400
	WB=3000
	HBIT=4000
	CB=3400
	CURVAL=16
	LF1=3700
	LF=37
	TB1=4700
	TB=47
	CR1=4300
	CR=43
	EOF1=0
	EOF=0
	AM1=3600
	AM=36
	RO1=3700
	RO=37
	SP1=4000
	SP=40
	COMA1=5400
	XOA=21
	COMA=54
	KOM1=5700
	KOM=57
	LNHC=1013
	MCVC=-357
	MKHC=1763
	MCHC=1051
	BL=27
	FF=6100
	BF=21
	FL=6200
	RR=22
	RL=1400
	RC=04
	DELTA=50
	PTADDR=2400
	PTINIT=PTADDR+DELTA
	PTEXIT=PTINIT+DELTA
	PT12B=PTEXIT+DELTA
	B12VAL=PT12B+20
	D6VAL=B12VAL+15
	D6PTR=2000+D6-2
	MAXNUM=170
	PCODE=2000
	LCODE=1400
	QMARK1=7700
	PTBLK=320
/THIS IS THE DIAL EDITOR V2
/15 DEC 69
	AAAR3=4476-AAA4S3-AAA7S3-AASEG3-AATTY3
	AAAR2=3277-AAA4S2-AAA7S2-AASEG2
	AAAR0=3314+TRAP-SVZERO-HERE-AASEG0
	SAVSYM 2
	EJECT



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