Google
 

Trailing-Edge - PDP-10 Archives - BB-4157D-BM - sources/forplt.mac
There is 1 other file named forplt.mac in the archive. Click here to see a list.
	TITLE AXIS	%5A(631)
	SUBTTL D.TODD	/DRT/MD/CLRH/MEB		16-DEC-76
	SEARCH	FORPRM



;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
;  OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.

;COPYRIGHT (C) 1969,1977 BY DIGITAL EQUIPMENT CORPORATION
;REVISION HISTORY
;----------------
;EDIT	SPR	COMMENT
;----	---	-------
;516	18207	FIX CALLS TO INT TO CALLS TO INT., ETC.
;532	18896	FIX AXIS TO OUTPUT CORRECT SCALE FACTOR
;555	-----	DO NOT USE CHANNEL 17 WITHOUT CALLING ALCHN.
;562	20376	MAKE MKTBL CORRECTLY SET TABLE ADDRESS IN CTBL
;601	Q00688	MAKE STACK SIZE IN PLOT ROUTINES 40 WORDS TO ALLOW
;			ROOM FOR FORERR CALLS
;
;	BEGIN VERSION 5A, 7-NOV-76
;
;623	21441	USE EXP2.. RATHER THAN EXP2.0 SO THAT PLOT
;			ROUTINES WILL LOAD IF FORSIN WAS COMPILED
;			WITH F40LIB TURNED OFF.
;631	21591	SET XMIN PROPERLY IF INT(LOWEST X/DX)=0, AND 
;			SET AN ARBITRARY XMIN AND A DX IF ALL
;			THE VALUES TO BE SCALED ARE EQUAL
;			(THIS AVOIDS DIVIDING BY ZERO).
;632	-----	MODIFICATION TO PLOTS TO ALLOW FOR
;			DIFFERENT STEP SIZE PLOTTER
;*************** END OF REVISION HISTORY *******************
REPEAT 0,<
	THE MACRO CODE LISTED BELOW WAS GENERATED BY THE FORTRA-10
	COMPILER. THE CODE WAS THEN EDITED TO ASSEMBLE WITH MACRO-10
	AND BE SHARABLE WITH BOTH FORTRAN-10 AND F40 COMPILERS.
	THE FORTRAN SOURCE CODE IS INCLUDED AS A REFERENCE.

	SUBROUTINE AXIS (X,Y,BCD,NC,SIZE,THETA,YMIN,DY)
	DIMENSION BCD(2)
	SIGN=1.0
	IF(NC)1,2,2
1	SIGN = -1.0
2	NAC=IABS(NC)
	N=SIZE+.5
	CTH=COSD(THETA)
	STH=SIND(THETA)
	TN=N
	XB=X
	YB=Y
	XA=X-.1*SIGN*STH
	YA=Y+.1*SIGN*CTH
	CALL PLOT(XA,YA,3)
	DO 20 I=1,N
	CALL PLOT(XB,YB,2)
	XC=XB+CTH
	YC=YB+STH
	CALL PLOT(XC,YC,2)
	XA=XA+CTH
	YA=YA+STH
	CALL PLOT(XA,YA,2)
	XB=XC
20	YB=YC
	EXP=0
	NT=INT(ALOG10(DY)+.001)
	IF(NT+1)80,81,81
81	IF(NT-1)93,93,80
80	EXP=NT
93	ADY=DY*10.**(-EXP)
	ABSV=YMIN*10.**(-EXP)+TN*ADY
	XA=XB-(.20*SIGN-.05)*STH-.0857*CTH
	YA=YB+(.20*SIGN-.05)*CTH-.0857*STH
	N=N+1
	DO 30 I=1,N
	CALL NUMBER(XA,YA,.1,ABSV,THETA,3)
	ABSV=ABSV-ADY
	XA=XA-CTH
30	YA=YA-STH
	TNC=NAC+7
	XA=X+(SIZE/2.-.06*TNC)*CTH-(-.07+SIGN*.36)*STH
	YA=Y+(SIZE/2.-.06*TNC)*STH+(-.07+SIGN*.36)*CTH
	CALL SYMBOL(XA,YA,.12,BCD,THETA,NAC)
	XA=XA+((TNC-6.)*.12)*CTH
	YA=YA+((TNC-6.)*.12)*STH
	IF(EXP)35,50,35
35	CALL SYMBOL(XA,YA,.12,7H(X10  ) ,THETA,7)
	XA=XA+.48*CTH-.07*STH
	YA=YA+.48*STH+.07*CTH
	IF(EXP)40,50,40
40	CALL NUMBER(XA,YA,.1,EXP,THETA,-1)
50	RETURN
	END
	SUBROUTINE LINE (X,Y,N,K)
	DIMENSION X(1),Y(1)
	I3=3
	NP=N*K
	DO 10 I=1,NP,K
	CALL PLOT(X(I),Y(I),I3)
10	I3=2
	END
>
	HELLO	(AXIS)
	MOVEM	16,.AXI16
	MOVEM	15,.AXI15	;[323] FOR F40
	MOVE	0,@0(16)
	MOVEM	0,X
	MOVE	0,@1(16)
	MOVEM	0,Y
	MOVEI	0,@2(16)
	MOVEM	0,BCD
	MOVE	0,@3(16)
	MOVEM	0,NC
	MOVE	0,@4(16)
	MOVEM	0,SIZE
	MOVE	0,@5(16)
	MOVEM	0,THETA
	MOVE	0,@6(16)
	MOVEM	0,YMIN
	MOVE	0,@7(16)
	MOVEM	0,DY
	JRST	0,%4M
%3M:
	MOVE	16,.AXI16
	MOVE	15,.AXI15	;[323] RESTORE 15
	POPJ	17,0
%4M:
	MOVSI	15,201400
	MOVEM	15,SIGN
	SKIPL	0,NC
	JRST	0,%2P
%1P:
	MOVSI	15,576400
	MOVEM	15,SIGN
%2P:
	MOVEI	16,%5M
	PUSHJ	17,IABS.##
	MOVEM	0,NAC
	MOVE	15,[177560507534]
	FMPR	15,SIGN
	MOVEM	15,.O0001
	MOVSI	15,200400
	FADR	15,SIZE
IFE CPU-KI10,<
	FIX	15,15
>
IFE CPU-KA10,<
	PUSHJ	17,IFX.15##
>
	MOVEM	15,N
	MOVEI	16,%6M
	PUSHJ	17,COSD.##
	MOVEM	0,CTH
	MOVEI	16,%7M
	PUSHJ	17,SIND.##
	MOVEM	0,STH
IFE CPU-KI10,<
	FLTR	14,N
>
IFE CPU-KA10,<
	MOVE	14,N
	PUSHJ	17,FLT.14##
>
	MOVEM	14,TN
	MOVE	15,X
	MOVEM	15,XB
	MOVE	15,Y
	MOVEM	15,YB
	MOVE	15,[602146314631]
	FMPR	15,SIGN
	FMPR	15,STH
	FADR	15,X
	MOVEM	15,XA
	MOVE	15,[175631463146]
	FMPR	15,SIGN
	FMPR	15,CTH
	FADR	15,Y
	MOVEM	15,YA
	MOVEI	16,%8M
	PUSHJ	17,PLOT##
	MOVN	14,N
	MOVEI	15,1
	MOVEM	14,.S0000
%9M:
	MOVEM	15,I
%10M:
	MOVEI	16,%11M
	PUSHJ	17,PLOT##
	MOVE	13,CTH
	FADR	13,XB
	MOVEM	13,XC
	MOVE	13,STH
	FADR	13,YB
	MOVEM	13,YC
	MOVEI	16,%12M
	PUSHJ	17,PLOT##
	MOVE	13,CTH
	FADR	13,XA
	MOVEM	13,XA
	MOVE	13,STH
	FADR	13,YA
	MOVEM	13,YA
	MOVEI	16,%13M
	PUSHJ	17,PLOT##
	MOVE	13,XC
	MOVEM	13,XB
%20P:
	MOVE	13,YC
	MOVEM	13,YB
	AOS	15,I
	AOSGE	0,.S0000
	JRST	0,%10M
	SETZB	15,.EXP
	MOVEI	16,%14M
	PUSHJ	17,ALG10.##
	FADR	0,[167406111564]
IFE CPU-KI10,<
	FIX	0,0
>
IFE CPU-KA10,<
	PUSHJ	17,IFX.0##
>
	MOVEM	0,NT
	MOVN	15,NT
	CAILE	15,1
	JRST	0,%80P
%81P:
	MOVE	15,NT
	CAIG	15,1
	JRST	0,%93P
%80P:
IFE CPU-KI10,<
	FLTR	14,NT
>
IFE CPU-KA10,<
	MOVE	14,NT
	PUSHJ	17,FLT.14##
>
	MOVEM	14,.EXP
%93P:
	MOVN	15,.EXP
	MOVEM	15,.Q0000
	MOVEI	16,%15M
	PUSHJ	17,EXP3.##
	FMPR	0,DY
	MOVEM	0,ADY
	MOVE	14,TN
	FMPR	14,ADY
	MOVN	15,.EXP
	MOVEM	15,.Q0000
	MOVEI	16,%16M
	PUSHJ	17,EXP3.##
	FMPR	0,YMIN
	FADR	0,14
	MOVEM	0,ABSV
	MOVE	14,[602240762045]
	FMPR	14,CTH
	MOVE	15,[601146314631]
	FMPR	15,SIGN
	FADR	15,[174631463146]
	FMPR	15,STH
	FADR	15,XB
	FADR	15,14
	MOVEM	15,XA
	MOVE	14,[602240762045]
	FMPR	14,STH
	MOVE	15,[176631463146]
	FMPR	15,SIGN
	FADR	15,[603146314631]
	FMPR	15,CTH
	FADR	15,YB
	FADR	15,14
	MOVEM	15,YA
	MOVEI	15,1
	ADD	15,N
	MOVEM	15,N
	MOVN	14,N
	MOVEI	15,1
	MOVEM	14,.S0001
%17M:
	MOVEM	15,I
%18M:
	MOVEI	16,%19M
	PUSHJ	17,NUMBER##
	MOVN	13,ADY
	FADR	13,ABSV
	MOVEM	13,ABSV
	MOVN	13,CTH
	FADR	13,XA
	MOVEM	13,XA
%30P:
	MOVN	13,STH
	FADR	13,YA
	MOVEM	13,YA
	AOS	15,I
	AOSGE	0,.S0001
	JRST	0,%18M
	MOVEI	15,7
	ADD	15,NAC
IFE CPU-KI10,<
	FLTR	15,15
>
IFE CPU-KA10,<
	PUSHJ	17,FLT.15##
>
	MOVEM	15,TNC
	MOVE	15,[603024365605]
	FMPR	15,TNC
	MOVEM	15,.O0000
	MOVSI	15,574200
	FADR	15,TNC
	FMPR	15,[175753412172]
	MOVEM	15,.O0003
	MOVE	14,[175436560507]
	FSBR	14,.O0001
	FMPR	14,STH
	MOVE	15,SIZE
	FSC	15,777777
	FADR	15,.O0000
	FMPR	15,CTH
	FADR	15,X
	FADR	15,14
	MOVEM	15,XA
	MOVE	14,[602341217270]
	FADR	14,.O0001
	FMPR	14,CTH
	MOVE	15,SIZE
	FSC	15,777777
	FADR	15,.O0000
	FMPR	15,STH
	FADR	15,Y
	FADR	15,14
	MOVEM	15,YA
	MOVEI	16,%20M
	PUSHJ	17,SYMBOL##
	MOVE	15,.O0003
	FMPR	15,CTH
	FADR	15,XA
	MOVEM	15,XA
	MOVE	15,.O0003
	FMPR	15,STH
	FADR	15,YA
	MOVEM	15,YA
	SKIPN	0,.EXP
	JRST	0,%50P
%35P:
	MOVEI	16,%21M
	PUSHJ	17,SYMBOL##
	MOVE	14,[602341217270]
	FMPR	14,STH
	MOVE	15,[177753412172]
	FMPR	15,CTH
	FADR	15,XA
	FADR	15,14
	MOVEM	15,XA
	MOVE	14,[175436560507]
	FMPR	14,CTH
	MOVE	15,[177753412172]
	FMPR	15,STH
	FADR	15,YA
	FADR	15,14
	MOVEM	15,YA
	SKIPN	0,.EXP
	JRST	0,%50P
%40P:
	MOVEI	16,%22M
	PUSHJ	17,NUMBER##
%50P:
	JRST	0,%3M

;ARGUMENT BLOCKS:

	0,,0
%2M:	0,,0
	777772,,0
%22M:	200,,XA
	200,,YA
	200,,[175631463146]
	200,,.EXP
	200,,THETA
	0,,[777777777777]
	777772,,0
%21M:	200,,XA
	200,,YA
	200,,[175753412172]
;**; [532] CHANGE @ %21M + 3L	MEB	7-APR-76
	740,,[ASCII /(X10  )/]		;[532] LABEL FOR SCALE
	200,,THETA
	0,,[000000000007]
	777772,,0
%20M:	200,,XA
	200,,YA
	200,,[175753412172]
	220,,BCD
	200,,THETA
	0,,NAC
	777772,,0
%19M:	200,,XA
	200,,YA
	200,,[175631463146]
	200,,ABSV
	200,,THETA
	0,,[000000000003]
	777776,,0
%16M:	200,,[204500000000]
	200,,.Q0000
	777776,,0
%15M:	200,,[204500000000]
	200,,.Q0000
	777777,,0
%14M:	200,,DY
	777775,,0
%13M:	200,,XA
	200,,YA
	0,,[000000000002]
	777775,,0
%12M:	200,,XC
	200,,YC
	0,,[000000000002]
	777775,,0
%11M:	200,,XB
	200,,YB
	0,,[000000000002]
	777775,,0
%8M:	200,,XA
	200,,YA
	0,,[000000000003]
	777777,,0
%7M:	200,,THETA
	777777,,0
%6M:	200,,THETA
	777777,,0
%5M:	0,,NC
ABSV:	BLOCK	1
ADY:	BLOCK	1
BCD:	BLOCK	1
CTH:	BLOCK	1
DY:	BLOCK	1
.EXP:	BLOCK	1
GENERA:	BLOCK	1
I:	BLOCK	1
LABEL:	BLOCK	1
N:	BLOCK	1
NAC:	BLOCK	1
NC:	BLOCK	1
NT:	BLOCK	1
SIGN:	BLOCK	1
SIZE:	BLOCK	1
STH:	BLOCK	1
THETA:	BLOCK	1
TN:	BLOCK	1
TNC:	BLOCK	1
X:	BLOCK	1
XA:	BLOCK	1
XB:	BLOCK	1
XC:	BLOCK	1
Y:	BLOCK	1
YA:	BLOCK	1
YB:	BLOCK	1
YC:	BLOCK	1
YMIN:	BLOCK	1
.AXI16:	BLOCK	1
.AXI15:	BLOCK	1	;[323] TO SAVE REG 15
.O0000:	BLOCK	1
.O0001:	BLOCK	1
.O0003:	BLOCK	1
.Q0000:	BLOCK	1
.S0000:	BLOCK	1
.S0001:	BLOCK	1


	PRGEND
	TITLE	LINE	%4.(323)
	SUBTTL	D.TODD	/DRT/MD		04-JUN-1974
;REVISION HISTORY
;----------------
;EDIT	SPR	COMMENT
;----	---	-------
;323	(13373)	SAVE REGISTER 15 (FOR F40 COMPATIBILITY)
;
	SEARCH	FORPRM
	HELLO	(LINE)
	MOVEM	16,.LIN16
	MOVEM	15,.LIN15	;[323] SAVE 15
	MOVEI	0,@0(16)
	MOVEM	0,X
	MOVEI	0,@1(16)
	MOVEM	0,Y
	MOVE	0,@2(16)
	MOVEM	0,N
	MOVE	0,@3(16)
	MOVEM	0,K
	JRST	0,%4M
%3M:
	MOVE	16,.LIN16
	MOVE	15,.LIN15	;[323] RESTORE 15
	POPJ	17,0
%4M:
	MOVEI	15,3
	MOVEM	15,I3
	MOVE	15,N
	IMUL	15,K
	MOVEM	15,NP
	MOVEI	13,1
	SUB	13,NP
	IDIV	13,K
	SUBI	13,1
	MOVEI	15,1
	MOVEM	13,.S0000
%5M:
	MOVEM	15,I
%6M:
	MOVE	14,I
	ADD	14,X
	MOVEI	14,777777(14)
	MOVEM	14,.Q0000
	MOVE	14,I
	ADD	14,Y
	MOVEI	14,777777(14)
	MOVEM	14,.Q0001
	MOVEI	16,%7M
	PUSHJ	17,PLOT##
%10P:
	MOVEI	14,2
	MOVEM	14,I3
	MOVE	15,K
	ADDM	15,I
	AOSGE	0,.S0000
	JRST	0,%6M
%1M:
	JRST	0,%3M

;ARGUMENT BLOCKS:

	0,,0
%2M:	0,,0
	777775,,0
%7M:	220,,.Q0000
	220,,.Q0001
	0,,I3
I:	BLOCK	1
I3:	BLOCK	1
K:	BLOCK	1
N:	BLOCK	1
NP:	BLOCK	1
X:	BLOCK	1
Y:	BLOCK	1
.LIN16:	BLOCK	1
.LIN15:	BLOCK	1		;[323] TO SAVE 15
.Q0000:	BLOCK	1
.Q0001:	BLOCK	1
.S0000:	BLOCK	1
	PRGEND
TITLE	SCALE	%5.(631) PLOT SUBPROGRAM
SUBTTL	R CLEMENTS/DMN/HPW/CLRH		16-DEC-76



;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
;  OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.

;COPYRIGHT (C) 1972,1977 BY DIGITAL EQUIPMENT CORPORATION

SUBTTL	REVISION HISORTY

;EDIT	SPR	COMMENTS
;----	---	--------
;243	(12167)	CORRECT SCALE FOR NEGATIVE XMIN
;623	21441	USE EXP2.. RATHER THAN EXP2.0 SO THAT PLOT ROUTINES
;			WILL LOAD IF FORSIN WAS COMPILED WITH F40LIB
;			TURNED OFF.
;631	21591	FIX XMIN WHEN INT(LOWEST X/DX)=0, AND AVOID DIVIDING
;			BY ZERO WHEN ALL THE VALUES TO BE SCALED
;			ARE THE SAME.
;*** END OF REVISION HISTORY ***

	P=17	;SYSTEM PDL
	Q=16	;FOR JSA
;	0	FOR TEMPS AND ARGS
;	1	ALSO
	A=2
	X=3
	XMAX=4
	XMIN=5

ENTRY SCALE
SEARCH	FORPRM
	HELLO	(SCALE)		;ENTRY POINT TO SCALE
	MOVEM 5,ACS+5	;SAVE ACS
	MOVEI 5,ACS
	BLT 5,ACS+4
	MOVEI	X,@0(Q)		;[221] LOAD ARRAY ADDRESS
	HRLI X,A	;FOR INDEXING INTO X
	MOVEI A,0
	MOVE XMAX,@X
	MOVE XMIN,@X	;INITIAL VALUES=X(1)
L1:	CAMGE XMAX,@X
	MOVE XMAX,@X
	CAMLE XMIN,@X
	MOVE XMIN,@X
	ADDI A,1
	CAMGE A,@1(Q)	;ARRAY LENGTH
	JRST L1

;**; [631] INSERT @ L1+6 1/2	CLRH	16-DEC-76
	CAMN	XMIN,XMAX	;[631] ALL VALUES WERE THE SAME?
	JRST	[SKIPN	XMAX		;[631] YES, WERE THEY ALL ZERO?
		MOVE	XMAX,[10.0]	;[631] ARBITRARILY SET A MAX.
		FMPR	XMAX,[2.0]	;[631] DOUBLE VALUE FOR MAX
		MOVEI	XMIN,0		;[631] AND ZERO FOR MIN
		SKIPGE	XMAX		;[631] UNLESS VALUE WAS NEG.
		EXCH	XMIN,XMAX	;[631] SWITCH VALUES IF NEG.
		JRST	.+1	]	;[631] AND CONTINUE
	MOVE A,XMAX
	FSBR A,XMIN
	FMPR A,[10.0]
	FDVR A,@2(Q)	;LENGTH OF LINE
	FADR A,XMIN
	MOVEM A,XMAX
	FSBR A,XMIN
	MOVMS A
	MOVEM A,D
	FUNCT	ALG10.,<D>	; [516]
	MULI	0,400		;USE OLD NON-SYMETRIC FIX ROUTINE
	TSC	0,0		;CODED IN LINE TO SAVE TIME
	EXCH	0,1
	ASH	0,-243(1)
	MOVEM 0,IE
	MOVSI 0,(10.0)
	MOVE 1,IE
;**; [623] CHANGE @ L1+24(10)L IN SCALE	CLRH	18-NOV-76
	PUSHJ P,EXP2..##	;[623] DO NOT USE F40 CALL
	MOVE 1,D
	FDVR 1,0
	CAMLE 1,[8.0]
	JRST P2P
	CAMG 1,[8.0]
	MOVSI 0,(8.0)
	CAMG 1,[5.0]
	MOVSI 0,(5.0)
	CAMG 1,[4.0]
	MOVSI 0,(4.0)
	CAMG 1,[2.0]
	MOVSI 0,(2.0)
	CAMG 1,[1.0]
	MOVSI 0,(1.0)
	JRST P1P
P2P:	MOVSI 0,(1.0)
	AOS IE
P1P:	MOVEM 0,S
	MOVE 1,IE
	SUBI 1,1
	MOVSI 0,(10.0)
;**; [623] CHANGE @ P1P+4L IN SCALE	CLRH	18-NOV-76
	PUSHJ P,EXP2..##	;[623] DO NOT USE F40 CALL
	MOVEM 0,E1
	FMPR 0,S
	MOVEM 0,D
	MOVEM 0,@4(Q)	;RETURN DX TO CALLER
	MOVE A,XMIN
	FDVR A,D
	MOVEM	A,XMAX		;[243] REMEMBER SCALED VALUED
	FUNCT	INT.,<A>	; [516]
	MOVEM 0,A
	FUNCT FLOAT.,<A>	; [516]
;**; [631] CHANGE @ P3P-3L	CLRH	16-DEC-76
	JUMPGE	P3P		;[631] [243] WAS XMIN/DX NEGATIVE
	CAME	XMAX		;[243] AND NON INTEGRAL
	FSBRI	(1.0)		;[243] YES - CORRECT SCALING
P3P:	FMPR	0,D		;[243] CONVERT TO *DX UNITS
	MOVEM 0,XMIN
	MOVEI A,0
L2:	MOVE 0,@X
	FSBR 0,XMIN
	FDVR 0,D
	MOVEM 0,@X
	ADDI A,1
	CAMGE A,@1(Q)
	JRST L2

	MOVEM XMIN,@3(Q)	;RETURN XMIN
	MOVSI 5,ACS
	BLT 5,5
	GOODBY	(5)		;SCALE RETURN

ACS:	BLOCK 6

IE:	0
E1:	0
S:	0
D:	0

	LIT
	PRGEND
	TITLE	PLOTF (FEANORIAN CHARACTER SET) %4,(100)
	SUBTTL	BILL WEIHER: STANFORD A-I; 21 OCT 67



;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
;  OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.

;COPYRIGHT (C) 1972,1977 BY DIGITAL EQUIPMENT CORPORATION
	ENTRY	PLOTF

PLOTF:	REPEAT 40,<XWD 0,0>
	XWD 1,SP
	XWD 5,LCR
	XWD 3,UDOT
	XWD 7,SCR
	XWD 21,OFTHE
	XWD 14,FQA
	REPEAT 4,<XWD 0,0>
	XWD 17,OF
	XWD 11,FHW
	XWD 11,F12
	XWD 3,OVBR
	XWD 11,F11
	XWD 17,THE
	XWD 12,F0
	XWD 11,FTH
	XWD 11,FSH
	XWD 12,FKH
	XWD 17,FDH
	XWD 17,FZH
	XWD 17,FGH
	XWD 17,F7
	XWD 17,F8
	XWD 11,F9
	XWD 5,FOLY
	XWD 16,MODR
	XWD 13,ALTS
	XWD 0,0
	XWD 25,ALTZ
	XWD 0,0
	XWD 0,0
	XWD 7,FA
	XWD 16,FB
	XWD 11,FC
	XWD 16,FD
	XWD 3,FE
	XWD 12,FF
	XWD 16,FG
	XWD 6,FH
	XWD 3,FI
	XWD 17,FJ
	XWD 11,FK
	XWD 10,FL
	XWD 17,FM
	XWD 17,FN
	XWD 12,FO
	XWD 11,FP
	XWD 14,FQ
	XWD 14,FR
	XWD 13,FS
	XWD 10,FT
	XWD 12,FU
	XWD 17,FV
	XWD 12,FW
	XWD 11,FX
	XWD 7,FY
	XWD 25,FZ
	REPEAT 46,<XWD 0,0>
RADIX 10
FSH:	BYTE (5) 0,2,15,1,0,13,1,0,8,1,2,6,1,4,6,1,6,8,0,6,21
	BYTE (5) 1,6,6,0,11,6
FKH:	BYTE (5) 0,0,13,1,0,8,1,2,6,1,4,6,1,6,8,0,0,13,1,6,13
	BYTE (5) 0,6,21,1,6,6,0,11,6
FDH:	BYTE (5) 0,0,21,1,0,6,0,0,11,1,2,13,1,4,13,1,6,11,1,6,6
	BYTE (5) 1,4,4,0,6,11,1,8,13,1,10,13,1,12,11,1,12,6,1,10,4
	BYTE (5) 0,17,6
FV:	BYTE (5) 0,0,21,1,0,6,0,0,11,1,2,13,1,4,13,1,6,11,1,6,6
	BYTE (5) 0,6,11,1,8,13,1,10,13,1,12,11,1,12,6,0,0,6,1,13,6
	BYTE (5) 0,17,6
FZH:	BYTE (5) 0,2,15,1,0,13,1,0,8,1,2,6,1,4,6,1,6,8,1,6,13
	BYTE (5) 1,8,15,0,6,8,1,8,6,1,10,6,1,12,8,0,12,21,1,12,6
	BYTE (5) 0,17,6
FGH:	BYTE (5) 0,0,13,1,0,8,1,2,6,1,4,6,1,6,8,1,6,13,0,6,8
	BYTE (5) 1,8,6,1,10,6,1,12,8,0,0,13,1,12,13,0,12,21,1,12,6
	BYTE (5) 0,17,6
F9:	BYTE (5) 0,0,13,1,0,6,0,0,11,1,2,13,1,4,13,1,6,11,1,6,6
	BYTE (5) 1,4,4,0,11,6
F0:	BYTE (5) 0,0,13,1,0,6,0,0,11,1,2,13,1,4,13,1,6,11,1,6,6
	BYTE (5) 0,0,6,1,7,6,0,11,6
FT:	BYTE (5) 0,0,0,1,0,11,1,2,13,1,4,13,1,6,11,1,6,6,1,4,4
	BYTE (5) 0,11,6
FP:	BYTE (5) 0,0,0,1,0,11,1,2,13,1,4,13,1,6,11,1,6,6,0,0,6
	BYTE (5) 1,7,6,0,11,6
FC:	BYTE (5) 0,2,15,1,0,13,1,0,8,1,2,6,1,4,6,1,6,8,0,6,15
	BYTE (5) 1,6,0,0,11,6
FK:	BYTE (5) 0,0,13,1,0,8,1,2,6,1,4,6,1,6,8,0,0,13,1,6,13
	BYTE (5) 1,6,0,0,11,6
FD:	BYTE (5) 0,0,0,1,0,11,1,2,13,1,4,13,1,6,11,1,6,6,1,4,4
	BYTE (5) 0,6,11,1,8,13,1,10,13,1,12,11,1,12,6,1,10,4,0,17,6
FB:	BYTE (5) 0,0,0,1,0,11,1,2,13,1,4,13,1,6,11,1,6,6,0,6,11
	BYTE (5) 1,8,13,1,10,13,1,12,11,1,12,6,0,0,6,1,13,6,0,17,6
FJ:	BYTE (5) 0,2,15,1,0,13,1,0,8,1,2,6,1,4,6,1,6,8,1,6,13
	BYTE (5) 1,8,15,0,6,8,1,8,6,1,10,6,1,12,8,0,12,15,1,12,0
	BYTE (5) 0,17,6
FG:	BYTE (5) 0,0,13,1,0,8,1,2,6,1,4,6,1,6,8,1,6,13,0,6,8
	BYTE (5) 1,8,6,1,10,6,1,12,8,0,0,13,1,12,13,1,12,0,0,17,6
FTH:	BYTE (5) 0,0,21,1,0,6,0,0,11,1,2,13,1,4,13,1,6,11,1,6,6
	BYTE (5) 1,4,4,0,11,6
FF:	BYTE (5) 0,0,21,1,0,6,0,0,11,1,2,13,1,4,13,1,6,11,1,6,6
	BYTE (5) 0,0,6,1,7,6,0,11,6
ALTS:	BYTE (5) 0,4,15,1,0,11,1,0,8,1,2,6,1,4,6,1,6,8,1,6,10
	BYTE (5) 1,4,12,1,3,12,1,2,11,0,11,6
FS:	BYTE (5) 0,4,7,1,3,6,1,2,6,1,0,8,1,0,10,1,2,12,1,4,12
	BYTE (5) 1,6,10,1,6,7,1,2,3,0,11,6
ALTZ:	BYTE (5) 0,4,16,1,0,12,1,0,9,1,2,7,1,4,7,1,6,9,1,6,11
	BYTE (5) 1,4,13,1,3,13,1,2,12,0,2,7,1,0,5,1,0,2,1,2,0
	BYTE (5) 1,4,0,1,6,2,1,6,4,1,4,6,1,3,6,1,2,5,0,11,6
FZ:	BYTE (5) 0,2,0,1,6,4,1,6,7,1,4,9,1,2,9,1,0,7,1,0,5
	BYTE (5) 1,2,3,1,3,3,1,4,4,0,4,9,1,6,11,1,6,14,1,4,16
	BYTE (5) 1,2,16,1,0,14,1,0,12,1,2,10,1,3,10,1,4,11,0,11,6
FU:	BYTE (5) 0,0,16,1,3,19,1,4,19,1,5,18,1,5,17,1,4,16,1,3,16
	BYTE (5) 1,2,17,1,2,18,0,0,6
FO:	BYTE (5) 0,3,18,1,3,17,1,2,16,1,1,16,1,0,17,1,0,18,1,1,19
	BYTE (5) 1,2,19,1,5,16,0,0,6
FI:	BYTE (5) 0,3,16,1,3,18,0,0,6
FE:	BYTE (5) 0,2,16,1,5,19,0,0,6
FA:	BYTE (5) 0,1,16,1,1,18,0,3,18,1,3,20,0,5,16,1,5,18,0,0,6
FOLY:	BYTE (5) 0,2,16,1,2,18,0,4,16,1,4,18,0,0,6
OVBR:	BYTE (5) 0,1,16,1,5,16,0,0,6
OF:	BYTE (5) 0,0,21,1,0,0,0,0,11,1,2,13,1,4,13,1,6,11,1,6,6
	BYTE (5) 0,6,11,1,8,13,1,10,13,1,12,11,1,12,6,0,0,6,1,13,6
	BYTE (5) 0,17,6
OFTHE:	BYTE (5) 0,0,21,1,0,0,0,0,11,1,2,13,1,4,13,1,6,11,1,6,6
	BYTE (5) 0,6,11,1,8,13,1,10,13,1,12,11,1,12,6,0,0,6,1,13,6
	BYTE (5) 0,0,3,1,6,3,0,17,6
THE:	BYTE (5) 0,0,21,1,0,0,0,0,11,1,2,13,1,4,13,1,6,11,1,6,6
	BYTE (5) 1,4,4,0,6,11,1,8,13,1,10,13,1,12,11,1,12,6,1,10,4
	BYTE (5) 0,17,6
SCR:	BYTE (5) 0,7,12,1,2,12,1,0,10,1,0,6,1,2,4,1,7,4,0,12,6
UDOT:	BYTE (5) 0,5,2,1,5,0,0,0,6
LCR:	BYTE (5) 0,5,12,1,5,4,1,2,1,1,0,1,0,11,6
FW:	BYTE (5) 0,0,8,1,2,6,1,4,6,1,6,8,1,6,10,1,4,12,1,2,12
	BYTE (5) 1,0,10,1,0,8,0,11,6
FR:	BYTE (5) 0,0,11,1,5,6,0,4,13,1,6,15,1,8,15,1,10,13,1,10,11
	BYTE (5) 1,2,3,1,2,1,1,3,0,1,5,0,0,15,6
MODR:	BYTE (5) 0,0,11,1,5,6,0,4,13,1,6,15,1,8,15,1,10,13,1,10,11
	BYTE (5) 1,2,3,1,2,1,1,3,0,1,5,0,0,4,8,1,1,5,0,15,6
FH:	BYTE (5) 0,0,15,1,9,6,1,11,6,0,5,10,1,1,6,0,17,6
FY:	BYTE (5) 0,1,12,1,3,12,1,9,6,1,11,6,0,5,10,1,1,6,0,17,6
FL:	BYTE (5) 0,0,11,1,12,11,0,6,11,1,3,8,1,3,4,1,6,1,1,9,1
	BYTE (5) 0,17,6
FX:	BYTE (5) 0,0,11,1,9,11,0,5,11,1,3,9,1,3,7,1,5,5,1,5,3
	BYTE (5) 1,3,1,0,14,6
F11:	BYTE (5) 0,2,15,1,0,13,1,0,8,1,2,6,1,4,6,1,6,8,0,6,15
	BYTE (5) 1,6,6,0,11,6
F12:	BYTE (5) 0,0,13,1,0,8,1,2,6,1,4,6,1,6,8,0,0,13,1,6,13
	BYTE (5)  1,6,6,0,11,6
FN:	BYTE (5) 0,0,13,1,0,6,0,0,11,1,2,13,1,4,13,1,6,11,1,6,6
	BYTE (5) 1,4,4,0,6,11,1,8,13,1,10,13,1,12,11,1,12,6,1,10,4
	BYTE (5) 0,17,6
FM:	BYTE (5) 0,0,13,1,0,6,0,0,11,1,2,13,1,4,13,1,6,11,1,6,6
	BYTE (5) 0,6,11,1,8,13,1,10,13,1,12,11,1,12,6,0,0,6,1,13,6
	BYTE (5) 0,17,6
F7:	BYTE (5) 0,2,15,1,0,13,1,0,8,1,2,6,1,4,6,1,6,8,1,6,13
	BYTE (5) 1,8,15,0,6,8,1,8,6,1,10,6,1,12,8,0,12,15,1,12,6
	BYTE (5) 0,17,6
F8:	BYTE (5) 0,0,13,1,0,8,1,2,6,1,4,6,1,6,8,1,6,13,0,6,8
	BYTE (5) 1,8,6,1,10,6,1,12,8,0,0,13,1,12,13,1,12,6,0,17,6
SP:	BYTE (5) 0,17,6
FHW:	BYTE (5) 0,6,18,1,6,6,0,6,12,1,2,12,1,0,10,1,0,8,1,2,6
	BYTE (5) 1,9,6,0,14,6
FQ:	BYTE (5) 0,0,16,1,2,18,0,2,16,1,2,20,1,3,21,1,4,21,1,5,20
	BYTE (5) 1,5,19,1,4,18,1,3,18,1,2,19,0,0,6
FQA:	BYTE (5) 0,1,16,1,3,18,0,3,16,1,3,20,1,2,21,1,1,21,1,0,20
	BYTE (5) 1,0,19,1,1,18,1,2,18,1,3,19,0,0,6
PRGEND
	TITLE	PLOTC (RUSSIAN CHARACTER SET) %4.(100)
	SUBTTL	BILL WEIHER: STANFORD A-I; 21 OCT 67



;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
;  OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.

;COPYRIGHT (C) 1972,1977 BY DIGITAL EQUIPMENT CORPORATION
ENTRY PLOTC
RADIX 10
T21:	BYTE (5) 1,0,12,1,2,14,1,4,14,1,6,12,1,6,6,0,6,9,1,0,9
	BYTE (5) 0,8,6
T22:	BYTE (5) 1,0,14,1,4,14,0,0,10,1,3,10,1,4,9,1,4,7,1,3,6
	BYTE (5) 1,0,6,0,8,6
T23:	BYTE (5) 1,0,14,1,5,14,1,6,13,1,6,11,1,5,10,1,0,10,0,5,10
	BYTE (5) 1,6,9,1,6,7,1,5,6,1,0,6,0,8,6
T24:	BYTE (5) 1,0,14,1,5,14,1,5,12,0,8,6
T25:	BYTE (5) 1,0,7,1,2,9,1,2,14,1,6,14,1,6,6,1,6,7,1,0,7
	BYTE (5) 0,8,6
T26:	BYTE (5) 1,0,14,1,6,14,0,4,10,1,0,10,0,0,6,1,6,6,0,8,6
T27:	BYTE (5) 1,0,14,1,6,14,0,4,10,1,0,10,0,0,6,1,6,6,0,2,15
	BYTE (5) 1,2,16,0,4,16,1,4,15,0,8,6
T210:	BYTE (5) 1,4,10,1,0,14,0,4,10,1,7,10,1,11,14,0,5,14,1,5,6
	BYTE (5) 0,11,6,1,7,10,0,13,6
T211:	BYTE (5) 0,0,7,1,1,6,1,3,6,1,4,7,1,4,9,1,3,10,1,2,10
	BYTE (5) 1,3,10,1,4,11,1,4,13,1,3,14,1,1,14,1,0,13,0,8,6
T212:	BYTE (5) 0,0,14,1,0,6,1,0,7,1,6,13,1,6,14,1,6,6,0,8,6
T214:	BYTE (5) 0,1,6,1,1,14,0,1,10,1,5,14,0,1,10,1,5,6,0,8,6
T215:	BYTE (5) 1,1,6,1,2,7,1,2,14,1,6,14,1,6,6,0,8,6
T216:	BYTE (5) 1,0,14,1,3,11,1,6,14,1,6,6,0,8,6
T217:	BYTE (5) 1,0,14,0,0,10,1,6,10,0,6,14,1,6,6,0,8,6
T220:	BYTE (5) 0,0,8,1,0,12,1,2,14,1,4,14,1,6,12,1,6,8,1,4,6
	BYTE (5) 1,2,6,1,0,8,0,8,6
T221:	BYTE (5) 1,0,14,1,6,14,1,6,6,0,8,6
T222:	BYTE (5) 1,0,14,1,5,14,1,6,13,1,6,11,1,5,10,1,0,10,0,8,6
T223:	BYTE (5) 0,6,13,1,5,14,1,2,14,1,0,12,1,0,8,1,2,6,1,5,6
	BYTE (5) 1,6,7,0,8,6
T224:	BYTE (5) 0,3,6,1,3,14,0,0,14,1,6,14,0,8,6
T225:	BYTE (5) 0,0,14,1,3,11,1,6,14,0,3,11,1,3,6,0,8,6
T226:	BYTE (5) 0,0,9,1,0,11,1,2,13,1,4,13,1,6,11,1,6,9,1,4,7
	BYTE (5) 1,2,7,1,0,9,0,3,14,1,3,6,0,8,6
T227:	BYTE (5) 1,6,12,0,0,12,1,6,6,0,8,6
T230:	BYTE (5) 0,0,14,1,0,6,1,3,6,1,3,14,0,3,6,1,4,5,0,8,6
T231:	BYTE (5) 0,0,14,1,0,12,1,1,11,1,4,11,0,4,14,1,4,6,0,8,6
T232:	BYTE (5) 0,0,14,1,0,6,1,3,6,1,3,14,0,3,6,1,6,6,1,6,14
	BYTE (5) 0,8,6
T233:	BYTE (5) 0,0,14,1,0,6,1,3,6,1,3,14,0,3,6,1,6,6,1,6,14
	BYTE (5) 0,6,6,1,7,5,0,9,6
T237:	BYTE (5) 0,0,13,1,1,14,1,4,14,1,6,12,1,6,8,1,4,6,1,1,6
	BYTE (5) 1,0,7,0,6,10,1,3,10,0,8,6
T240:	BYTE (5) 1,0,14,0,0,10,1,2,10,1,2,13,1,3,14,1,5,14,1,6,13
	BYTE (5) 1,6,7,1,5,6,1,3,6,1,2,7,1,2,10,0,8,6
T241:	BYTE (5) 0,6,6,1,6,14,1,1,14,1,0,13,1,0,11,1,1,10,1,6,10
	BYTE (5) 0,4,10,1,0,6,0,8,6
T2101:	BYTE (5) 0,0,9,1,1,10,1,3,10,1,4,9,1,4,6,0,4,8,1,3,9
	BYTE (5) 1,1,9,1,0,8,1,0,7,1,1,6,1,3,6,1,4,7,0,8,6
T2102:	BYTE (5) 0,0,8,1,1,9,1,3,9,1,4,8,1,4,7,1,3,6,1,1,6
	BYTE (5) 1,0,7,1,0,10,1,2,12,1,3,12,1,4,11,0,8,6
T2103:	BYTE (5) 1,0,10,1,3,10,1,4,9,1,3,8,1,0,8,0,3,8,1,4,7
	BYTE (5) 1,3,6,1,0,6,0,8,6
T2104:	BYTE (5) 1,0,10,1,3,10,1,3,9,0,8,6
T2105:	BYTE (5) 1,0,7,1,1,8,1,1,10,1,4,10,1,4,6,1,4,7,1,0,7
	BYTE (5) 0,8,6
T2106:	BYTE (5) 0,0,8,1,4,8,1,4,9,1,3,10,1,1,10,1,0,9,1,0,7
	BYTE (5) 1,1,6,1,3,6,1,4,7,0,8,6
T2107:	BYTE (5) 0,0,8,1,4,8,1,4,9,1,3,10,1,1,10,1,0,9,1,0,7
	BYTE (5) 1,1,6,1,3,6,1,4,7,0,1,11,1,1,12,0,3,12,1,3,11
	BYTE (5) 0,8,6
T2110:	BYTE (5) 1,2,8,1,0,10,0,3,10,1,3,6,0,6,6,1,4,8,1,6,10
	BYTE (5) 0,2,8,1,4,8,0,8,6
T2111:	BYTE (5) 0,0,9,1,1,10,1,3,10,1,4,9,1,3,8,1,2,8,0,3,8
	BYTE (5) 1,4,7,1,3,6,1,1,6,1,0,7,0,8,6
T2112:	BYTE (5) 0,0,10,1,0,6,1,4,10,1,4,6,0,8,6
T2113:	BYTE (5) 0,0,10,1,0,6,1,4,10,1,4,6,0,1,12,1,2,11,1,3,12
	BYTE (5) 0,8,6
T2114:	BYTE (5) 1,0,10,0,2,10,1,0,8,1,2,6,0,8,6
T2115:	BYTE (5) 1,1,6,1,2,7,1,2,10,1,4,10,1,4,6,0,8,6
T2116:	BYTE (5) 1,0,10,1,2,8,1,4,10,1,4,6,0,8,6
T2117:	BYTE (5) 1,0,10,0,4,10,1,4,6,0,4,8,1,0,8,0,8,6
T2120:	BYTE (5) 0,0,7,1,0,9,1,1,10,1,3,10,1,4,9,1,4,7,1,3,6
	BYTE (5) 1,1,6,1,0,7,0,8,6
T2121:	BYTE (5) 1,0,10,1,4,10,1,4,6,0,8,6
T2122:	BYTE (5) 1,0,9,1,1,10,1,3,10,1,4,9,1,4,7,1,3,6,1,1,6
	BYTE (5) 1,0,7,1,0,4,0,8,6
T2123:	BYTE (5) 0,4,9,1,3,10,1,1,10,1,0,9,1,0,7,1,1,6,1,3,6
	BYTE (5) 1,4,7,0,8,6
T2124:	BYTE (5) 0,0,10,1,4,10,0,2,10,1,2,6,0,8,6
T2125:	BYTE (5) 0,0,9,1,3,6,0,6,9,1,1,4,1,0,4,0,8,6
T2126:	BYTE (5) 0,0,7,1,0,9,1,1,10,1,3,10,1,4,9,1,4,7,1,3,6
	BYTE (5) 1,1,6,1,0,7,0,2,11,1,2,5,0,8,6
T2127:	BYTE (5) 1,4,10,0,0,10,1,4,6,0,8,6
T2130:	BYTE (5) 0,0,10,1,0,6,1,2,6,1,2,10,0,2,6,1,3,5,0,8,6
T2131:	BYTE (5) 0,0,10,1,0,9,1,1,8,1,3,8,0,3,10,1,3,6,0,8,6
T2132:	BYTE (5) 0,0,10,1,0,6,1,2,6,1,2,10,0,2,6,1,4,6,1,4,10
	BYTE (5) 0,8,6
T2133:	BYTE (5) 0,0,10,1,0,6,1,2,6,1,2,10,0,2,6,1,4,6,1,4,10
	BYTE (5) 0,4,6,1,5,5,0,8,6
T2134:	BYTE (5) 0,0,10,1,0,11,1,2,11,1,2,6,1,3,6,1,4,7,1,4,8
	BYTE (5) 1,3,9,1,2,9,0,8,6
T2135:	BYTE (5) 0,0,11,1,0,6,1,1,6,1,2,7,1,2,8,1,1,9,1,0,9
	BYTE (5) 0,3,6,1,3,11,0,8,6
T2136:	BYTE (5) 0,0,11,1,0,6,1,1,6,1,2,7,1,2,8,1,1,9,1,0,9
	BYTE (5) 0,8,6
T2137:	BYTE (5) 0,0,7,1,1,6,1,3,6,1,4,7,1,4,9,1,3,10,1,1,10
	BYTE (5) 1,0,9,0,4,8,1,2,8,0,8,6
T2140:	BYTE (5) 1,0,10,0,0,8,1,2,8,1,2,9,1,3,10,1,4,9,1,4,7
	BYTE (5) 1,3,6,1,2,7,1,2,8,0,8,6
T2141:	BYTE (5) 0,4,6,1,4,10,1,1,10,1,0,9,1,1,8,1,4,8,0,2,8
	BYTE (5) 1,0,6,0,8,6
T2142:	BYTE (5) 0,8,6
RADIX 8
PLOTC:	XWD 0,0
	XWD 10,T21
	XWD 11,T22
	XWD 14,T23
	XWD 4,T24
	XWD 10,T25
	XWD 7,T26
	XWD 13,T27
	XWD 12,T210
	XWD 16,T211
	XWD 7,T212
	XWD 0,0
	XWD 7,T214
	XWD 6,T215
	XWD 5,T216
	XWD 6,T217
	XWD 12,T220
	XWD 4,T221
	XWD 7,T222
	XWD 11,T223
	XWD 5,T224
	XWD 6,T225
	XWD 14,T226
	XWD 4,T227
	XWD 7,T230
	XWD 7,T231
	XWD 10,T232
	XWD 12,T233
	EXP 0,0,0
	XWD 13,T237
	XWD 15,T240
	XWD 12,T241
	REPEAT 37,<XWD 0,0>
	XWD 16,T2101
	XWD 15,T2102
	XWD 12,T2103
	XWD 4,T2104
	XWD 10,T2105
	XWD 13,T2106
	XWD 17,T2107
	XWD 12,T2110
	XWD 14,T2111
	XWD 5,T2112
	XWD 10,T2113
	XWD 5,T2114
	XWD 6,T2115
	XWD 5,T2116
	XWD 6,T2117
	XWD 12,T2120
	XWD 4,T2121
	XWD 12,T2122
	XWD 11,T2123
	XWD 5,T2124
	XWD 6,T2125
	XWD 14,T2126
	XWD 4,T2127
	XWD 7,T2130
	XWD 7,T2131
	XWD 10,T2132
	XWD 12,T2133
	XWD 12,T2134
	XWD 12,T2135
	XWD 10,T2136
	XWD 13,T2137
	XWD 13,T2140
	XWD 11,T2141
	XWD 1,T2142
	REPEAT 36,<XWD 0,0>
PRGEND
	TITLE	PLOT	%5A(716) PLOT SUBROUTINES
	SUBTTL	D. TODD /DRT/HPW/CLRH/SWG/SJW	14-OCT-77




;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
;  OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.

;COPYRIGHT (C) 1972,1977 BY DIGITAL EQUIPMENT CORPORATION

;REVISION HISTORY
;632	-----	FIX PLOTS TO ACCEPT OPTIONAL 2ND ARG WHICH IS STEP SIZE
;640	-----	ADD F20LIB SWITCH ON STPSIZ IN PLOTS
;716	23432	AUGMENT EDIT 555 TO USE SAME OUTPUT CHANNEL FOR
;		  MULTIPLE CALLS TO PLOTS

;END REVISION HISTORY

;THIS PACKAGE CONTAINS THE PLOT ROUTINES FOR THE XY10 PLOTTER.
;THE CALLING SEQUENCE IS THAT USED BY FORTRAN IV

;THE CALLS ARE:
;	CALL PLOTS (I)
;	CALL PLOT (X,Y,PEN)
;	CALL SYMBOL (X,Y,SIZE,BCD,THETA,NBCD
;	CALL SETABL (TABLE,ANSWER)
;	CALL MKTBL (TABLENUMBER,ADDRESS)
;	CALL WHERE (X,Y)
;	CALL NUMBER (X,Y,SIZE,FPNUM,THETA,FRACTDIGITS)
;
;	X,Y ARE INCHES FROM ORIGIN, FLT PT
;	SIZE IS CHARACTER HEIGHT, FLT PT, SHOULD BE
;	 A MULTIPLE OF .08" IF SMALL
;
;	THETA IS IN DEGREES, FLT PT.
;	PEN IS
;	3 PEN UP
;	2 PEN DOWN
;	1 PEN UNCHANGED
;	-N = N AND THEN CLEAR X,Y AND OUTPUT

;PLOTTER COMMANDS (USING CALCOMP'S AXIS CONVENTIONS)

	PENUP=40
	PENDWN=20
	MVLFT=10	;-X DRUM UP
	MVRT=4		;+X DRUM DOWN
	MVDWN=1		;-Y CARRIAGE RIGHT
	MVUP=2		;+Y CARRIAGE LEFT

;**; [601] BEFORE AC DEFS IN PLOT	CLRH	24-SEP-76
	PDPSIZ==40		;[601] [555] PUSHDOWN STACK SIZE
;ACCUMULATOR DEFINITIONS

;  0	;TEMP USED BY F4LIB
SC=1	;SCALER IN BRM IN PLOT.
TX=2	;TEMP FOR X IN PLOT.
TY=3	;TEMP FOR Y IN PLOT.
;  4	;CLOBBERED IN PLOT. BY IDIV
CHAR=5	;CHARACTER IN SYMBOL
STROKE=6	;STROKE BYTE POINTER
SCT=7	;STROKE COUNT
XO=10	;ORIGIN OF CHAR IN SYMBOL
YO=11	;ORIGIN OF CHAR IN SYMBOL
TP=12	;BYTE POINTER TO TEXT
TDX=13	;TEMP FOR DAT FOR X IN PLOT.
TDY=14	;TEMP FOR DAT FOR Y IN PLOT.
DAT=15	;ARGUMENT FOR PLT1,TEMP IN SYMBOL
Q=16	;JSA AC
P=17	;PUSHDOWN POINTER

ENTRY PLOTS
SEARCH	FORPRM

	HELLO	(PLOTS)
;**; [555] CHANGE @ PLOTS + 3	CLRH	14-JUN-76
;**; [716] @PLOTS + 3  SJW  14-OCT-77
	DMOVEM	0,SV0		;[716][555] SAVE REGISTERS
	SKIPE	PCHN		;[716] IS PLOTTER ALREADY OPEN ?
	  JRST	PLOTS4		;[716] YES: USE IT AND NOT ANOTHER ONE
	PUSH	P,Q		;[555]
	MOVEI	Q,PLOTS1	;[555] GET ALCHN. PARAMETER BLOCK
	PUSHJ	P,ALCHN.##	;[555] GET A CHANNEL
	POP	P,Q		;[555] RESTORE Q
	JUMPL	0,FOOP		;[555] NO CHANNEL
	LSH	0,5		;[555] MOVE CHANNEL TO CORRECT BITS
	HRLZM	0,PCHN		;[555] AND STORE
	MOVE	1,PCHN		;[555] GET CHANNEL
	TLO	1,(OPEN)	;[555] MAKE OPEN
	HRRI	1,PLOTS3	;[555] GET ARG BLOCK ADDRESS
	XCT	1		;[555] DO OPEN
	JRST	FOOP		;ERROR RETURN
	HLLZS	PFNAM+1
	SETZM	PFNAM+2
	SETZM	PFNAM+3
;**; [555] CHANGE @ PLOTS + 12	CLRH	14-JUN-76
	MOVE	1,PCHN		;[555] GET CHANNEL
	TLO	1,(ENTER)	;[555] MAKE ENTER
	HRRI	1,PFNAM		;[555] GET ENTER ARGS
	XCT	1		;[555] DO THE ENTER
	JRST	FOOP		;CANT ENTER FILE
	SETOM	PEN		;MARK PEN DOWN TO FORCE RAISE
;**; [555] CHANGE @ PLOTS + 15	CLRH	14-JUN-76
	MOVE	1,PCHN		;[555] CHANNEL
	TLO	1,(OUTBUF)	;[555] MAKE OUTBUF
	HRRI	1,2		;[555] PUT IN NUMBER OF BUFFERS
	XCT	1		;[555] DO OUTBUF
	MOVSI	0,600		;IMPROVE PACKING
	HLLM	0,POB+1		;BY CHANGING BYTE SIZE
;**; [716] @PLOTS + 32L  SJW  14-OCT-77
PLOTS4:	MOVE	0,SV0		;[716] RESTORE AC
	SETZM	@0(Q)		;MARK SUCCESS
;**; [632] INSERT AT PLOTS +33	SWG	17-DEC-76
IFN F40LIB <
	TLNN	Q,-1		;[632] F40 CALL?
	JRST	F10C		;[632] NO F10 CALL
	MOVE	T1,1(Q)		;[632] GET 2ND ARG ADDR
	TLC	T1,(<JUMP>)	;[632] IS THE OPCODE OF
	TLNN	T1,777000	;[632] 2ND ARG A JUMP?
	JRST	STPST		;[632] GO CHANGE STEPSIZE
	JRST	RONE		;[632] NO ONLY ONE ARG
>				;[632]
F10C:	HLRE	T1,-1(Q)	;[632] GET ARG COUNT
	MOVNS	T1		;[632] NEGATE IT
	CAIG	T1,1		;[632] MORE THAN ONE ARG?
	JRST	RONE		;[632] NO - CONTINUE AS USUAL
STPST:	MOVE	T1,@1(Q)	;[632] GET SECOND ARG = STEPSIZE
	MOVEM	T1,STPSIZ	;[632] SET STEPSIZE
RONE:	MOVE	1,SV0+1		;[632] RESTORE REG 1
	FUNCT	PLOT,<X,Y,[-3]>	;LIFT PEN
	GOODBY	(1)
;**; [555] INSERT BEFORE FOOP		CLRH	14-JUN-76
	-1,,0			;[555] ALCHN. ARG BLOCK COUNT
PLOTS1:	0,,PLOTS2		;[555] ALCHN. ARG BLOCK
PLOTS2:	0			;[555] ALLOCATE ANY AVAILABLE CHANNEL
PCHN:	0			;[555] STORAGE FOR CHANNEL NUMBER
PLOTS3:	13			;[555] OPEN BLOCK; IMAGE BINARY MODE
	SIXBIT	/PLT/		;[555] PLOTTER
	XWD	POB,0		;[555] OUT HEADER IS  AT POB

FOOP:	SETOM	@0(Q)		;ERROR INDICATION
;**; [555] INSERT@ FOOP + 1/2		CLRH	14-JUN-76
;**; [716] @FOOP + 1  SJW  14-OCT-77
	SETZM	PCHN		;[716] CLEAR CHANNEL NUMBER IF THERE
	DMOVE	0,SV0		;[716][555] RESTORE REGISTERS
	GOODBY	(1)		;RETURN

PFNAM:	SIXBIT	/DATA/		;FILE NAME FOR PLOT FILE
	SIXBIT	/PLT/
	0
	0
	ENTRY	PLOT

	HELLO	(PLOT)		;ENTRY TO PLOT
	MOVEM 17,SV17
	MOVEI 17,ARGS-1
	PUSH 17,@0(Q)	;SVX
	PUSH 17,@1(Q)	;SVY
	PUSH 17,@2(Q)	;SVPEN
	MOVEI 17,SV0
	BLT 17,SV0+16	;SAVE AC'S
	MOVE P,PPDP	;PLOT PUSHDOWN POINTER
	PUSHJ P,PLOT.	;DO WORK
	MOVSI 17,SV0
	BLT 17,17
	GOODBY	(3)	;RETURN TO CALLER

;**; [555] CHANGE @ PLT1	CLRH	14-JUN-76
PLT2:	PUSH	P,1		;[555] GET REGISTER
	MOVE	1,PCHN		;[555] GET CHANNEL NUMBER
	TLO	1,(OUTPUT)	;[555] MAKE OUTPUT UUO
	XCT	1		;[555] DO OUTPUT
	POP	P,1		;[555] RESTORE REGISTER
PLT1:	SOSGE	POB+2		;[555] ROOM IN BUFFER ?
	JRST	PLT2		;[555]  NO,  SO OUTPUT IT
	IDPB	DAT,POB+1
	POPJ	P,0

	ENTRY	PLOT.
PLOT.:
PENCK:	MOVM TX,SVPEN
	CAIG TX,1
	JRST PENOK
	SUBI TX,3
	CAMN TX,PEN
	JRST PENOK
	MOVEI DAT,PENUP
	SKIPGE TX
	MOVEI DAT,PENDWN
	PUSHJ P,PLT1
	MOVEM TX,PEN
PENOK:	MOVE TX,SVX
	FMPR TX,STPSIZ
	FADR TX,[DEC 0.5]
	SKIPGE	SVX
	FSBR	TX,[DEC 1.0]
	FUNCT	INT.,<TX>	; [516]
	MOVEM 0,ISX
	MOVE TX,0
	MOVE TY,SVY
	FMPR TY,STPSIZ
	FADR TY,[DEC 0.5]
	SKIPGE	SVY
	FSBR	TY,[DEC 1.0]
	FUNCT	INT.,<TY>	; [516]
	MOVEM 0,ISY
	MOVE TY,0
	SUB TX,IX
	MOVEI TDX,MVLFT
	SKIPL TX
	MOVEI TDX,MVRT
	SUB TY,IY
	MOVEI TDY,MVDWN
	SKIPL TY
	MOVEI TDY,MVUP
	MOVMS TX
	MOVMS TY
	CAMG TY,TX
	JRST NOSWAP
	EXCH TX,TY
	EXCH TDX,TDY
NOSWAP:	JUMPE TX,ENDOU1	;NO MOTION
	JUMPE TY,NORM
	MOVEI SC,0
NY:	TLNE TY,200000
	JRST NX
	LSH TY,1
	TRO TY,1
	AOJA SC,NY
NX:	SUBI SC,^D34
MKSC:	IDIV TY,TX
	MOVNS SC
	LSH TY,0(SC)
NORM:	MOVEM TY,STEP
	MOVEI TY,0
	IOR TDY,TDX
INLOOP:	ADD TY,STEP
	MOVE DAT,TDX
	TLZE TY,200000
	MOVE DAT,TDY
	PUSHJ P,PLT1
	SOJG TX,INLOOP

	MOVE TY,ISX
	MOVEM TY,IX
	MOVE TY,SVX
	MOVEM TY,X
	MOVE TY,ISY
	MOVEM TY,IY
	MOVE TY,SVY
	MOVEM TY,Y
ENDOU1:	SKIPL SVPEN
	JRST ENDOUT
;**;  [555] CHANGE @ ENDOU1 + 2	CLRH	14-JUN-76
	PUSH	P,1		;[555] SAVE 1
	MOVE	1,PCHN		;[555]  GET CHANNEL
	TLO	1,(OUTPUT)	;[555] MAKE OUTPUT
	XCT	1		;[555]  DO OUTPUT
	POP	P,1		;[555] RESTORE 1
	SETZM X
	SETZM Y
	SETZM IX
	SETZM IY
ENDOUT:	SETZM SVPEN
	POPJ P,0
	ENTRY SYMBOL
	HELLO	(SYMBOL)
	MOVEM	17,SV17
	MOVEI	17,SV0		;[221] LOCATE AC SAVE BLOCK
	BLT	17,SV0+16	;[221] SAVE AC'S
	MOVEI	17,ARGS-1	;[221] LOCATE ARG AREA
	PUSH	17,@0(Q)	;[221] SET SVX
	PUSH	17,@1(Q)	;[221] SET SVY
	MOVEI	17,SVSZ-1	;[221] LOCATE ARG AREA
	PUSH	17,@2(Q)	;[221] SET SVSZ
	MOVEI	@3(Q)		;[221] LOAD TEXT ADDRESS
	PUSH	17,0		;[221] SET SVTXT
	PUSH	17,@4(Q)	;[221] SET SVOR
	PUSH	17,@5(Q)	;[221] SET SVNTXT
	MOVE P,PPDP
	FUNCT	COSD.,<SVOR>	; [516]
	MOVEM 0,COSOR
	FUNCT	SIND.,<SVOR>	; [516]
	MOVEM 0,SINOR
	MOVEI TX,3
	MOVEM TX,SVPEN	;PEN UP
	PUSHJ P,PLOT.	;MOVE TO X,Y SUPPLIED
	SKIPG SVSZ
	JRST ENDTXT	;SIZE MUST BE >0
	MOVE TP,SVTXT
	HRLI TP,440700	;POINTER TO ASCII
LP1:	SOSGE SVNTXT
	JRST ENDTXT
	ILDB CHAR,TP	;GET TEXT CHAR
	MOVSI STROKE,440500	;SET UP FOR SYM STROKES

;FOLLOWING TWO LOCATIONS ARE MODIFIED TO GET DIFFERENT
;CHARACTER SETS.
T1M:	HRR STROKE,TBL1(CHAR)
T2M:	HLRZ SCT,TBL1(CHAR)	;NUMBER OF STROKES
	JUMPE SCT,LP1	;UNDEFINED CHAR
	MOVE XO,X
	MOVE YO,Y	;ORIGIN OF THE CHARACTER
OUT1:	ILDB TX,STROKE	;1 FOR MARK, 0 FOR BLANK
	MOVNS TX
	ADDI TX,3
	MOVEM TX,SVPEN
	ILDB TX,STROKE
	ILDB TY,STROKE
	SUBI TY,6	;OFFSET FOR VERTICAL
	FSC TX,230	;FLOAT AND DIVIDE BY 8
	FSC TY,230	;"
	FMPR TX,SVSZ
	FMPR TY,SVSZ
	MOVE DAT,TX
	FMPR DAT,COSOR
	MOVN 0,TY
	FMPR 0,SINOR
	FADR 0,DAT
	FADR 0,XO
	MOVEM 0,SVX
	MOVE DAT,TY
	FMPR DAT,COSOR
	MOVE 0,TX
	FMPR 0,SINOR
	FADR 0,DAT
	FADR 0,YO
	MOVEM 0,SVY
	PUSHJ P,PLOT.
	SOJG SCT,OUT1
	JRST LP1

ENDTXT:	MOVSI 17,SV0
	BLT 17,17	;RESTORE AC'S
	GOODBY	(6)		;RETURN TO CALLER
;FORMAT OF CHARACTER TABLE IS: LEFT HALF, NUMBER OF LINE
;SEGMENTS IN CHARACTER. RIGHT HALF, ADDRESS OF BYTE TABLE
;DESCRIBING SEGMENTS
TBL1:	;THIS IS VERY LONG, SO XLIST
XLIST
	XWD 0,0		;CHARACTER TABLE
	XWD 6,T11
	XWD 11,T12
	XWD 17,T13
	XWD 4,T14
	XWD 4,T15
	XWD 13,T16
	XWD 7,T17
	XWD 5,T110
	XWD 13,T111
	XWD 15,T112
	XWD 11,T113
	XWD 7,T114
	XWD 16,T115
	XWD 14,T116
	XWD 14,T117
	XWD 7,T120
	XWD 7,T121
	XWD 7,T122
	XWD 7,T123
	XWD 6,T124
	XWD 6,T125
	XWD 15,T126
	XWD 11,T127
	XWD 3,T130
	XWD 6,T131
	XWD 4,T132
	XWD 6,T133
	XWD 5,T134
	XWD 5,T135
	XWD 7,T136
	XWD 4,T137
	XWD 1,T140
	XWD 5,T141
	XWD 5,T142
	XWD 11,T143
	XWD 17,T144
	XWD 23,T145
	XWD 14,T146
	XWD 3,T147
	XWD 5,T150
	XWD 4,T151
	XWD 11,T152
	XWD 5,T153
	XWD 7,T154
	XWD 3,T155
	XWD 6,T156
	XWD 2,T157
	XWD 14,T160
	XWD 4,T161
	XWD 12,T162
	XWD 14,T163
	XWD 5,T164
	XWD 13,T165
	XWD 13,T166
	XWD 4,T167
	XWD 21,T170
	XWD 13,T171
	XWD 13,T172
	XWD 14,T173
	XWD 4,T174
	XWD 5,T175
	XWD 4,T176
	XWD 12,T177
	XWD 23,T1100
	XWD 5,T1101
	XWD 14,T1102
	XWD 11,T1103
	XWD 7,T1104
	XWD 7,T1105
	XWD 5,T1106
	XWD 13,T1107
	XWD 6,T1110
	XWD 7,T1111
	XWD 10,T1112
	XWD 7,T1113
	XWD 4,T1114
	XWD 5,T1115
	XWD 4,T1116
	XWD 12,T1117
	XWD 7,T1120
	XWD 14,T1121
	XWD 11,T1122
	XWD 13,T1123
	XWD 5,T1124
	XWD 7,T1125
	XWD 4,T1126
	XWD 6,T1127
	XWD 4,T1130
	XWD 6,T1131
	XWD 5,T1132
	XWD 5,T1133
	XWD 3,T1134
	XWD 5,T1135
	XWD 6,T1136
	XWD 6,T1137
	XWD 3,T1140
	XWD 16,T1141
	XWD 12,T1142
	XWD 11,T1143
	XWD 14,T1144
	XWD 13,T1145
	XWD 10,T1146
	XWD 16,T1147
	XWD 7,T1150
	XWD 7,T1151
	XWD 7,T1152
	XWD 6,T1153
	XWD 3,T1154
	XWD 14,T1155
	XWD 7,T1156
	XWD 12,T1157
	XWD 13,T1160
	XWD 13,T1161
	XWD 6,T1162
	XWD 13,T1163
	XWD 10,T1164
	XWD 10,T1165
	XWD 4,T1166
	XWD 6,T1167
	XWD 4,T1170
	XWD 6,T1171
	XWD 5,T1172
	XWD 10,T1173
	XWD 3,T1174
	XWD 10,T1175
	XWD 5,T1176
	XWD 4,T1177
RADIX 10
;FORMAT OF BYTE TABLE: BYTE COME IN TRIPLES. FIRST IS
;0 FOR PEN UP, 1 PEN DOWN. SECOND IS X COORDINATE OF OTHER
;END OF SEGMENT. THIRD IS SAME FOR Y. CHARACTER ASSUMED
;TO START AT (0,6)
T11:	BYTE (5) 0,0,9,1,3,6,1,3,14,0,3,6,1,6,9,0,8,6
T12:	BYTE (5) 0,6,6,1,3,9,1,1,9,1,0,8,1,0,7,1,1,6,1,3,6
	BYTE (5) 1,6,9,0,8,6
T13:	BYTE (5) 1,2,8,1,2,13,1,3,14,1,5,14,1,6,13,1,6,12,1,5,11
	BYTE (5) 1,2,11,0,5,11,1,6,10,1,6,9,1,5,8,1,3,8,1,2,9
	BYTE (5) 0,8,6
T14:	BYTE (5) 0,0,8,1,3,11,1,6,8,0,8,6
T15:	BYTE (5) 0,1,10,1,5,10,1,5,8,0,8,6
T16:	BYTE (5) 0,3,9,1,2,10,1,1,10,1,0,9,1,0,7,1,1,6,1,2,6
	BYTE (5) 1,3,7,0,2,8,1,0,8,0,8,6
T17:	BYTE (5) 0,0,10,1,6,10,0,4,10,1,4,6,0,2,6,1,2,10,0,8,6
T110:	BYTE (5) 1,3,9,0,0,11,1,1,11,1,6,6,0,8,6
T111:	BYTE (5) 0,0,11,1,1,12,1,2,12,1,5,9,1,5,7,1,4,6,1,3,6
	BYTE (5) 1,2,7,1,2,8,1,6,12,0,8,6
T112:	BYTE (5) 0,2,10,1,1,10,1,0,9,1,0,7,1,1,6,1,3,6,1,4,7
	BYTE (5) 1,4,9,1,3,10,1,2,10,1,2,12,1,4,12,0,8,6
T113:	BYTE (5) 0,0,7,1,1,6,1,2,6,1,3,7,1,3,12,1,4,13,1,5,13
	BYTE (5) 1,6,12,0,8,6
T114:	BYTE (5) 0,0,9,1,4,9,0,2,11,1,2,7,0,0,7,1,4,7,0,8,6
T115:	BYTE (5) 0,0,8,1,0,7,1,1,6,1,3,6,1,4,7,1,4,9,1,3,10
	BYTE (5) 1,1,10,1,0,9,1,0,8,1,4,8,0,2,10,1,2,6,0,8,6
T116:	BYTE (5) 0,0,10,1,1,9,1,2,9,1,4,11,1,5,11,1,6,10,1,5,9
	BYTE (5) 1,4,9,1,2,11,1,1,11,1,0,10,0,8,6
T117:	BYTE (5) 0,4,8,1,3,9,1,1,9,1,0,8,1,0,7,1,1,6,1,3,6
	BYTE (5) 1,4,7,1,4,10,1,2,12,1,1,12,0,8,6
T120:	BYTE (5) 0,3,11,1,1,11,1,0,10,1,0,8,1,1,7,1,3,7,0,8,6
T121:	BYTE (5) 0,0,11,1,2,11,1,3,10,1,3,8,1,2,7,1,0,7,0,8,6
T122:	BYTE (5) 0,0,10,1,0,8,1,1,7,1,3,7,1,4,8,1,4,10,0,8,6
T123:	BYTE (5) 0,0,7,1,0,9,1,1,10,1,3,10,1,4,9,1,4,7,0,8,6
T124:	BYTE (5) 0,0,14,1,3,6,1,6,14,0,1,11,1,5,11,0,8,6
T125:	BYTE (5) 1,6,6,1,6,14,1,0,14,0,2,10,1,6,10,0,8,6
T126:	BYTE (5) 1,4,10,0,0,10,1,4,6,0,3,6,1,1,6,1,0,7,1,0,9
	BYTE (5) 1,1,10,1,3,10,1,4,9,1,4,7,1,3,6,0,8,6
T127:	BYTE (5) 0,2,8,1,0,10,1,2,12,0,0,10,1,6,10,0,4,12,1,6,10
	BYTE (5) 1,4,8,0,8,6
T130:	BYTE (5) 0,0,5,1,4,5,0,0,6
T131:	BYTE (5) 0,0,10,1,6,10,0,3,13,1,6,10,1,3,7,0,8,6
T132:	BYTE (5) 0,2,16,1,3,17,1,4,16,0,0,6
T133:	BYTE (5) 1,6,12,0,0,10,1,6,10,0,0,8,1,6,8,0,8,6
T134:	BYTE (5) 1,3,6,0,3,7,1,0,10,1,3,13,0,8,6
T135:	BYTE (5) 1,3,6,0,0,7,1,3,10,1,0,13,0,8,6
T136:	BYTE (5) 0,0,7,1,6,7,0,6,9,1,0,9,0,0,11,1,6,11,0,8,6
T137:	BYTE (5) 0,0,11,1,3,8,1,6,11,0,8,6
T140:	BYTE (5) 0,8,6
T141:	BYTE (5) 0,2,6,1,2,7,0,2,8,1,2,13,0,8,6
T142:	BYTE (5) 0,2,12,1,2,14,0,4,14,1,4,12,0,8,6
T143:	BYTE (5) 0,2,7,1,2,13,0,4,13,1,4,7,0,6,9,1,0,9,0,0,11
	BYTE (5) 1,6,11,0,8,6
T144:	BYTE (5) 0,0,8,1,2,6,1,4,6,1,6,8,1,4,10,1,2,10,1,0,12
	BYTE (5) 1,2,14,1,4,14,1,6,12,0,4,14,1,4,6,0,2,6,1,2,14
	BYTE (5) 0,8,6
T145:	BYTE (5) 1,6,12,1,1,12,1,0,11,1,0,10,1,1,9,1,2,9,1,3,10
	BYTE (5) 1,3,11,1,2,12,0,4,9,1,3,8,1,3,7,1,4,6,1,5,6
	BYTE (5) 1,6,7,1,6,8,1,5,9,1,4,9,0,8,6
T146:	BYTE (5) 0,6,6,1,1,11,1,1,13,1,2,14,1,3,14,1,4,13,1,0,9
	BYTE (5) 1,0,7,1,1,6,1,3,6,1,5,8,0,8,6
T147:	BYTE (5) 0,2,12,1,4,14,0,8,6
T150:	BYTE (5) 0,2,6,1,0,8,1,0,12,1,2,14,0,8,6
T151:	BYTE (5) 1,2,8,1,2,12,1,0,14,0,8,6
T152:	BYTE (5) 0,0,8,1,4,12,0,2,12,1,2,8,0,4,8,1,0,12,0,0,10
	BYTE (5) 1,4,10,0,8,6
T153:	BYTE (5) 0,2,7,1,2,11,0,0,9,1,4,9,0,8,6
T154:	BYTE (5) 0,3,6,1,3,7,1,2,7,1,2,6,1,3,6,1,2,5,0,8,6
T155:	BYTE (5) 0,0,9,1,4,9,0,8,6
T156:	BYTE (5) 0,2,6,1,3,6,1,3,7,1,2,7,1,2,6,0,8,6
T157:	BYTE (5) 1,6,12,0,8,6
T160:	BYTE (5) 0,0,7,1,6,13,0,6,12,1,4,14,1,2,14,1,0,12,1,0,8
	BYTE (5) 1,2,6,1,4,6,1,6,8,1,6,12,0,8,6
T161:	BYTE (5) 0,1,12,1,3,14,1,3,6,0,8,6
T162:	BYTE (5) 0,0,12,1,0,13,1,1,14,1,5,14,1,6,13,1,6,11,1,0,7
	BYTE (5) 1,0,6,1,6,6,0,8,6
T163:	BYTE (5) 0,0,13,1,1,14,1,5,14,1,6,13,1,6,12,1,4,10,1,6,8
	BYTE (5) 1,6,7,1,5,6,1,1,6,1,0,7,0,8,6
T164:	BYTE (5) 0,5,6,1,5,14,1,0,9,1,6,9,0,8,6
T165:	BYTE (5) 0,0,7,1,1,6,1,4,6,1,6,8,1,6,9,1,5,10,1,1,10
	BYTE (5) 1,0,9,1,0,14,1,6,14,0,8,6
T166:	BYTE (5) 0,0,9,1,1,10,1,5,10,1,6,9,1,6,7,1,5,6,1,1,6
	BYTE (5) 1,0,7,1,0,10,1,4,14,0,8,6
T167:	BYTE (5) 0,0,14,1,6,14,1,1,6,0,8,6
T170:	BYTE (5) 0,1,10,1,0,9,1,0,7,1,1,6,1,5,6,1,6,7,1,6,9
	BYTE (5) 1,5,10,1,6,11,1,6,13,1,5,14,1,1,14,1,0,13,1,0,11
	BYTE (5) 1,1,10,1,5,10,0,8,6
T171:	BYTE (5) 0,2,6,1,6,10,1,6,13,1,5,14,1,1,14,1,0,13,1,0,11
	BYTE (5) 1,1,10,1,5,10,1,6,11,0,8,6
T172:	BYTE (5) 0,2,6,1,3,6,1,3,7,1,2,7,1,2,6,0,2,10,1,3,10
	BYTE (5) 1,3,11,1,2,11,1,2,10,0,8,6
T173:	BYTE (5) 0,3,6,1,3,7,1,2,7,1,2,6,1,3,6,1,2,5,0,2,10
	BYTE (5) 1,3,10,1,3,11,1,2,11,1,2,10,0,8,6
T174:	BYTE (5) 0,3,7,1,0,10,1,3,13,0,8,6
T175:	BYTE (5) 0,0,8,1,6,8,0,6,10,1,0,10,0,8,6
T176:	BYTE (5) 0,0,7,1,3,10,1,0,13,0,8,6
T177:	BYTE (5) 0,1,13,1,2,14,1,4,14,1,5,13,1,5,12,1,3,10,1,3,8
	BYTE (5) 0,3,7,1,3,6,0,8,6
T1100:	BYTE (5) 0,1,6,1,0,7,1,0,11,1,1,12,1,5,12,1,6,11,1,6,8
	BYTE (5) 1,5,7,1,4,8,1,4,11,0,4,10,1,3,11,1,2,11,1,1,10
	BYTE (5) 1,1,9,1,2,8,1,3,8,1,4,9,0,8,6
T1101:	BYTE (5) 1,3,14,1,6,6,0,1,9,1,5,9,0,8,6
T1102:	BYTE (5) 1,0,14,1,5,14,1,6,13,1,6,11,1,5,10,1,0,10,0,5,10
	BYTE (5) 1,6,9,1,6,7,1,5,6,1,0,6,0,8,6
T1103:	BYTE (5) 0,6,13,1,5,14,1,2,14,1,0,12,1,0,8,1,2,6,1,5,6
	BYTE (5) 1,6,7,0,8,6
T1104:	BYTE (5) 1,0,14,1,4,14,1,6,12,1,6,8,1,4,6,1,0,6,0,8,6
T1105:	BYTE (5) 1,0,14,1,6,14,0,4,10,1,0,10,0,0,6,1,6,6,0,8,6
T1106:	BYTE (5) 1,0,14,1,6,14,0,4,10,1,0,10,0,8,6
T1107:	BYTE (5) 0,6,13,1,5,14,1,2,14,1,0,12,1,0,8,1,2,6,1,4,6
	BYTE (5) 1,6,8,1,6,10,1,4,10,0,8,6
T1110:	BYTE (5) 1,0,14,0,6,14,1,6,6,0,0,10,1,6,10,0,8,6
T1111:	BYTE (5) 0,1,6,1,5,6,0,3,6,1,3,14,0,1,14,1,5,14,0,8,6
T1112:	BYTE (5) 0,1,7,1,2,6,1,3,6,1,4,7,1,4,14,0,2,14,1,6,14
	BYTE (5) 0,8,6
T1113:	BYTE (5) 0,1,6,1,1,14,0,1,10,1,5,14,0,1,10,1,5,6,0,8,6
T1114:	BYTE (5) 1,0,14,0,0,6,1,6,6,0,8,6
T1115:	BYTE (5) 1,0,14,1,3,11,1,6,14,1,6,6,0,8,6
T1116:	BYTE (5) 1,0,14,1,6,6,1,6,14,0,8,6
T111