File: OPLOT.PA of Tape: Sources/Focal/s6
(Source file text) 

/OMSI-OVERLAY FOR PLOTTING (FNEW)
	/SPECIAL FOR PDP-8/E
	FIELD 1
FLOUTP=130
APRINT=151
TELSW=16
HORD=45
LORD=46
FISW=52
LINENO=67
PUSHJ=4540
EVAL=1613
INTEGER=53
EFUN31=136
CDI=6203
GETLN=4554
GETC=4545
CHAR=66

FINT=JMS I	7
FXIT=0
FIXMRI FGET=0000
FIXMRI FADD=1000
FIXMRI FPUT=6000

	*31
	BPLOT0+1

	*134
	BPLOT0+1

	*412
	FNEW1

	*1230
	JMP I	.+1
	EXIT

	*2203
	330		/FX IS CODE

	*3242
FNEW1,	JMS I	INTEGER
	6002
	CDI	20
	JMP I	AFNEW2
AFNEW2,	FNEW2

GET1,	0
	PUSHJ
	EVAL-1
	JMS I	INTEGER
	CDI 20
	CLA
	TAD	HORD
	DCA I	A45
	TAD	LORD
	JMP I	GET1

A45,	45
EX1,	6001
	JMP I	EFUN31

GETCH1,	0
	GETC
	TAD	CHAR
	CDI	20
	JMP I	GETCH1

SPLOT0,	0
	CDI 20
	JMS I	APLOT2
	JMP  I	SPLOT0
APLOT2,	SPLOT2

EXIT,	JMS I	FLOUTP
	TAD	SWITCH
	SNA CLA
	JMP I	TYPE
	DCA	TELSW
	DCA	SWITCH
	TAD	PRINTC
	DCA	APRINT
	JMP	EX1
SWITCH,	0
TYPE,	1203
PRINTC,	2465

FLOUT,	0
	FINT
	FGET	MIN
	FXIT
	TAD	BPLOT0
	DCA	APRINT
	JMS I	FLOUTP
	DCA	TELSW
	DCA	SWITCH
	TAD	PRINTC
	DCA	APRINT
	FINT
	FGET	MIN
	FADD	INC
	FPUT	MIN
	FXIT
	CDI 20
	JMP I	FLOUT
INC,	0
	0
	0
MIN,	0
	0
	0
	0
STRT60,	GETC
	GETC
	GETLN
	TAD	LINENO
	DCA	FISW
	PUSHJ
		EVAL-1
	FINT
	FPUT	INC
	FXIT
	PUSHJ
		EVAL-1
	FINT
	FPUT	MIN
	FXIT
	CDI 20
	JMP I	ASTRT2
ASTRT2,	STRT2
BPLOT0,	SPLOT0
	/GENERALISED PLOTTING PROGRAM
	/REWRITTEN BY DOLF TUK , SOFTWARE SUPPORT, MUNICH.
	/FOR PDP-8/E PLOTTER INTERFACE.
	/ALL MEASUREMENTS IN TERMS OF PLOTTING INCREMENTS (.01").
	/NO SCALING DONE BY PLOTTING PROGRAM.
	FIELD 2

	*45
PLOTMV,	0
PLOTT1,	.+1
	TAD	PR
	TAD	PL
PLOTT2,	.+1
	TAD	DU
	TAD	DD
PLOTT3,	.+1
	TAD	UR
	TAD	UL
	TAD	DR
	TAD	DL
AXTAB,	PLTDXL
DHULPL,	0
DHULPH,	0
HULPLO,	0
HULPHO,	0
PLTDXL,	0
PLTDXH,	0
PLTNXL,	0
PLTNXH,	0
PLTDYL,	0
PLTDYH,	0
PLTNYL,	0
PLTNYH,	0
XL,	0
XH,	0
YL,	0
YH,	0
FACT,	0
NUMB,
LL,
SADDR,	0
LJ,
THETA,	0
LXADDR,
S,	0
LYADDR,
DTIC,
DX,	0
LK,
XMIN,	0
LN,	0
IXL,	0
IXH,	0
IYL,	0
IYH,	0
AXL,	0
AXH,	0
AYL,	0
AYH,	0
BXL,	0
BXH,	0
BYL,	0
BYH,	0

	/LINKS AND POINTERS
ADPLOT,	PLOTX
ADPFTCH,	PFETCH
ADSBAL,	SUBALF
ADC1,	C1
ADFDAD,	FNDADR
ADMULT,	MULT
ADIMOVE,	IMOVE
ADGMOVE,	GMOVE
ADNEWB,	NEWB
ADINIB,	INIB
ADLINE,	LINE
ADALF,	ALPHA
ADNMBR,	NUMBER
ADLTR,	LETTER
ADRTAT,	ROTATE
ADAXIS,	AXIS
OUTPUT,	LETTER
ADCSYM,	CSYM
ADDSYM,	DSYM
ADDLTR,	DLTR
	/CONSTANTS
N77,	77
M77,	-77
N5,	5
N11,	11
N144,	144
M4,	-4
M2,	-2
M3,	-3
PR,	40
PL,	20
DU,	4
DD,	10
UR,	44
UL,	24
DR,	50
DL,	30
N10,	10
M1,	-1
N7,	7
N13,	13
N6,	6
KEEP,	0
	*4200

R180,	TAD	M1
	SZA
	JMP	R270
	CLL
	TAD	IXL
	CIA
	DCA	IXL
	TAD	IXH
	CMA
	DCA	IXH
	SZL
	ISZ	IXH
	NOP
	CLL
	TAD	IYL
	CIA
	DCA	IYL
	TAD	IYH
	CMA
	DCA	IYH
	SZL
	ISZ	IYH
	NOP
	JMP I	ARETUR
R270,	TAD	M1
	SZA CLA
	JMP I	ARETUR
	CLL
	TAD	IXL
	CIA
	DCA	TMPL
	TAD	IXH
	CMA
	DCA	TMPH
	SZL
	ISZ	TMPH
	NOP
	TAD	IYL
	DCA	IXL
	TAD	IYH
	DCA	IXH
	TAD	TMPL
	DCA	IYL
	TAD	TMPH
	DCA	IYH
	JMP I	ARETUR
ARETUR,	RETURN
TMPH,	0
TMPL,	0



PLOTDB,	0
	6504
	CLA CLL
	TAD	PLTDXL
	CIA
	TAD	HULPLO
	DCA	HULPLO
	RAL
	DCA	KEEP
	TAD	PLTDXH
	CMA
	TAD	HULPHO
	TAD	KEEP
	DCA	HULPHO
PWIN,	JMS I	APLTWT
	JMP I	APLOT3
PLOT4,	0
	6504
	CLA
	JMP	PWIN
APLOT3,	PLOT3
APLTWT,	PLOTWT
SAX2,	0
	TAD I	APSWT
	SMA CLA
	TAD I	ATICKL
	TAD I	AFACT8
	DCA	IYL
	TAD	IYL
	SPA CLA
	CMA
	DCA	IYH
	DCA	IXL
	DCA	IXH
	IAC
	JMS I	ADIMOVE
	JMS  I	ADNEWB
	CDI 10
	JMS I	AFLOUT
	JMP I	SAX2
SAX6,	0
	DCA	IXL
	TAD	IXL
	SPA CLA
	CMA
	DCA	IXH
	TAD I	APSWT
	DCA I	AASWT
	TAD I	AFACT8
	TAD I	AFACT8
	ISZ I	AASWT
	TAD I	ATICKL
	DCA	IYL
	TAD	IYL
	SPA CLA
	CMA
	DCA	IYH
	JMS I	ADINIB
	IAC
	JMS I	ADIMOVE
	JMS I	ADNEWB
	JMS I	ADSBAL
	JMP I	SAX6
APSWT,	PSWT
AASWT,	ASWT
AFACT8,	FACT8
ATICKL,	TICKL
AFLOUT,	FLOUT
	*4400
COMPAR,0
	JMS I	AGET
	CLA CLL IAC RAL
	TAD	PTRA
	DCA	HULPL
	TAD I	HULPL
	ISZ	HULPL
	CIA
	TAD	HULPLO
	DCA	DHULPL
	RAL
	DCA	KEEP
	TAD I	HULPL
	CMA
	TAD	HULPHO
	TAD	KEEP
	DCA	DHULPHO
	TAD	PLOTMV
	CLL RAL
	DCA	PLOTMV
	TAD	DHULPH
	SMA
	JMP	IN
	CMA
	DCA	DHULPH
	CLL
	TAD	DHULPL
	CIA
	DCA	DHULPL
	SZL
	ISZ	DHULPH
	NOP
	SKP
IN,	ISZ	PLOTMV
	TAD	DHULPL
	DCA I	PTRA
	ISZ	PTRA
	TAD	DHULPH
	DCA I	PTRA
	ISZ	PTRA
	TAD	HULPLO
	DCA I	PTRA
	ISZ	PTRA
	TAD	HULPHO
	DCA I	PTRA
	ISZ	PTRA
	JMP I	COMPAR
HULPL,	0
PTRA,	0
AGET,	GET




GMOVE,	0
	DCA	GCMND
	TAD	BXL
	DCA	HBXL
	TAD	BXH
	DCA	HBXH
	TAD	BYL
	DCA	HBYL
	TAD	BYH
	DCA	HBYH
	JMS I	ADPLOT
GCMND,	0
HBXL,	0
HBXH,	0
HBYL,	0
HBYH,	0
	JMP I	GMOVE


IMOVE,	0
	DCA	IMCMND
	JMS I	ADRTAT
	CLL
	TAD	IXL
	TAD	BXL
	DCA	AXL
	TAD	AXL
	DCA	HAXL
	RAL
	TAD	IXH
	TAD	BXH
	DCA	AXH
	TAD	AXH
	DCA	HAXH
	CLL
	TAD	IYL
	TAD	BYL
	DCA	AYL
	TAD	AYL
	DCA	HAYL
	RAL
	TAD	IYH
	TAD	BYH
	DCA	AYH
	TAD	AYH
	DCA	HAYH
	JMS I	ADPLOT
IMCMND,	0
HAXL,	0
HAXH,	0
HAYL,	0
HAYH,	0
	JMP I	IMOVE

CT,	-1
	-4
	-5
	-6
	-4
	-4
	-10
APT,	PT
PT,	CEX
	STRT2
	STRT4
	STRT6
	STRT5
	STRT3
	CEX
DEC,	TAD	APT
	DCA	AAA
	TAD I	AAA
	DCA	AAA
	JMP I	AAA
AAA,	0
/S2
	/PLOTTER-FNEW FOR PDP-8/S

	FIELD 2
	*4600

AJMS,	JMS I	.+1
	PLOTX
	ALPHA
	DLTR
	AXIS
	NUMBER
	DSYM
	LINE
ACT,	CT
ASUB,	SUB
JMPEX,	JMP I	AEX1
AEX1,	EX1
AGETCH,	GETCH1
MRPAR1,	-251
CPTR,0
ACPTR,	6710
AGET1,GET1
HELP,	0
PTR,	0
COUNT,	0
PARPTR,	0
CCDI0,	6213

FNEW2,	DCA	HELP
	TAD	HELP
	TAD	ACT
	DCA	PTR
	TAD I	PTR
	DCA	COUNT
	TAD	ASUB
	DCA	PARPTR
	TAD	HELP
	TAD	AJMS
	DCA I	PARPTR
	ISZ	PARPTR
	DCA	SA+2
	TAD	HELP
	SNA CLA
	JMS	SUBRL
	JMS	SUBRLH
	JMS	SUBRLH
TESTR,	ISZ	COUNT
	JMP	A75
	TAD	HELP
	JMP I	ADEC
ADEC,	DEC
A75,	JMS	SUBRL
	JMP	TESTR
STRT6,	CDI 10
	JMP I	ASTRT6
ASTRT6,	STRT60
STRT3,	TAD	SA+3
	SKP
STRT4,	TAD	SA+4
	SNA CLA
	JMP	CEX
	JMP	ENTRY
STRT5,	TAD	SA+3
	DCA	SA+4
	TAD	SA+2
	DCA	SA+3
	ISZ	PARPTR
	JMP	STRT4
STRT2,	TAD	SA+2
	DCA	HULPLL
	TAD	ACPTR
	DCA	SA+2
	TAD	ACPTR
	DCA	CPTR
CNXT,	CDI 10
	JMS I	AGETCH
	DCA	HELP
	TAD	HELP
	TAD	MRPAR1
	SNA CLA
	JMP	TESTC
	TAD	HELP
	AND	N77
	DCA I	CPTR
	ISZ	CPTR
	JMP	CNXT
CEX,	TAD	CCDI0
	DCA I	PARPTR
	ISZ	PARPTR
	TAD	JMPEX
	DCA I	PARPTR
SUB,	JMS I	.
	0
	0
	0
SA,	0
	0
	0
	0
	0
	0
	0
	0
	0
	HLT
TESTC,	DCA  I	CPTR
	TAD	HULPLL
	SNA CLA
	JMP	CEX
ENTRY,	TAD	BXL
	DCA	SUB+1
	TAD	BXH
	DCA	SUB+2
	TAD	BYL
	DCA	SUB+3
	TAD	BYH
	DCA	SUB+4
	JMP	CEX
HULPLL,	0
CM4,	-4
SUBRL,	0
	CDI 10
	JMS I	AGET1
	DCA I	PARPTR
	ISZ	PARPTR
	JMP I	SUBRL

SUBRLH,	0
	JMS	SUBRL
	TAD	HORD
	DCA I	PARPTR
	ISZ	PARPTR
	JMP I	SUBRLH
	*5000

PLOTX,	0
	TAD I	PLOTX
	ISZ	PLOTX
	SPA
	JMP	PLOTA
	TAD	PLOTPN
	CLL RTR
	SPA CLA
	JMP	PLOT1
	SNL CLA
	JMP	.+4
	DCA	PLOTPN
	6503
	JMP	.+3
	ISZ	PLOTPN
	6505
	JMS I	BPLTWT
	JMP	PLOT1


PLOTA,	CLA
	6503
	DCA	PLOTPN
	DCA	PLTNXL
	DCA	PLTNXH
	DCA	PLTNYL
	DCA	PLTNYH
	JMS I	BPLTWT
	TAD	PLOTX
	TAD	DU
	DCA	PLOTX
	JMP I	PLOTX
PLOT1,	DCA	PLOTMV
	TAD	AXTAB
	DCA I	APTRA
	JMS I	ACOMPAR
	JMS I	ACOMPAR
	CLL
	TAD	PLTDXL
	CIA
	TAD	PLTDYL
	CLA RAL
	DCA	KEEP
	TAD	PLTDXH
	CMA
	TAD	PLTDYH
	TAD	KEEP
	SNL CLA
	JMP	PLOT2
	TAD	PLTDXL
	DCA	PLTDYL
	TAD	PLTDXH
	DCA	PLTDYH
	TAD	DHULPL
	DCA	PLTDXL
	TAD	DHULPH
	DCA	PLTDXH

	IAC
	AND	PLOTMV
	TAD	PLOTT1
	JMP	.+4
PLOT2,	TAD	PLOTMV
	CLL RAR
	TAD	PLOTT2
	DCA	KEEP
	TAD I	KEEP
	DCA I	APLOT4
	TAD	PLOTMV
	TAD	PLOTT3
	DCA	PLOTMV
	TAD I	PLOTMV
	DCA I	APLOTDB
	TAD	PLTDXH
	CLL RAR
	DCA	HULPHO
	TAD	PLTDXL
	RAR
	DCA	HULPLO
	TAD	PLTDXL
	CMA
	DCA	COUNTL
	TAD	PLTDXH
	CMA
	DCA	COUNTH
PLOT3,	ISZ	COUNTL
	JMP	PLOTNR
	ISZ	COUNTH
	JMP	PLOTNR
	JMP I	PLOTX
PLOTNR,	CLL
	TAD	HULPLO
	TAD	PLTDYL
	DCA	HULPLO
	RAL
	TAD	HULPHO
	TAD	PLTDYH
	DCA	HULPHO
	CLL
	TAD	PLTDXL
	CIA
	TAD	HULPLO
	CLA RAL
	DCA	KEEP
	TAD	PLTDXH
	CMA
	TAD	HULPHO
	TAD	KEEP
	SPA CLA
	JMP I	APLOT4
	JMP I	APLOTDB


GET,	0
	TAD I	PLOTX
	DCA	HULPLO
	ISZ	PLOTX
	TAD I	PLOTX
	DCA	HULPHO
	ISZ	PLOTX
	JMP I	GET
PLOTPN,	0
COUNTL,	0
COUNTH,	0
APTRA,	PTRA
APLOT4,	PLOT4
APLOTDB,PLOTDB
BPLTWT,	PLOTWT
ACOMPAR,	COMPAR
	*PLOTX+200
ALPHA, 0      /DRAW PACKED STRING, TERMINATOR=XX00
   CLA
	TAD	N7
   JMS PFETCH
   JMS SUBALF
   JMP I ALPHA
PFETCH, 0      /GET PARAMETERS
   CIA
   DCA NCNT      /- (/OF PARAM)
   TAD M4
   TAD PFETCH
   DCA PADDR
   TAD PADDR
   DCA HLD
   TAD I PADDR
   DCA PADDR
   TAD DCAX
   DCA CMND
   TAD I PADDR
CMND, 0
   ISZ CMND
   ISZ PADDR
   ISZ NCNT
   JMP .-5
   TAD PADDR
   DCA I HLD
   JMS INIB
   JMP I PFETCH
HLD, 0
PADDR, 0
DCAX,	DCA	XL
NCNT, 0
INIB, 0    /(BX,BY)=(X,Y)
	TAD	XL
	DCA	BXL
	TAD	XH
	DCA	BXH
	TAD	YL
	DCA	BYL
	TAD	YH
	DCA	BYH
   JMP I INIB
NEWB, 0     /(BX, BY)=(AX,XY)
   CLA
	TAD	AXL
	DCA	BXL
	TAD	AXH
	DCA	BXH
	TAD	AYL
	DCA	BYL
	TAD	AYH
	DCA	BYH
   JMP I NEWB
PLOTWT, 0    /PLOT PEN WAIT LOOP
   6501     /PLSF
   JMP .-1
   6502      /PLCF
   JMP I PLOTWT
FNDADR, 0    /GIVEN ASCII IN AC, FIND ADDRESS IN
             /SYMBOL TABLE
   AND N77
   TAD M40   /ALPH OR NUM?
   SMA
   TAD M5
   TAD N40
   CIA
   DCA CNTR
   TAD ADTBL   /FIND ADDRESS
   DCA TADDR
BUMP, ISZ CNTR
   JMP .+3
   TAD TADDR
   JMP I FNDADR   /ADDRESS IN AC
CYCL, TAD I TADDR
   AND N77
   TAD M77
   ISZ TADDR
   SNA CLA
   JMP BUMP
   JMP CYCL
M40, -40
M5, -5
N40, 40
ADTBL, TABLE
TADDR, 0
CNTR, 0
MULT, 0   /MULTIPLY THE / IN THE AC BY THE MULT TACTOR
   DCA DLTA
   TAD FACT
   CIA
   DCA CNT
   TAD DLTA
   ISZ CNT
   JMP .-2
   JMP I MULT  /MULTIPLIED INCS IN THE AC
DLTA, 0
CNT, 0
CIAC,	1
SUBALF, 0
   CLA CLL
SUB1,	TAD I	SADDR
	RTR
	RTR
	RTR
	AND	N77
	JMS I	ADLTR
	TAD I	SADDR
	ISZ	SADDR
	AND	N77
	SNA
	JMP I	SUBALF
	JMS I	ADLTR
	JMP	SUB1
*ALPHA+200
DLTR, 0
   CLA
	TAD	N10
	JMS I	ADPFTCH
   TAD SADDR   /.E. LETTER TO BE DRAWN IN SADDR
   JMS LETTER
   JMP I DLTR
LETTER, 0   /DRAW A CHARACTER, IN THE AC
   SNA   /LEGAL CHARACTER
   JMP I LETTER   /NO
	DCA	TMPLO
   TAD JMSAM  /INITIALIZE FOR NORMAL LETTER OUTPUT
   DCA LC1
   TAD JMPLT4
   DCA LC2
   TAD CCMA
   DCA LC3
	TAD	TMPLO
LT0, JMS I ADFDAD
   DCA LTADR
LC3, CMA
   DCA LTSWT1  /SWITCH FOR UP PEN FOR INITIAL MOVEMENT
LT1, CLA CMA
   DCA LTSWT2
   TAD I LTADR
   AND N77
   DCA MOVE2   /SECOND MOVEMENT
   TAD I LTADR
   RTR
   RTR
   RTR   /FIRST MOVEMENT
LT2, AND N77
   TAD M77
   SNA
LC2, JMP LT4
   TAD N7
   SZA
   JMP .+4
CCMA, CMA
   DCA LTSWT1
   JMP LT3
   TAD N70
   DCA LTHLD
   TAD LTHLD
   AND N7   /Y INC
   JMS I ADMULT
	DCA	IYL
	DCA	IYH
   TAD LTHLD
   RTR
   RAR
   AND N7   /X INC
   JMS I ADMULT
	DCA	IXL
	DCA	IXH
   ISZ LTSWT1
   CMA
   IAC
LC1, JMS I ADIMOVE
LT3, ISZ LTSWT2
   JMP .+3
TAD MOVE2
   JMP LT2
   ISZ LTADR
   JMP LT1
LT4, TAD N5
   JMS I ADMULT
	DCA	IXL
	TAD	IXL
	SPA CLA
	CMA
	DCA	IXH
	DCA	IYL
	DCA	IYH
   IAC
   JMS I ADIMOVE
   JMS I ADNEWB
LC4, JMP I LETTER
LTADR, 0
LTSWT1,	0
JMSAM, JMS I ADIMOVE
JMPLT4, JMP LT4
LTSWT2, 0
N70, 70
MOVE2, 0
LTHLD, 0
ROTATE, 0   /ROTATE IX AND IY THROUGH THETA
   CLA
   TAD THETA
   SNA
   JMP I ROTATE
   TAD M1
   SZA
	JMP I	AR180
R90,	TAD	IXL
	DCA	TMPLO
	TAD	IXH
	DCA	TMPHO
	CLL
	TAD	IYL
	CIA
	DCA	IXL
	TAD	IYH
	CMA
	DCA	IXH
	SZL
	ISZ	IXH
	NOP
	TAD	TMPLO
	DCA	IYL
	TAD	TMPHO
	DCA	IYH
RETURN,	JMP I	ROTATE
AR180,	R180
TMPLO,	0
TMPHO,	0
*DLTR+200
TABLE,    /SYMBOL TABLE FOR CALCOMP PLOTTER
   0005
   1636
   4543
   0343
   4077
   
SB, 0006
   3645
   4433
   0333
   4241
   3000
   7777
SC,  4130
   1001
   0516
   3645
   7777
SD, 0006
   3645
   4130
   0077
SE, 4606
   0333
   0300
   4077
 
SF, 4606
   0333
   0300
   7777
SG, 2343
   4130
   1001
   0516
   3645
   7777
SH, 0600
   0343
   4046
   7777
SI, 1636
   2620
   3010
   7777
SJ, 3646
   4130
   1001
   0277
SK, 4024
   4702
   0006
   7777
SL, 0600
   4077
SM, 0006
   2346
   4077
SN, 0006
   4046
   7777
SO, 0110
   3041
   4536
   1605
   0177
SP, 0006
   3645
   4433
   0377
SQ, 2240
   4536
   1605
   0110
   3041
   7777
SR, 0006
   3645
   4433
   0333
   4240
   7777
SS, 0110
   3041
   4233
   1304
   0516
   3645
   7777
ST, 0646
   2620
   7777
SU, 0601
   1030
   4146
   7777
SV, 0620
   4677
SW, 0600
   2340
   4677
SX, 0640
   2300
   4677
SY, 0623
   2023
   4677
SZ, 0646
   2333
   1323
   0040
   7777
SSPC, 4077      /" ", TABLE OF DIGITS, PUNCTUATION, AND CENTER B
SCBX, 2325      /CENTER SYM, BOX
   0501
   4145
   2523
   7777
SCOC, 2325      /CENTER SYM, OCTAGON
   1504
   0211
   3142
   4435
   2523
   7777
SCTR, 2325    /CENTER SYM, TRIANGLE
   0242
   2523
   7777
SCPL, 2325	/CENTER SYM. PLUS
   2303
   4323
   2123
   7777
SCEX, 2305    /CENTER SYM , X
   4123
   4501
   2377
SCDM, 2325     /CENTER SYM, DIAMOND
   0321
   4325
   2377
SAPS, 3614   /""
   7777
SRPR, 3626   /"("
   1511
   2030
   7777
SLPR, 1626   /")"
   3531
   2010
   7777
   7777
SPLS, 2521    /"+"
   7003
   4377
SCOM, 2111    /","
   1222
   2110
   7777
SDSH, 0343   /"-"
   7777
SPRD, 2111   /"."
   1222
   2177
   7777
S0, 2446
   4130
   1001
   0516
   3645
   7777
S1, 1526
   2030
   1077
S2, 0516
   3645
   4401
   0040
   7777
S3, 0110
   3041
   4233
   1333
   4445
   3616
   0577
S4, 3036
   0343
   7777
S5, 0110
   3041
   4233
   1304
   0646
   7777
S6, 0213
   3342
   4130
   1001
   0516
   3645
   7777
S7, 0506
   4645
   2120
   7777
S8, 1333
   4241
   3010
   0102
   1304
   0516
   3645
   4433
   7777
S9, 0110
   3041
   4536
   1605
   0413
   3344
   7777
SCOL, 2425   /":"
   1514
   2470
   2122
   1211
   2177
SSCL, 2425  /";"
   1514
   2470
   2122
   1211
   2110
   7777
SLST, 4503  /"<"
   4177
SEQU, 0444  /"="
   7002
   4277
SGRT, 0543  /">"
   0177
*TABLE+400
AXIS, 0
   CLA CLL
	TAD	N11
   JMS I ADPFTCH
   TAD S
   CIA
   DCA SVS   /-/ OF INCREMENTSIN AXIS
   TAD XMIN
   DCA XVAL  /NUMBERICAL VALUE FOR FIRST TIC MARK
   TAD FACT
   SMA CLA
   JMP AX1
   TAD FACT
   CIA
   DCA FACT
   SKP
AX1, CMA  /IF 0 THEN TICS ON - SIDE, IF - 1 THEN TICS ON ; D
   DCA PSWT
   TAD PSWT
   DCA ASWT
   JMS I ADINIB  /INITIALIZE 8X,Y)
   IAC
   JMS I ADGMOVE  /MOVE TO STARTING LOCATION
   TAD FACT
   RAL CLL
   TAD FACT
   RAL CLL
   ISZ ASWT
   CIA
   DCA TICKL  /TICK LENGTH-FACT X 6
   TAD PSWT
   DCA ASWT
   TAD FACT
   RAL CLL
   ISZ ASWT
   CIA
   TAD TICKL
   DCA FACT8
AX2, TAD TICKL
	DCA	IYL
	TAD	IYL
	SPA CLA
	CMA
	DCA	IYH
	DCA	IXL
	DCA	IXH
   JMS I ADIMOVE   /DRAW THE TIC
   TAD DX
   SNA CLA   /DRAW THE NUMBER FOR THE TIC?
   JMP AX4   /NO
	TAD	BXL
	DCA	SBXL
	TAD	BXH
	DCA	SBXH
	TAD	BYL
	DCA	SBYL
	TAD	BYH
	DCA	SBYH
	JMS I	ASAX2
	TAD	SBXL
	DCA	BXL
	TAD	SBXH
	DCA	BXH
	TAD	SBYL
	DCA	BYL
	TAD	SBYH
	DCA	BYH
   IAC
AX4, JMS I ADGMOVE
   TAD SVS
   TAD DTIC
   DCA SVS
   TAD SVS
   SMA SZA CLA
   JMP AX3   /DONE?
   TAD DTIC
	DCA	IXL
	TAD	IXL
	SPA CLA
	CMA
	DCA	IXH
	DCA	IYL
	DCA	IYH
   JMS I ADIMOVE
   JMS I ADNEWB
   JMP AX2
AX3,TAD SADDR
SNA CLA
	JMP I	AXIS
	TAD	S
   RAR CLL
   DCA XVAL  /XVAL=S DIVIDED BY 2
   TAD SADDR
	DCA	SBXL
   TAD FACT
   RTL CLL
   TAD FACT
   CIA
	DCA	SBYL
AX5,	TAD I	SBXL
	ISZ	SBXL
   AND N77
   SNA CLA
   JMP AX6
   TAD XVAL
	TAD	SBYL
   DCA XVAL
   JMP AX5
AX6, TAD XVAL
	JMS  I	ASAX6
   JMP I AXIS
XVAL, 0
FACT8, 0
TICKL, 0
PSWT, 0
SBXL,	0
SBXH,	0
SBYL,	0
SBYH,	0
ASWT, 0
SVS, 0
ASAX6,	SAX6
ASAX2,	SAX2
*AXIS+200
NUMBER, 0
   CLA
	TAD	N10
   JMS I ADPFTCH
	CDI 10
	TAD	APLOT0
	DCA I	AAPRINT
	ISZ I	ASWITCH
	JMP I	A1203

APLOT0,	SPLOT0
AAPRINT,	APRINT
ASWITCH,	SWITCH
A1203,	1203
SPLOT2,	0
	JMS I	ADLTR
	CDI 10
	JMP I	SPLOT2
CSYM, 0   /DRAW VCENTERED SYMBOL IN THE AC
   DCA CHLD
   TAD CHLD
   SZA CLA
   JMP .+3
   JMS I ADGMOVE
   JMP I CSYM
   TAD JMSIAC   /ALTER LETTER CMNDS
   DCA I LC1I
   TAD I LC4I
   DCA I LC2I
   TAD CNOP
   DCA I LC3I
   TAD M2
   JMS I ADMULT
	DCA	INCXL
	TAD	INCXL
	SPA CLA
	CMA
	DCA	INCXH
   TAD M3
   JMS I ADMULT
	DCA	INCYL
	TAD	INCYL
	SPA CLA
	CMA
	DCA	INCYH
   TAD CSYM
   DCA I ADLTR
   TAD CHLD
   TAD N240
   JMP I LT0I   /DRAW CENTERED SYMBOL
C1, 0    /CENTER IX, IY
   DCA CHLD
	CLL
	TAD	INCXL
	TAD	IXL
	DCA	IXL
	RAL
	TAD	INCXH
	TAD	IXH
	DCA	IXH
	CLL
	TAD	INCYL
	TAD	IYL
	DCA	IYL
	RAL
	TAD	INCYH
	TAD	IYH
	DCA	IYH
   TAD CHLD
   JMS I ADIMOVE
   JMP I C1
CHLD, 0
JMSIAC, JMS I ADC1
N240, 240
INCXL,	0
INCXH,	0
INCYL,	0
INCYH,	0
CNOP, 7000
LC1I, LC1
LC2I, LC2
LC3I, LC3
LC4I, LC4
LT0I, LT0
*NUMBER+200
DSYM, 0
   CLA
	TAD	N7
	JMS I	ADPFTCH
   IAC
   JMS I ADGMOVE
   TAD SADDR   /I.E. SYM IS HELD IN SADDR
	JMS I	ADCSYM
   JMP I DSYM
N4, 4
LINE, 0   /DRAW VECTOR SPECIFIED BY X AND Y ARRAYS
   CLA
	TAD	N13
   JMS I ADPFTCH
   TAD LK   /SET UP PENUP SWITCH, LK=ABS(LK)
   SMA CLA
   JMP .+5
   TAD LK
   CIA
   DCA LK
   IAC
   DCA PENUP  /1=MOVE WITH PEN UP, 0=MOVE WITH PEN DOWN
   TAD LN
   CIA
   DCA LNCNT  /-/OF POINTS TO BE PLOTTED
   TAD LJ
   DCA LLJ
   DCA LJ  /SET THETA=0
   TAD LLJ
   CIA
   DCA LJCNT  /-ANNOTATION CYCLE FACTPR
   CMA
   DCA FMVE
LAGN, TAD I LXADDR
   TAD X
   DCA BX
   TAD I LYADDR
   TAD Y
   DCA BY
   TAD PENUP     /MOVE PEN TO (X,Y)
   ISZ FMVE
   SKP
   CLA IAC
   JMS I ADGMOVE
   ISZ LJCNT
   JMP .+6
   TAD LL
   JMS I ADCSYM   /DRAW THE SYMBOL
   TAD LLJ
   CIA
   DCA LJCNT
   TAD LXADDR   /SET NEW ADDRESS
   TAD LK
   DCA LXADDR
   TAD LYADDR
   TAD LK
   DCA LYADDR
   ISZ LNCNT
   JMP LAGN
   JMP I LINE
LNCNT, 0
LJCNT, 0
LLJ, 0
PENUP, 0
FMVE, 0
$