	SUBROUTINE CSM8
C	PRINT CONTROLLER
	INTEGER OU
	REAL IPLOT(101)
	DIMENSION C(76)
	COMMON REALS(395),INTS(547)
	EQUIVALENCE (INTS(386),KEY7),(INTS(388),KEY9)
	EQUIVALENCE (INTS(535),K1),(INTS(536),K2)
	EQUIVALENCE (INTS(537),K3),(INTS(538),K4)
	EQUIVALENCE (INTS(539),NK)
	EQUIVALENCE (REALS(2),C(1)),(REALS(77),T)
	EQUIVALENCE (REALS(392),VDEL),(REALS(394),VMIN)
	DATA FBLANK,FDASH,FI,FPLUS/1H ,1H-,1HI,1H+/
	IF (KEY7.EQ.1) GO TO 140
	IF (KEY9.EQ.1) GO TO 70
C	TELEPRINTER PLOTTING
	N=0.5+50.0*(C(K1)-VMIN)/VDEL
	IF (N.LE.0) GO TO 20
	IF (N.GT.49) N=49
C	DASHES TO LEFT OF PLOTTED POINT
	DO 10 I=2,N
10	IPLOT(I)=FDASH
	GO TO 30
20	N=0
C	INDICATE PLOTTED POINT BY PLUS SIGN
30	IPLOT(N+1)=FPLUS
	N=N+2
	IF (N.GT.50) GO TO 50
C	BLANKS TO RIGHT OF PLOTTED POINT
	DO 40 I=N,50
40	IPLOT(I)=FBLANK
C	INDICATE MARGINS BY LETTER I
50	IPLOT(1)=FI
	IPLOT(51)=FI
	WRITE(4,60) T,C(K1),(IPLOT(I),I=1,51)
60	FORMAT(1H ,G10.3,G11.4,51A1)
	RETURN
C	LINE PRINTER PLOTTING
70	N=0.5+100.0*(C(K1)-VMIN)/VDEL
	IF (N.LE.0) GO TO 90
	IF (N.GT.99) N=99
C	DASHES TO LEFT OF PLOTTED POINT
	DO 80 I=2,N
80	IPLOT(I)=FDASH
	GO TO 100
90	N=0
C	INDICATE PLOTTED POINT BY PLUS SIGN
100	IPLOT(N+1)=FPLUS
	N=N+2
	IF (N.GT.100) GO TO 120
C	BLANKS TO RIGHT OF PLOTTED POINT
	DO 110 I=N,100
110	IPLOT(I)=FBLANK
C	INDICATE MARGINS BY LETTER I
120	IPLOT(1)=FI
	IPLOT(101)=FI
	WRITE(8,130) T,C(K1),(IPLOT(I),I=1,101)
C	FOLLOWING FORMAT STATEMENT IS NOT VERY GOOD - SEE FORMAT 60
130	FORMAT(1H ,G8.2,G9.2,1X,101A1)
	RETURN
C	PRINT ONLY
140	OU=4
	IF (KEY9.EQ.1) OU=8
	IPLOT(1)=C(K1)
	IPLOT(2)=C(K2)
	IPLOT(3)=C(K3)
	IPLOT(4)=C(K4)
	WRITE(OU,150) T,(IPLOT(I),I=1,NK)
150	FORMAT(1H ,G11.5,4G13.6)
	RETURN
	END
