[comp.sources.misc] v11i031: starchart 3.2 Part 03/32

ccount@ATHENA.MIT.EDU (03/16/90)

Posting-number: Volume 11, Issue 31
Submitted-by: ccount@ATHENA.MIT.EDU
Archive-name: starchart/part03

#! /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 3 (of 32)."
# Contents:  data/con.locs data/index.indx data/reg_to_indx.perl
#   doc/starpost.1 observe/objcalc.c observe/suncalc.c
#   samples/mess.obj samples/test.star1-5 starchart/README.st
#   starchart/icon.h starchart/makefile.st starchart/starXawDlog.h
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'data/con.locs' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'data/con.locs'\"
else
echo shar: Extracting \"'data/con.locs'\" \(3438 characters\)
sed "s/^X//" >'data/con.locs' <<'END_OF_FILE'
X/ con.locs	StarChart 'macro library' for canned views
X/		Bob Tidd  inp@amber.berkeley.edu  6/87
X/
X/ This is a first cut and not a "cannonical" list of celestial locations.
X/ Users should feel free to revise and extend (and post!) new versions.
X/
X/  column 4 coding (to distinguish "virgo area" from "virgo constellation"
X/  c (or blank)=constellation
X/  a=area
X/  f=messier finder chart
X/  t=time of year (evening sky)
X/
X/ columns 1-4 exclusively belong to the mnemonic, column five is ignored.
X/ The remaining four parameters are three floats plus a string (terminated
X/ by the end of line). The first two floats (Ra and Decl) appear in the
X/ "hh" or "hh.mm" format used on the command line. Scale is a "traditional"
X/ floating point value.
X/
X/...+....1....+....2....+....3....+
X/
Xand  1     35   40   Andromeda
Xant  10.15 -34  25   Antlia
Xaql  19.4  2.3  30   Aquila
Xaqu  22.07 -14  45   Aquarius
Xari  2.35  19   30   Aries
Xaur  5.30  40   30   Auriga ?
Xboo  14.4  27   35   Bootes
Xcae  4.5  -38.2 25   Caelum
Xcam  4.06  63   25   Camelopardalis
Xcan  8.40  19   30   Cancer
Xcap  21    -20  20   Capricorn
Xcas  1.0   60   15   Cassiopeia
Xcen  13.3  -45  45   Centaurus
Xcep  22    70   30   Cepheus
Xcet  1.36 -8.15 50   Cetus
Xcma  6.45  -20  25   Canis Major
Xcmi  7.4   5.2  20   Canis Minor
Xcol  5.5  -35.3 25   Columba
Xcom  13    25   20   Coma Bereneces
Xcor  15.5  30   15   Corona Borealis
Xcpr  21.1 -20.4 30   Capricornus
Xcra  18.5 -40   15   Corona Australis
Xcrt  11.3  -17  22   Crater
Xcrv  12.2 -18.1 15   Corvus
Xcvn  13    40   20   Canes Venatici
Xcyg  20.30 40   30   Cygnus
Xdel  20.4  11.3 18   Delphinus
Xequ  21.12 7.3  11   Equuleus
Xeri  3.3   -30  70   Eridanus
Xfor  2.4   -32  30   Fornax
Xgem  7.05  23   30   Gemini
Xgru  22.3  -47  30   Grus
Xher  17.1  35   45   Hercules
Xhor  3.2   -51  40   Horologium
Xhyd  10    -10  50   Hydra
Xlac  22.20 45   20   LAC
Xleo  11    20   40   Leo
Xlep  5.34  -19  20   Lepus
Xlib  15.1  -18  25   Libra
Xlmi  10.24 32.3 20   Leo Minor
Xlup  15.2  -41  25   Lupus
Xlyn  8     49   50   Lynx
Xlyr  18.5  35   20   Lyra
Xmic  21   -36.5 20   Microscopium
Xmon  7.1   0    35   Monoceros
Xnor  16.1  -52  20   Norma
Xoph  17.2  -10  50   Ophiuchus
Xori  5.4   4.2  35   Orion
Xpeg  23    30   20   Pegasus
Xper  3.0   44   40   Perseus
Xphe  0.4   -47  40   Phoenix
Xpis  0.35  13   45   Pisces
Xpsa  22.2  -30  25   Piscis Austrinus
Xpup  7.4   -36  40   Puppus
Xpyx  8.55 -28.3 20   Pyxis
Xsco  17    -30  35   Scorpio
Xsct  18.39 -10  15   Scutum
Xscu  0     -35  30   Sculptor
Xser  18.1  -3.2 30   Serpens Cauda
Xsex  10.2  -2.3 25   Sextans
Xsge  19.5  18.3 15   Sagitta
Xsgr  19    -30  45   Sagittarius
Xsrt  15.4   9   30   Serpens Caput
Xtel  19.1  -51  25   Telescopium
Xtrp  5.36  -5   12   Trapezium (Orion)
Xtau  4.27  17.3 40   Taurus
Xtri  2.1   35   20   Triangulum
Xuma  12.30 55   50   Ursa Major
Xumi  16    75   30   Ursa Minor
Xvel  9.3   -48  40   Vela
Xvir  13.2  0    55   Virgo  +-
Xvul  19.30 25   15   Vulpecula
X/
X101f 14.05 54   3 M101 Area
Xandf 0.45  41   3 Andromeda, M31
Xcoma 12.25 16   6 Coma Bereneces M100
Xdbcf 2.25  57   2.3 Double Cluster
Xhyaf 4.30  17   5 Hyades Cluster
Xm47f 7.35  15.4 3 M47 Finder
Xm81f 9.55  69   3 M81, M82
Xorif 5.35  -5   6 Orion Nebula
Xperf 3.25  49   4 Perseus Detail
Xplef 3.50  24   3 The Pleiades
Xpraf 8.40  20   2 Praesepe, M44
Xsgra 18.10 -18  10 Sagitarius Cluster
Xumaf 11.25 58   12 Ursa Major Bowl
Xvira 12.25 14   8 Virgo Cluster
X/
Xmayt 13.0  30   110 May Sky
END_OF_FILE
if test 3438 -ne `wc -c <'data/con.locs'`; then
    echo shar: \"'data/con.locs'\" unpacked with wrong size!
fi
# end of 'data/con.locs'
fi
if test -f 'data/index.indx' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'data/index.indx'\"
else
echo shar: Extracting \"'data/index.indx'\" \(3504 characters\)
sed "s/^X//" >'data/index.indx' <<'END_OF_FILE'
X02.0    -30.0    00.0    -90.0  /usr/local/lib/ast/SAO/SAO00-90 lineread
X04.0    -30.0    02.0    -90.0  /usr/local/lib/ast/SAO/SAO02-90 lineread
X06.0    -30.0    04.0    -90.0  /usr/local/lib/ast/SAO/SAO04-90 lineread
X08.0    -30.0    06.0    -90.0  /usr/local/lib/ast/SAO/SAO06-90 lineread
X10.0    -30.0    08.0    -90.0  /usr/local/lib/ast/SAO/SAO08-90 lineread
X12.0    -30.0    10.0    -90.0  /usr/local/lib/ast/SAO/SAO10-90 lineread
X14.0    -30.0    12.0    -90.0  /usr/local/lib/ast/SAO/SAO12-90 lineread
X16.0    -30.0    14.0    -90.0  /usr/local/lib/ast/SAO/SAO14-90 lineread
X18.0    -30.0    16.0    -90.0  /usr/local/lib/ast/SAO/SAO16-90 lineread
X20.0    -30.0    18.0    -90.0  /usr/local/lib/ast/SAO/SAO18-90 lineread
X22.0    -30.0    20.0    -90.0  /usr/local/lib/ast/SAO/SAO20-90 lineread
X24.0    -30.0    22.0    -90.0  /usr/local/lib/ast/SAO/SAO22-90 lineread
X02.0     00.0    00.0    -30.0  /usr/local/lib/ast/SAO/SAO00-30 lineread
X04.0     00.0    02.0    -30.0  /usr/local/lib/ast/SAO/SAO02-30 lineread
X06.0     00.0    04.0    -30.0  /usr/local/lib/ast/SAO/SAO04-30 lineread
X08.0     00.0    06.0    -30.0  /usr/local/lib/ast/SAO/SAO06-30 lineread
X10.0     00.0    08.0    -30.0  /usr/local/lib/ast/SAO/SAO08-30 lineread
X12.0     00.0    10.0    -30.0  /usr/local/lib/ast/SAO/SAO10-30 lineread
X14.0     00.0    12.0    -30.0  /usr/local/lib/ast/SAO/SAO12-30 lineread
X16.0     00.0    14.0    -30.0  /usr/local/lib/ast/SAO/SAO14-30 lineread
X18.0     00.0    16.0    -30.0  /usr/local/lib/ast/SAO/SAO16-30 lineread
X20.0     00.0    18.0    -30.0  /usr/local/lib/ast/SAO/SAO18-30 lineread
X22.0     00.0    20.0    -30.0  /usr/local/lib/ast/SAO/SAO20-30 lineread
X24.0     00.0    22.0    -30.0  /usr/local/lib/ast/SAO/SAO22-30 lineread
X02.0     30.0    00.0     00.0  /usr/local/lib/ast/SAO/SAO00+00 lineread
X04.0     30.0    02.0     00.0  /usr/local/lib/ast/SAO/SAO02+00 lineread
X06.0     30.0    04.0     00.0  /usr/local/lib/ast/SAO/SAO04+00 lineread
X08.0     30.0    06.0     00.0  /usr/local/lib/ast/SAO/SAO06+00 lineread
X10.0     30.0    08.0     00.0  /usr/local/lib/ast/SAO/SAO08+00 lineread
X12.0     30.0    10.0     00.0  /usr/local/lib/ast/SAO/SAO10+00 lineread
X14.0     30.0    12.0     00.0  /usr/local/lib/ast/SAO/SAO12+00 lineread
X16.0     30.0    14.0     00.0  /usr/local/lib/ast/SAO/SAO14+00 lineread
X18.0     30.0    16.0     00.0  /usr/local/lib/ast/SAO/SAO16+00 lineread
X20.0     30.0    18.0     00.0  /usr/local/lib/ast/SAO/SAO18+00 lineread
X22.0     30.0    20.0     00.0  /usr/local/lib/ast/SAO/SAO20+00 lineread
X24.0     30.0    22.0     00.0  /usr/local/lib/ast/SAO/SAO22+00 lineread
X02.0     90.0    00.0     30.0  /usr/local/lib/ast/SAO/SAO00+30 lineread
X04.0     90.0    02.0     30.0  /usr/local/lib/ast/SAO/SAO02+30 lineread
X06.0     90.0    04.0     30.0  /usr/local/lib/ast/SAO/SAO04+30 lineread
X08.0     90.0    06.0     30.0  /usr/local/lib/ast/SAO/SAO06+30 lineread
X10.0     90.0    08.0     30.0  /usr/local/lib/ast/SAO/SAO08+30 lineread
X12.0     90.0    10.0     30.0  /usr/local/lib/ast/SAO/SAO10+30 lineread
X14.0     90.0    12.0     30.0  /usr/local/lib/ast/SAO/SAO12+30 lineread
X16.0     90.0    14.0     30.0  /usr/local/lib/ast/SAO/SAO14+30 lineread
X18.0     90.0    16.0     30.0  /usr/local/lib/ast/SAO/SAO16+30 lineread
X20.0     90.0    18.0     30.0  /usr/local/lib/ast/SAO/SAO18+30 lineread
X22.0     90.0    20.0     30.0  /usr/local/lib/ast/SAO/SAO20+30 lineread
X24.0     90.0    22.0     30.0  /usr/local/lib/ast/SAO/SAO22+30 lineread
END_OF_FILE
if test 3504 -ne `wc -c <'data/index.indx'`; then
    echo shar: \"'data/index.indx'\" unpacked with wrong size!
fi
# end of 'data/index.indx'
fi
if test -f 'data/reg_to_indx.perl' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'data/reg_to_indx.perl'\"
else
echo shar: Extracting \"'data/reg_to_indx.perl'\" \(2946 characters\)
sed "s/^X//" >'data/reg_to_indx.perl' <<'END_OF_FILE'
X#
X# First extract the data from regions.tbl file using emacs
X# to split the data beginning at 14401 into 9537 lines
X# of 48 characters each.  an easier method is:
X#    dd if=regions.tbl of=reg.txt cbs=48 conv=unblock ibs=2880 skip=5
X# FOLLOWED by head -9537 reg.txt > reg.txt.final
X#
X# The resulting file was processed using this
X# perl script to produce the index.indx file for the GSC CD-ROM.
X# You will need to set the parent directory of the CD-ROM below.
X# If you have two CD-ROM readers for the two CD-ROMs, see
X# "TWO READERS" below.
X#
X# perl is a replacement for shell awk and sed scripts, developed by
X# Larry Wall at jpl-devvax.jpl.nasa.gov, where the latest version is
X# avaliable via anonymous ftp.
X
X
X$, = ":";
X$\ = "\n";
Xwhile (<>) {
X	$reg_no = substr($_,0,5);
X	$ra_h_low = substr($_,7,2);
X	$ra_m_low = substr($_,10,2);
X	$ra_s_low = substr($_,13,5);
X	$ra_h_hi = substr($_,19,2);
X	$ra_m_hi = substr($_,22,2);
X	$ra_s_hi = substr($_,25,5);
X	$decsi_lo = substr($_,31,1);
X	$dec_d_lo = substr($_,32,2);
X	$dec_m_lo = substr($_,35,4);
X	$decsi_hi = substr($_,40,1);
X	$dec_d_hi = substr($_,41,2);
X	$dec_m_hi = substr($_,44,4);
X
X
X	$dec_hi = $dec_d_hi + $dec_m_hi/60.0;
X	if ($decsi_hi eq "-") {$dec_hi *= -1;}
X
X	$dec_lo = $dec_d_lo + $dec_m_lo/60.0;
X	if ($decsi_lo eq "-") {$dec_lo *= -1;}
X
X	$ra_hi = $ra_h_hi + $ra_m_hi/60.0 + $ra_s_hi / 3600.0;
X	$ra_lo = $ra_h_low + $ra_m_low/60.0 + $ra_s_low / 3600.0;
X
X	if ($ra_hi == 0.0) {$ra_hi = 24.0;}
X
X	$dec_abs = $dec_lo;
X	if ($dec_abs < 0.0) {$dec_abs = -$dec_abs;}
X# Note: name of cdrom here should not be changed, change it below.
X	$subdir = "/cdrom/gsc/";
X	if ($decsi_hi eq "-") {
X		$subdir .= "s";
X	} else {
X		$subdir .= "n";
X	}
X	
X	if ($dec_abs < 7.5) {
X		$subdir .= "0000";
X	} elsif ($dec_abs < 15.00) {
X		$subdir .= "0730";
X	} elsif ($dec_abs < 22.50) {
X		$subdir .= "1500";
X	} elsif ($dec_abs < 30.00) {
X		$subdir .= "2230";
X	} elsif ($dec_abs < 37.50) {
X		$subdir .= "3000";
X	} elsif ($dec_abs < 45.00) {
X		$subdir .= "3730";
X	} elsif ($dec_abs < 52.50) {
X		$subdir .= "4500";
X	} elsif ($dec_abs < 60.00) {
X		$subdir .= "5230";
X	} elsif ($dec_abs < 67.50) {
X		$subdir .= "6000";
X	} elsif ($dec_abs < 75.00) {
X		$subdir .= "6730";
X	} elsif ($dec_abs < 82.50) {
X		$subdir .= "7500";
X	} else {
X		$subdir .= "8230";
X	}
X
X	$subdir .= "/";
X
X## TWO READERS
X## At this point subdir should be modified if a second cdrom reader is
X## to be used for the southern disk
X#	if (($subdir =~ m"/s[0-9][0-9][0-9][0-9]/")
X#		&& ($subdir !~ m"/s0000/")) {
X##			On second disk
X#			$subdir =~ s"cdrom"cdrom2";
X#	}
X
X# here, you can rename /cdrom/ to be the value appropriate for your
X# site.
X# e.g.:
X#	$subdir =~ s"cdrom/"my/owncdrom/";
X#	$subdir =~ s"cdrom2/"my/owncdrom2/";
X
X	if ($dec_hi < $dec_lo) {
X		$dec_up = $dec_lo;
X		$dec_dn = $dec_hi;
X	} else {
X		$dec_up = $dec_hi;
X		$dec_dn = $dec_lo;
X	}
X
X	printf "%9.6f %7.3f %9.6f %7.3f %s%04d.gsc gsc\n",
X		$ra_hi, $dec_up,
X		$ra_lo, $dec_dn,
X		$subdir,
X		$reg_no;
X}
X
END_OF_FILE
if test 2946 -ne `wc -c <'data/reg_to_indx.perl'`; then
    echo shar: \"'data/reg_to_indx.perl'\" unpacked with wrong size!
fi
# end of 'data/reg_to_indx.perl'
fi
if test -f 'doc/starpost.1' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'doc/starpost.1'\"
else
echo shar: Extracting \"'doc/starpost.1'\" \(3253 characters\)
sed "s/^X//" >'doc/starpost.1' <<'END_OF_FILE'
X.TH STARCHART LOCAL "15 July 1989"
X.ad b
X.SH NAME
Xstarpost \- print astronomical star charts.
X.SH SYNOPSIS
XArguments as in other starchart programs, with the special argument -a:
X.br
X.B \-a
X"\fBm\fR
X[
X.I mag-1
X:
X.I mag0
X:
X.I mag1
X:
X.I mag2
X:
X.I ...
X]
X|
X.B \-a
X\fBs\fR
X[
X.I D0
X[
X.I v0
X[
X.I k
X]]]
X|
X\fBn\fR
X[
X.I rad1
X:
X.I rad2
X:
X.I rad3
X:
X.I rad4
X:
X.I ...
X]
X|
X.BI f " file"
X|
X.B c
X|
X\fBl\fR"
X.br
X
X.SH DESCRIPTION
XSee starchart(1) for details on the starchart programs in general.
X.PP
XThe additional argument controls include \fBm\fR for magnitude:
Xwith \fBm\fR 0.1 magnitude quanta are used (the default is 1.0
Xmagnitude, e.g. a 4.6 magnitude star is represented by the same symbol
Xas a star of magnitude 5.4).  The rest of the argument string is
Xoptional, and taken to be a list of floating point numbers separated
Xby `:' or ` '.  These are taken to be the radii of the symbols for
Xstars of magnitude -1, 0, 1, 2, 3 etc.  The sizes of symbols for stars
Xwith magnitudes between these magnitudes are determined by linear
Xinterpolation.  Note that the last value given is the value assigned
Xto all magnitudes fainter than that magnitude. Current default sizes
Xare "9 8 7 6 5 4 3.25 2.5 2 1.5 1 0.5".
X.PP
XThe \fBs\fR argument provides an alternative way of specifying
Xmagnitude symbol sizes, using a formula proposed by Andrew Young in
XSky and Telescope, March 1990, p. 311, D = D0 * 10^(k*(v0 - v)).
XHe proposes a k of between 0.07 and 0.16, with 0.11 as probably the
Xbest.  If \fBs\fR uses 0.1 magnitude quanta as does \fBm\fR.  The
Xdefault values for D0, v0, and k are 0.5 (points), the limiting
Xmagnitude of the main map, and 0.11, respectively.  These may be
Xaltered with the optional arguments to \fBs\fR.
X.PP
XThe \fBn\fR argument is for ``notebook'' mode.  The chart is shifted
Xto the right on the page, and the ``thumbnail'' map is replaced with
Xprompts and space for recording observing conditions.  The rest of the
Xargument string is taken to be a list of floating point numbers
Xseparated by `:' or ` '.  These are taken to be the radii in degrees
Xof fields of view of the instrument or finder.  Circles with these
Xradii are drawn, centered on the center of the chart.
X.PP
X.BI f " file"
Xmay be used to specify an output file, otherwise the postscript
Xproduced is sent to the standard output.
X.PP
X.B c
Xmay be used to produce color postscript output.
X.PP
X.B l
Xmay be used to specify landscape mode (as opposed to the default
Xportrait orientation).  Landscape mode can only used with a
Xfullpage map.
X.PP
X.sp
XSince the resolution of PostScript is much higher than other common
Xdevices, ``mapwin'' files must be edited when transferred between
Xstarpost and other drivers.  The controls for window width, height,
Xx_offset and y_offset must be changed.
X.PP
XThe "\fB-a\fR p" or "\fB-a\fR l" option used with "starX11" or
X"starXaw" can be used in producing a ``mapwin'' file which can be
Xconverted for use in "starpost" through an "awk" script named
X"postconv.awk", provided with the source to this program.
X
X.SH EXAMPLE
Xstarpost -a "n 6:1.5:.5" -a "m9 8 7 6 5 4 3.5 2.5 2 1.5 1 0.5" -a "f orion.PS" -c ori -g 5 
X.SH BUGS
X.SH AUTHORS/EDITORS
XCraig Counterman
X.br
XAlan Paeth, University of Waterloo <AWPaeth@watCGL>
X.br
XThanks also to
X.br
XPoul-Henning Kamp
X
END_OF_FILE
if test 3253 -ne `wc -c <'doc/starpost.1'`; then
    echo shar: \"'doc/starpost.1'\" unpacked with wrong size!
fi
# end of 'doc/starpost.1'
fi
if test -f 'observe/objcalc.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'observe/objcalc.c'\"
else
echo shar: Extracting \"'observe/objcalc.c'\" \(3256 characters\)
sed "s/^X//" >'observe/objcalc.c' <<'END_OF_FILE'
X/*
X * objcalc.c
X * read objects data file, calculate position in equinox 2000.0
X *
X * Copyright (c) 1990 by Craig Counterman. All rights reserved.
X *
X * This software may be redistributed freely, not sold.
X * This copyright notice and disclaimer of warranty must remain
X *    unchanged. 
X *
X * No representation is made about the suitability of this
X * software for any purpose.  It is provided "as is" without express or
X * implied warranty, to the extent permitted by applicable law.
X *
X */
X
X#ifndef  lint
Xstatic char rcsid[] =
X  "$Header: objcalc.c,v 1.9 90/03/06 00:08:40 ccount Exp $";
X#endif
X
X
X#include <stdio.h>
X#include <math.h>
X#ifndef SYSV
X#include <strings.h>
X#else
X#include <string.h>
X#endif
X#include "observe.h"
X#include "degree.h"
X
Xextern char *malloc();
X
X/* Format
XName
XR.A
Xdec.
Xmag type size epoch
X*/
X
Xvoid read_objects(infile, objects, nobjects_p, maxobjects)
X     FILE *infile;
X     obj_data_t objects[];
X     int *nobjects_p;
X     int maxobjects;
X{
X  char in_line[1000], *linep;
X  int i, j, nscanned;
X  double ra1, ra2, ra3, ra;
X  double dec1, dec2, dec3, dec;
X  double alpha, delta, alpha2000, delta2000;
X  char typestr[10];
X
X  j = 0;
X  while (!feof(infile)) {
X    linep = fgets(in_line, 1000, infile);
X    if (linep != NULL) {
X      /* remove trailing '\n' */
X      linep[strlen(linep)-1] = '\0';
X      objects[j].name = (char *) malloc((unsigned) strlen(linep)+1);
X      if (objects[j].name != NULL)
X	strcpy(objects[j].name, linep);
X      else objects[j].name = "object";
X      nscanned = 1;
X    } else nscanned = 0;
X    if (nscanned < 1) continue;
X
X    linep = fgets(in_line, 1000, infile);
X    if (linep != NULL)
X      nscanned = sscanf(linep, "%lf %lf %lf",
X		 &ra1, &ra2, &ra3);
X    else nscanned = 0;
X    if (nscanned < 1) continue;
X
X    ra = ra1 + ra2/60.0 + ra3/3600.0;
X    objects[j].alpha = ra*15.0;
X
X    linep = fgets(in_line, 1000, infile);
X    if (linep != NULL)
X      nscanned = sscanf(linep, "%lf %lf %lf",
X		 &dec1, &dec2, &dec3);
X    else nscanned = 0;
X    if (nscanned < 1) continue;
X
X    dec1 = fabs(dec1);
X    dec = dec1 + dec2/60.0 + dec3/3600.0;
X    for (i=0; linep[i]; i++)
X      if (linep[i] == '-') dec = -dec;
X    objects[j].delta = dec;
X
X    linep = fgets(in_line, 1000, infile);
X    objects[j].size = 0.0;
X    objects[j].equinox = 2000.0;
X    if (linep != NULL)
X      nscanned = sscanf(linep, "%lf %2s %lf %lf",
X			&objects[j].mag, typestr, &objects[j].size,
X			&objects[j].equinox);
X    else nscanned = 0;
X    if (nscanned < 1) continue;
X
X    if (typestr[0]) {
X      objects[j].type[0] = typestr[0];
X      if (typestr[1])
X	objects[j].type[1] = typestr[1];
X      else
X	objects[j].type[1] = ' ';
X    } else {
X      objects[j].type[0] = ' ';
X      objects[j].type[1] = ' ';
X    };
X    objects[j].type[2] = '\0';
X
X    if (objects[j].equinox != 2000.0) {
X      alpha = objects[j].alpha;
X      delta = objects[j].delta;
X
X      precess(objects[j].equinox, 2000.0,
X	      alpha, delta, &alpha2000, &delta2000);
X
X      objects[j].alpha2000 = alpha2000;
X      objects[j].delta2000 = delta2000;
X    } else {
X      objects[j].alpha2000 = objects[j].alpha;
X      objects[j].delta2000 = objects[j].delta;
X    };
X
X    j++;
X  };
X  *nobjects_p = j;
X}
X
Xvoid obj_pos(jd, object)
X     double jd;
X     obj_data_t *object;
X{
X}
X
END_OF_FILE
if test 3256 -ne `wc -c <'observe/objcalc.c'`; then
    echo shar: \"'observe/objcalc.c'\" unpacked with wrong size!
fi
# end of 'observe/objcalc.c'
fi
if test -f 'observe/suncalc.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'observe/suncalc.c'\"
else
echo shar: Extracting \"'observe/suncalc.c'\" \(4002 characters\)
sed "s/^X//" >'observe/suncalc.c' <<'END_OF_FILE'
X/*
X * suncalc.c
X * Sun position calculations
X *
X * Copyright (c) 1990 by Craig Counterman. All rights reserved.
X *
X * This software may be redistributed freely, not sold.
X * This copyright notice and disclaimer of warranty must remain
X *    unchanged. 
X *
X * No representation is made about the suitability of this
X * software for any purpose.  It is provided "as is" without express or
X * implied warranty, to the extent permitted by applicable law.
X *
X */
X
X#ifndef  lint
Xstatic char rcsid[] =
X  "$Header: suncalc.c,v 1.4 90/02/19 17:21:48 ccount Exp $";
X#endif
X
X
X#include <math.h>
X#include "observe.h"
X#include "degree.h"
X
Xvoid sun_pos(jd, sun_data)
X     double jd;
X     sun_data_t *sun_data;
X{
X  double L, M, Theta, R;
X  double A, B, C, D, E, H;
X  double e, nu;
X  double T;
X  double epsilon;
X  double alpha, delta, alpha2000, delta2000;
X
X  T =  (jd - 2415020.0)/36525.0;
X
X  M = into_range(358.47583 + 35999.04975*T - 0.000150*T*T - 0.0000033*T*T*T);
X  e = 0.01675104 - 0.0000418*T - 0.000000126*T*T;
X  L = into_range(279.69668 + 36000.76892*T + 0.0003025*T*T);
X  anom_calc(M, e, &E, &nu);
X  Theta = into_range(L + nu - M);
X  R = 1.0000002*(1.0 - e * DCOS(E));
X
X  /* More accurate */
X  A = into_range(153.23 + 22518.7541*T);
X  B = into_range(216.57 + 45037.508184*T);
X  C = into_range(312.69 + 32964.3577008*T);
X  D = into_range(350.74 + 445267.1142*T - 0.00144*T*T);
X  E = into_range(231.19 + 20.2*T);
X  H = into_range(353.4  + 65928.715488*T);
X
X  Theta += 0.00134*DCOS(A)+0.00154*DCOS(B)+.002*DCOS(C)
X    +.00179*DSIN(D)+ .00178*DSIN(E);
X  R += 5.43e-06*DSIN(A)+1.575e-05*DSIN(B)+1.627e-05*DSIN(C)+
X    3.076e-05*DCOS(D)+9.27e-06*DSIN(H);
X
X  sun_data->size = 1919.26/R;
X  sun_data->R = R;
X  sun_data->Theta = Theta;
X  epsilon = 23.439291 - 0.0130042* T - 0.00000016* T*T - 0.000000504* T*T*T;
X  alpha = sun_data->alpha
X    = into_range(RAD_TO_DEG * atan2(DCOS(epsilon)*DSIN(Theta), DCOS(Theta)));
X  delta = sun_data->delta = 
X    RAD_TO_DEG * asin(DSIN(epsilon)*DSIN(Theta));
X  precess(2000.0 - (2451545.0 - jd) / 365.25,
X	  2000.0, alpha, delta, &alpha2000, &delta2000);
X
X  sun_data->alpha2000 = alpha2000;
X  sun_data->delta2000 = delta2000;
X}
X
X/*
X  alpha = RAD_TO_DEG * atan2(DCOS(epsilon)*DSIN(Theta), DCOS(Theta));
X  delta = RAD_TO_DEG * asin(DSIN(epsilon)*DSIN(Theta));
X*/
X
Xvoid sun_rect(T, equinox_year, R, Theta, X_p, Y_p, Z_p)
Xdouble T, R, Theta, equinox_year;
Xdouble *X_p, *Y_p, *Z_p;
X{
X  double epsilon;
X  double T_eq;
X  double X_0, Y_0, Z_0;
X  double X_x, Y_x, Z_x;
X  double X_y, Y_y, Z_y;
X  double X_z, Y_z, Z_z;
X  double zeta, Z, theta;
X  double zeta_A_1, Z_A_1, theta_A_1;
X  double zeta_A_2, Z_A_2, theta_A_2;
X
X
X  epsilon = obl_jd(T);
X  X_0 = R * DCOS(Theta);
X  Y_0 = R * DSIN(Theta) * DCOS(epsilon);
X  Z_0 = R * DSIN(Theta) * DSIN(epsilon);
X
X  /* Now precess from T to equinox */
X  T_eq = (T - 2451545.0)/36525.0;
X  zeta_A_1= 0.6406161* T_eq + 0.0000839* T_eq*T_eq + 0.0000050* T_eq*T_eq*T_eq;
X  Z_A_1   = 0.6406161* T_eq + 0.0003041* T_eq*T_eq + 0.0000051* T_eq*T_eq*T_eq;
X  theta_A_1=0.5567530* T_eq - 0.0001185* T_eq*T_eq + 0.0000116* T_eq*T_eq*T_eq;
X
X  T_eq = (equinox_year - 2000.0)/100.0;
X  zeta_A_2= 0.6406161* T_eq + 0.0000839* T_eq*T_eq + 0.0000050* T_eq*T_eq*T_eq;
X  Z_A_2   = 0.6406161* T_eq + 0.0003041* T_eq*T_eq + 0.0000051* T_eq*T_eq*T_eq;
X  theta_A_2=0.5567530* T_eq - 0.0001185* T_eq*T_eq + 0.0000116* T_eq*T_eq*T_eq;
X
X  zeta = zeta_A_2 - zeta_A_1;
X  Z = Z_A_2 - Z_A_1;
X  theta = theta_A_2 - theta_A_1;
X
X
X
X  X_x = DCOS(zeta) * DCOS(Z) * DCOS(theta) - DSIN(zeta) * DSIN(zeta);
X  X_y = DSIN(zeta) * DCOS(Z) + DCOS(zeta) * DSIN(Z) * DCOS(theta);
X  X_z = DCOS(zeta) * DSIN(theta);
X
X  Y_x = -DCOS(zeta) * DSIN(Z) - DSIN(zeta) * DCOS(Z) * DCOS(theta);
X  Y_y =  DCOS(zeta) * DCOS(Z) - DSIN(zeta) * DSIN(Z) * DCOS(theta);
X  Y_z = -DSIN(zeta) * DSIN(theta);
X
X  Z_x = -DCOS(Z) * DSIN(theta);
X  Z_y = -DSIN(Z) * DSIN(theta);
X  Z_z = DCOS(theta);
X
X
X  *X_p = X_x*X_0 + Y_x * Y_0 + Z_x * Z_0;
X  *Y_p = X_y*X_0 + Y_y * Y_0 + Z_y * Z_0;
X  *Z_p = X_z*X_0 + Y_z * Y_0 + Z_z * Z_0;
X}
X
END_OF_FILE
if test 4002 -ne `wc -c <'observe/suncalc.c'`; then
    echo shar: \"'observe/suncalc.c'\" unpacked with wrong size!
fi
# end of 'observe/suncalc.c'
fi
if test -f 'samples/mess.obj' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'samples/mess.obj'\"
else
echo shar: Extracting \"'samples/mess.obj'\" \(2988 characters\)
sed "s/^X//" >'samples/mess.obj' <<'END_OF_FILE'
XM_1
X05 34.5
X+22 01
X8.4 NP
XM_2
X21 33.5
X-00 49
X6.5 CG
XM_3
X13 42.2
X+28 23
X6.4 CG
XM_4
X16 23.6
X-26 32
X5.9 CG
XM_5
X15 18.6
X+02 05
X5.75 CG
XM_6
X17 40.1
X-32 13
X4.2 CO
XM_7
X17 53.9
X-34 49
X3.3 CO
XM_8
X18 03.1
X-24 23
X5 CO
XM_9
X17 19.2
X-18 31
X7.9 CG
XM_10
X16 57.1
X-04 06
X6.6 CG
XM_11
X18 51.1
X-06 16
X5.8 CO
XM_12
X16 47.2
X-01 57
X6.6 CG
XM_13
X16 41.7
X+36 28
X5.9 CG
XM_14
X17 37.6
X-03 15
X7.6 CG
XM_15
X21 30.0
X+12 10
X6.35 CG
XM_16
X18 18.8
X-13 47
X6 CO
XM_17
X18 20.8
X-16 11
X6 CO
XM_18
X18 19.9
X-17 08
X6.9 CO
XM_19
X17 02.6
X-26 16
X7.2 CG
XM_20
X18 02.3
X-23 02
X6.3 CO
XM_21
X18 04.6
X-22 30
X5.9 CO
XM_22
X18 36.4
X-29 54
X5.1 CG
XM_23
X17 56.8
X-19 01
X5.5 CO
XM_24
X18 17.0
X-18 35
X4 CO
XM_25
X18 31.6
X-19 15
X4.6 CO
XM_26
X18 45.2
X-09 24
X8 CO
XM_27
X19 59.6
X+22 43
X7.3 NP
XM_28
X18 24.5
X-24 52
X6.9 CG
XM_29
X20 23.9
X+38 32
X6.6 CO
XM_30
X21 40.4
X-23 11
X7.5 CG
XM_31
X00 42.8
X+41 16
X3.5 Gb
XM_32
X00 42.8
X+40 52
X8.2 G2
XM_33
X01 33.9
X+30 40
X7 Gc
XM_34
X02 42.0
X+42 47
X5.2 CO
XM_35
X06 08.9
X+24 20
X5.1 CO
XM_36
X05 36.1
X+34 08
X6 CO
XM_37
X05 52.4
X+32 33
X5.6 CO
XM_38
X05 28.7
X+35 50
X6.4 CO
XM_39
X21 32.2
X+48 26
X4.6 CO
XM_40
X12 21.9
X+58 06
X9 CO
XM_41
X06 47.0
X-20 44
X4.5 CO
XM_42
X05 35.3
X-05 23
X4 CO
XM_43
X05 35.5
X-05 16
X9 ND
XM_44
X08 40.1
X+19 59
X3.1 CO
XM_45
X03 47.0
X+24 07
X1.2 CO
XM_46
X07 41.8
X-14 49
X6.1 CO
XM_47
X07 36.6
X-14 30
X4.4 CO
XM_48
X08 13.8
X-05 48
X5.8 CO
XM_49
X12 29.8
X+08 01
X10.2 G4
XM_50
X07 03.2
X-08 20
X5.9 CO
XM_51
X13 30.0
X+47 11
X8.8 Gc
XM_52
X23 24.2
X+61 35
X6.9 CO
XM_53
X13 12.9
X+18 10
X7.7 CG
XM_54
X18 55.1
X-30 29
X7.7 CG
XM_55
X19 40.0
X-30 58
X7 CG
XM_56
X19 16.6
X+30 11
X8.3 CG
XM_57
X18 53.6
X+33 02
X9 NP
XM_58
X12 37.8
X+11 50
X11.5 Gb
XM_59
X12 42.1
X+11 39
X11 G3
XM_60
X12 43.7
X+11 34
X10.3 G1
XM_61
X12 22.0
X+04 29
X10.9 Gc
XM_62
X17 01.2
X-30 07
X6.6 CG
XM_63
X13 15.8
X+42 02
X9.7 Gb
XM_64
X12 56.7
X+21 41
X8.9 Ga
XM_65
X11 18.9
X+13 05
X9.6 G 
XM_66
X11 20.2
X+12 59
X8.9 Gb
XM_67
X08 50.4
X+11 49
X6.9 CO
XM_68
X12 39.5
X-26 45
X8.2 CG
XM_69
X18 34.4
X-32 21
X7.7 CG
XM_70
X18 43.2
X-32 18
X8.1 CG
XM_71
X19 53.8
X+18 47
X8.3 CG
XM_72
X20 53.5
X-12 32
X9.4 CG
XM_73
X20 59.0
X-12 38
X8.9 CO
XM_74
X01 36.6
X+15 48
X10.5 Gc
XM_75
X20 06.1
X-21 55
X8.6 CG
XM_76
X01 42.4
X+51 34
X11 NP
XM_76
X01 42.3
X+51 34
X11 NP
XM_77
X02 42.7
X-00 02
X10.5 GS
XM_78
X05 46.8
X+00 04
X8 ND
XM_79
X05 24.5
X-24 33
X8.4 CG
XM_80
X16 17.0
X-22 59
X7.2 CG
XM_81
X09 55.6
X+69 04
X8.1 Gb
XM_82
X09 55.8
X+69 41
X9.2 GI
XM_83
X13 37.1
X-29 52
X8.5 Gc
XM_84
X12 25.1
X+12 54
X10.8 G1
XM_85
X12 25.5
X+18 12
X10.2 G 
XM_86
X12 26.3
X+12 57
X10.9 G3
XM_87
X12 30.9
X+12 24
X10.4 G1
XM_88
X12 32.1
X+14 26
X10.6 G 
XM_89
X12 35.7
X+12 34
X11.1 G0
XM_90
X12 36.9
X+13 10
X11.8 Gb
XM_91
X12 35.5
X+14 30
X11.5 GB
XM_92
X17 17.1
X+43 08
X6.5 CG
XM_93
X07 44.6
X-23 52
X6.2 CO
XM_94
X12 50.9
X+41 08
X8.7 Gb
XM_95
X10 44.0
X+11 42
X11.2 GB
XM_96
X10 46.8
X+11 49
X10 Gb
XM_97
X11 14.8
X+55 01
X11 NP
XM_98
X12 13.9
X+14 55
X11 Gb
XM_99
X12 18.9
X+14 26
X10.2 Gc
XM_100
X12 23.0
X+15 50
X10.6 Gc
XM_101
X14 03.3
X+54 22
X8.7 Gc
XM_102?
X15 06.5
X+55 45
X11.1 G6
XM_103
X01 33.2
X+60 42
X7.4 CO
XM_104
X12 39.9
X-11 37
X9.3 Ga
XM_105
X10 47.8
X+12 35
X9.6 G1
XM_106
X12 18.9
X+47 19
X9.6 Gb
XM_107
X16 32.5
X-13 03
X8.1 CG
XM_108
X11 11.5
X+55 40
X10.7 Gc
XM_109
X11 57.6
X+53 23
X10.7 GB
XM_110
X00 40.4
X+41 41
X8 G6
END_OF_FILE
if test 2988 -ne `wc -c <'samples/mess.obj'`; then
    echo shar: \"'samples/mess.obj'\" unpacked with wrong size!
fi
# end of 'samples/mess.obj'
fi
if test -f 'samples/test.star1-5' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'samples/test.star1-5'\"
else
echo shar: Extracting \"'samples/test.star1-5'\" \(3150 characters\)
sed "s/^X//" >'samples/test.star1-5' <<'END_OF_FILE'
X000000+0000100SSA1 A
X000000+0100110SSB1 B
X000000+0200120SSF1 C
X000000+0300130SSG1 D
X000000+0400140SSK1 E
X000000+0500150SSF1 F
X000000+0600160SSG1 G
X000000+0700170SSN1 H
X000000+0800180SSS1 I
X000000+0900190SSO2 J
X001000+0000200SSK2 K
X001000+0100210SSA2 L
X001000+0200220SSM2 M
X001000+0300230SSN2 N
X001000+0400240SSO2 O
X001000+0500250SSM2 P
X001000+0600260SSR2 Q
X001000+0700270SSR2 R
X001000+0800280SSS2 S
X001000+0900290SSO3 T
X002000+0000300SSB3 U
X002000+0100310SSA3 V
X002000+0200320SSF3 W
X002000+0300330SSG3 X
X002000+0400340SSK3 Y
X002000+0500350SSM3 Z
X002000+0600360SSR3 a
X002000+0700370SSN3 b
X002000+0800380SSS3 c
X002000+0900390SSO4 d
X003000+0000400SSB4 e
X003000+0100410SSA4 f
X003000+0200420SSF4 g
X003000+0300430SSG4 h
X003000+0400440SSK4 i
X003000+0500450SSM4 j
X003000+0600460SSR4 k
X003000+0700470SSN4 l
X003000+0800480SSS4 m
X003000+0900490SSO5 n
X004000+0000500SSB5 o
X004000+0100510SSA5 p
X004000+0200520SSF5 q
X004000+0300530SSG5 r
X004000+0400540SSK5 s
X004000+0500550SSM5 t
X004000+0600560SSR5 u
X004000+0700570SSN5 v
X004000+0800580SSS5 w
X004000+0900590SSO6 x
X000100+0000100SDB6 z
X000100+0100110SDA6A 
X000100+0200120SDF6B 
X000100+0300130SDG6C 
X000100+0400140SDK6D 
X000100+0500150SDM6E 
X000100+0600160SDR6F 
X000100+0700170SDN6G 
X000100+0800180SDS6H 
X000100+0900190SDO I 
X001100+0000200SDB J 
X001100+0100210SDA K 
X001100+0200220SDF L 
X001100+0300230SDG M 
X001100+0400240SDK N 
X001100+0500250SDM O 
X001100+0600260SDR P 
X001100+0700270SDN Q 
X001100+0800280SDS R 
X001100+0900290SDO S 
X002100+0000300SDB T 
X002100+0100310SDA U 
X002100+0200320SDF V 
X002100+0300330SDG W 
X002100+0400340SDK X 
X002100+0500350SDM Y 
X002100+0600360SDR Z 
X002100+0700370SDN a 
X002100+0800380SDS b 
X002100+0900390SDO c 
X003100+0000400SDB d 
X003100+0100410SDA e 
X003100+0200420SDF f 
X003100+0300430SDG g 
X003100+0400440SDK h 
X003100+0500450SDM i 
X003100+0600460SDR j 
X003100+0700470SDN k 
X003100+0800480SDS l 
X003100+0900490SDO m 
X004100+0000500SDB n 
X004100+0100510SDA o 
X004100+0200520SDF p 
X004100+0300530SDG q 
X004100+0400540SDK r 
X004100+0500550SDM s 
X004100+0600560SDR t 
X004100+0700570SDN u 
X004100+0800580SDS v 
X004100+0900590SDO w 
X000200+0000100SVB x 
X000200+0100110SVA y 
X000200+0200120SVF z 
X000200+0300130SVG A 
X000200+0400140SVK AA
X000200+0500150SVM AA
X000200+0600160SVR AA
X000200+0700170SVN AA
X000200+0800180SVS AA
X000200+0900190SVO AA
X001200+0000200SVB AA
X001200+0100210SVA AA
X001200+0200220SVF AA
X001200+0300230SVG AA
X001200+0400240SVK AA
X001200+0500250SVM AA
X001200+0600260SVR AA
X001200+0700270SVN AA
X001200+0800280SVS AA
X001200+0900290SVO AA
X002200+0000300SVB AA
X002200+0100310SVA AA
X002200+0200320SVF AA
X002200+0300330SVG AA
X002200+0400340SVK AA
X002200+0500350SVM AA
X002200+0600360SVR AA
X002200+0700370SVN AA
X002200+0800380SVS AA
X002200+0900390SVO AA
X003200+0000400SVB AA
X003200+0100410SVA AA
X003200+0200420SVF AA
X003200+0300430SVG AA
X003200+0400440SVK AA
X003200+0500450SVM AA
X003200+0600460SVR AA
X003200+0700470SVN AA
X003200+0800480SVS AA
X003200+0900490SVO AA
X004200+0000500SVB AA
X004200+0100510SVA AA
X004200+0200520SVF AA
X004200+0300530SVG AA
X004200+0400540SVK AA
X004200+0500550SVM AA
X004200+0600560SVR AA
X004200+0700570SVN AA
X004200+0800580SVS AA
X004200+0900590SVA AA
END_OF_FILE
if test 3150 -ne `wc -c <'samples/test.star1-5'`; then
    echo shar: \"'samples/test.star1-5'\" unpacked with wrong size!
fi
# end of 'samples/test.star1-5'
fi
if test -f 'starchart/README.st' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'starchart/README.st'\"
else
echo shar: Extracting \"'starchart/README.st'\" \(3826 characters\)
sed "s/^X//" >'starchart/README.st' <<'END_OF_FILE'
XAtari ST support has been provided by Holger Zessel.  He reports that
Xthere is still a problem causing occasional crashing.  I believe this
Xis a small problem which we will have fixed soon.
X
XYou may wish to apply this small patch to starm2.c:
X================Cut here================
X***************
X*** 215,221
X  	  {
X  	    char tstr[20];
X  	    rastr(tstr, ras);
X! 	    D_fontsize(10, HELV);
X  	    D_text(xloc3+htext_xoff, yloc-htext_yoff, tstr, FALSE);
X  	  }
X        }
X
X--- 215,221 -----
X  	  {
X  	    char tstr[20];
X  	    rastr(tstr, ras);
X! 	    D_fontsize(7, HELV);
X  	    D_text(xloc3+htext_xoff, yloc-htext_yoff, tstr, FALSE);
X  	  }
X        }
X***************
X*** 246,252
X  	    {
X  	      char tstr[20];
X  	      declstr(tstr, dl);
X! 	      D_fontsize(10, HELV);
X  	      D_text(xloc3+vtext_xoff, yloc3+vtext_yoff, tstr, FALSE);
X  	    }
X  	}
X
X--- 246,252 -----
X  	    {
X  	      char tstr[20];
X  	      declstr(tstr, dl);
X! 	      D_fontsize(7, HELV);
X  	      D_text(xloc3+vtext_xoff, yloc3+vtext_yoff, tstr, FALSE);
X  	    }
X  	}
X================Cut here================
X
XHolger's comments follow:
X
XSome informations to the atari st driver:
X-----------------------------------------
XThe atari driver uses gdos, supports monochrome only at this time
Xand is *very *unstable. This has something to do with the last changes
Xto starsupp.c and I had not the time to find the bugs yet.
XI'll supply fixes as soon as I am able to do this. observe and dataconv
Xare ok in the atari version.
X
XThe atari special feature to commandline options is the driver option
X-a d<num>   .
XThis tells the driver to open physical workstation <num>.
X<num> must appear in assign.sys corresponding to an appropriate 
Xgdos driver. 31 has to be the handle for the metadevice driver.
Xstarst writes metafiles but an option for the metafile name 
Xis still missing. For now it is a constant name "gemfile.gem".
XIf I read the metafile into easydraw the whole chart is upside down.
XI don't know why this happens but it may depend on the NDC coordinates
X(see below). An easy workaround is to select all, group all, and to mirror it
Xhorizontally. After an ungroup everything can be edited as usual. This is
Xa big feature I think. Most other drivers are not able to offer an afterward
Xediting of charts.
X  I use amcgdos and NDC coordinates (virtual [0..32767,0..32767]) for all
Xdevices. There may be gdos versions which do not support NDC for screen
Xbut I cannot prove this. I added a little assembler file with a function
Xtelling whether gdos is loaded or not. This may be interesting for other
Xapplications too. But it is MWCas dialect.
XThe hole stuff is compilable with MWC3.06. I didn't try other versions.
X
X  I regret that it is so unstable but it was not one version before. I think
Xthe use of gdos is a very flexible solution as even people with
Xlaser printer are directly supported if they have a gdosdriver for their
Xprinter. Some time ago an atari version was posted already but it supported
Xonly color screens and furthermore screenhardcopies are not what I call
Xa finder chart. There are still many things to do with respect to the symbols
Xused to represent objects in sky. Object size is not yet optimal and
Xfor the font size this the case too. Fonts are a drawback of gdos as
Xone is not able to be absolutely device independent.
XThe release of the atari st stuff is thought as expandable in future and if
Xpeople have interest in making extensions they should feel free to do this.
XI suggest a second screen with an GEM interface...........
X
X--Holger
X----------------------------------------------------------------
XHolger Zessel, uucp: ...!uunet!unido!uklirb!incas!zessel
X	or	zessel@informatik.uni-kl.de
X	or	zessel%informatik.uni-kl.de@relay.cs.net (from usa)
XFachbereich Informatik, SFB124-D1
XUniversitaet Kaiserslautern, West-Germany
END_OF_FILE
if test 3826 -ne `wc -c <'starchart/README.st'`; then
    echo shar: \"'starchart/README.st'\" unpacked with wrong size!
fi
# end of 'starchart/README.st'
fi
if test -f 'starchart/icon.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'starchart/icon.h'\"
else
echo shar: Extracting \"'starchart/icon.h'\" \(3355 characters\)
sed "s/^X//" >'starchart/icon.h' <<'END_OF_FILE'
X/* X11 icon */
X/*
X * 
X * $Header: icon.h,v 2.2 90/01/10 02:06:36 ccount Exp $
X * 
X*/
X
X
X#define icon_width 63
X#define icon_height 63
X#define icon_x_hot 31
X#define icon_y_hot 31
Xstatic char icon_bits[] = {
X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x1f, 0x00, 0x00, 0x00,
X   0x00, 0x00, 0xc0, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff,
X   0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0x1f, 0x00, 0x00,
X   0x00, 0x00, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff,
X   0xff, 0xff, 0x01, 0x00, 0x00, 0xe0, 0xff, 0xbf, 0xff, 0xff, 0x03, 0x00,
X   0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0xf8, 0xbf, 0xff,
X   0xff, 0xff, 0x0f, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xef, 0xdf, 0x1f, 0x00,
X   0x00, 0x7e, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0x7f, 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
X   0x80, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0x00, 0xc0, 0xff, 0xff, 0xff,
X   0xff, 0xef, 0xff, 0x01, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01,
X   0xe0, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xbf, 0x03, 0xe0, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0x03, 0xf0, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07,
X   0xf0, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfb, 0x07, 0xf8, 0x7f, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0x0f, 0xf8, 0xff, 0x7f, 0xff, 0xff, 0xef, 0xff, 0x0f,
X   0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
X   0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f,
X   0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x3c, 0x06, 0x63, 0x38,
X   0x76, 0x63, 0x18, 0x1c, 0xdc, 0xdd, 0x5d, 0xd7, 0x75, 0x5d, 0x77, 0x1f,
X   0xdc, 0xdf, 0x5d, 0xd7, 0x77, 0x5d, 0x77, 0x1f, 0x3c, 0xde, 0x5d, 0xd8,
X   0x07, 0x5d, 0x78, 0x1f, 0xfc, 0xdd, 0x41, 0xd7, 0x77, 0x41, 0x77, 0x1f,
X   0xdc, 0xdd, 0x5d, 0xd7, 0x75, 0x5d, 0x77, 0x1f, 0x3c, 0xde, 0x5d, 0x37,
X   0x76, 0x5d, 0x77, 0x1f, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f,
X   0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00,
X   0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
X   0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xf8, 0xff, 0xff, 0xff,
X   0xff, 0xfd, 0xff, 0x0e, 0xf0, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0x07,
X   0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0xe0, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0x03, 0xe0, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x03,
X   0xc0, 0xff, 0xfe, 0xff, 0xfb, 0xff, 0xff, 0x01, 0xc0, 0xff, 0xff, 0xfd,
X   0xff, 0x7f, 0xff, 0x01, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
X   0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0x7f, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00,
X   0x00, 0xfc, 0xdf, 0xff, 0xbf, 0xff, 0x1f, 0x00, 0x00, 0xf8, 0xff, 0xff,
X   0xff, 0xff, 0x0f, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00,
X   0x00, 0xe0, 0xff, 0xef, 0xff, 0xff, 0x03, 0x00, 0x00, 0xc0, 0xbf, 0xff,
X   0x7f, 0xff, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00,
X   0x00, 0x00, 0xfc, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff,
X   0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x01, 0x00, 0x00,
X   0x00, 0x00, 0x00, 0xfc, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
END_OF_FILE
if test 3355 -ne `wc -c <'starchart/icon.h'`; then
    echo shar: \"'starchart/icon.h'\" unpacked with wrong size!
fi
# end of 'starchart/icon.h'
fi
if test -f 'starchart/makefile.st' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'starchart/makefile.st'\"
else
echo shar: Extracting \"'starchart/makefile.st'\" \(4266 characters\)
sed "s/^X//" >'starchart/makefile.st' <<'END_OF_FILE'
X#	Makefile for atari ST
X#
X#	$Header: makefile.st,v 1.1 90/03/08 20:14:24 ccount Exp $
X#
XTARGS= starst
X
X#SITE DEPENDENCIES
X#
XLOCAL=-DSYSV -DATARI_ST -Ic:\include\local -DREADMODE=\"rb\"
X
X
X# FOR ALL
X# define OLD_GREEK if you have the old yale.star file, with a
X#                slightly different greek encoding
X# To produce programs which allow keyboard user interaction with the -u flag, 
X#    see COBJ and starmain.o below.
X# FOR POSTSCRIPT
X# define USE_FINE_MACROS if you want to use finer macros than usual:
X#	 star size varies continuously with magnitude.
X#        Needs printer with lots of available memory
X#
X#DEFINES= -DRELEASE3_FONTS -DUSE_X_DASHES -DUSE_FINE_MACROS
XDEFINES= -DRELEASE3_FONTS -DUSE_X_DASHES
X
X#destination for 'make install', otherwise not important
XBINDIR = "g:\starch32"
X
X#The following may be defined here to set default data file locations
X# filename	filetype	description
X# STARFILE	STARFTYPE	bright star data (yale)
X# INDEXFILE	INDEXFTYPE	index to fainter stars (SAO)
X# NEBFILE	NEBFTYPE	nebulae
X# BOUNDFILE	BOUNDFTYPE	constellation boundaries
X# PATTERNFILE	PATTFTYPE	constellation patterns
X# CNAMEFILE	CNAMEFTYPE	constellation names
X# PLANETFILE	PLANETFTYPE	planet positions
X
X# other files
X# CONSTFILE	constellation locations
X# RCFILE	resource file
X
X# Define as needed only
X# Remember, there are defaults in the code
X
X# Example
XFILEROOT=g:\\stardata
XSTAR="$(FILEROOT)\\yale.bin"
XSTART=BINFULL
XINDEX="$(FILEROOT)\\index.ind"
XINDEXT=INDEXTYPE
X# only currently valid index file type
XNEB="$(FILEROOT)\\deepsky.bin"
XNEBT=BINFULL
XBOUND="$(FILEROOT)\\boundaries.str"
XBOUNDT=LINEREAD
XPATT="$(FILEROOT)\\pattern.str"
XPATTTY=LINEREAD
XCNAME="$(FILEROOT)\\cnames.str"
XCNAMET=LINEREAD
XPLANET=".\\planet.str"
X# Planets move, so make it local
XPLANETTY=LINEREAD
XCONS="$(FILEROOT)\\con.loc"
XRC=".\\star.rc"
X
XFILEFLAGS= \
X        -DSTARFILE='$(STAR)' \
X        -DSTARFTYPE='$(START)' \
X        -DINDEXFILE='$(INDEX)' \
X        -DINDEXFTYPE='$(INDEXT)' \
X        -DNEBFILE='$(NEB)' \
X        -DNEBFTYPE='$(NEBT)' \
X        -DBOUNDFILE='$(BOUND)' \
X        -DBOUNDFTYPE='$(BOUNDT)' \
X        -DPATTERNFILE='$(PATT)' \
X        -DPATTFTYPE='$(PATTTY)' \
X        -DCNAMEFILE='$(CNAME)' \
X        -DCNAMEFTYPE='$(CNAMET)' \
X        -DPLANETFILE='$(PLANET)' \
X        -DPLANETFTYPE='$(PLANETTY)' \
X        -DCONSTFILE='$(CONS)' \
X        -DRCFILE='$(RC)'
X
X
Xall: $(TARGS)
X
X#CFLAGS= $(FILEFLAGS) $(LOCAL) $(DEFINES) -f68881
X#LDFLAGS = 
XCFLAGS= $(FILEFLAGS) $(LOCAL) $(DEFINES) -VCSD -f
XLDFLAGS = -VCSD -f
X
X
X#Include interact.o in COBJ to support keyboard user interaction
X#COBJ=starmain.o starm2.o starsupp.o readfile.o parse_input.o
XCOBJ=starmain.o starm2.o starsupp.o readfile.o parse_input.o interact.o 
XCOBJIM=$(COBJ) starimages.o
XCOBJIMA=$(COBJ) starimages_a.o
X
Xstarst: $(COBJ) starst.o starcust.o vqgdos.o
X	$(CC) $(LDFLAGS) $(COBJ) starst.o starcust.o vqgdos.o -lm -laes -lvdi\
X	                                                 -o $@
X# use -DINTERACTIVE_CONTROL in starmain.o and starm2.o
X#     to allow keyboard user interaction
Xstarmain.o: starmain.c Makefile star3.h parse_input.h
X	$(CC) $(CFLAGS) -DINTERACTIVE_CONTROL -c starmain.c
X
Xstarm2.o: starm2.c Makefile star3.h
X	$(CC) $(CFLAGS) -DINTERACTIVE_CONTROL -c starm2.c
X
Xstarmain_i.o: starmain.c Makefile star3.h parse_input.h
X	-mv starmain.o starmain_n.o
X	$(CC) $(CFLAGS) -DINTERACTIVE_CONTROL -c starmain.c
X	mv starmain.o starmain_i.o
X	-mv starmain_n.o starmain.o
X
Xstarm2_i.o: starm2.c Makefile star3.h
X	-mv starm2.o starm2_n.o
X	$(CC) $(CFLAGS) -DINTERACTIVE_CONTROL -c starm2.c
X	mv starm2.o starm2_i.o
X	-mv starm2_n.o starm2.o
X
Xreadfile.o: readfile.c star3.h
X
Xstarimages.o: starimages.c star3.h
X	$(CC) $(CFLAGS) -c starimages.c
X
X#starimages_a.o defines area operations for drivers which otherwise don't
X#  support them
Xstarimages_a.o: Makefile starimages.c star3.h
X	-mv starimages.o starimages_n.o
X	$(CC) $(CFLAGS) -DAREAS -c starimages.c
X	mv starimages.o starimages_a.o
X	-mv starimages_n.o starimages.o
X
Xinteract.o: star3.h parse_input.h patchlevel.h
Xparse_input.o: star3.h parse_input.h
Xstarcust.o: star3.h 
Xstarsample.o: star3.h 
Xstarsupp.o: star3.h 
Xstarst.o: star3.h
X
X
Xinstall: all
X	strip $(TARGS)
X	mv $(TARGS) $(BINDIR)
X
Xdist:
X	cp $(FILES) $(DISTDIR)
X
Xclean:
X	rm -f $(OBJS) $(TARGS) a.out core
END_OF_FILE
if test 4266 -ne `wc -c <'starchart/makefile.st'`; then
    echo shar: \"'starchart/makefile.st'\" unpacked with wrong size!
fi
# end of 'starchart/makefile.st'
fi
if test -f 'starchart/starXawDlog.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'starchart/starXawDlog.h'\"
else
echo shar: Extracting \"'starchart/starXawDlog.h'\" \(3578 characters\)
sed "s/^X//" >'starchart/starXawDlog.h' <<'END_OF_FILE'
X/* Header for Athena widgets dialogs */
X/*
X *
X * $Header: starXawDlog.h,v 1.5 90/02/19 17:58:10 ccount Exp $
X * 
X *
X * Copyright (c) 1990 by Craig Counterman. All rights reserved.
X *
X * This software may be redistributed freely, not sold.
X * This copyright notice and disclaimer of warranty must remain
X *    unchanged. 
X *
X * No representation is made about the suitability of this
X * software for any purpose.  It is provided "as is" without express or
X * implied warranty, to the extent permitted by applicable law.
X *
X */
X
X
X#ifndef MAXPATHLEN
X#define MAXPATHLEN 1025
X#endif
X
X
Xtypedef enum {
X  NoDialog,
X  ChartDialog,
X  TypeDialog,
X  MagnitudesDialog,
X  LayersDialog,
X  Map_filesDialog,
X  Projection_modeDialog,
X  Magnitude_labelsDialog,
X  GridDialog,
X  Edit_mapwinsDialog,
X  X_parmsDialog
X} DlogType;
X
X
X#define ChartStringLen 12
Xtypedef struct {
X  double ra, de, sc;
X  char ra_str[ChartStringLen], de_str[ChartStringLen], sc_str[ChartStringLen];
X  Widget ra_wid, de_wid, sc_wid;
X  char *title;
X  Widget title_wid;
X  char *constfile;
X  int all_invert;
X  int precess;
X  double to_precess;
X  char to_p_str[ChartStringLen];
X  Widget to_p_wid;
X} ChartD_S;
X
Xtypedef struct {
X  int chart_type;
X} TypeD_S;
X
X#define MagStringLen 12
Xtypedef struct {
X  double all_lbllim, all_maglim, all_gklim;
X  char all_lbllim_str[MagStringLen], all_maglim_str[MagStringLen],
X                  all_gklim_str[MagStringLen];
X  Widget all_lbllim_wid, all_maglim_wid, all_gklim_wid;
X} MagnitudesD_S;
X
Xtypedef struct {
X  int all_layer[MAXLAYRS];
X  int numlayers;
X
X  Widget wid[MAXLAYRS];
X  int laynum[MAXLAYRS];
X} LayersD_S;
X
Xtypedef struct {
X  char mapfiles[MAXMAPFILES][MAXPATHLEN];
X  int mapftypes[MAXMAPFILES];
X  int nummapfiles;
X
X  Widget file_wid[MAXMAPFILES];
X  Widget ftype_wid[MAXMAPFILES];
X  int mapnum[MAXMAPFILES];
X} Map_filesD_S;
X
Xtypedef struct {
X  int all_proj_mode;
X} Projection_modeD_S;
X
Xtypedef struct {
X  double all_vmin, all_vmax;
X  char all_vmin_str[MagStringLen], all_vmax_str[MagStringLen];
X  Widget all_vmin_wid, all_vmax_wid;
X  int use_vmin;
X  int nomaglbls;
X} Magnitude_labelsD_S;
X
X#define GridStringLen 12
Xtypedef struct {
X  double all_rstep, all_dstep;
X  char all_rstep_str[GridStringLen], all_dstep_str[GridStringLen];
X  Widget all_rstep_wid, all_dstep_wid;
X  int use_rstep;
X  double all_rstrt, all_dstrt;
X  char all_rstrt_str[GridStringLen], all_dstrt_str[GridStringLen];
X  Widget all_rstrt_wid, all_dstrt_wid;
X  int no_ra_grid;
X  int no_dec_grid;
X} GridD_S;
X
Xtypedef struct {
X  char *nothing;
X} Edit_mapwinsD_S;
X
X#define XParmStringLen 10
Xtypedef struct {
X  int post_preview;
X  int post_landscape;
X  int use_backup;
X  int is_color;
X  int fixed_size;
X  int fixed_width, fixed_height;
X  char fixed_width_str[XParmStringLen], fixed_height_str[XParmStringLen];
X  Widget fixed_width_wid, fixed_height_wid;
X} X_parmsD_S;
X
X
Xchar *proj_mode_strings[] = {
X  "Error        ",
X  "Sansons      ",
X  "Stereographic",
X  "Gnomonic     ",
X  "Orthographic ",
X  "Rectangular  ",
X};
X#define MAXPMODE 5
X
Xchar *lay_strings[] = {
X  "None                ",
X  "Outline             ",
X  "R.A. Grid           ",
X  "Dec. Grid           ",
X  "Ecliptic            ",
X  "Boundaries          ",
X  "Patterns            ",
X  "Constellation Names ",
X  "All Files           ",
X  "All Object Symbols  ",
X  "All Object Names    ",
X  "All Star Mag. labels",
X  "All Vectors         ",
X  "All Areas           ",
X  "Legends             "
X};
X#define MAXLAYNUM 14
X
Xchar *filetype_strings[] = {
X  "",
X  "LineRead ",
X  "IndexType",
X  "BinFull  ",
X  "BinObj   ",
X  "BinStar  ",
X  "SAOFormat"
X  };
X#define MAXFTYPES 6
X
END_OF_FILE
if test 3578 -ne `wc -c <'starchart/starXawDlog.h'`; then
    echo shar: \"'starchart/starXawDlog.h'\" unpacked with wrong size!
fi
# end of 'starchart/starXawDlog.h'
fi
echo shar: End of archive 3 \(of 32\).
cp /dev/null ark3isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 32 archives.
    rm -f ark[1-9]isdone ark[1-9][0-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0