[unix-pc.sources] gnuplot.shar.01

jdc@naucse.UUCP (John Campbell) (09/04/89)

#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of archive 1 (of 7)."
# Contents:  . ./1.dat ./2.dat ./3.dat ./3b1.dem ./aed.trm
#   ./bitgraph.trm ./compile.com ./controls.dem ./corplot.c ./docs
#   ./docs/Makefile ./docs/README ./docs/intro ./docs/titlepage
#   ./gnuplot.1 ./header.mac ./help ./help/append.c ./help/catch.c
#   ./help/format_help.c ./help/free_list.c ./help/help.c
#   ./help/initialize.c ./help/insert.c ./help/link.otc ./help/main.c
#   ./help/makefile.tc ./help/makefile.unx ./help/pchar.c
#   ./help/present.c ./hp26.trm ./hp75.trm ./lineproc.mac ./link.com
#   ./link.opt ./link.otc ./make.msc ./makefile.tc ./polar.dem
#   ./qms.trm ./readme.tc ./selanar.trm ./shar ./simple.dem ./tek.trm
#   ./unixplot.trm ./v384.trm ./version.c
# Wrapped by jdc@naucse on Mon Sep  4 09:22:28 1989
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f './1.dat' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./1.dat'\"
else
echo shar: Extracting \"'./1.dat'\" \(781 characters\)
sed "s/^X//" >'./1.dat' <<'END_OF_FILE'
X-20.000000 -3.041676
X-19.000000 -3.036427
X-18.000000 -3.030596
X-17.000000 -3.024081
X-16.000000 -3.016755
X-15.000000 -3.008456
X-14.000000 -2.998978
X-13.000000 -2.988049
X-12.000000 -2.975310
X-11.000000 -2.960273
X-10.000000 -2.942255
X-9.000000 -2.920278
X-8.000000 -2.892883
X-7.000000 -2.857799
X-6.000000 -2.811295
X-5.000000 -2.746802
X-4.000000 -2.651635
X-3.000000 -2.498092
X-2.000000 -2.214297
X-1.000000 -1.570796
X0.000000 0.000000
X1.000000 1.570796
X2.000000 2.214297
X3.000000 2.498092
X4.000000 2.651635
X5.000000 2.746802
X6.000000 2.811295
X7.000000 2.857799
X8.000000 2.892883
X9.000000 2.920278
X10.000000 2.942255
X11.000000 2.960273
X12.000000 2.975310
X13.000000 2.988049
X14.000000 2.998978
X15.000000 3.008456
X16.000000 3.016755
X17.000000 3.024081
X18.000000 3.030596
X19.000000 3.036427
END_OF_FILE
if test 781 -ne `wc -c <'./1.dat'`; then
    echo shar: \"'./1.dat'\" unpacked with wrong size!
fi
# end of './1.dat'
fi
if test -f './2.dat' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./2.dat'\"
else
echo shar: Extracting \"'./2.dat'\" \(781 characters\)
sed "s/^X//" >'./2.dat' <<'END_OF_FILE'
X-20.000000 -6.083352
X-19.000000 -6.072853
X-18.000000 -6.061191
X-17.000000 -6.048162
X-16.000000 -6.033510
X-15.000000 -6.016913
X-14.000000 -5.997955
X-13.000000 -5.976098
X-12.000000 -5.950620
X-11.000000 -5.920546
X-10.000000 -5.884511
X-9.000000 -5.840556
X-8.000000 -5.785765
X-7.000000 -5.715597
X-6.000000 -5.622591
X-5.000000 -5.493603
X-4.000000 -5.303271
X-3.000000 -4.996183
X-2.000000 -4.428595
X-1.000000 -3.141593
X0.000000 0.000000
X1.000000 3.141593
X2.000000 4.428595
X3.000000 4.996183
X4.000000 5.303271
X5.000000 5.493603
X6.000000 5.622591
X7.000000 5.715597
X8.000000 5.785765
X9.000000 5.840556
X10.000000 5.884511
X11.000000 5.920546
X12.000000 5.950620
X13.000000 5.976098
X14.000000 5.997955
X15.000000 6.016913
X16.000000 6.033510
X17.000000 6.048162
X18.000000 6.061191
X19.000000 6.072853
END_OF_FILE
if test 781 -ne `wc -c <'./2.dat'`; then
    echo shar: \"'./2.dat'\" unpacked with wrong size!
fi
# end of './2.dat'
fi
if test -f './3.dat' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./3.dat'\"
else
echo shar: Extracting \"'./3.dat'\" \(781 characters\)
sed "s/^X//" >'./3.dat' <<'END_OF_FILE'
X-20.000000 -9.125028
X-19.000000 -9.109280
X-18.000000 -9.091787
X-17.000000 -9.072243
X-16.000000 -9.050265
X-15.000000 -9.025369
X-14.000000 -8.996933
X-13.000000 -8.964147
X-12.000000 -8.925931
X-11.000000 -8.880819
X-10.000000 -8.826766
X-9.000000 -8.760835
X-8.000000 -8.678648
X-7.000000 -8.573396
X-6.000000 -8.433886
X-5.000000 -8.240405
X-4.000000 -7.954906
X-3.000000 -7.494275
X-2.000000 -6.642892
X-1.000000 -4.712389
X0.000000 0.000000
X1.000000 4.712389
X2.000000 6.642892
X3.000000 7.494275
X4.000000 7.954906
X5.000000 8.240405
X6.000000 8.433886
X7.000000 8.573396
X8.000000 8.678648
X9.000000 8.760835
X10.000000 8.826766
X11.000000 8.880819
X12.000000 8.925931
X13.000000 8.964147
X14.000000 8.996933
X15.000000 9.025369
X16.000000 9.050265
X17.000000 9.072243
X18.000000 9.091787
X19.000000 9.109280
END_OF_FILE
if test 781 -ne `wc -c <'./3.dat'`; then
    echo shar: \"'./3.dat'\" unpacked with wrong size!
fi
# end of './3.dat'
fi
if test -f './3b1.dem' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./3b1.dem'\"
else
echo shar: Extracting \"'./3b1.dem'\" \(493 characters\)
sed "s/^X//" >'./3b1.dem' <<'END_OF_FILE'
Xset yrange [-40:40]
Xset samples 8
Xplot -20,-18,-16,-14,-4,-6,-8,-10
Xset yrange [-1.4:1.4]
Xset xrange [-3*pi:3*pi]
Xset samples 90
Xplot sin(x),sin(x+1),sin(x+2),sin(x+3)
Xset yrange [-3:3]
Xplot sin(x)**2+cos(x)**2,sin(x)**2,cos(x)**2
Xplot cos(x), 3*exp(-x**2.0/3.0), -1/cos(x)**2
Xnormal(x) = 1/sqrt(2*pi)*exp(-x**2/(2*pi))
Xset autoscale
Xplot normal(x)
Xset samples 360
Xset yrange [-.2:.5]
Xset function style impulse
Xreplot
Xset xrange [-10:10]
Xset autoscale
Xset function style line
Xset samples 160
END_OF_FILE
if test 493 -ne `wc -c <'./3b1.dem'`; then
    echo shar: \"'./3b1.dem'\" unpacked with wrong size!
fi
# end of './3b1.dem'
fi
if test -f './aed.trm' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./aed.trm'\"
else
echo shar: Extracting \"'./aed.trm'\" \(1946 characters\)
sed "s/^X//" >'./aed.trm' <<'END_OF_FILE'
X#define AED_XMAX 768
X#define AED_YMAX 575
X
X#define AED_XLAST (AED_XMAX - 1)
X#define AED_YLAST (AED_YMAX - 1)
X
X#define AED_VCHAR	13
X#define AED_HCHAR	8
X#define AED_VTIC	8
X#define AED_HTIC	7
X
X/* slightly different for AED 512 */
X#define AED5_XMAX 512
X#define AED5_XLAST (AED5_XMAX - 1)
X
XAED_init()
X{
X	fprintf(outfile,
X	"\033SEN3DDDN.SEC.7.SCT.0.1.80.80.90.SBC.0.AAV2.MOV.0.9.CHR.0.FFD");
X/*   2            3     4                5     7    6       1
X	1. Clear Screen
X	2. Set Encoding
X	3. Set Default Color
X	4. Set Backround Color Table Entry
X	5. Set Backround Color
X	6. Move to Bottom Lefthand Corner
X	7. Anti-Alias Vectors
X*/
X}
X
X
XAED_graphics()
X{
X	fprintf(outfile,"\033FFD\033");
X}
X
X
XAED_text()
X{
X	fprintf(outfile,"\033MOV.0.9.SEC.7.XXX");
X}
X
X
X
XAED_linetype(linetype)
Xint linetype;
X{
Xstatic int color[2+9] = { 7, 1, 6, 2, 3, 5, 1, 6, 2, 3, 5 };
Xstatic int type[2+9] = { 85, 85, 255, 255, 255, 255, 255, 85, 85, 85, 85 };
X
X	if (linetype >= 10)
X		linetype %= 10;
X	fprintf(outfile,"\033SLS%d.255.",type[linetype+2]);
X	fprintf(outfile,"\033SEC%d.",color[linetype+2]);
X}
X
X
X
XAED_move(x,y)
Xint x,y;
X{
X	fprintf(outfile,"\033MOV%d.%d.",x,y);
X}
X
X
XAED_vector(x,y)
Xint x,y;
X{
X	fprintf(outfile,"\033DVA%d.%d.",x,y);
X}
X
X
XAED_lrput_text(row,str) /* write text to screen while still in graphics mode */
Xint row;
Xchar str[];
X{
X	AED_move(AED_XMAX-((strlen(str)+2)*AED_HCHAR),AED_VTIC+AED_VCHAR*(row+1));
X	fprintf(outfile,"\033XXX%s\033",str);
X}
X
X
XAED5_lrput_text(row,str) /* same, but for AED 512 */
Xint row;
Xchar str[];
X{
X	AED_move(AED5_XMAX-((strlen(str)+2)*AED_HCHAR),AED_VTIC+AED_VCHAR*(row+1));
X	fprintf(outfile,"\033XXX%s\033",str);
X}
X
X
XAED_ulput_text(row,str) /* write text to screen while still in graphics mode */
Xint row;
Xchar str[];
X{
X	AED_move(AED_HTIC*2,AED_YMAX-AED_VTIC-AED_VCHAR*(row+1));
X	fprintf(outfile,"\033XXX%s\033",str);
X}
X
X
X#define hxt (AED_HTIC/2)
X#define hyt (AED_VTIC/2)
X
XAED_reset()
X{
X	fprintf(outfile,"\033SCT0.1.0.0.0.SBC.0.FFD");
X}
X
X
END_OF_FILE
if test 1946 -ne `wc -c <'./aed.trm'`; then
    echo shar: \"'./aed.trm'\" unpacked with wrong size!
fi
# end of './aed.trm'
fi
if test -f './bitgraph.trm' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./bitgraph.trm'\"
else
echo shar: Extracting \"'./bitgraph.trm'\" \(1025 characters\)
sed "s/^X//" >'./bitgraph.trm' <<'END_OF_FILE'
X/* thanks to dukecdu!evs (Ed Simpson) for the BBN BitGraph driver */
X#define BG_XMAX			 	768 /* width of plot area */
X#define BG_YMAX			 	768 /* height of plot area */
X#define BG_SCREEN_HEIGHT	1024 /* full screen height */
X
X#define BG_XLAST	 (BG_XMAX - 1)
X#define BG_YLAST	 (BG_YMAX - 1)
X
X#define BG_VCHAR	16
X#define BG_HCHAR	 9
X#define BG_VTIC		 8
X#define BG_HTIC		 8	
X
X
X#define BG_init TEK40init
X
X#define BG_graphics TEK40graphics
X
X
X#define BG_linetype TEK40linetype
X
X#define BG_move TEK40move
X
X#define BG_vector TEK40vector
X
X
XBG_text()
X{
X	BG_move(0, BG_SCREEN_HEIGHT - 2 * BG_VCHAR);
X	fprintf(outfile,"\037");
X/*                   1
X	1. into alphanumerics
X*/
X}
X
X
XBG_lrput_text(row,str)
Xunsigned int row;
Xchar str[];
X{
X	BG_move(BG_XMAX - BG_HTIC - BG_HCHAR*(strlen(str)+1),
X		BG_VTIC + BG_VCHAR*(row+1));
X	fprintf(outfile,"\037%s\n",str);
X}
X
X
XBG_ulput_text(row,str)
Xunsigned int row;
Xchar str[];
X{
X	BG_move(BG_HTIC, BG_YMAX - BG_VTIC - BG_VCHAR*(row+1));
X	fprintf(outfile,"\037%s\n",str);
X}
X
X
X#define BG_reset TEK40reset
X
X
END_OF_FILE
if test 1025 -ne `wc -c <'./bitgraph.trm'`; then
    echo shar: \"'./bitgraph.trm'\" unpacked with wrong size!
fi
# end of './bitgraph.trm'
fi
if test -f './compile.com' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./compile.com'\"
else
echo shar: Extracting \"'./compile.com'\" \(567 characters\)
sed "s/^X//" >'./compile.com' <<'END_OF_FILE'
X$! make sure you SET TERM/NOWRAP before running GNUPLOT!
X$ CFLAGS = "NOTHING"
X$ TERMFLAGS = "AED,HP26,HP75,POSTSCRIPT,QMS,REGIS,TEK,V384,HPLJET"
X$ set verify
X$ cc/define=('CFLAGS') command.c
X$ cc/define=('CFLAGS') eval.c
X$ cc/define=('CFLAGS') graphics.c
X$ cc/define=('CFLAGS') internal.c
X$ cc/define=('CFLAGS') misc.c
X$ cc/define=('CFLAGS') parse.c
X$ cc/define=('CFLAGS') plot.c
X$ cc/define=('CFLAGS') scanner.c
X$ cc/define=('CFLAGS') standard.c
X$ cc/define=('CFLAGS','TERMFLAGS') term.c
X$ cc/define=('CFLAGS') util.c
X$ cc/define=('CFLAGS') version.c
X$ set noverify
END_OF_FILE
if test 567 -ne `wc -c <'./compile.com'`; then
    echo shar: \"'./compile.com'\" unpacked with wrong size!
fi
# end of './compile.com'
fi
if test -f './controls.dem' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./controls.dem'\"
else
echo shar: Extracting \"'./controls.dem'\" \(598 characters\)
sed "s/^X//" >'./controls.dem' <<'END_OF_FILE'
X#
X# warning:  this demo is SLOW on PCs without math coprocessors!
X#
X# From _Automatic_Control_Systems_, fourth ed., figure 6-14
X# transient response of a second-order system to a unit step input function
X#
Xdamp(t) = exp(-s*wn*t)/sqrt(1.0-s*s)
Xper(t) = sin(wn*sqrt(1.0-s**2)*t - atan(-sqrt(1.0-s**2)/s))
Xc(t) = 1-damp(t)*per(t)
X#
X#	wn is natural undamped frequency
X#	s is damping factor
X#
Xwn = 1.0
Xset xrange [0:13]
Xset samples 50
Xset dummy t
X#
X# plot c(t) for several different damping factors s
X#
Xplot s=.1,c(t),s=.3,c(t),s=.5,c(t),s=.7,c(t),s=.9,c(t),s=1.0,c(t),s=1.5,c(t),s=2.0,c(t)
Xset dummy x
END_OF_FILE
if test 598 -ne `wc -c <'./controls.dem'`; then
    echo shar: \"'./controls.dem'\" unpacked with wrong size!
fi
# end of './controls.dem'
fi
if test -f './corplot.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./corplot.c'\"
else
echo shar: Extracting \"'./corplot.c'\" \(839 characters\)
sed "s/^X//" >'./corplot.c' <<'END_OF_FILE'
X#include <stdio.h>
X#include <process.h>
X#include <dos.h>
X
X#define BOUNDARY 32768
X#define segment(addr) (FP_SEG(m) + ((FP_OFF(m)+15) >> 4));
X#define round(value,boundary) (((value) + (boundary) - 1) & ~((boundary) - 1))
X
Xchar *malloc(),*realloc();
X
Xchar prog[] = "gnuplot";
Xchar corscreen[] = "CORSCREEN=0";
X
Xmain()
X{
Xregister unsigned int segm,start;
Xchar *m;
X	if (!(m = malloc(BOUNDARY))) {
X		printf("malloc() failed\n");
X		exit(1);
X	}
X	segm = segment(m);
X	start = round(segm,BOUNDARY/16);
X
X	if (realloc(m,BOUNDARY+(start-segm)*16) != m) {
X		printf("can't realloc() memory\n");
X		exit(2);
X	}
X
X	if ((segm = start >> 11) >= 8) {
X		printf("not enough room in first 256K\n");
X		exit(3);
X	}
X
X	corscreen[sizeof(corscreen)-2] = '0' + segm;
X	if (putenv(corscreen))
X		perror("putenv");
X
X	if (spawnlp(P_WAIT,prog,prog,NULL))
X		perror("spawnlp");
X}
END_OF_FILE
if test 839 -ne `wc -c <'./corplot.c'`; then
    echo shar: \"'./corplot.c'\" unpacked with wrong size!
fi
# end of './corplot.c'
fi
if test ! -d './docs' ; then
    echo shar: Creating directory \"'./docs'\"
    mkdir './docs'
fi
if test -f './docs/Makefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./docs/Makefile'\"
else
echo shar: Extracting \"'./docs/Makefile'\" \(618 characters\)
sed "s/^X//" >'./docs/Makefile' <<'END_OF_FILE'
X# Makefile for GNUPLOT documentation
X#
X# troff a copy of gnuplot -ms if you've got a laser printer
X# otherwise, just print gnuplot.nroff on a line printer
X#
XHELPDIR = /usr/local/help/gnuplot
X
Xgnuplot.ms: hlp2ms gnuplot.hlp
X	./hlp2ms < gnuplot.hlp > gnuplot.ms
X
Xhelptree: helptree.c
X	cc -o helptree helptree.c
X
Xhlp2ms: hlp2ms.c
X	cc -o hlp2ms hlp2ms.c
X
Xclean:
X	rm -f gnuplot.ms gnuplot.hold hlp2ms helptree
X
X# Dependencies are hard (for me) so just rebuild everthing out of help tree
X# (This assumes help tree is more recent than gnuplot.hlp)
X
Xhlp:
X	- mv gnuplot.hlp gnuplot.hold
X	./helptree -f $(HELPDIR) > gnuplot.hlp
END_OF_FILE
if test 618 -ne `wc -c <'./docs/Makefile'`; then
    echo shar: \"'./docs/Makefile'\" unpacked with wrong size!
fi
# end of './docs/Makefile'
fi
if test -f './docs/README' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./docs/README'\"
else
echo shar: Extracting \"'./docs/README'\" \(1796 characters\)
sed "s/^X//" >'./docs/README' <<'END_OF_FILE'
X---------Documentation README file------------
XFor those of you not making documentation changes or installing
Xthe help system just print out gnuplot.doc and ignore the remaining 
Xinformation.
X
XThe documentation for gnuplot is intended to be maintained either
Xby directly updating help files in the help tree or by updating a
Xmaster .hlp file.  (The intent is to leave it up to the individual
Xto choose how to maintain the documentation.)  The master .hlp file
X(gnuplot.hlp) is a representation of the directory help tree.  The
Xprogram helptree.c will either convert a help tree into a flat file
Xor take such a flat file and put it back into a help tree.  The help
Xtree format is used on unix and MSDOS machines in conjunction with
Xthe standalone ``help'' program to provide the gnuplot help facility.
XThe flat file gnuplot.hlp is used on VMS machines to provide the
Xgnuplot help facility (using VMS help routines).
X
XUnix and MSDOS machines still need the gnuplot.hlp file, even though 
Xit is not used directly in the help system.  For one thing, flat 
Xfiles are easier to move to another machine.  For another, the file 
Xgnuplot.doc (a printable manual) can be built out of gnuplot.hlp as 
Xfollows:
X
Xhlp2ms <gnuplot.hlp >gnuplot.ms 
Xnroff -ms gnuplot.ms |col -h >gnuplot.doc
X
XTo build a help system on unix for gnuplot first build Roland Stolfa's
Xhelp program and install it in /usr/local/bin.  Gnuplot looks for either
X/usr/local/bin/help or the environment symbol GNUHELP--if it is not
Xpossible to install help in /usr/local/bin.  Stolfa's help system assumes
Xa help tree under /usr/local/help or a directory pointed to by the 
Xenvironment symbol HELPDIR.  The gnuplot help tree can be created out of 
Xgnuplot.hlp using the following command:
X
Xhelptree -t /usr/local/help/gnuplot <gnuplot.hlp
END_OF_FILE
if test 1796 -ne `wc -c <'./docs/README'`; then
    echo shar: \"'./docs/README'\" unpacked with wrong size!
fi
# end of './docs/README'
fi
if test -f './docs/intro' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./docs/intro'\"
else
echo shar: Extracting \"'./docs/intro'\" \(24 characters\)
sed "s/^X//" >'./docs/intro' <<'END_OF_FILE'
X
X.B
X.ce
XINTRODUCTION
X.R
END_OF_FILE
if test 24 -ne `wc -c <'./docs/intro'`; then
    echo shar: \"'./docs/intro'\" unpacked with wrong size!
fi
# end of './docs/intro'
fi
if test -f './docs/titlepage' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./docs/titlepage'\"
else
echo shar: Extracting \"'./docs/titlepage'\" \(216 characters\)
sed "s/^X//" >'./docs/titlepage' <<'END_OF_FILE'
X.nr HM 3.2i
X.TL
XGNUPLOT
X.br
XAn Interactive Plotting Program
X.sp
X.AU
XThomas Williams & Colin Kelley
X.AI
XDepartment of Electrical Engineering 
XVillanova University
XVillanova, PA  19085
X\*(DY
X.AB no
X.AE
X.LP
X.nr HM 1.2i
END_OF_FILE
if test 216 -ne `wc -c <'./docs/titlepage'`; then
    echo shar: \"'./docs/titlepage'\" unpacked with wrong size!
fi
# end of './docs/titlepage'
fi
if test -f './gnuplot.1' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./gnuplot.1'\"
else
echo shar: Extracting \"'./gnuplot.1'\" \(1896 characters\)
sed "s/^X//" >'./gnuplot.1' <<'END_OF_FILE'
X.\" dummy line
X.TH GNUPLOT 1 "28 January 1987"
X.UC 4
X.SH NAME
Xgnuplot \- an interactive plotting program
X.SH SYNOPSIS
X.B gnuplot
X.br
X.SH DESCRIPTION
X.I Gnuplot 
Xis a command-driven interactive function plotting program.
XHere are some of its features:
X.PP
XPlots any number of functions, built up of C operators, C library
Xfunctions, and some things C doesn't have like **, sgn(), etc.  Also
Xsupport for plotting data files, to compare actual
Xdata to theoretical curves.
X.PP
XUser-defined X and Y ranges (optional Y auto-ranging), smart Y scaling,
Xsmart tic marks.
X.PP
XUser-defined constants and functions.
X.PP
XSupport through a generalized graphics driver for
XAED 767,
XBBN BitGraph,
XHP2623,
XHP75xx,
XPOSTSCRIPT,
XQMS QUIC
XReGis (VT125 and VT2xx),
XSelanar,
XTek 401x,
XVectrix 384,
Xand unixplot.  The PC version
Xsupports IBM CGA & EGA, Hercules, ATT 6300,
Xand Corona 325 graphics.  Other devices can be added
Xsimply, but will require recompiling.
X.PP
XShell escapes and command line substitution.
X.PP
XLoad and save capability.
X.PP
XOutput redirection.
X.PP
XAll computations performed in the complex domain.  Just the real part is
Xplotted by default, but functions like imag() and abs() and arg() are
Xavailable to override this.
X.SH AUTHORS
XThomas Williams and Colin Kelley, Villanova University.
X.br
X(vu-vlsi!plot.UUCP)
X.SH BUGS
XThe unixplot library does not provide for sending unixplot output to
Xa file.  As a result, unixplot output cannot be sent to a file with the
X.I Gnuplot
X\&'set output' command; instead, standard output must be redirected
Xto this file from the Unix command line.  For example:
X.IP
X\ \ \ \ \ \ \ 
X.I % gnuplot > unixplot.out
X.br
X\ \ \ \ \ \ \ \ gnuplot>
X.I set term unxiplot
X.br
X\ \ \ \ \ \ \ \ gnuplot>
X.I plot sin(x)
X.PP
XThe atan() function does not work correctly for complex arguments.
X.SH SEE ALSO
XSee the printed manual or the on-line help for details on specific commands.
END_OF_FILE
if test 1896 -ne `wc -c <'./gnuplot.1'`; then
    echo shar: \"'./gnuplot.1'\" unpacked with wrong size!
fi
# end of './gnuplot.1'
fi
if test -f './header.mac' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./header.mac'\"
else
echo shar: Extracting \"'./header.mac'\" \(920 characters\)
sed "s/^X//" >'./header.mac' <<'END_OF_FILE'
Xif1
XCOMPACT	equ 1			; define your memory model here
X
Xifdef	SMALL
X	; default, so do nothing
X	else
X
Xifdef	MEDIUM
X	LARGE_CODE equ 1
X	else
X
Xifdef	COMPACT
X	LARGE_DATA equ 1
X	else
X
Xifdef	LARGE
X	LARGE_DATA equ 1
X	LARGE_CODE equ 1
X
Xelse
X	%out No memory model defined--assuming SMALL
X
Xendif	; LARGE
Xendif	; COMPACT
Xendif	; MEDIUM
Xendif	; SMALL
X
X
Xbeginproc macro procname
X
Xifdef	LARGE_CODE
X	procname proc far
Xelse
X	procname proc near
Xendif	; LARGE_CODE
X
X	endm	; beginproc
X
X
Xendif	; if1
X
X
X_TEXT	SEGMENT	BYTE PUBLIC 'CODE'
X_TEXT	ENDS
X_DATA	SEGMENT WORD PUBLIC 'DATA'
X_DATA	ENDS
XCONST	SEGMENT WORD PUBLIC 'CONST'
XCONST	ENDS
X_BSS	SEGMENT WORD PUBLIC 'BSS'
X_BSS	ENDS
X
XDGROUP	GROUP	CONST, _BSS, _DATA
X	assume cs:_text, ds:dgroup, ss:dgroup, es:dgroup
X
X; define X as the offset of first argument on stack frame
X
Xifdef LARGE_CODE
X	X	equ 6			; return offset and segment + old BP
Xelse
X	X	equ 4			; return offset + old BP
Xendif	; LARGE_CODE
END_OF_FILE
if test 920 -ne `wc -c <'./header.mac'`; then
    echo shar: \"'./header.mac'\" unpacked with wrong size!
fi
# end of './header.mac'
fi
if test ! -d './help' ; then
    echo shar: Creating directory \"'./help'\"
    mkdir './help'
fi
if test -f './help/append.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./help/append.c'\"
else
echo shar: Extracting \"'./help/append.c'\" \(1008 characters\)
sed "s/^X//" >'./help/append.c' <<'END_OF_FILE'
X/*
X * Program	: help
X * Module	: append.c
X * Programmer	: R. Stolfa
X *
X * Purpose :	To append a basename and help topic to the
X *		specified list
X *
X * Modification History:
X *   08/27/87	Created
X *   08/31/87	Changed exit on default to be a call to "catch()"
X *	-	Streamlined the building of nodes
X */
X
X#include	"global.h"
X
Xappend (cmd, basename, subject, command)
Xint	cmd;
Xchar	*basename,
X	*subject,
X	*command;
X{
X	struct	LIST	*new;
X
X	if ((strlen (basename) == 0) ||
X	    (strlen (subject) == 0) ||
X	    (cmd < 0) || (cmd >= 3))
X		/*
X		 * Bad invocation of "append()"
X		 */
X		return;
X
X	/*
X	 * Build the basic LIST structure for the new
X	 * entry
X	 */
X	new = (struct LIST *)
X		malloc (sizeof (struct LIST));
X  if(new==NULL){
X     fprintf(stderr,"Can't malloc %d bytes\n",sizeof (struct LIST));
X     exit(1);
X  }
X	strcpy (new->base, basename);
X	strcpy (new->topic, subject);
X	strcpy (new->cmd, command);
X
X	/*
X	 * Append the new element onto the correct list
X	 */
X	new->prev = _list[cmd];
X	_list[cmd] = new;
X}
END_OF_FILE
if test 1008 -ne `wc -c <'./help/append.c'`; then
    echo shar: \"'./help/append.c'\" unpacked with wrong size!
fi
# end of './help/append.c'
fi
if test -f './help/catch.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./help/catch.c'\"
else
echo shar: Extracting \"'./help/catch.c'\" \(460 characters\)
sed "s/^X//" >'./help/catch.c' <<'END_OF_FILE'
X/*
X * Program	: help
X * Module	: catch.c
X * Programmer	: R. Stolfa
X *
X * Purpose :	To handle all user signals.
X *
X * Modification History:
X *   08/31/87	Created
X */
X
X#include	"global.h"
X
X#ifdef __TURBOC__
X  void catch()
X#else
X  int	catch()
X#endif
X{
X	/*
X	 * Free the in memory lists to keep user memory from
X	 * growing.
X	 */
X	free_list (PRINT);
X	free_list (ACRON);
X	free_list (TOPIC);
X
X	/*
X	 * ...Neat up the screen and exit
X	 */
X	putchar ('\n');
X	exit (0);
X}
END_OF_FILE
if test 460 -ne `wc -c <'./help/catch.c'`; then
    echo shar: \"'./help/catch.c'\" unpacked with wrong size!
fi
# end of './help/catch.c'
fi
if test -f './help/format_help.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./help/format_help.c'\"
else
echo shar: Extracting \"'./help/format_help.c'\" \(884 characters\)
sed "s/^X//" >'./help/format_help.c' <<'END_OF_FILE'
X/*
X * Program	: help
X * Module	: format_help.c
X * Programmer	: R. Stolfa
X *
X * Purpose :	To format the list of available help topics in a
X *		neat and readable format
X *
X * Modification History:
X *   08/26/87	Created
X *   09/02/87	Fixed for more than one line of text (oops!),
X *		streamlined.
X */
X
X#include	"global.h"
X
Xformat_help ()
X{
X	struct	LIST	*p;		/* temporary LIST pointer */
X	register	int	cur_col;
X
X	/*
X	 * Screen columns go from 0 to 79
X	 */
X	cur_col = 0;
X
X	pchar ('\n');
X	for (p = prt_list; p != NULL; p = p->prev) {
X		/*
X		 * If the addition of the current topic to the screen
X		 * will cause there to be wraparound, skip to the next
X		 * line.
X		 */
X		cur_col = (cur_col + 8) -
X			  ((cur_col + 8) % 8) +
X			  strlen(p->topic);
X		if (cur_col > 79)  {
X			cur_col = strlen(p->topic) + 8;
X			pchar ('\n');
X		}
X		printf ("\t%s", p->topic);
X	}
X	pchar ('\n');
X	pchar ('\n');
X}
END_OF_FILE
if test 884 -ne `wc -c <'./help/format_help.c'`; then
    echo shar: \"'./help/format_help.c'\" unpacked with wrong size!
fi
# end of './help/format_help.c'
fi
if test -f './help/free_list.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./help/free_list.c'\"
else
echo shar: Extracting \"'./help/free_list.c'\" \(634 characters\)
sed "s/^X//" >'./help/free_list.c' <<'END_OF_FILE'
X/*
X * Program	: help
X * Module	: free_list.c
X * Programmer	: R. Stolfa
X *
X * Purpose :	To return to system memory a list of LIST structures
X *
X * Modification History:
X *   08/27/87	Created
X *   08/31/87	Changed default exit to be a call to "catch()"
X */
X
X#include	"global.h"
X
Xfree_list (type)
Xint	type;
X{
X	struct	LIST	*q;
X
X	/*
X	 * Check for valid type
X	 */
X	if ((type < 0) || (type >= 3)) {
X		printf ("free_list:  error in type parameter %d\n", type);
X		catch ();
X		/* NOT REACHED */
X	}
X
X	/*
X	 * Clear the header
X	 */
X	q = _list[type];
X	_list[type] = NULL;
X
X	/*
X	 * Clear the list
X	 */
X	for ( ; q != NULL; q = q->prev)
X		free (q);
X}
END_OF_FILE
if test 634 -ne `wc -c <'./help/free_list.c'`; then
    echo shar: \"'./help/free_list.c'\" unpacked with wrong size!
fi
# end of './help/free_list.c'
fi
if test -f './help/help.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./help/help.c'\"
else
echo shar: Extracting \"'./help/help.c'\" \(749 characters\)
sed "s/^X//" >'./help/help.c' <<'END_OF_FILE'
X/*
X * Program	: help
X * Module	: help.c
X * Programmer	: R. Stolfa
X *
X * Purpose :	To more the current "HELPFILE" to the screen.
X *
X * Modification History:
X *   08/27/87	Created
X *   09/02/87	Added ("Q"|"q") commands
X */
X
X#include	"global.h"
X
Xhelp ()
X{
X	FILE	*fd;		/* help text file */
X	int	c;		/* temp */
X
X	gen_path (HELPFILE);
X
X	if ((fd = fopen (Path, "r")) == NULL) {
X		printf ("There is no help text on this subject\n");
X		return;
X	}
X
X	/*
X	 * Note what help subject we are looking at
X	 */
X	if (strlen (cur_path) != 0) {
X		present ("TOPIC: ", " ");
X		pchar ('\n');
X	}
X
X	/*
X	 * Reset the number of lines displayed, and output
X	 * the new help file text.
X	 */
X	while ((c = getc (fd)) != EOF)
X		pchar(c);
X
X	fclose (fd);
X
X	pchar ('\n');
X	lines ++;
X}
END_OF_FILE
if test 749 -ne `wc -c <'./help/help.c'`; then
    echo shar: \"'./help/help.c'\" unpacked with wrong size!
fi
# end of './help/help.c'
fi
if test -f './help/initialize.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./help/initialize.c'\"
else
echo shar: Extracting \"'./help/initialize.c'\" \(433 characters\)
sed "s/^X//" >'./help/initialize.c' <<'END_OF_FILE'
X/*
X * Program	: help
X * Module	: initialize.c
X * Programmer	: R. Stolfa
X *
X * Purpose :	To initialize all global data structures
X *
X * Modification History:
X *   08/31/87	Created
X */
X
X#include	"global.h"
X
Xinitialize()
X{
X	int	i;
X
X	/*
X	 * Catch all signals that might not free up memory....
X	 */
X	signal (SIGINT, catch);
X	signal (SIGTERM, catch);
X
X	Path[0] = '\0';
X	cur_path[0] = '\0';
X
X	for (i = 0; i < 3 ; i ++)
X		_list[i] = NULL;
X}
END_OF_FILE
if test 433 -ne `wc -c <'./help/initialize.c'`; then
    echo shar: \"'./help/initialize.c'\" unpacked with wrong size!
fi
# end of './help/initialize.c'
fi
if test -f './help/insert.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./help/insert.c'\"
else
echo shar: Extracting \"'./help/insert.c'\" \(1087 characters\)
sed "s/^X//" >'./help/insert.c' <<'END_OF_FILE'
X/*
X * Program	: help
X * Module	: insert.c
X * Programmer	: R. Stolfa
X *
X * Purpose :	To uniquely insert a basename and help topic to the
X *		specified list
X *
X * Modification History:
X *   07/13/88	Created
X */
X
X#include	"global.h"
X
Xinsert (cmd, basename, subject, command)
Xint	cmd;
Xchar	*basename,
X	*subject,
X	*command;
X{
X	struct	LIST	*new, *p;
X
X	if ((strlen (basename) == 0) ||
X	    (strlen (subject) == 0) ||
X	    (cmd < 0) || (cmd >= 3))
X		/*
X		 * Bad invocation of "insert()"
X		 */
X		return;
X
X	/*
X	 * Build the basic LIST structure for the new
X	 * entry
X	 */
X	new = (struct LIST *)
X		malloc (sizeof (struct LIST));
X	strcpy (new->base, basename);
X	strcpy (new->topic, subject);
X	strcpy (new->cmd, command);
X
X	/*
X	 * Prepend the new element onto the correct list
X	 */
X	p = _list[cmd];
X	new->prev = _list[cmd];
X
X	/*
X	 * Check for uniqueness
X	 */
X	for (; p != NULL; p = p->prev) {
X		if (strcmp (new->base, p->base) == 0) {
X			free (new);
X			return;
X			/* NOT REACHED */
X		}
X	}
X
X	/*
X	 * If we get to here, we have a new item.  Fix the master
X	 * pointer & go on.
X	 */
X	_list[cmd] = new;
X}
END_OF_FILE
if test 1087 -ne `wc -c <'./help/insert.c'`; then
    echo shar: \"'./help/insert.c'\" unpacked with wrong size!
fi
# end of './help/insert.c'
fi
if test -f './help/link.otc' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./help/link.otc'\"
else
echo shar: Extracting \"'./help/link.otc'\" \(159 characters\)
sed "s/^X//" >'./help/link.otc' <<'END_OF_FILE'
X\tc\lib\C0l main append catch format_h free_lis help insert initiali input_ch pchar present scan_top,help,help, \tc\lib\emu \tc\lib\mathl \tc\lib\cl 
X        
END_OF_FILE
if test 159 -ne `wc -c <'./help/link.otc'`; then
    echo shar: \"'./help/link.otc'\" unpacked with wrong size!
fi
# end of './help/link.otc'
fi
if test -f './help/main.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./help/main.c'\"
else
echo shar: Extracting \"'./help/main.c'\" \(1359 characters\)
sed "s/^X//" >'./help/main.c' <<'END_OF_FILE'
X/*
X * Program	: help
X * Module	: main.c
X * Programmer	: R. Stolfa
X *
X * Purpose :	To support a VMS-like help facility
X *
X * Modification History:
X *   08/26/87	Created
X *   07/13/88	Fixed end-of-program detection to work correctly
X */
X
X#define		MAIN
X#include	"global.h"
X
Xmain (argc, argv)
Xint	argc;
Xchar	*argv[];
X{
X	int	done;
X    char *helpdir, *getenv();
X
X        --argc; ++argv;
X
X        if ((helpdir = getenv ("HELPDIR")) == NULL)
X           strcpy(Root_Dir, ROOTDIR);
X        else
X           strcpy (Root_Dir, helpdir);
X
X        if (argc >= 2 && strcmp(*argv,"-r") == 0) {	/* Absolute directory */
X           strcpy(Root_Dir, *++argv);
X           ++argv;
X           argc += 2;
X        }
X				
X        while (argc--) {		/* Construct relative root directory */
X           strcat(Root_Dir,"/");
X           strcat(Root_Dir, *argv);
X           ++argv;
X        }
X
X	initialize();
X	done = FALSE;
X
X	while (done != TRUE) {
X		/*
X		 * Free memory to keep user memory from growing
X		 */
X		free_list (PRINT);
X		free_list (ACRON);
X		free_list (TOPIC);
X
X		/*
X		 * If we are recursing out of the help tree,
X		 * do not print the help stuff...
X		 */
X		lines = 0;
X		if (done != UP)
X			help();
X		scan_topics ();
X		if (done != UP)
X			format_help ();
X		done = input_choice ();
X
X		if ((done == UP) && (strcmp (Path, Root_Dir) == 0))
X			done = TRUE;
X	}
X	printf ("\n");
Xexit(0);
X}
END_OF_FILE
if test 1359 -ne `wc -c <'./help/main.c'`; then
    echo shar: \"'./help/main.c'\" unpacked with wrong size!
fi
# end of './help/main.c'
fi
if test -f './help/makefile.tc' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./help/makefile.tc'\"
else
echo shar: Extracting \"'./help/makefile.tc'\" \(825 characters\)
sed "s/^X//" >'./help/makefile.tc' <<'END_OF_FILE'
X#
X# HELP - Ver. 1.0
X#
X#		by R. Stolfa
X#
X# Modification History
X#  08/26/87	Created
X#  08/31/87	Added initialize and catch functions
X#  09/02/87	Added all .h dependencies
X#  07/13/88	Packaged to ship out of OSU
X#		Added insert to fix problem with uniqueness
X#
X
XOFILES	=\
X	main.obj append.obj catch.obj format_h.obj free_lis.obj help.obj insert.obj \
X	initiali.obj input_ch.obj pchar.obj present.obj scan_top.obj
X
Xhelp.exe: $(OFILES)
X  tlink /m /s /v /l @link.otc
X
XCFLAGS	= -c -f -ml -M -y -v -I\tc\include -DMSDOS -DPC
XCC      = tcc
X
X.c.obj:
X  tcc $(CFLAGS) $*
X  
Xmain.obj: main.c
Xappend.obj: append.c
Xcatch.obj: catch.c
Xformat_h.obj: format_h.c
Xfree_lis.obj: free_lis.c
Xhelp.obj: help.c
Xinsert.obj: insert.c
Xinitiali.obj: initiali.c
Xinput_ch.obj: input_ch.c
Xpchar.obj: pchar.c
Xpresent.obj: present.c
Xscan_top.obj: scan_top.c
END_OF_FILE
if test 825 -ne `wc -c <'./help/makefile.tc'`; then
    echo shar: \"'./help/makefile.tc'\" unpacked with wrong size!
fi
# end of './help/makefile.tc'
fi
if test -f './help/makefile.unx' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./help/makefile.unx'\"
else
echo shar: Extracting \"'./help/makefile.unx'\" \(1489 characters\)
sed "s/^X//" >'./help/makefile.unx' <<'END_OF_FILE'
X#
X# HELP - Ver. 1.0
X#
X#		by R. Stolfa
X#
X# (For 3B1 shared libraries change the ld command below...)
X# Modification History
X#  08/26/87	Created
X#  08/31/87	Added initialize and catch functions
X#  09/02/87	Added all .h dependencies
X#  07/13/88	Packaged to ship out of OSU
X#		Added insert to fix problem with uniqueness
X#
X
XBIN	= /usr/local/bin
XHELPDIR	= /usr/local/help
XCFLAGS	= -O
XCC      = cc
X# HELPOWN = help
X# HELPGRP = root
XHELPOWN = bin
XHELPGRP = bin
X
XOFILES	=\
X	main.o append.o catch.o format_help.o free_list.o help.o insert.o \
X	initialize.o input_choice.o pchar.o present.o scan_topics.o
X
Xhelp:	$(OFILES)
X	$(CC) $(CFLAGS) $(OFILES) -o help
X#	ld /lib/crt0s.o /lib/shlib.ifile $(CFLAGS) $(OFILES) -o help
X
Xall:	help manual
X
Xinstall:
X	cp help $(BIN)
X	chmod 711 $(BIN)/help
X	chown $(HELPOWN) $(BIN)/help
X	chgrp $(HELPGRP) $(BIN)/help
X#	mkdir $(HELPDIR)
X#	cp files $(HELPDIR)
X#	cd $(HELPDIR) ; shar files
X#	@echo "Remember to fix the ownership & permissions"
X
Xmanual:
X	nroff -man man.form > help.man
X
Xclean:
X	rm -f *.o help a.out core help.man Help.shar
X
Xshar:
X	shar README Makefile *.h *.c man.form files > Help.shar
X
X#
X# Dependencies
X#
X
Xmain.o append.o catch.o format_help.o free_list.o help.o \
Xinitialize.o input_choice.o insert.o pchar.o present.o scan_topics.o \
X	: global.h
X
Xmain.o catch.o format_help.o free_list.o help.o \
Xinput_choice.o insert.o pchar.o scan_topics.c \
X	: /usr/include/stdio.h
X
Xinitialize.o \
X	: /usr/include/signal.h
X
Xinput_choice.o \
X	: /usr/include/ctype.h
END_OF_FILE
if test 1489 -ne `wc -c <'./help/makefile.unx'`; then
    echo shar: \"'./help/makefile.unx'\" unpacked with wrong size!
fi
# end of './help/makefile.unx'
fi
if test -f './help/pchar.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./help/pchar.c'\"
else
echo shar: Extracting \"'./help/pchar.c'\" \(736 characters\)
sed "s/^X//" >'./help/pchar.c' <<'END_OF_FILE'
X/*
X * Program	: help
X * Module	: pchar.c
X * Programmer	: R. Stolfa
X *
X * Purpose :	To provide a very simple "more" like output stream for
X *		looking at the text in "HELPFILE" and all the topics
X *		listed in "DIRFILE".
X *
X * Modification History:
X *   08/27/87	Created
X */
X
X#include	"global.h"
X
Xpchar (c)
Xint	c;
X{
X	char	in_buff[BSIZE];		/* input buffer */
X
X	/*
X	 * If this is the recursive call, do not
X	 * output anything
X	 */
X	if (c != '\0')
X		putchar (c);
X
X	/*
X	 * If this is the newline, then increment the
X	 * line count
X	 */
X	if (c == '\n')
X		lines ++;
X
X	/*
X	 * If this is the one to pause on, then do so
X	 */
X	if (lines == 21) {
X		printf ("\nPress RETURN to continue");
X		(void) fgets (in_buff, BSIZE, stdin);
X		lines = 0;
X	}
X}
END_OF_FILE
if test 736 -ne `wc -c <'./help/pchar.c'`; then
    echo shar: \"'./help/pchar.c'\" unpacked with wrong size!
fi
# end of './help/pchar.c'
fi
if test -f './help/present.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./help/present.c'\"
else
echo shar: Extracting \"'./help/present.c'\" \(521 characters\)
sed "s/^X//" >'./help/present.c' <<'END_OF_FILE'
X/*
X * Program	: help
X * Module	: present.c
X * Programmer	: R. Stolfa
X *
X * Purpose :	To generate a topics line without '/'s in it.
X *
X * Modification History:
X *   08/31/87	Created
X */
X
X#include	"global.h"
X
Xpresent (str1, str2)
Xchar	*str1,
X	*str2;
X{
X	int	i;		/* temp */
X
X	/*
X	 * Make a line like "/vi/join/lines" more readable as
X	 * " vi join lines"
X	 */
X	printf ("%s", str1);
X	for (i = 0; i < strlen (cur_path); i ++)
X		if (cur_path[i] == '/')
X			putchar (' ');
X		else
X			putchar (cur_path[i]);
X	printf ("%s", str2);
X}
END_OF_FILE
if test 521 -ne `wc -c <'./help/present.c'`; then
    echo shar: \"'./help/present.c'\" unpacked with wrong size!
fi
# end of './help/present.c'
fi
if test -f './hp26.trm' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./hp26.trm'\"
else
echo shar: Extracting \"'./hp26.trm'\" \(1692 characters\)
sed "s/^X//" >'./hp26.trm' <<'END_OF_FILE'
X/* thanks to hplvlch!ch (Chuck Heller) for the HP2623A driver */
X#define HP26_XMAX 512
X#define HP26_YMAX 390
X
X#define HP26_XLAST (HP26_XMAX - 1)
X#define HP26_YLAST (HP26_XMAX - 1)
X
X/* Assume a character size of 1, or a 7 x 10 grid. */
X#define HP26_VCHAR	10
X#define HP26_HCHAR	7
X#define HP26_VTIC	4
X#define HP26_HTIC	4
X
XHP26_init()
X{
X	/*	The HP2623A needs no initialization. */
X}
X
X
XHP26_graphics()
X{
X	/*	Clear and enable the display */
X
X	fputs("\033*daZ\033*dcZ",outfile);
X}
X
X
XHP26_text()
X{
X	fputs("\033*dT",outfile);	/* back to text mode */
X}
X
X
XHP26_linetype(linetype)
Xint linetype;
X{
X#define	SOLID	1
X#define LINE4	4
X#define LINE5	5
X#define LINE6	6
X#define LINE8	8
X#define	DOTS	7
X#define LINE9	9
X#define LINE10	10
X
Xstatic int map[2+9] = {	SOLID,	/* border */
X						DOTS,	/* axes */
X						SOLID,	/* plot 0 */
X						LINE4,	/* plot 1 */
X						LINE5,	/* plot 2 */
X						LINE6,	/* plot 3 */
X						LINE8,	/* plot 4 */
X						LINE9,	/* plot 5 */
X						LINE10,	/* plot 6 */
X						DOTS,	/* plot 7 */
X						SOLID	/* plot 8 */ };
X
X	if (linetype >= 9)
X		linetype %= 9;
X	fprintf(outfile,"\033*m%dB",map[linetype + 2]);
X}
X
X
XHP26_move(x,y)
Xint x,y;
X{
X	fprintf(outfile,"\033*pa%d,%dZ",x,y);
X}
X
X
XHP26_vector(x,y)
Xint x,y;
X{
X	fprintf(outfile,"\033*pb%d,%dZ",x,y);
X}
X
X
XHP26_lrput_text(row,str)
Xint row;
Xchar str[];
X{
X	HP26_move(HP26_XMAX-HP26_HTIC*2,HP26_VTIC*2+HP26_VCHAR*row);
X	fputs("\033*dS",outfile);
X	fprintf(outfile,"\033*m7Q\033*l%s\n",str);
X	fputs("\033*dT",outfile);
X}
X
X
XHP26_ulput_text(row,str)
Xint row;
Xchar str[];
X{
X	HP26_move(HP26_HTIC*2,HP26_YMAX-HP26_VTIC*2-HP26_VCHAR*row);
X	fputs("\033*dS",outfile);
X	fprintf(outfile,"\033*m3Q\033*l%s\n",str);
X	fputs("\033*dT",outfile);
X}
X
X
XHP26_reset()
X{
X}
X
X
END_OF_FILE
if test 1692 -ne `wc -c <'./hp26.trm'`; then
    echo shar: \"'./hp26.trm'\" unpacked with wrong size!
fi
# end of './hp26.trm'
fi
if test -f './hp75.trm' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./hp75.trm'\"
else
echo shar: Extracting \"'./hp75.trm'\" \(1415 characters\)
sed "s/^X//" >'./hp75.trm' <<'END_OF_FILE'
X#define HP75_XMAX 6000
X#define HP75_YMAX 6000
X
X#define HP75_XLAST (HP75_XMAX - 1)
X#define HP75_YLAST (HP75_XMAX - 1)
X
X/* HP75_VCHAR, HP75_HCHAR  are not used */
X#define HP75_VCHAR	(HP75_YMAX/20)	
X#define HP75_HCHAR	(HP75_XMAX/20)		
X#define HP75_VTIC	(HP75_YMAX/70)		
X#define HP75_HTIC	(HP75_XMAX/75)		
X
XHP75_init()
X{
X	fprintf(outfile,
X	"IN;\033.P1:SC0,%d,0,%d;\n;IP;SI0.2137,0.2812;\n",
X		HP75_XMAX,HP75_YMAX);
X/*	 1      2  3       4             5    6  7
X	1. turn on eavesdropping
X	2. reset to power-up defaults
X	3. enable XON/XOFF flow control
X	4. set SCaling to 2000 x 2000
X	5. rotate page 90 degrees
X	6. ???
X	7. set some character set stuff
X*/
X}
X
X
XHP75_graphics()
X{
X/*         1
X	fputs("\033.Y",outfile);
X	1. enable eavesdropping
X*/
X}
X
X
XHP75_text()
X{
X	fputs("NR;\033.Z",outfile);
X/*         1  2
X	1. go into 'view' mode
X	2. disable plotter eavesdropping
X*/
X}
X
X
XHP75_linetype(linetype)
Xint linetype;
X{
X	fprintf(outfile,"SP%d;\n",(linetype+3)%8);
X}
X
X
XHP75_move(x,y)
Xint x,y;
X{
X	fprintf(outfile,"PU%d,%d;\n",x,y);
X}
X
X
XHP75_vector(x,y)
Xint x,y;
X{
X	fprintf(outfile,"PD%d,%d;\n",x,y);
X}
X
X
XHP75_lrput_text(row,str)
Xint row;
Xchar str[];
X{
X	HP75_move(HP75_XMAX-HP75_HTIC*2,HP75_VTIC*2+HP75_VCHAR*row);
X	fprintf(outfile,"LO17;LB%s\003\n",str);
X}
X
XHP75_ulput_text(row,str)
Xint row;
Xchar str[];
X{
X	HP75_move(HP75_HTIC*2,HP75_YMAX-HP75_VTIC*2-HP75_VCHAR*row);
X	fprintf(outfile,"LO13;LB%s\003\n",str);
X}
X
XHP75_reset()
X{
X}
X
X
END_OF_FILE
if test 1415 -ne `wc -c <'./hp75.trm'`; then
    echo shar: \"'./hp75.trm'\" unpacked with wrong size!
fi
# end of './hp75.trm'
fi
if test -f './lineproc.mac' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./lineproc.mac'\"
else
echo shar: Extracting \"'./lineproc.mac'\" \(1979 characters\)
sed "s/^X//" >'./lineproc.mac' <<'END_OF_FILE'
X; lineproc.mac
X; MASM macro definition for Bresenham line-drawing routine
X; Colin Kelley
X; January 13, 1987
X
X
XINCAX	equ 40h			; for Self-Modifying Code
XINCBX	equ 43h
XDECAX	equ 48h
XDECBX	equ 4bh
X
X; usage:
X;   lineproc linename, pixelname
X;
X; where linemane is the name you want for the proc, and pixelname is the
X;   name of the routine that linename is to call to set pixels
X;
X
Xlineproc macro linename, pixelname
Xbeginproc linename
X
X	push bp
X	mov bp,sp
X	push si
X	push di
X	mov ax,[bp+X]		; x1
X	mov bx,[bp+X+2]		; y1
X	mov cx,[bp+X+4]		; x2
X	mov si,[bp+X+6]		; y2
X
X	cmp ax,cx		; x1,x2
X	jne i19
X	cmp bx,si		; y1,y2
X	jne i19
X
X	call pixelname
X
X	jmp i28
Xi19:
X	mov dx,ax		; dx,x1
X	sub dx,cx		; x2
X	jnc noabsx
X	neg dx
Xnoabsx:
X	mov di,bx		; dy,y1
X	sub di,si		; y2
X	jnc noabsy
X	neg di			; dy
Xnoabsy:
X	cmp dx,di		; dx,dy
X	jb i21			; go iterate y's
X;
X; iterate x's
X;
X	cmp bx,si		; y1,y2
X	jb forwardy
X	mov byte ptr cs:yinc1,DECBX
X	jmp short i22
Xforwardy:
X	mov byte ptr cs:yinc1,INCBX
Xi22:
X	cmp ax,cx		; x1,x2
X	jae l20004
X	mov byte ptr cs:xinc1,INCAX
X	jmp short l20005
Xl20004:
X	mov byte ptr cs:xinc1,DECAX
Xl20005:
X	mov bp,dx		; sum,dx
X	shr bp,1		; sum
Xd23:
X	cmp ax,cx		; x1,x2
X	je i28			; done
Xxinc1:	inc ax			; may become inc or dec
X	add bp,di		; sum,dy
X	cmp bp,dx
X	jb i27
X	sub bp,dx		; sum,dx
Xyinc1:	inc bx			; may become inc or dec
Xi27:
X	call pixelname
X	jmp short d23
X
X;
X; else iterate y's
X;
Xi21:
X	cmp ax,cx		; x1,x2
X	jae l20006
X	mov byte ptr cs:xinc2,INCAX
X	jmp short l20007
Xl20006:
X	mov byte ptr cs:xinc2,DECAX
Xl20007:
X	cmp bx,si		; y1,y2
X	jb forwardy2
X	mov byte ptr cs:yinc2,DECBX
X	jmp short i29
Xforwardy2:
X	mov byte ptr cs:yinc2,INCBX
Xi29:
X	mov bp,di		; sum,dy
X	shr bp,1		; sum,1
Xd30:
X	cmp bx,si		; y1,y2
X	je i28
Xyinc2:	inc bx			; may become inc or dec
X	add bp,dx		; sum,dx
X	cmp bp,di		; sum,dy
X	jb i34
X	sub bp,di		; sum,dy
Xxinc2:	inc ax			; may become inc or dec
Xi34:
X	call near ptr pixelname
X	jmp short d30
X;
X; clean up and exit
X;
Xi28:	pop di
X	pop si
X	pop bp
X	ret
X
Xlinename endp
X	endm
END_OF_FILE
if test 1979 -ne `wc -c <'./lineproc.mac'`; then
    echo shar: \"'./lineproc.mac'\" unpacked with wrong size!
fi
# end of './lineproc.mac'
fi
if test -f './link.com' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./link.com'\"
else
echo shar: Extracting \"'./link.com'\" \(151 characters\)
sed "s/^X//" >'./link.com' <<'END_OF_FILE'
X$ link/exe=gnuplot command,eval,graphics,internal,misc,parse,plot,scanner, -
Xstandard,[]term,util,version,sys$input:/opt
Xsys$share:vaxcrtl.exe/share
X$
END_OF_FILE
if test 151 -ne `wc -c <'./link.com'`; then
    echo shar: \"'./link.com'\" unpacked with wrong size!
fi
# end of './link.com'
fi
if test -f './link.opt' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./link.opt'\"
else
echo shar: Extracting \"'./link.opt'\" \(125 characters\)
sed "s/^X//" >'./link.opt' <<'END_OF_FILE'
Xcommand+eval+graphics+internal+misc+parse+plot+scanner+standard+term+util+version+pcgraph+corgraph+hrcgraph,gnuplot,nul,ega;
END_OF_FILE
if test 125 -ne `wc -c <'./link.opt'`; then
    echo shar: \"'./link.opt'\" unpacked with wrong size!
fi
# end of './link.opt'
fi
if test -f './link.otc' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./link.otc'\"
else
echo shar: Extracting \"'./link.otc'\" \(175 characters\)
sed "s/^X//" >'./link.otc' <<'END_OF_FILE'
X\tc\lib\C0l command eval graphics internal misc parse plot scanner standard term util version ,gnuplot,gnuplot, \tc\lib\emu \tc\lib\mathl \tc\lib\cl \tc\lib\graphics
X        
END_OF_FILE
if test 175 -ne `wc -c <'./link.otc'`; then
    echo shar: \"'./link.otc'\" unpacked with wrong size!
fi
# end of './link.otc'
fi
if test -f './make.msc' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./make.msc'\"
else
echo shar: Extracting \"'./make.msc'\" \(1136 characters\)
sed "s/^X//" >'./make.msc' <<'END_OF_FILE'
XOBJS = 	command.obj eval.obj graphics.obj internal.obj misc.obj parse.obj plot.obj scanner.obj standard.obj term.obj util.obj version.obj pcgraph.asm corgraph.asm hrcgraph.asm
X
X# /AC means use compact model (small code, large data)
XCFLAGS = /AC /DPC #/Zi #/Od
X
XTERMFLAGS = /DHERCULES /DATT6300 /DCORONA /DPOSTSCRIPT /DHP75 /DTEK /DV384 /DEGALIB
X
XLINKFLAGS = #/codeview
X
X# default rules
X.c.obj:
X	msc $(CFLAGS) $*;
X
X.asm.obj:
X	masm $*;
X
Xpcgraph.obj: pcgraph.asm header.mac lineproc.mac
X
Xcorgraph.obj: corgraph.asm header.mac lineproc.mac
X
Xhrcgraph.obj: hrcgraph.asm header.mac lineproc.mac
X
Xcommand.obj: command.c plot.h
X
Xeval.obj: eval.c plot.h
X
Xgraphics.obj: graphics.c plot.h
X
Xinternal.obj: internal.c plot.h
X
Xmisc.obj: misc.c plot.h
X
Xparse.obj: parse.c plot.h
X
Xplot.obj: plot.c plot.h
X
Xscanner.obj: scanner.c plot.h
X
Xstandard.obj: standard.c plot.h
X
Xterm.obj: term.c plot.h
X	msc $(CFLAGS) $(TERMFLAGS) term;
X
Xutil.obj: util.c plot.h
X
Xversion.obj: version.c
X
X
X# use link.opt to avoid command-line overflow
X
Xgnuplot.exe: $(OBJS)
X link$(LINKFLAGS) @link.opt
X exepack gnuplot.exe gnupack.exe
X del gnuplot.exe
X ren gnupack.exe gnuplot.exe
END_OF_FILE
if test 1136 -ne `wc -c <'./make.msc'`; then
    echo shar: \"'./make.msc'\" unpacked with wrong size!
fi
# end of './make.msc'
fi
if test -f './makefile.tc' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./makefile.tc'\"
else
echo shar: Extracting \"'./makefile.tc'\" \(1127 characters\)
sed "s/^X//" >'./makefile.tc' <<'END_OF_FILE'
X# make file for Turbo C
X# Modified from MSC make by John Campbell and Bill Wilson
X# The compile and link includes debug flags.  Take them out if you
X# do not want them included
X
XOBJS = 	command.obj eval.obj graphics.obj internal.obj misc.obj parse.obj plot.obj scanner.obj standard.obj term.obj util.obj version.obj 
X
Xgnuplot.exe: $(OBJS) 
X tlink /m /s /v /l @link.otc
X
X# /AC means use compact model (small code, large data)
XCFLAGS = -c -f -ml -M -y -v -I\tc\include -DMSDOS -DPC
XTERMFLAGS = 
X# -DHERCULES -DCGA
X
X# default rules
X.c.obj:
X	tcc $(CFLAGS) $*
X
Xcommand.obj: command.c plot.h
X
Xeval.obj: eval.c plot.h
X
Xgraphics.obj: graphics.c plot.h
X
Xinternal.obj: internal.c plot.h
X
Xmisc.obj: misc.c plot.h
X
Xparse.obj: parse.c plot.h
X
Xplot.obj: plot.c plot.h
X
Xscanner.obj: scanner.c plot.h
X
Xstandard.obj: standard.c plot.h
X
Xterm.obj: term.c plot.h \
X	aed.trm bitgraph.trm hp26.trm hp75.trm hpljet.trm pc.trm \
X	postscpt.trm qms.trm regis.trm selanar.trm tek.trm unixpc.trm \
X	unixplot.trm v384.trm
X	tcc $(CFLAGS) $(TERMFLAGS) term.c
X	
Xutil.obj: util.c plot.h
X
Xversion.obj: version.c
X
X
X# use link.opt to avoid command-line overflow
X
END_OF_FILE
if test 1127 -ne `wc -c <'./makefile.tc'`; then
    echo shar: \"'./makefile.tc'\" unpacked with wrong size!
fi
# end of './makefile.tc'
fi
if test -f './polar.dem' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./polar.dem'\"
else
echo shar: Extracting \"'./polar.dem'\" \(554 characters\)
sed "s/^X//" >'./polar.dem' <<'END_OF_FILE'
X#
X# Show some of the new polar capabilities.
X#
Xset polar
Xset xrange [0:2*pi]
Xplot .5,1,1.5
Xpause -1 "Three circles (with aspect ratio distortion)"
Xplot cos(2*x)
Xpause -1 "Hit return"
Xplot 2*sqrt(cos(x)),-2*sqrt(cos(x))
Xpause -1
Xset offset pi/4,pi/4,0,0
Xplot sin(4*x),cos(4*x)
Xpause -1
Xset yrange [-3:3]
Xplot x/cos(3*x)
Xset autoscale
Xpause -1
Xplot 1-sin(x)
Xpause -1
Xset xrange [0:12*pi]
Xplot 2*x
Xpause -1
Xbutterfly(x)=exp(cos(x))-2*cos(4*x)+sin(x/12)**5
Xset samples 800
Xpause 0 "This is a big one (many samples), be patient..."
Xplot butterfly(x)
Xpause -1
END_OF_FILE
if test 554 -ne `wc -c <'./polar.dem'`; then
    echo shar: \"'./polar.dem'\" unpacked with wrong size!
fi
# end of './polar.dem'
fi
if test -f './qms.trm' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./qms.trm'\"
else
echo shar: Extracting \"'./qms.trm'\" \(1674 characters\)
sed "s/^X//" >'./qms.trm' <<'END_OF_FILE'
X#define QMS_XMAX 9000
X#define QMS_YMAX 6000
X
X#define QMS_XLAST (QMS_XMAX - 1)
X#define QMS_YLAST (QMS_YMAX - 1)
X
X#define QMS_VCHAR		120
X#define QMS_HCHAR		75
X#define QMS_VTIC		70
X#define QMS_HTIC		70
X
X
XQMS_init()
X{
X/* This was just ^IOL, but at Rutgers at least we need some more stuff */
X  fprintf(outfile,"^PY^-\n^IOL\n^ISYNTAX00000^F^IB11000^IJ00000^IT00000\n");
X}
X
X
XQMS_graphics()
X{
X	fprintf(outfile,"^IGV\n");
X}
X
X
X
XQMS_text()
X{
X/* added ^-, because ^, after an ^I command doesn't actually print a page */
X/* Did anybody try this code out?  [uhh...-cdk] */
X	fprintf(outfile,"^IGE\n^-^,");
X}
X
X
XQMS_linetype(linetype)
Xint linetype;
X{
Xstatic int width[2+9] = {7, 3, 3, 3, 3, 5, 5, 5, 7, 7, 7};
X/*
X * I don't know about Villanova, but on our printer, using ^V without
X * previously setting up a pattern crashes the microcode.
X * [nope, doesn't crash here. -cdk]
X */
X    static int type[2+9] =  {0, 0, 0, 2, 5, 0, 2, 5, 0, 2, 5};
X	if (linetype >= 9)
X		linetype %= 9;
X    fprintf(outfile,"^PW%02d\n^V%x\n",width[linetype+2], type[linetype+2]); 
X}
X
X
XQMS_move(x,y)
Xint x,y;
X{
X	fprintf(outfile,"^U%05d:%05d\n", 1000 + x, QMS_YLAST + 1000 - y);
X}
X
X
XQMS_vector(x2,y2)
Xint x2,y2;
X{
X	fprintf(outfile,"^D%05d:%05d\n", 1000 + x2, QMS_YLAST + 1000 - y2);
X}
X
X
XQMS_lrput_text(row,str)
Xint row;
Xchar str[];
X{
X	QMS_move(QMS_XMAX-QMS_HTIC-QMS_HCHAR*(strlen(str)+1),
X		QMS_VTIC+QMS_VCHAR*(row+1));
X	fprintf(outfile,"^IGE\n%s\n^IGV\n",str);
X}
X
XQMS_ulput_text(row,str)
Xint row;
Xchar str[];
X{
X	QMS_move(QMS_HTIC*2,QMS_YMAX-QMS_VTIC-QMS_VCHAR*(row+1));
X	fprintf(outfile,"^IGE\n%s\n^IGV\n",str);
X}
X
X
XQMS_reset()
X{
X/* add ^- just in case last thing was ^I command */
X	fprintf(outfile,"^-^,\n");
X}
X
X
END_OF_FILE
if test 1674 -ne `wc -c <'./qms.trm'`; then
    echo shar: \"'./qms.trm'\" unpacked with wrong size!
fi
# end of './qms.trm'
fi
if test -f './readme.tc' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./readme.tc'\"
else
echo shar: Extracting \"'./readme.tc'\" \(967 characters\)
sed "s/^X//" >'./readme.tc' <<'END_OF_FILE'
XFor those of you that will be compiling this code with Turbo C, there
Xare a few things that you will need to know.  First, this code can only
Xbe compiled with TC 2.0 or higher.  This is because of the special graphics
Xroutines that were utilized.  When compiling it is normal to receive a
Xnumber of warnings.  You should not get any errors though.  The warnings
Xare normally functions not returning values and some warnings about possible
Xincorrect assignments.  The program runs fine in spite of these.
X
XThe other thing that you must do after compiling is to make sure that the
X.BGI files are installed in the subdirectory that the program is to be run
Xfrom.  Even if you put gnuplot on your path, you must have these files in your
Xcurrent subdirectory.  If you want to fully path the program you can change
Xthe init() routine to include the path to the .bgi files.  If you do this,
Xsend the code back to us.
X
XGood Luck and have fun!
X
XWilliam E Wilson
Xwilson@nauvax
END_OF_FILE
if test 967 -ne `wc -c <'./readme.tc'`; then
    echo shar: \"'./readme.tc'\" unpacked with wrong size!
fi
# end of './readme.tc'
fi
if test -f './selanar.trm' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./selanar.trm'\"
else
echo shar: Extracting \"'./selanar.trm'\" \(666 characters\)
sed "s/^X//" >'./selanar.trm' <<'END_OF_FILE'
X/* thanks to sask!macphed (Geoff Coleman and Ian Macphedran) for the
X   Selanar driver */
X
XSEL_init()
X{
X	fprintf(outfile,"\033\062");
X/*					1
X	1. set to ansi mode
X*/
X}
X
X
XSEL_graphics()
X{
X	fprintf(outfile,"\033[H\033[J\033\061\033\014");
X/*                   1           2       3
X	1. clear ANSI screen
X	2. set to TEK mode
X	3. clear screen
X*/
X}
X
X
XSEL_text()
X{
X	TEK40move(0,12);
X	fprintf(outfile,"\033\062");
X/*                   1
X	1. into ANSI mode
X*/
X}
X
XSEL_reset()
X{
X	fprintf(outfile,"\033\061\033\012\033\062\033[H\033[J");
X/*                   1        2       3      4
X1       set tek mode
X2       clear screen
X3       set ansi mode
X4       clear screen
X*/
X}
X
END_OF_FILE
if test 666 -ne `wc -c <'./selanar.trm'`; then
    echo shar: \"'./selanar.trm'\" unpacked with wrong size!
fi
# end of './selanar.trm'
fi
if test ! -d './shar' ; then
    echo shar: Creating directory \"'./shar'\"
    mkdir './shar'
fi
if test -f './simple.dem' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./simple.dem'\"
else
echo shar: Extracting \"'./simple.dem'\" \(551 characters\)
sed "s/^X//" >'./simple.dem' <<'END_OF_FILE'
X#
X# gnuplot> set term <term-type>
X# gnuplot> load 'simple.dem'
X#
Xset samples 50
Xplot [-10:10] sin(x),atan(x),cos(atan(x))
Xset samples 100
Xplot [-pi/2:pi] cos(x),-(sin(x) > sin(x+1) ? sin(x) : sin(x+1))
Xset samples 200
Xplot [-3:5] asin(x),acos(x)
Xplot [-30:20] besj0(x)*0.12e1 with impulses, (x**besj0(x))-2.5 with points
Xset samples 400
Xplot [-10:10] real(sin(x)**besj0(x))
Xplot [-5*pi:5*pi] [-5:5] real(tan(x)/atan(x)), 1/x
Xset autoscale
Xset samples 800
Xplot [-30:20] sin(x*20)*atan(x)
Xplot [-19:19] '1.dat'with impulses ,'2.dat' ,'3.dat' with lines
END_OF_FILE
if test 551 -ne `wc -c <'./simple.dem'`; then
    echo shar: \"'./simple.dem'\" unpacked with wrong size!
fi
# end of './simple.dem'
fi
if test -f './tek.trm' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./tek.trm'\"
else
echo shar: Extracting \"'./tek.trm'\" \(1332 characters\)
sed "s/^X//" >'./tek.trm' <<'END_OF_FILE'
X#define TEK40XMAX 1024
X#define TEK40YMAX 780
X
X#define TEK40XLAST (TEK40XMAX - 1)
X#define TEK40YLAST (TEK40YMAX - 1)
X
X#define TEK40VCHAR		25
X#define TEK40HCHAR		14
X#define TEK40VTIC		11
X#define TEK40HTIC		11	
X
X#define HX 0x20		/* bit pattern to OR over 5-bit data */
X#define HY 0x20
X#define LX 0x40
X#define LY 0x60
X
X#define LOWER5 31
X#define UPPER5 (31<<5)
X
X
XTEK40init()
X{
X}
X
X
XTEK40graphics()
X{
X	fprintf(outfile,"\033\014");
X/*                   1
X	1. clear screen
X*/
X}
X
X
XTEK40text()
X{
X	TEK40move(0,12);
X	fprintf(outfile,"\037");
X/*                   1
X	1. into alphanumerics
X*/
X}
X
X
XTEK40linetype(linetype)
Xint linetype;
X{
X}
X
X
XTEK40move(x,y)
Xunsigned int x,y;
X{
X	(void) putc('\035', outfile);	/* into graphics */
X	TEK40vector(x,y);
X}
X
X
XTEK40vector(x,y)
Xunsigned int x,y;
X{
X	(void) putc((HY | (y & UPPER5)>>5), outfile);
X	(void) putc((LY | (y & LOWER5)), outfile);
X	(void) putc((HX | (x & UPPER5)>>5), outfile);
X	(void) putc((LX | (x & LOWER5)), outfile);
X}
X
X
XTEK40lrput_text(row,str)
Xunsigned int row;
Xchar str[];
X{
X	TEK40move(TEK40XMAX - TEK40HTIC - TEK40HCHAR*(strlen(str)+1),
X		TEK40VTIC + TEK40VCHAR*(row+1));
X	fprintf(outfile,"\037%s\n",str);
X}
X
X
XTEK40ulput_text(row,str)
Xunsigned int row;
Xchar str[];
X{
X	TEK40move(TEK40HTIC, TEK40YMAX - TEK40VTIC - TEK40VCHAR*(row+1));
X	fprintf(outfile,"\037%s\n",str);
X}
X
X
XTEK40reset()
X{
X}
X
X
END_OF_FILE
if test 1332 -ne `wc -c <'./tek.trm'`; then
    echo shar: \"'./tek.trm'\" unpacked with wrong size!
fi
# end of './tek.trm'
fi
if test -f './unixplot.trm' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./unixplot.trm'\"
else
echo shar: Extracting \"'./unixplot.trm'\" \(998 characters\)
sed "s/^X//" >'./unixplot.trm' <<'END_OF_FILE'
X#define UP_XMAX 4096
X#define UP_YMAX 4096
X
X#define UP_XLAST (UP_XMAX - 1)
X#define UP_YLAST (UP_YMAX - 1)
X
X#define UP_VCHAR (UP_YMAX/30)
X#define UP_HCHAR (UP_XMAX/72)	/* just a guess--no way to know this! */
X#define UP_VTIC (UP_YMAX/80)
X#define UP_HTIC (UP_XMAX/80)
X
XUP_init()
X{
X	openpl();
X	space(0, 0, UP_XMAX, UP_YMAX);
X}
X
X
XUP_graphics()
X{
X	erase();
X}
X
X
XUP_text()
X{
X}
X
X
XUP_linetype(linetype)
Xint linetype;
X{
Xstatic char *lt[2+5] = {"solid", "longdashed", "solid", "dotted","shortdashed",
X	"dotdashed", "longdashed"};
X
X	if (linetype >= 5)
X		linetype %= 5;
X	linemod(lt[linetype+2]);
X}
X
X
XUP_move(x,y)
Xunsigned int x,y;
X{
X	move(x,y);
X}
X
X
XUP_vector(x,y)
Xunsigned int x,y;
X{
X	cont(x,y);
X}
X
X
XUP_lrput_text(row,str)
Xunsigned int row;
Xchar str[];
X{
X	move(UP_XMAX - UP_HTIC - UP_HCHAR*(strlen(str)+1),
X		UP_VTIC + UP_VCHAR*(row+1));
X	label(str);
X}
X
X
XUP_ulput_text(row,str)
Xunsigned int row;
Xchar str[];
X{
X	UP_move(UP_HTIC, UP_YMAX - UP_VTIC - UP_VCHAR*(row+1));
X	label(str);
X}
X
XUP_reset()
X{
X	closepl();
X}
X
X
END_OF_FILE
if test 998 -ne `wc -c <'./unixplot.trm'`; then
    echo shar: \"'./unixplot.trm'\" unpacked with wrong size!
fi
# end of './unixplot.trm'
fi
if test -f './v384.trm' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./v384.trm'\"
else
echo shar: Extracting \"'./v384.trm'\" \(1966 characters\)
sed "s/^X//" >'./v384.trm' <<'END_OF_FILE'
X/*
X *  thanks to roland@moncskermit.OZ (Roland Yap) for this driver
X *
X *	Vectrix 384 driver - works with tandy color printer as well
X *  in reverse printing 8 color mode.
X *  This doesn't work on Vectrix 128 because it redefines the
X *  color table. It can be hacked to work on the 128 by changing
X *  the colours but then it will probably not print best. The color
X *  table is purposely designed so that it will print well
X *
X */
X
X#define V384_XMAX 630
X#define V384_YMAX 480
X
X#define V384_XLAST (V384_XMAX - 1)
X#define V384_YLAST (V384_YMAX - 1)
X
X#define V384_VCHAR	12
X#define V384_HCHAR	7
X#define V384_VTIC	8
X#define V384_HTIC	7
X
X
XV384_init()
X{
X	fprintf(outfile,"%c%c  G0   \n",27,18);
X	fprintf(outfile,"Q 0 8\n");
X	fprintf(outfile,"0 0 0\n");
X	fprintf(outfile,"255 0 0\n");
X	fprintf(outfile,"0 255 0\n");
X	fprintf(outfile,"0 0 255\n");
X	fprintf(outfile,"0 255 255\n");
X	fprintf(outfile,"255 0 255\n");
X	fprintf(outfile,"255 255 0\n");
X	fprintf(outfile,"255 255 255\n");
X}
X
X
XV384_graphics()
X{
X	fprintf(outfile,"%c%c E0 RE N 65535\n",27,18);
X}
X
X
XV384_text()
X{
X	fprintf(outfile,"%c%c\n",27,17);
X}
X
X
XV384_linetype(linetype)
Xint linetype;
X{
Xstatic int color[]= {
X		1 /* red */,
X		2 /* green */,
X		3 /* blue */,
X		4 /* cyan */,
X		5 /* magenta */,
X		6 /* yellow */, /* not a good color so not in use at the moment */
X		7 /* white */
X	};
X		
X	if (linetype < 0)
X		linetype=6;
X	else
X		linetype %= 5;
X	fprintf(outfile,"C %d\n",color[linetype]);
X}
X
X
XV384_move(x,y)
Xunsigned int x,y;
X{
X	fprintf(outfile,"M %d %d\n",x+20,y);
X}
X
X
XV384_vector(x,y)
Xunsigned int x,y;
X{
X	fprintf(outfile,"L %d %d\n",x+20,y);
X}
X
X
XV384_lrput_text(row,str)
Xunsigned int row;
Xchar str[];
X{
X	V384_move(V384_XMAX - V384_HTIC - V384_HCHAR*(strlen(str)+1),
X		V384_VTIC + V384_VCHAR*(row+1));
X	fprintf(outfile,"$%s\n",str);
X}
X
X
XV384_ulput_text(row,str)
Xunsigned int row;
Xchar str[];
X{
X	V384_move(V384_HTIC, V384_YMAX - V384_VTIC - V384_VCHAR*(row+1));
X	fprintf(outfile,"$%s\n",str);
X}
X
X
XV384_reset()
X{
X}
X
X
END_OF_FILE
if test 1966 -ne `wc -c <'./v384.trm'`; then
    echo shar: \"'./v384.trm'\" unpacked with wrong size!
fi
# end of './v384.trm'
fi
if test -f './version.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'./version.c'\"
else
echo shar: Extracting \"'./version.c'\" \(1467 characters\)
sed "s/^X//" >'./version.c' <<'END_OF_FILE'
X/*
X *  Modified version of 1.1.0 gnuplot by Thomas Williams and Colin Kelley.
X *  "You may use this code as you wish if credit is given and this message
X *  is retained."
X *
X *  Our "use" of this code has been to add a terminal driver (att 3b1),
X *  improve the IBM-PC drivers using TURBO-C routines, throw in a
X *  different help system (the one we got didn't seem to work) and add
X *  the commands SET POLAR, SET OFFSETS, and PAUSE.
X *
X *  Files that were changed from the original 1.1.0 version:
X *  command.c, graphics.c, misc.c, plot.c, term.c and version.c.
X *
X *  The annoying problem with unixplot files not being redirected by
X *  the set output command was fixed and an ``init()'' routine was
X *  added to term.c to allow an implementation to detect the terminal
X *  type.  (Currently only used by TURBO-C and VMS.)  The file term.c
X *  was further changed by breaking it into a number of .TRM files
X *  (Makefile was changed accordingly).
X *
X *  A bug in do_plot() was fixed as well as a VMS bug that caused
X *  SET OUTPUT to fail.  A final departure from the original 1.1.0
X *  version was the addition of Jyrki Yli-Nokari's HP laser jet
X *  drivers to term.c.
X *
X *  John Campbell  CAMPBELL@NAUVAX.bitnet (3b1, polar, offsets, pause)
X *  Bill Wilson    WILSON@NAUVAX.bitnet   (TURBO-C IBM-PC drivers)
X *  Steve Wampler  ...!arizona!naucse!sbw (help system acquisition)
X */
Xchar version[] = "1.1.0A (Polar)";
Xchar date[] = "Thu May 18 21:57:24 MST 1989";
END_OF_FILE
if test 1467 -ne `wc -c <'./version.c'`; then
    echo shar: \"'./version.c'\" unpacked with wrong size!
fi
# end of './version.c'
fi
echo shar: End of archive 1 \(of 7\).
cp /dev/null ark1isdone
MISSING=""
for I in 1 2 3 4 5 6 7 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 7 archives.
    rm -f ark[1-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0
-- 
	John Campbell               ...!arizona!naucse!jdc
                                    CAMPBELL@NAUVAX.bitnet
	unix?  Sure send me a dozen, all different colors.