--

 AAAAA    SSSSS   TTTTTTT  RRRRRR    OOOOO   L         OOOOO    GGGGG
A     A  S     S     T     R     R  O     O  L        O     O  G     G
A     A  S           T     R     R  O     O  L        O     O  G
AAAAAAA   SSSSS      T     RRRRRR   O     O  L        O     O  G  GGGG
A     A        S     T     R   R    O     O  L        O     O  G     G
A     A  S     S     T     R    R   O     O  L        O     O  G     G
A     A   SSSSS      T     R     R   OOOOO   LLLLLLL   OOOOO    GGGGG

                         **  VERSION 5.40  **


History file for Astrolog version 5.40 (December 1998):

This is a comprehensive History list of the twenty-five versions of
Astrolog that have been released to the Net over the past seven
years. This file is mainly for those who have the most recent version
(5.40) but yet aren't familiar with the earlier versions in which
many of the other features not just new to 5.40 were described and
documented. Below is a listing of all versions of Astrolog that have
been released, after which for each version, is listed the
description of the new features and changes added to that version.
Taken together, all these update descriptions add up to a
comprehensive list of Astrolog's features and command switches.

                                            [Features added to version:]
1) v1.00 posted Wed, 11 Sep 91 00:00:38 GMT (Initial planet calculations)
2) v1.10 posted Sat, 14 Sep 91 00:02:16 GMT (Aspects; different house systems)
3) v1.20 posted Fri, 20 Sep 91 23:56:55 GMT (File input; wheels; relationships)
4) v1.30 posted Wed,  9 Oct 91 03:17:04 GMT (Transits; searches; astro-graphy)
5) v1.40 posted Tue, 12 Nov 91 01:18:13 GMT (Restrictions; other conveniences)
6) v2.00 posted Wed, 11 Dec 91 07:11:25 GMT (X charts; multiple source files)
7) v2.10 posted Tue, 18 Feb 92 07:59:03 GMT (Color; more X charts; local space;
                                             more progression and file support)
8) v2.20 posted Wed,  3 Jun 92 00:25:40 GMT (Stars; space charts; influences;
                                             astrolog.dat; more relationships)
9) v2.25 posted Thu, 18 Jun 92 18:54:43 GMT (Bug fixes over v2.20)
10)v2.30 posted Fri, 12 Sep 92 01:20:42 GMT (Interpretations; comments, etc.)
11)v2.40 posted Wed, 20 Jan 93 03:23:16 GMT (Ansi text color; midpoint lists)
12)v3.00 posted Sun, 21 Mar 93 12:22:27 GMT (PC Graphics; more interpretations)
13)v3.05 posted Thu, 20 May 93 23:40:00 GMT (Bug fixes over v3.00)
14)v3.10 posted Sun, 26 Sep 93 08:29:58 GMT (Transit influences; efficiency)
15)v4.00 posted Wed,  5 Jan 94 10:22:11 GMT (Accurate formulas; PostScript;
                                             metafiles; better wheel charts)
16)v4.10 posted Mon, 21 Mar 94 10:58:54 GMT (Improvements, fixes over v4.00)
17)v4.20 posted Fri, 23 Sep 94 07:19:01 GMT (New files; constellations; macros;
                                             new objects; dispositors)
18)v4.30 posted Mon, 28 Nov 94 09:35:33 GMT (Parallel aspects; bug fixes)
19)v4.40 posted Sun, 12 Feb 95 04:28:11 GMT (Macintosh support; Arabic parts)
20)v5.00 posted Mon, 24 Jul 95 10:55:53 GMT (Windows interface; asteroid files)
21)v5.05 posted Sun, 20 Aug 95 09:29:49 GMT (Bug fixes over v5.00)
22)v5.10 posted Sun, 31 Dec 95 11:56:00 GMT (Chart printing; setting saving)
23)v5.20 posted Sun, 24 Mar 96 14:05:00 GMT (Gauquelin sectors; printing fixes)
24)v5.30 posted Mon, 30 Sep 96 11:55:00 GMT (Mac graphics; tri and quad-wheels)
25)v5.40 posted ...

All of the above versions of Astrolog except 2.25, 3.05, and 5.05 and
those after it were posted in direct source file, shell archive,
and/or zip archive form to the newsgroup alt.astrology. Versions
2.10, 2.25, 3.05 and 4.10 were submitted in shell archive format to
comp.sources.misc. In addition, version 1.30 was also posted to
talk.religion.newage. A beta release of version 5.20 was created but
wasn't made generally available.

--

IMPORTANT NOTICE: The graphics database and chart display routines
used in this program are Copyright (C) 1991-1998 by Walter D. Pullen
(Astara@msn.com, http://www.magitech.com/~cruiser1/astrolog.htm).
Permission is granted to freely use and distribute these routines
provided one doesn't sell, restrict, or profit from them in any way.
Modification is allowed provided these notices remain with any
altered or edited versions of the program.

The main planetary calculation routines used in this program have
been Copyrighted and the core of this program is basically a
conversion to C of the routines created by James Neely as listed in
Michael Erlewine's 'Manual of Computer Programming for Astrologers',
available from Matrix Software. The copyright gives us permission to
use the routines for personal use but not to sell them or profit from
them in any way.

The PostScript code within the core graphics routines are programmed
and Copyright (C) 1992-1993 by Brian D. Willoughby. Conditions are
identical to those above.

The extended accurate ephemeris databases and formulas are from the
calculation routines in the program "Placalc" and are programmed and
Copyright (C) 1989,1991,1993 by Astrodienst AG and Alois Treindl
The use of that source code is subject to regulations made by
Astrodienst Zurich, and the code is not in the public domain. This
copyright notice must not be changed or removed by any user of this
program.


************************************************
Astrolog 1.00 posted Wed, 11 Sep 91 00:00:38 GMT
************************************************

There seems to have been zillions of requests for unix system programs
which can calculate planetary positions, or a birthchart in general.
I had been looking all over the place for one for a long while without
success, until someone posted the fact that Matrix software produces a
book called 'Manual of Computer Programming for Astrologers' which
contains all kinds of useful formulas. Anyway, since there doesn't
seem to be an astrology program in existance anywhere, I decided to
make one myself and got the book and converted the routines to C and
made a chart casting program around them. At last here is a program
which can do your chart for you! Cut out the portion of this article
between the "cut here"'s, and compile the program with "cc -O
astrolog.c -lm". Execute it simply by entering "astrolog" (assuming
that's the name of the executable), and the program will ask you for
all the birth info and will give the planet/house positions. (e.g.
for here in Seattle right now for the seven prompts I would enter: 9;
10; 1991; 16.05 [for 5:05pm, with daylight time in effect]; 122.20;
47.36) The program calculates the positions of all planets, chiron,
the four main asteroids, as well as stuff like the part of fortune and
vertex. There are option switches (do astrolog -H to see them) which
allow siderial and heliocentric based charts to be done as well. Enjoy
the program, but remember the copyright message. Yes, I know the code
is currently very messy, but I wanted to get this posted as fast as
possible so we can start calculating stuff right away. I'm currently
adding other features, like aspects, other house systems besides
placidus, an option to generate the chart for this exact moment, etc,
to the program, so expect future enhancements. There's also another
program I have at home which generates nice graphic wheel charts (for
a different computer system) given the birth data (makes nice X11
bitmaps) which I hope to be able to convert soon also. Anyway:

************************************************
Astrolog 1.10 posted Sat, 14 Sep 91 00:02:16 GMT
************************************************

Several changes and fixes have been made to the astrolog.c birthchart
calculator since the first posting four days ago:

Some problems that people had with compiling it have been corrected:
  * The value PI is now explicitly defined, instead of depending on the math
    library which may or may not have defined it already.
  * All line lengths are less than 80 characters, to help prevent line
    splitting or cutting from those whose news servers puke on too long lines.

The minor bug in which the moon's north node was *not* displayed as being
retrograde has been fixed, as well as a rare display alignment glitch.

New features have been added to the program (which may be combined):
  * Aspects and midpoint display is now supported: Invoke as astrolog -g and
    a 20x20 grid showing the midpoint locations for each planet, and showing
    if any aspects are present and how accurate they are, is displayed.
  * A couple of different house systems are now supported: Invoke as
    astrolog -c <number> to change the system from the default Placidus.
    (See astrolog -H for help on what each number refers to.)
  * Additional information is displayed when the chart is cast:
    (1) Whether or not each planet is in it's ruling sign, or fall, as well
        as displaying the same information for ruling or debilitating houses.
    (2) The sum of the signs in each element and mode and their totals is
        displayed in a grid form.
  * For those with unix systems who can handle the time calls (If your
    system pukes on trying to compile this, simply comment out the
    #define TIME line at the beginning), the program now supports displaying
    the chart for the time at the current moment! In other words, invoke as
    astrolog -n and see where the planets are right now. (This is fun - the
    house cusps change 1' about every 4 seconds!) You will need to
    change the #defines for the default longitude and latitude in the code
    though, or else specify where you are explicitly by using the -l switch
    to change the default location.
  * Although minor, some more helpful info is displayed when entering the
    chart data, as well as a header for the columns when the chart info is
    displayed.

Again future enhancements will include: supporting yet more house
systems, and allowing the chart to be displayed in a wheel format on
the text screen (not too difficult) or graphically in an X11 window or
bitmap (will take a lot longer to do, although I've done one already
for a different system), allowing saving charts to files and comparing
them with each other or the current status (transits), allowing
progressions to be specified, and maybe a few other things.

I probably could have done this as a patch, but I don't know how to
pack or even unpack patch files, so I guess that's out of the
question. After a few more versions, I might get this in
comp.sources.whatever, but for now I'm just posting it here because
the program is still relatively new. Anyway, sorry if this is a long
article, but anyway, here is the updated version of astrolog.c (can be
compiled, extracted, as before):

************************************************
Astrolog 1.20 posted Fri, 20 Sep 91 23:56:55 GMT
************************************************

Ok, astrology lovers, here is the new and improved version 1.2 (Third
posting) of the Astrolog birthchart calculator, complete with all
kinds of new features, like allowing computation of transits,
progressions, relationships between charts, printing of house wheel
charts, etc:

First a list of bug fixes over version 1.1:
 1) The glaring bug in which, if you said you wanted the Campanus system of
    houses, you would in fact always get Placidus, is fixed.
 2) The program processed dates during the Gregorian calendar incorrectly, and
    this has been fixed.
 3) The default longitude and latitude were truncated to integers, causing
    loss of a few minutes accuracy in the house cusps when using the -n
    option, which has been fixed.
 4) The program now no longer core dumps if you include too few parameters with
    the command switches.
 5) [I thought I corrected this for the previous version, but there was one
    place where I forgot it] The variable M_PI has been replaced with explicit
    definitions of pi for those compilers that don't understand what M_PI is.
 6) The type 'time_t' has been replaced with just an int, since that all it is
    anyway, and since some compilers don't know the type 'time_t'.

Several people have told me that the north node always seem to be off by about
half a degree. I've been looking into this but haven't found the problem yet.
(I've tried using the 'true' north node, the 'mean' north node, etc.) (Wait for
next version.)

Now a list of all the new neat features Astrolog now provides:
(Remember, do 'astrolog -H' to see a brief list of the command switches.)

 * Seven new aspects have been included, for those who like obscure aspects!
   (Thanks to Mark Martin for giving me the list of their angles and orbs.)
 * The '-A' command switch gives a list of all the aspects, their abbreviations
   as used in the aspect grids, their angles, and their orbs.
 * For those who don't like all these aspects, specifying -A <number> will
   limit the number of aspects (e.g. -A 5 will make charts with only the five
   major aspects listed in them).
 * The aspect orbs have been narrowed for certain bodies like the north node
   for which they are expected to be more narrow.
 * There's been a very minor change to the aspect grids, which will indicate
   whether an aspect is slightly short of exact or slight long of exact.
   If the difference is displayed as "3.5" it means the aspect is 3.5 degrees
   long of exact; if it's displayed as "3,5", the aspect is 3.5 degrees short.
   (i.e. with a comma instead of a period; Yeah, I know that's a hack, but it's
   useful in determining whether the exact aspect just happened or is about to
   happen. (Note that conjuncts are always '.', and oppositions always ','.)
 * Five new house systems have been included which can be specified using the
   -c switch. Astrolog now supports 9 different systems total.
 * The program now supports directing output to, and reading output from,
   data files. The '-o' option will dump all the birth data (the date and
   stuff, not the planet positions) to the specified file. The '-i' option will
   cast the chart based on the info in the file. (This allows you to put your
   birth data into a specific file, and cast your chart whenever you want to
   after that without having to reenter your birth data all the time.)
 * Display of the chart in a nice wheel format is now supported using the '-w'
   switch. (Special error case: If one of the houses gets too 'full' of
   planets, the planet will be put at the beginning of the next house.)
 * There are now three different formats of chart display available: The
   standard listing of planet positions, which you get without any switches;
   the aspect/midpoint grid you get with '-g', and the house wheel you get with
   '-w'. The -e "everything" option will display the chart in all three of
   these formats (Of course the screen will scroll because of all the output).
 * Harmonic charts (i.e. where all the planet positions are multiplied by a
   factor and the chart recast) are now supported via the '-x' option. (e.g.
   -x 3 will make all trines conjunct in the chart displayed.)
 * A secondary progression chart for a particular date can be cast using the
   '-p <month> <date> <year>' command switch. (Note, I'm not sure if the house
   cusps are progressed correctly, but they're reasonably close to what is
   properly expected.)
 * Computing the relationship between two charts is now supported. Invoke the
   program as 'astrolog -r <file_of_person1> <file_of_person2>' and the program
   will give you the relationship between the two charts. Normally, and with
   the -w switch, the program will display person2's planets in person1's
   houses (synastry). With the -g switch, a full grid listing the aspects
   between all the planets of the two charts (with person1's planets on the
   vertical axis and person2's on the horizontal) is displayed (minus the
   vertex, because the screen is too narrow to include it unfortunately.)
   Note that transits can be computed with this by comparing your chart with
   the positions of the planets at the current moment (-n switch). To make
   this easier, you may specify the filename "now" for any file and the
   computer will use the current planet positions instead of looking for a like
   named file. (e.g. 'astrolog -r me now' will compute transits for file 'me'.)
 * The command switch '-t <file>' can be used as a shortcut way to compute
   the current transits for the chart in <file>. (Saves you from having to
   mention the 'now' in the '-r' option.)

Anyway, some new features that we might find in the *next* version
are: Adding the calculation of aspects occurring within a day and at
what times they are exact (like in Jim Maynard's Celestial Guides),
and some Astro-graph routines (i.e. like Jim Lewis' astro*carto*graphy
charts which list where in the world the planets were angular at the
time of birth.), as well as finally cleaning up the messy code. I hope
to make some more clear documentation on how to use the program
(remember, most command switches can be combined!) I've got many of
the major features one might want in an astrology program down now,
but there's still room for expansion: There's still the X windows
chart bitmaps (Andy Gray has shown me a nice Postscript program to
print charts graphically that he's working on.) Anyway, enjoy the new
version of Astrolog (Compile as before)!

************************************************
Astrolog 1.30 posted Wed,  9 Oct 91 03:17:04 GMT
************************************************

Once again, we have a new version (1.30, i.e. the Fourth posting) of
the Astrolog birthchart calculator ready to be used. The main
highlights are some more minor (and not so minor) bug fixes, as well
as some great new features, like the ability to display the exact
times of aspects in a day or month, astro*carto*graphy, etc.

(Note, I've sent this to talk.religion.newage in addition to just
alt.astrology this time, since not everyone gets the alt.* groups,
even though I'm increasing my chances of getting flamed for posting 2K
line articles... I'm really going to have to start posting this in
segments soon, or figure out how to post to comp.sources.whatever;
however, the file is still under the magic 64K bytes in length.)

First, the bug fixes over version 1.2:
 1) The north node is *finally* being computed correctly now. Before it would
    always seem to be off by about 1/2 a degree or so.
 2) The Part of fortune was calculated 180 degrees off about half the time
    before, and this major bug has been fixed.
 3) If Daylight Saving time is in affect, the user must subtract 1 from the
    time value entered. If the person happened to be born from midnight - 1am,
    a negative value would have to be entered. Before it wasn't clear what
    value should be entered. In fact now, one should subtract 1 from the
    integer of the value, and not the decimal value itself. In other words,
    things are processed clearer now in that if the person was born at 12:15am
    with DST in affect, they would enter -1.15 (one less than 0.15) instead of
    having to subtract from the whole value and enter something like -0.45.
 4) (This is more of a new feature than a bug) the program now supports
    multiple display switches at once. In other words, the user can invoke with
    '-g -w' and get the aspect grid and the wheel chart, while before the
    program would only allow one of these to be printed at a time (or else the
    user would have to print *everything* using the '-e' switch.)
 5) Oh, and some of the code has been cleaned up, although not much. Slowly but
    surely, this will become an elegant program :)

A couple of people have emailed me saying that their computer (for
example, Mac's) won't accept command switches on the command line
(like they boot Astrolog from a menu for instance.) Therefore, they
weren't able to access all the features of the program. If this is the
case with your system (or if you just don't like command line
options), then comment out the '#define SWITCHES' line at the
beginning of the code. If you do this, then the program will ignore
any switches and prompt you to enter them manually at the very
beginning of program execution.

Now a list of the new neat features Astrolog provides:
(Remember, it's still 'astrolog -H' to see a list of the command switches.)

 * The '-d' option will take the standard chart information, and for the day in
   question, display the exact times of all aspects that occur. This is just
   like the aspects-per-day as displayed in Jim Maynard's Celestial Guide
   books. (Displayed in local time as defined by the specified zone, with
   general accuracy of a few minutes.) This will tell the times all planets
   make aspects with each other, or change their sign; retrogradation during
   the day will be indicated, but the exact time of it won't be listed.
 * The '-r' option can now be used to generate composite relationship charts.
   Simply invoke it as '-rc <person1> <person2>' instead of just -r and a
   composite chart (i.e. composed of the midpoints of the planets, etc of the
   two charts in question) will be generated.
 * The '-L' option will take the standard chart information and generate the
   astrograph positions of the planets. In other words, this does the exact
   same thing that Jim Lewis' Astro*Carto*Graphy maps do. It will display the
   longitude of where on the Earth at the time in question each object was on
   the midheaven and on the nadir, and the latitude of where the planets
   actually appeared at zenith. Also, for latitude increments of 5 degrees, the
   longitude of where the objects appeared on the ascendant and descendant is
   displayed.
 * The '-E <month> <year>' option will generate a quick ephemeris for the ten
   main bodies for the month in question, useful if you just want to see what's
   happening this month in the sky. It generally is used by itself and not with
   any other options. (Displayed daily for midnight, GMT time.) Any dots after
   a planet location in the list indicate the planet was retrograde at the
   time.
 * The '-T <file> <month> <year>' option will scan the entire month specified,
   and print out any transits that happen, in that month, to the planets as
   listed in the specified <file>. (There will be quite a few, even though
   fast moving objects like the moon aren't looked at, so you might want to use
   this option with the '-A 5' option to limit this to just the major aspects.)
   Again, this option is generally is used by itself and not with many others.
   (The times are in GMT time, and generally accurate to within a half hour or
   so; Try doing it for your birth month and your own chart - All planets
   should conjunct their natal positions at about the time of your birth.)
 * There are a few other minor things that might affect the program, such as
   the fact that by default now, only the major and the 6 main minor aspects
   are taken into account, and that one must '-A 18' if they want to get them
   all, as well as a few minor display changes, etc.

Anyway, I've got many of the more advanced features in the program
now, so the next version (might) start to have X windows support in
it. (And of course I mentioned that I was working on a more
comprehensive help file, part of which I posted, but alas, I was more
attracted to adding new features!) I've obtained access to a nice
world map which could be included to enchance the astro*graph -L
option to make *real* astro-graph maps! And of course, I still want to
eventually have the option to have nicely drawn X birthcharts appear
on the screen. I've run Andy Gray's postscript version, and although
it's still not finished, it does make good printouts. Anyway, enjoy
this new version 1.30 of Astrolog, which you can compile as before
after removing before and after the "cut here's" with
'cc -O -o astrolog astrolog.c -lm'!

************************************************
Astrolog 1.40 posted Tue, 12 Nov 91 01:18:13 GMT
************************************************

This being the 11th day of the 11th month, I figured that this would
be a good time to post the new updated version (1.40) of our Astrolog
birthchart calculator plus a whole lot more program! There aren't
really any new fundamental features, but there are over a dozen
enhancements (many suggested by its users) which make it's operation
easier and more powerful. (Plus of course we have a chance to
eliminate a couple of pesky bugs.)

The actual code is in a separate article, which should be right after
or nearby this one.

A list of the new features and enhancements Astrolog version 1.40 provides:
 1) The ability to restrict the transit (-T) and daily aspect (-d) scans
    to just certain bodies has been implemented with the -R switch. Using
    -R by itself will prevent the asteroids, Chiron, the Part of Fortune
    and the Vertex from being in any of the lists. One may also give a
    list of one or more numbers representing planets to be ignored (e.g. 1
    = Sun, 2 = Moon, 3 = Mercury, etc) so that a complete custom setup can
    be obtained (e.g. -R 1 2 3 4 5 will cause all of the inner planets to
    be ignored). More than one -R switch can be combined (e.g. -R -R 16
    will cause the asteroids, etc, and the North Node to be ignored; the
    first -R gets rid of the asteroids, etc, and the second one deletes
    the North Node.) Also, specifying the same particular body more than
    once will cause it to be included again, or in other words, -R
    <objectnum> complements the status of whether it is to be ignored or
    not (e.g. -R -R 15 will cause all of the asteroids, etc, excluding
    Vesta, to be ignored; the first -R makes causes the asteroids to be
    ignored, and specifying Vesta in the second -R makes it reappear.)
    The -R0 option will cause ALL of the bodies to be ignored, which is
    useful if you are looking for just the transits/aspects of a few
    planets (e.g. -R0 6 7 will cause everything but Juptier and Saturn to
    be ignored.) Combining all these methods can cause whatever you are
    looking for in transits and aspects to be quickly found without having
    to wade through lots of stuff you aren't interested in. (Note: -R will
    also affect what bodies appear in the -w wheel chart, too.)
 2) The -T <file> <month> <year> transits option has been expanded. Putting
    a zero in place of the month will cause the entire year to be scanned,
    which prevents one from having to search each month in turn if they are
    looking for something in particular. (Useful in combination with -R.)
 3) The -T option now includes ALL of one's natal house cusps in the transit
    scans instead of just the Asc and MC. The 11th, 12th, 2nd, and 3rd cusps
    have been added (and oppositions to these and the Asc/MC can be used to
    to determine aspects to the other six cusps.)
 4) Normally the -T option always ignores the moon and does not include the
    transiting moon in the lists because it moves so fast and would cause an
    enormous amount of info. Still, if you are looking for lunar transits,
    specifying the option as -T0 instead of just -T will include the moon.
 5) The -d option can now search the entire month for aspects between planets
    if one so desires. Specifying it as -d0 instead of just -d will go through
    the entire month instead of just the current day. (Combining this one with
    -R allows searching for important aspects, sign changes, etc.)
 6) Both the -T and -d option will display the signs that any planets aspecting
    each other are in, in addition to the aspect itself (e.g. instead of just
    "Jupiter Tri Uranus", we have "Jupiter (Vir) Tri (Cap) Uranus". If a
    particular object is going retrograde, then its sign will be displayed in
    brackets instead of parentheses, and if a particular object is about to or
    has just gone retrograde or direct, then its sign will be in <>'s.
 7) The -E <month> <year> ephemeris option can now be used to display the
    ephemeris for the entire year instead of just for one month. Like the -T
    option, putting a '0' for the month will give the entire year's ephemeris.
 8) The -E option can also display the Asteroids, Chiron, and the Node in the
    ephemeris listing if one invokes it as -E0 instead of just -E. Note however
    that this will make each line more than 80 columns, so this is mainly just
    for printing purposes.
 9) The aspects as listed with the -A option are in a more logical order, from
    the most major to the least. This makes the -A <num> aspect restriction
    switch more useful. (e.g. before -A 2 would restrict analysis to
    conjunctions and sextiles, which isn't all that useful; now the same
    command will restrict to conjunctions and oppositions.)
 A) Note also now that by default only the 5 major aspects are used. If
    one wants the minors, they have to do -A 9, and if one want's ALL the
    aspects, they must do -A 18.
 B) Some header info is printed for the standard chart listing, which includes
    the date, time, and location of the chart being displayed, which of course
    keeps one from getting a whole bunch of printouts confused with each other.
 C) The -f option can be used to "flip" the signs and houses, i.e. display the
    house as a sign position and vice versa. For example having the Sun at
    26 degrees Scorpio, 2/3 way though the 10th house, will cause the resulting
    Sun under the -f option to be at 20 degrees Capricorn, 26/30th the way
    through the 8th house. This can be used to determine how far a planet is
    through a particular house, as well as for Domal chart analysis that
    Mark Kenski has informed me about. Domal analysis is based on the fact that
    for synastry comparisons, for example, a planet in Gemini and one in the
    3rd house can be considered related in a way similar to a conjunction.
 D) The -1 <obj> option can be used to change the houses to force a particular
    object to be on the ascendant. This is useful in casting Solar charts or
    for when the time of birth is not exactly known. For example -1 2 will
    case a normal chart, but the house cusps will be rotated so that the moon
    is on the ascendant.
 E) The -+ <#ofdays> option will cast a normal chart, but one for #ofdays in
    the future (or past if a negative value is given). One use for this is in
    combination with the -n and -d options. For instance, I often invoke the
    program as "astrolog -n -d" to see the exact times of today's aspects.
    However, just before midnight I might want to see what's going to happen
    in the following day, so I would do "astrolog -n -d -+ 1" to see the exact
    times for tomorrow's aspects.
 F) Finally the -q <month> <day> <year> option can be used to cast a quick
    chart for 12 noon on a particular date, using the default longitude and
    latitude. if TIME is defined the current time zone will be determined and
    used, otherwise GMT will be used. Again, one example where this is useful
    is with the -d option, e.g. to see the times of exact aspects on a
    particular date, like your next birthday, your finals, etc.

Now, a list of bug fixes over version 1.30:
 * The midpoint grid displayed in the -g option would cause a coredump if any
   of the midpoints lie between 29.5 deg Pisces and 0 deg Aries, and this has
   been fixed.
 * The -d print aspects in day routine would incorrectly sometimes label a
   planet just going direct as just going retrograde, and vice versa. This
   has been corrected.
 * Attempting to enter a non numeric string when prompted for a numeric value
   in the program will cause a bunch of trash to be displayed on the screen.
   The program now properly tells you that that's an improper input. (Also,
   hitting Ctrl-d at an input will gracefully terminate the program.)
 * Although very minor, before there was one place where a function did not
   return a value. Although it didn't cause any bugs, some compilers would
   complain about this.
 * There were a couple of non-computational related typos in the code and the
   comments that have been corrected (e.g. before at the beginning, the comment
   would tell you to enter the "Longitude N" of your current location before
   compiling. This should of course read "Longitude W".)
 * Finally, those trying to compile Astrolog on PC's and other smaller
   computers said that many of the expressions were too long for their
   compiler to handle. Therefore I have cut down some of the longer expressions
   into multiple lines and have replaced a few of the macros with actual
   function calls.

Expect the X routines to be included in the next version, which will
be split into several program parts, as well as some decent
documentation soon, or at least comprehensive list of all the features.

************************************************
Astrolog 2.00 posted Wed, 11 Dec 91 07:11:25 GMT
************************************************

Tomorrow Uranus transits my Ascendant at 12 degrees 29' Capricorn.
Combine this with my Saturn trining its natal position yesterday, a
nice Aquarius Moon and a Moon Mercury Sextile this evening, and what
would it be a great time to do?

Behold: here is our next version of our Astrolog astrology program!
The main new things this version 2.00 contains are our long awaited
X11 graphics features and the source code now in multiple files.

The program is divided up into 6 source files: astrolog.h, data.c,
formulas.c, options.c, graphics.c, and driver.c. Each of these files
lies in a separate posting of straight source code which should be
after or nearby this one in the list of articles. There is also a
small unix Makefile for the code at the end of this update article. I
chose to post each file separately in this manner, rather than tar
them, uuencode them, zip them, or make a shell archive from them,
because we always have the issue of non-unix people not having access
to or not knowing how how to extract the program.

The main (but not only) thing added to version 2.00 are the X windows
features, which are generally accessed via the new -X switch and
derivatives of it on the command line. There are two different types
of displays: A standard graphic display of a wheel chart in a window
(with glyphs, aspects in the center, etc) and graphic displays of the
Astro-graph charts (which look almost identical to the
astro*carto*graphy maps from Jim Lewis), complete with all the
labeled lines drawn on a map of the world. There are also other
commands that can be given to the window once it is up and running,
which can do other things, such as continually update the window every
few seconds to the current status (i.e. an extended version of the -n
option) as well as other forms of animation. Note that the program is
still text based, and one can easily turn off all the X features by
commenting out the #define X11 in astrolog.h if they don't have X
windows.

A listing and brief description of the command switches for X windows follow:
 -X:  This is the general switch, which means display a chart in an X
      window instead of on the screen in some form. For example, the command
      'astrolog -i mychart -X' will open a new window and display the chart
      in question in it. (Of course, all the other switches, e.g. -R, -c,
      -1, etc, can be used to change what info is actually displayed.)
      If you use the -L astro-graph switch in addition to this, the
      appropriate astro*carto*graphy map will come up in a window instead
      of the earlier boring list of longitudes. (e.g. astrolog -i me -X -L)
 -Xb: This switch will cause a standard X11 bitmap file to be produced
      instead of putting the graphics in an actual window. This is useful if
      you want to convert the graphics to different formats, e.g. so they
      can be displayed on PC's, etc. Note that -Xb (or any other -X<letter>
      switch) automatically assumes the -X switch above, so 'astrolog -i
      file -Xb' is sufficient (and you don't also have to include the -X).
 -Xo <file>: Normally, for -Xb above, the program will prompt you for the
      name to write the bitmap info to; however, you can explicitly specify
      this filename in with the -Xo switch if you don't want to be prompted.
 -XB: This switch will cause the chart graphics to be displayed directly on
      the root window. This action occurs very quickly since the program
      does not have to write a separate bitmap file and call xsetroot -bitmap
      on it (although one could easily do this if they want to). For example,
      one could put the line 'astrolog -n -XB' in their .xsession file
      and whenever they log in, their background will be set to a chart of
      the current state of the planets!
 -Xr: Normally the charts comes up white on a black background (except on
      some workstations in which this seems to be reversed.) Either way, to
      get the chart or bitmap displayed in reverse video (black on white),
      use the -Xr switch.
 -Xw <size> [<size>]: The default window size is 600x600. This can be changed
      with the -Xw switch. -Xw with one argument n will make an n by n
      window; -Xw with two arguments x and y will make an x by y window with
      the chart centered in the middle. Note that this switch will not affect
      astro-graph windows; to change the size of these use -Xs below.
 -Xs <percentage>: Note that the size of the planet and sign glyphs don't
      change when you change the size of the window. This can cause problems
      for very small windows where the glyphs overlap the rest of the chart
      and for very large windows where there is lots of excess space. The
      -Xs switch can be used to change the size of all glyphs. The valid
      values that can be passed to it are 100, 200, and 300, where 200 is
      the default. Note that this switch is used to change the size of the
      astro-graph windows (because the world map is considered to be one
      giant glyph by the program.)
 -XW: Believe it or not, I painstakingly entered the data for the world map
      used by the program by hand using an Atlas during a long week. If you
      just want to see the map of the world by itself without any
      astro-graph lines on it, use the -XW switch.
 -XG [degree]: Once we have the data for the map of the world, there are
      several neat things we can do with it; for instance, with a little
      trigonometry and clipping, we can bring up a view of a globe, which
      is what the -XG switch does. An optional argument will specify a
      rotation value in degrees to display different parts of the globe.
      (The globe seems to look best for a -Xw window size of around 350.)

The X wheel charts have their graphic information organized as
follows: There's an outer circle showing the signs and sign glyphs,
inside of which is a smaller circle divided up into 5 degree
increments to make determining exact degrees easier. Inside of this is
a circle divided up into the 12 houses labeled with numbers. The
entire chart is divided by two dashed lines through the Ascendant/
Descendant (which is always horizontal of course) and the
Midheaven/Nadir. Inside the house circle are the planet glyphs in
their appropriate positions. Small pointer lines run from each glyph
to just before single dots. These dots indicate the precise locations
in the zodiac of each object. The pointer lines (which are dashed if
the object is retrograde and solid otherwise) are necessary so as not
to have to draw planet glyphs on top of one another when planets are
conjunct. Inside the ring of the single dots, are the aspect lines
connecting these positions. Since the default number of aspects to use
is just the 5 majors, one can determine which aspect is in place just
by looking at the aspect line. The accuracy of the aspect is
determined by the dashedness of the line: A solid line means the orb
is < 2 degrees; a dashed line means the orb is < 4 degrees; a really
dashed line mean the orb is < 6 degrees, etc.

The X astro-graph charts are organized as follows: A map of the world
is shown. The edges of the map are labeled with ruler lines that are 5
degrees apart (with longer ruler lines for more important longitudes
and latitudes, like those that are multiples of 10, 30, etc.) The
equator is labeled with a dashed line. The polar regions of the world
aren't shown; the map shown ranges from 60 degrees S latitude to 75
degrees N latitude. Note that each pixel on the screen represents
exactly one half a degree on the world. (For -Xs 100 the ratio is one
pixel to one degree, and for -Xs 300 the ratio is one pixel to 1/3
degree.) On this map are drawn the lines indicating where on the world
the various planets are angular at the time in question. (Note: you
might want to -R restrict some objects because otherwise the map tends
to get pretty cluttered with lines.) As expected, Midheaven and Nadir
lines are vertical, and the Ascendant and Descendant lines are curved.
Little square boxes on the Midheaven lines indicate the exact zenith
latitude location. Each line is labeled at the top or the bottom of
the screen, showing what planet is in question and (sometimes) what
angle is in question. All Ascendant and Midheaven lines are labeled
at the bottom of the screen, and all Descendant and Nadir lines are
labeled at the top. Each line goes a bit beyond to the top or bottom
of the world map, and then another pointer segment (which is again
dashed of the object in question is retrograde) goes and points to the
planet glyph. There is a capital "A" or "M" under each of the glyphs
at the bottom of the screen, explicitly indicating whether the line is
an Ascendant or Midheaven line. At the top of the screen, however,
there are only the glyphs, but one can still determine whether these
lines are Descendant or Nadir lines based on whether they are curved
or not. Note that not all the Descendant lines are labeled; this is
because some of the Ascendant/Descendant lines actually connect near
the top of the screen and don't actually cross it.

Once the X window in question actually comes up, one can press certain
keys within the window to do certain actions. A list of these follows:
 'H': The most important key. Pressing this will display a help list of
      all the key presses available in the text screen from which
      the window was invoked from.
 'q': Pressing this key will terminate the window (and the Astrolog
      program itself.)
 'p': Press this to pause all updates to the window. This is mainly used
      to freeze any animation (see below) but also has an effect even
      on 'still' windows. In pause mode, the window won't be updated at
      all, e.g. moving another window on top of the Astrolog window and
      then off again or iconifying will leave the Astrolog one blank. Key
      presses will still be accepted in pause mode but their effects won't
      be apparent until one presses 'p' again to continue. The fewer X
      windows calls in pause mode will make Astrolog use less CPU time.
 'x': Pressing this will invert the colors in the window, or in other
      words will do the same thing as the -Xr switch on the command line.
 'T': Normally, there is no actual text printed in the windows. However,
      one can bring up header information listing the date, time, and
      location of the chart in question. Pressing the 'T' key will toggle
      the display of the header text at the bottom of the chart on and off.
 'S': One can manually resize the Astrolog windows using a window
      manager (except when a world map is displayed, in which case resizing
      will have no effect). Pressing the 'S' key will resize any (non-world
      map) window to be a square. This is useful, after resizing charts
      to approximately the size you want, to make them precise squares.
 '<' and '>': This two keys will respectively decrease and increase the
      size of the sign and planet glyphs (as well as resize the astro-graph
      charts) through the three scale factors available. After resizing
      the window you will probably want to use these keys if the glyphs are
      now too big or small for the new chart.
 'C', 'L', 'W', 'G': There are basically four main modes in which a window
      can be in: There are the main charts (wheel and astro-graph) as well
      as the two world displays (the simple map by itself and the globe
      view). These four keys can be used to switch between these four
      modes in the middle of program execution. For example, you can bring
      up your own chart in a window, then press 'L' to see the astro-graph
      chart for the same birth data. Then you can press 'W' to just see the
      world map by itself, and 'G' to see the globe view, after which you
      can press 'C' to return to your original wheel chart.

 'N': Animation! This key will toggle in and out of a mode where the chart
      is continually updated in the window. Entering the animation mode
      will cause the chart being currently displayed to be replaced by the
      chart for the exact moment at the time you are running the program.
      Every second or two, the chart will be updated to reflect the new
      current state of the planets and houses. For large window sizes, one
      can actually see very minor changes in the chart every few seconds.
      With the text 'T' mode in effect, the chart is basically an advanced
      version of xclock, and makes a good window to be left running on
      your display. If you are in the -XG globe display mode, pressing
      the 'N' key will cause the globe to rotate for an impressive display!
 '!', '@', '#', '$', '%', '^', '&', '*', and '(': These nine keys (i.e.
      shift plus the number keys from 1..9) enter into a different form
      of chart animation. Pressing them will cause the current chart
      being displayed (i.e. it will not revert to the current planet
      positions) to continually have a delta time added to it and be
      recast and shown. Pressing '!' will have one second added to
      the chart for every update (slow action unless you have a very
      fast system - the animation will be even slower than for the 'N'
      key). Pressing '@' will have one minute added to the chart each
      time, which makes for a nice display (note that you will definitely
      want to be in the text 'T' mode for these animations so you can see
      what times in the future these charts are being cast for. Pressing
      '#" will have one hour added each time (note that now the house
      cusps are starting to move quickly, so you may want to switch to
      a different system of houses (such as the Equal to keep the
      Midheaven from flopping back and forth) and/or use -1 to put an
      object like the sun on the Ascendant.) Pressing '$' will have one
      day added each time (now you will probably want to start using
      -R to remove fast moving objects like the moon), and pressing
      '%' will have one month added for each update of the window.
      The final keys, shift 6..9 cause years, decades, centuries, and
      millenia to be added each time, and tend to only be used to
      look for long range actions (when will Neptune next enter Pisces,
      etc.) To exit this animation mode, press the 'N' key.
 'r': Press this to reverse the direction of any animation taking
      place. For the '!'..'(' animation keys above, this will cause
      negative times to be added to the chart, e.g. pressing '#'
      then 'r' on a chart cast for noon will cause the next chart to
      be displayed for 11am, then 10am, etc. For the Globe animation,
      this will cause the rotation to reverse direction.
 '1'..'9': The nine number keys are used to set the relative "rate" of
      animation to "n" whatevers. For example, normally the "@" key means
      add one minute to the chart for each update, but press "5" and now
      we are adding 5 minutes each time. For the Globe animation,
      by default the Earth rotates one degree each time; however, the
      number keys can speed this up to nine degrees for each update.

There have been a couple of changes made to the program, i.e. not just
new features but some things in version 1.40 are no longer valid:
 * Before, the program tried to actually use internal system calls in the
   time library to determine whether DST was in effect or not. Since this
   didn't seem to be accurate at all times, and also many people's systems
   didn't have the needed gm_tmoff field, I have done away with it and
   have replaced it with a DEFAULT_ZONE constant set at compile time.
 * Now that we have a particular default time zone assumed, the transit (-T)
   times are displayed in the local zone instead of in GMT, the ephemeris
   (-E) list is displayed daily at midnight local time instead of GMT, and
   the quick (-q) chart is always displayed for noon default time, too.
 * The -T transits and -d aspects in day are now displayed in am/pm
   time instead of the 24 hour cloak. There have also been a few
   spacing and alignment changes to make these times easier to read.

In addition to the X enhancements, there have been a few more features added:
 1) I often use Astrolog to look at and compare files containing charts of
    various people. I have many chart files, so I keep them in a separate
    directory. Since it was always a pain to have to cd into this special
    directory all the time, I have added a DEFAULT_DIR string to be set at
    compile time. Now, whenever the program reads in a chart file with the
    -i option, it will first look in the current directory for it. If it's
    not found there, Astrolog will then look for a file of the same name in
    the special default directory.
 2) Additional information has been added to the standard list of the planet
    positions displayed. Planets in their exalted and debilitated signs
    are noted. In addition to the (R) indicating a planet in it's ruling sign,
    and an (F) for a planet in it's fall, we have (e) if a planet is in its
    exalting sign, and a (d) for a planet in its debilitating sign (which is
    always opposite the exaltation, as how the fall is opposite the ruler).
 3) In addition, the total number of planets in each of the hemispheres
    of the wheel, as well the number of objects in positive/masculine and
    negative/feminine quality signs, are counted. To the right of the element
    table, we have a column of six numbers labeled as follows: "+" is the
    number of "positive" objects (i.e. in Fire or Air signs); "-" is the number
    of "negative" objects (i.e. in Water or Earth signs); "M" is the number
    of objects above the horizon (i.e. in the hemisphere of the Midheaven);
    "N" is the number of objects below the horizon (in the hemisphere of the
    Nadir); "A" is the number of objects in the Eastern half of the sky
    (in the hemisphere of the Ascendant); and "D" is the number of objects in
    the Western half of the sky (in the hemisphere of the Descendant).
 4) The -A option when used by itself will now list the number of each aspect
    in addition to all the other info already there (e.g. conjunct = 1,
    opposite = 2, etc.) This is so one can easily figure out what exact
    number to pass to the -A option when changing the number of aspects used.
 5) Similar to the -A option, the new -O option will list all the planets
    and other celestial objects used by the program, and their numbers as
    recognized by the -R restrictions. This list will also show the zodiac
    signs that planets rule, fall in, are exalted in, and debilitated in.
 6) The -z <value> option can be used to change the default time zone to
    the value in question. For example, you can force the -E ephemeris and
    -T transits to be displayed at midnight GMT time instead of the local
    time with -z 0; or, for the East coast where by default the time zone
    is "5", you can do -z 4 during DST to properly display transits,
    aspects in day, and other lists in the local DST zone.
 7) A "new" system of houses has been added: No houses at all, or in other
    words the Ascendant will always be 0 degrees Aries, the Nadir 0 degrees
    Cancer, etc. Access this by passing the value 9 to the -c option.
    This system is useful for the extended chart animations as described
    above where having houses at all can tend to get in the way, and one can
    even observe the precession of the equinoxes with this system if used
    in conjunction with the -s siderial chart option.

Now, a list of bug fixes over version 1.40:
 * A major bug would cause the input from any eastern longitude (or time
   zone) or southern latitude to produce results slightly off the
   expected values. Fixes on how to correct this were posted soon after
   the release of version 1.40, and they are now included in the code, so
   there should be no more problems. The reason why such a large bug got
   in there in the first place (which *wasn't* in versions 1.00-1.20) was
   that I inadvertently introduced it when I was correcting the earlier
   (now fixed) bug which would produce incorrect results whenever the user
   had to enter negative values for the time, e.g. DST was in effect and
   they were born between midnight and 1am (meaning they enter 0.xx -
   1.00 for DST = -1.xx). Both bugs are fixed now and my apologies for
   the hasty debugging which got it in there in the first place.
 * The moon and north node would always produce zodiac positions for the
   standard zodiac, even if the user specified the -s option. The -s
   option will now yield the proper siderial positions for these two
   objects.
 * Some have commented that there are time zones 13 hours before or after
   GMT, and that the old version would only accept values from -12 to +12.
   The legal time zone offsets accepted by the program have been expanded
   to include these areas.
 * Too much round off in the chart headers displayed for a chart would
   force all time zones offsets to be integers, and this has been fixed to
   properly display non-integer zones. Also, another display glitch would
   occasionally display the person as being born one hour after their true
   birth time. Both of these were only display errors and didn't affect
   the actual results computed.
 * A couple of array sizes in the code have been increased to account for
   the fact that some compilers will only reserve n elements for the array
   type name[n], i.e. space is *not* reserved for the index name[n], which
   would introduce glitches in results for some systems before.
 * The -q "quick" chart option wasn't mentioned in the -H help list of all
   the options before, and it is now.
 * Not really a bug, but I neglected to mention in the list of new features
   for version 1.40 that the -1 "put on Ascendant option", if not given any
   object number after it, will by default assume you mean the sun, and will
   cast a normal chart except that the house cusps will be rotated in order
   to put the sun on the Ascendant.

Anyway, that about sums up Astrolog version 2.00. I confess that this
is my first major X window programming job, and that combined with
splitting the code could produce problems on other systems, so there
might be some needed changes to be made in the code soon. Still,
hopefully each code segment is small enough to be compilable on small
systems. Anyway, there probably will be a version 2.10 in the future:
I would like to include some new features like list the latitude
crossings for the astro-graph maps, and I've only really begun to
explore the graphics possibilities with the charts (like I could print
out the aspects grid and locations with the charts, etc). There are
also a couple of other programmers who have expressed interest in
merging their own creations with Astrolog: for example, Postscript
routines (BTW, you can use the xdpr(1) command on certain systems to
print out the contents of an X window), interpretation databases, etc.
As far as Astrolog and computers go, the future in our own minds has
as many possibilities as the future in the stars! :)

To compile version 2.00, first edit the top of the file astrolog.h,
putting in your own appropriate values for the default longitude,
latitude, time zone, and default directory. Also comment out any of
the #defines which set various features that aren't valid on your
system, such as the X11, TIME, and SWITCHES variables. Then, for unix
systems, run the command 'make' on the Makefile (or you can always
compile by hand: "cc -O -c *.c; cc -o astrolog *.o -lm -lX11" will do
it; just make sure to compile each source file and link them together
at the end with the math and X11 libraries.)

************************************************
Astrolog 2.10 posted Tue, 18 Feb 92 07:59:03 GMT
************************************************

As I post this, we are having the Full Moon in Leo/Aquarius. Identity,
represented by the Sun, is in the sign of computers, unconventional
science, and contribution to humanity; opposite the Moon in the sign
of self-expression. The opposition is occurring in the last degree of
these two signs, building up to the entry into the signs of analysis
and self-transcendence. Therefore, guess what it's a good time for?

Behold: the next version (2.10) of our Astrolog astrology program! It
has been over two months since the last version, however some of the
many new features should make it worth the wait. Some of these
included are: X windows in Color, several new X window chart displays,
lots more progression and aspect support, ability to do transits to
composite and other charts, latitude crossings for astro-carto-
graphy, and other things, along with our standard batch of bug fixes.

As before, there are 6 source files: astrolog.h, data.c, formulas.c,
options.c, graphics.c, and driver.c. Each of these files should be in
a separate posting of straight C source code after or nearby this one
in the list of articles. There a small unix Makefile for the program
at the end of this update article. Again, I am posting each file
separately in this manner, rather than using shar, tar, zip, etc,
because we always have the issue of non-unix people not having access
to or not knowing how how to extract the program. Note however, that
very soon I am going to finally post Astrolog to a formal source group
(comp.sources.misc) as a standard shell archive for us unix junkies,
so it should be available at a 24 hour ftp site soon.

--

Here is a complete list of new features now in Astrolog over version 2.00,
listed in rough order from the most significant to least significant:

A) Color X windows is probably the main new feature added to Astrolog
   2.10. The charts displayed in color are *much* more eye catching than
   the old B/W ones, IMHO. Here is how the colors have been assigned for
   the normal wheel and astro-graph charts: Four colors have been
   allocated for the four elements - Fire = Red, Earth = Brown, Air =
   Green, Water = Blue. The various sign glyphs (and the corresponding
   house labels) are in the color of their element. Planets are in the
   color of the sign of their main ruler. Chiron and the four asteroids
   are Gold, while the north node, and other non-physical objects like
   the fortune and vertex are Violet. Representations of the Ascendant/
   Descendant/ Midheaven/ Nadir (in the astro-graph map lines and
   elsewhere) are in the element color of the corresponding sign/house
   that the angular lines refer to, i.e. Ascendant = Red, Midheaven =
   Brown, Descendant = Green, Nadir = Blue. A few extra things have been
   added for color wheel charts only: dark gray lines marking off each
   house (in addition to the main lines on the horizon and meridian), and
   each degree instead of every 5th degree being marked in dark gray on
   the outer circle (every 5th degree being white). Aspects lines are
   colored too, as follows: Conjunctions = Yellow, Sextiles = Light Blue,
   Squares = Red, Trines = Green, Oppositions = Dark Blue. For the minor
   aspects we have: Inconjuncts/Semisextiles = Brown, Semisquares/
   Sesquiquadratures = Orange, (Bi/Semi)Quintiles = Violet,
   (Bi/Tri)Septiles = Gold, (Bi/Quatro)Noviles = Pink.

B) For color X systems, the new -Xm switch will create all windows in
   monochrome B/W mode, as they were in 2.00. In addition, pressing the
   'm' key within a window will toggle in and out of monochrone mode on
   color systems.

C) Aspect grid windows with the appropriate aspect glyphs can be
   displayed by combining the -g option with the -X option (astrolog -g
   -X). Both the split aspect/midpoint grids labeled down the diagonal,
   as well as the relationship aspect grids between two charts (astrolog
   -r <file1> <file2> -g) are supported. The aspects glyphs, objects, and
   the signs in the grids are in their colors as defined earlier. Like
   the astro-graph windows, these charts can't be resized in the normal
   way unless one uses the '>' and '<' keys. For anything less than the
   largest scale size (achieved with the switch -Xs 300, or by pressing
   '>' within a window) all that will be displayed in each aspect grid
   cell is the glyphs of the aspect in effect, the planet being aspected,
   or the sign of the midpoint. However, once the largest scale size is
   reached, there is room in each cell to display the aspect orb to the
   nearest minute off of exact (with a plus or minus sign indicating
   whether the actual angle is slightly greater than or less than exact);
   the degree and minute in addition to the sign for midpoints; and the
   degree and sign location for each planet that's in the grid.
   Remember, the ASCII aspect grids in earlier versions were rather
   limited, only displaying orbs to the nearest 0.1 degree, midpoints to
   the nearest degree, as well as the confusing '.' vs. ',' for angles
   slightly greater or less than exact (not to mention leaving the vertex
   out for the relationship grids between two charts). Well no longer: we
   can now see *real* aspect grids with Astrolog!

D) The -A display aspects option has been extended to display a brief
   verbal description of what each aspect glyph look like. This is in
   case one doesn't know what aspects the weird symbols in the -g -X
   displays are referring to.

E) A new text display switch has been included, -Z, which prints out
   where each object is on the local horizon in terms of altitude and
   azimuth. For each object, the following is displayed: Its altitude on
   the local horizon from +90 degrees (straight up) to -90 degrees
   (straight down), and its azimuth from 0..360 degrees, where 0 = due
   east, 90 = north, 180 = west, 270 = south. To make visualizing the
   azimuth easier, an "azimuth vector" with a N/S component and a W/E
   component is displayed, e.g. (1.00s 0.33w) means that the object is
   mainly south, with its true angle being formed by an vector component
   west that's 1/3 the strength of the south component, i.e. the object
   is about 18 degrees west of south. This along with the altitude should
   make it easy to physically point to where any planet is at any moment,
   making it easy to locate planets in the night sky. This feature can
   also be used to determine the times that a planet rises and sets.
   Also displayed are altitude and azimuth differences between each
   object and the Sun and Moon, first showing the number of degrees that
   the Sun/Moon is "ahead" (or farther east in the zodiac) of the object
   in question, and then the number of degrees that the Sun/Moon is above
   the object in question. This feature can be used to roughly predict
   eclipses! Both the Sun and Moon span about 0.5 degrees in the sky,
   therefore if both the azimuth and altitude differences are < 0.5 (or
   1.0 if the difference is between the Sun and Moon themselves) then the
   object in question is probably being occulted somewhat by the
   Sun/Moon. Note that there are three types of planetary position
   displays: Right ascension and declination showing the object's
   position with respect to the stars, longitude and latitude showing
   where on the Earth the object is straight up (as in the astro-graph
   zenith locations), and finally azimuth and altitude showing the
   positions of the object relative to the local horizon.

F) This new -Z local horizon feature can be displayed in an X window
   as well (e.g. astrolog -Z -X), in which all the planets will be
   displayed in a window depicting the sky. The small dot above or below
   each glyph indicates exactly where each planet is. (Some of the glyphs
   may be overlapping, although the program tries to cut down on this.)
   There is a horizontal line dividing the window representing the local
   horizon; planets above this line are visible, while planets below it
   are set. There are three vertical lines dividing the window as well:
   The middle line represents the due south direction, the one to the
   left is due east, the one to the right is due west, and the edges of
   the window are due north. Like the standard chart display, this window
   may be resized to any proportion. One can press the 'Z' key in any
   window to enter this display type in that window at any time.

G) Ability to write the actual sign and house positions of a chart to
   a file (instead of just the time and place) has been implemented via
   the -o0 <file> option. This option can be used interchangeably with
   the old -o output to file switch. The information written includes the
   zodiac position of the 20 main objects, their retrograde status and
   declination, as well as the positions of the (first six) house cusps.
   This file information can easily be passed into another program, and
   can be read back into Astrolog with the -i option. The -i option will
   automatically determine which type the file is, and will either use
   the given positions, or else calculate them as needed (note that some
   switches, such as the -c house system selection, will have no effect
   for this new file type.) Check an example of one of these files to see
   the precise format (a zodiac position is recorded as three numbers:
   degree in sign, sign as 1..12, and floating point minute within
   degree.) When the files are read back in, they will be flagged as
   "having no space or time" like the composite charts in the chart
   header displays.

H) The new file format can allow one to do things such as transits to
   composite charts (send the composite chart to file with -o0 option and
   then use that file as the first parameter to the -T option) composites
   between two composite charts (use -rc between two composite charts
   sent to a file) and even, if one is willing to do a small amount of
   editing, to do transits to midpoints or the 0 degrees Aries point.
   Note that one can easily edit the positions in the -o0 position file
   to be whatever they like, so one could replace some unimportant object
   (like the vertex) with 0 degrees Aries or an important midpoint value.
   Note that trying to still use the -o time and space output with an
   output chart that doesn't have space/time will confuse the program; it
   will either say it can't make the file or else will output the
   time/space of the most recent parameter file it read in.

I) Another file output feature, the ability to concatenate "comment
   lines" at the end of a data file, been been added to both the -o and
   -o0 options. (Some people have complained that the info in the
   Astrolog chart files are too cryptic.) After scanning the filename,
   the -o[0] option will then write any parameter that follows it at the
   end of the file, until a parameter beginning with a '-' (the next
   switch) is reached. For example: -o 'file' "Walter D. Pullen" Seattle
   will add my name and my birth city in two separate lines at the end of
   'file'. (In unix, quotes can be used to allow spaces within one
   parameter.)

J) Determining dates of transits of progressed planets to natal
   planets can be done with the new -Tp <file> <month> <year> option.
   This is just like the -T option, except that the exact aspects of
   progressed planets (rather than transiting planets) to the planets in
   'file' are displayed. Again, one can substitute '0' for the month to
   scan the entire year.

K) Another added progression feature allows determining aspect times
   of progressed planets among themselves. The -i <file> -dp <month>
   <year> switch will, like the -d option, display times of aspects and
   sign changes, except that they will be for the chart in file,
   progressed throughout the month specified. Progressed planets move
   very slowly ("year for a day") so therefore there will usually be, if
   any, only a couple of aspects in a given month; again, one might want
   to substitute '0' for the month to scan the whole year. Also, since
   they move so slow, the accuracy is cut down, do the dates given are
   probably only accurate to the nearest day, in spite of the times given
   to the minute. Note that Astrolog can now scan for aspects of:
   transiting planets among themselves (-d switch), transiting planets to
   natal planets (-T switch), progressed planets to natal planets (-Tp),
   and progressed planets among themselves (-dp). Only thing Astrolog
   can't do is do progressed planets to transiting planets, although that
   may change in the next version :)

L) The new -pn switch is like the -p <month> <date> <year> switch
   except that (like the -n switch) it assumes the current moment now to
   cast the progressed chart to. This is just another shorthand
   convenience to see what ones progressed chart is like presently; just
   do: astrolog -i file -pn.

M) Determination of latitude crossing points has been added to the
   astro-graph routines! The new -L0 option will do the same thing as the
   -L option, except that after displaying the longitude and latitude
   locations of the Asc/Desc/MC/IC lines, it will then search among the
   lines and display (in order from farthest North to farthest South) the
   latitude of any points where lines cross each other. This includes the
   curvy Asc/Desc lines crossing the straight MC/IC lines as well as
   cases where different Asc/Desc lines cross themselves. And unlike Jim
   Lewis' astro*carto*graphy, Astrolog will also display the longitude of
   the crossing (useful for Asc/Desc crossings) in addition to the
   latitude (as well allowing more planetary bodies to be included in the
   scan, and going farther North and South than Jim Lewis' printouts go.)
   Note however, that there is presently a small (very rare) minor
   omission glitch in the code, where if a crossing is within a couple of
   degrees of 180 deg W/E, it may not be displayed.

N) Change the default orbs of the various aspects with the -Ao <orb1>
   <orb2>... <orbn> switch. Do you not like the 7 degree orbs for
   conjunctions that are in there by default? One can change the first n
   aspect orbs (i.e. as many orb values that one puts after the -Ao)
   anywhere from just the conjunction to all 18 aspects. Non-integer
   values are allowed of course. Use negative orb values to completely
   eliminate an aspect from ever appearing. For example: astrolog -A 6
   -Ao 5 5 -1 10 narrows the orbs for Conjunction and Opposition,
   completely eliminates the Square, widens the orb for Trines, and
   leaves the Sextiles and Inconjuncts in the default values. Note that
   for very wide orbs more than one aspect may apply for a particular
   angle, in which case the more fundamental aspect is chosen. Also for
   wide aspects the decimal value of the orb may be lost in the -g text
   grid (due to too many characters) and their might be some slight
   overlap in the X window -g cells.

O) Note that Astrolog imposes restrictions on the max orb that any
   particular aspect can have to certain particular objects, namely the
   node, fortune, and vertex, which can't have aspects to them in excess
   of 2 degrees. One can suspend these restrictions by replacing the -Ao
   <orbs> option above, invoking it as -AO <orbs> instead. For a fun (and
   perhaps useful) display, try: astrolog -A 1 -AO 180 -g [-X], and see
   everything conjunct everything else.

P) Search through the aspect grid for major aspect configurations,
   including Grand Trines, T-Squares, Grand Crosses, Yod's, and Cradles
   with the -g0 option. This option will produce the same aspect grid
   that -g displays, but afterwards will go through the grid and list any
   of these aspect configurations and what objects are forming them. Of
   course, to see any Yod's, one has to -A 6 or more so that Inconjuncts
   will be included in the aspect grid.
   
Q) Display the locations of the "Uranian" planets with the -u switch.
   Transneptunian or Uranian planets are an interesting subset of
   astrology which includes various objects alleged to be beyond Pluto
   (or something like that, I'm just the programmer). Anyway, Astrolog
   can display the zodiac positions of these bodies as well, and will do
   this by taking the eight Uranian bodies and literally replacing
   Mercury..Pluto with them. (Do: astrolog -u -O to list them.) This
   replacement will allow the Uranians to be included in Astrolog's
   various options, although of course this means that they can't
   interact with Mercury..Pluto in any way. (Note, I didn't bother to
   change the X glyphs or sign rulerships since I don't know what they
   are for the Uranians.)

R) Decan displays are now supported in Astrolog, and one can display a
   decan influenced chart with the -3 switch. The decan theory is that
   each sign in the zodiac can be divided into three parts: The first 10
   degrees (i.e. the first decan) is mainly influenced by the sign in
   question, the second 10 degrees (second decan) although still
   influenced by the sign in question is also somewhat influenced by the
   next sign of the same element, while the last decan is influenced by
   the third sign of the same element. The -3 switch applied to a chart
   will move each object into the sign of its decan. For example, if the
   Sun is at 29 degrees Aquarius and the Moon at 5 degrees Virgo, in the
   resulting chart, the Sun will go to Libra (26 degrees) and the Moon
   will remain in Virgo (although be at 15 degrees now since it was
   previously in the middle of the first decan of Virgo.)

S) In the -w text wheel option, the objects in each house are printed
   from top to bottom in order from earliest in the house to latest. This
   looks good except for in houses 5..8 where this appears backwards
   (i.e. a planet having just entered the 6th house from the 5th is
   displayed right under the Descendant.) Replace -w with the -w0 switch
   and the objects from houses 4 through 9 will be reversed and printed
   in order from bottom to top, making a more flowing looking chart.

T) The new -q0 <month> <date> <year> <time> option takes the four
   parameters and casts a chart for the time in question. The time zone
   and location are taken from the default compiled values. This is just
   yet another useful shorthand way to quickly make a chart. Note that
   this is just like the -q <month> <date> <year> option except that -q
   always casts it for noon in the default zone. Also note that the -a
   option which takes all seven chart parameters can be duplicated with
   -q0 along with the -z <zone> and -l <long> <lat> options.

U) A couple of new compile time option variables have been added to
   the include file astrolog.h. For those people who don't like Placidus,
   a new default house system can be set to the value from 0..9
   indicating what system to use if the user doesn't explicitly specify
   it with -c, Another thing: It must be mentioned that although the
   accuracy of Sun..Pluto and Chiron are to the nearest minute for years
   1900-2000, the four asteroids are relatively inaccurate and can even
   be a couple of degrees off in the worse case. Also, some people just
   don't like or care about the minor bodies. If you don't want these
   values to appear by default, there is a new #define that can be
   commented out so that it will be as if -R is always included when the
   program is run. (Simply do -R to get them back if you compile it this
   way.) There is a new feature added to all the X window displays which
   can toggle the restriction status of the asteroids and other minors.
   Press the 'R' (restrict) key in the window and the screen will be
   redrawn with the restriction status of these toggled.

V) The -Xn [<value>] option can be used to start up an X window in
   animation mode. Before, one would have to explicitly press 'N' or a
   shift+number key to start the window animation. Without a parameter
   after -Xn, the option will start it up in continuous update to "now"
   mode (which is like pressing 'N' in that any chart will be erased with
   the current chart now.) The switch can accept parameters from 1..9,
   corresponding to the animation rates obtained by pressing shift 1..9
   in the window, i.e. update whatever chart is passed to it seconds,
   minutes, hours, days, months, years, etc. later each time.

W) Familiar with ley lines? They are energy lines crossing the Earth.
   I was experimenting earlier with the master ley line grids on the
   Earth (in the pattern of an overlapped 20 sided Icosahedron and 12
   sided Dodecahedron) and I figured Astrolog with it's world map would
   be an interesting program to explore this with. The -XW world map
   display option is always still, and can never be animated. If however
   one tries to animate it, either by the -Xn switch or pressing 'N' in
   the window, a new display showing the ley lines will be shown.
   Actually this is mainly a hack, but I figured I would leave it in
   there for amusement and inspiration. Hackers note: there is an
   interesting "bug" that can arise with the -XW as well as the -XG (and
   -XP, described below) switches: These displays can be brought up
   without having to specify an actual chart. Now suppose one presses
   'C', 'W', etc. to bring up a chart - what will be displayed? The
   answer will be whatever default values were already there, and if
   you're curious, I set to be the time of the New Moon on 1-4-1992 at
   11:11pm GMT at Greenwich England. (i.e. one week before the 11:11)

X) The -XP option will generate a polar view of the Earth as a globe.
   This is like the -XG globe option except that the view is from the top
   (or bottom) and therefore doesn't rotate. By default, the view is
   looking down on the north pole with 0 deg W/E toward the bottom of the
   screen. To see a (fixed) view of the south pole hemisphere, go into
   animation mode. Again, like with all the other X window display
   options, one can enter this display with a keystroke: press 'P' in any
   Astrolog window and it will revert to this display.

Y) A couple of conveniences for the X window features have been added.
   Note that the -Xo <bitmapfilename> option is only used in conjunction
   with the -Xb write output to bitmap switch. Therefore, I have -Xo
   automatically assume -Xb is set. (Invoking -Xb itself without -Xo will
   have the program prompt the user for the bitmap filename.) In other
   words, astrolog -Xb -Xo 'file' is the same as just astrolog -Xo
   'file'. (This may change if I add other file types, but for now none
   are planned.) Also, I should mention that Astrolog includes it's own
   appropriate bitmap if one iconifies the window, instead of reverting
   to the braindead UnknownIcon as it did before.

Z) A few other minor things have been done to the program, such as the
   -H help switch displays more information (e.g. what the difference
   between -T and -T0 is) as well as mentioning for X that you can press
   the 'H' key while within the X window to get a list of all the neat
   things you can do in window once it's already been created.


I could have added a bunch of other features to this version, but as
you can see, I ran out of letters :) Oh well, wait for version 2.20!
Remember now that the -e everything switch includes a lot more chart
information in it since there are more features now.


Here is the list of bug fixes over version 2.00,
listed in rough order from the most major to the least major:

1) I inadvertently disabled the -p progression option while updating
   the program from version 1.40 to 2.00, so that it would produce
   progressed charts way off. This has been fixed and the program
   produces those charts as well as it did in version 1.40 and before.
2) There was a bug in the midpoint routine which would yield results
   180 degrees off occasionally when the two points being passed to the
   routine were themselves almost 180 degrees apart. This would mainly
   affect composite charts and the midpoint grid. This has been fixed for
   all cases now.
3) Some composite charts where the house cusps in the two charts are
   almost 180 degrees apart would have the composite cusps in
   non-sequential order, 180 degrees apart from where they should be,
   e.g. two opposing cusps could be interchanged. The program now makes
   sure this won't happen, and takes corrective measures if necessary.
   Also, composite charts are no longer displayed in the chart headers
   with a bunch of 0's for the date, time, etc. Composite charts are
   properly labeled as being such, while only charts that exists in
   space/time will have their coordinates printed.
4) Some of the values in the header displays, such as time, long/lat,
   etc, would occasionally be displayed one number higher than they
   should be, due to improperly rounding up. This has been fixed. A few
   other minor display areas have been fixed, e.g. in the heliocentric
   planet list -h -O, Earth was abbreviated as "Eart" before.
5) In the -w text wheel option, the objects in each house are supposed
   to be printed from top to bottom in order from earliest in the house
   to latest. The program did this correctly except for cases in which a
   house spanned 0 degrees Aries, in which case the Aries planets would
   be printed before the Pisces planets. This should be the other way
   around, as it is now.
6) I probably should have made the -g text aspect grid and the -E
   ephemeris display be able to be affected by the -R restrictions. They
   weren't before and they are now.
7) Some of my very bad X windows programming in version 2.00 has been
   cleaned up, as least slightly. The program no longer core dumps if the
   DISPLAY environment variable isn't set properly. Before, the windows
   would come up white on black on some machines, and yet black on white
   on others; now as expected everything will come up white on black
   unless one specifies otherwise with the -Xr switch. Finally, a couple
   of people have mentioned that version 2.00 would eat up *lots* of cpu
   even while doing nothing (unless in 'p'ause mode). Also while in pause
   mode, uncovering part of the Astrolog window would leave that part
   blank until pause mode was left. Now, Astrolog doesn't eat cpu unless
   it's doing something useful, and it will always redraw its windows if
   unmapped.
8) Some things that caused problems for PC users have been corrected;
   Astrolog now is explicitly declaring 32 bit longs in places where the
   PC assuming 16 bit ints would cause problems, as well as eliminating a
   couple of unnecessary declarations and adding some more declarations
   which aren't necessary for unix but would confuse a PC.

Note for PC users: I have tried to make this program as much
executable on personal computers and other non-unix systems as
possible. Although this version should be easier to compile than
previous ones were, still there are probably some things I've
forgotten/left out. For instance, for as least one person the
options.c and formulas.c files were too long in version 2.00 and had
to be split again, so one should be aware of these possible factors.

Unfortunately, I am graduating in a little over a month from now, and
therefore probably won't be able to work on or support Astrolog much
unless I can get another account somewhere. Still, I hope to release
an Astrolog 2.20 in another month, perhaps including features like
fixed star tracking. (Have you Sun conjunct the Pleiades? Find out!)

I wish to express thanks to the many people who have pointed out the
bugs (and have made suggestions for new features) in this (as well as
previous) versions so that they could be corrected. You know who you
are! :) As the Sun leaves Aquarius after the Full Moon let's remember
the power of unified effort; and of course the Sun will soon be back
in Aquarius, perhaps next time in the Age of Aquarius!


************************************************
Astrolog 2.20 posted Wed,  3 Jun 92 00:25:40 GMT
************************************************

This file describes the new features, changes, and bug fixes in
version 2.20 of Astrolog (over the previous version, 2.10, posted 3.5
months ago). Although this new version is a stand alone program, this
Update file requires knowledge of the features of version 2.10 in
order to make sense. If you aren't familiar with version 2.10, get and
read the version 2.10 Helpfile which describes all its features from
the alt.astrology ftp site at hilbert.maths.utas.edu.au, or from any
comp.sources.misc archive.

Just some of the new things contained in Astrolog 2.20 are: Fixed star
positions, spatial astronomical charts of the solar system, and a
couple of other things non-astrologer astronomers would like. Also
added are new kinds of and more support for relationship charts, and
the nascent beginnings of an interpretation feature, along with other
things non-astronomer astrologers would like. Ability to scan a data
file for program defaults has been added, allowing changes to be made
to the program without recompiling, along with a bunch of funky
additions to the X graphics features.

----

Important: A few changes have been made to the program, i.e. not just
new features but some things that were true for version 2.10 are no
longer valid. A list of these changes follows:

1) First of all, every object (planets, minor house cusps, uranians,
   and stars) has its own "number", displayable in the -O list. No more
   ugly hacks of overwriting some planets with the uranian positions in
   the -u option. There is virtually no difference between a planet and a
   house cusp. The default is still the first 20 objects to keep the
   charts looking the same as before, although one can have a chart with
   all 78 objects (one for each tarot card ;) if they like. For example,
   the -u uranian switch will now display the uranian locations after
   everything else in the standard chart display. You get what you ask
   for, and what you don't want must be explicitly -R restricted.

2) As a result of the above, the minor house cusps (11th, 12th, 2nd,
   3rd) are no longer included in the -T transit list by default. If you
   want them, you must explicitly specify you want them (with the -C cusp
   option described later). Also, the relationship chart aspect grid now
   includes the vertex (before it only included the first 19 objects) and
   as a result the display will unfortunately exceed 80 columns, unless
   you explicitly restrict one of them with the -R option.

3) The program now makes a distinction between synastry charts, and
   the actual comparison between two charts. Before the -r option would
   combine the two charts in synastry, unless it was the -g option, in
   which case the contents of both charts would be compared in an aspect
   grid. Now -r is only for synastry, and combinations such as "-r chart1
   chart2 -g" or "-r chart1 chart2 -g -X" will display the aspects within
   the synastry chart itself. To actually have two charts side by side,
   use the -r0 option described later, instead of -r.

4) To display the ley lines in the -XW world map window, or to see the
   southern hemisphere in the -XP polar chart, one had to enter animation
   mode before, a hack which of course had nothing to do with animation.
   This "bonus information" is now in a separate feature, accessed with
   the -Xi switch described later.

5) In an X window, pressing the 'S' key would resize the window to be
   a square, and the 'C' key would revert the mode back to the standard
   wheel chart. These two keys presently do other operations described
   later, and the above functions are now accessed by the 'Q' and 'V'
   keys respectively.

6) The chart information at the bottom of the window is now included
   by default, while before it wasn't. To remove it, press the 'T' key in
   the window or use the -XT switch described later.

7) The -w and -w0 switches both display the same text wheel chart, but
   in slightly different ways. They have been reversed in function, since
   the -w0 chart looked better.

8) The "default" chart, i.e. the initial values in the chart
   parameters that are used if one forces a chart to be used when one is
   not expected, e.g. combining the -XW and -o switches, has been
   changed. Before, I had put in the data for the 11:11pm GMT New Moon on
   1-4-1992, but now I have changed it to the chart for this version of
   Astrolog itself: 5-31-1992 9pm PDT Seattle, WA.

9) Finally, concerning the source code itself, there are two new
   files: options.c has been split into the new file charts.c, and
   graphics.c has been split into the new file xcharts.c.

----

Now, a comprehensive list of the features and extensions added to this
version of Astrolog follows:

A) -S switch: A new chart type is available - solar system space
   charts, which give the astronomical positions of each planet in terms
   of x, y, and z coordinates. Although not directly useful
   astrologically, it does give one a good view of how the planets
   actually were positioned at the time in question. For example, normal
   astrology doesn't make the distinction between the four different
   "forms" of say, a Mercury Venus Conjunction, i.e. they can either be
   Conjunct on the near side of the Sun, Conjunct on the far side of the
   Sun, or one can be on one side and the other on the other side. When
   the chart is actually displayed, for each body the following
   information is printed: The relative angle of the planet with respect
   to the central body, i.e. its zodiac position converted to the
   appropriate number from 0..360. This is followed by the x, y, and z
   coordinate positions of the object, in astronomical units from the
   central body. The x-axis increases in the direction of 0 degrees Aries
   (tropical zodiac), the y-axis increases in the direction of 0 degrees
   Cancer, and the z-axis is with respect to the Earth's orbit (meaning
   that the Sun and Earth always have a z-axis value of 0.0). Finally the
   overall length from the central body in AU is printed, which is just
   the diagonal as indicated by the x, y, z vectors. (The Earth and Sun
   are of course always about 1.0 AU from each other.) The Moon circles
   the Earth and isn't a part of the solar system proper; therefore, it
   is never in these charts. The -e everything option will include this
   chart in it's listing of all the chart displays.

   The -S switch can be combined with -X to give an X window chart of the
   solar system. This will be displayed as an aerial view of the entire
   solar system, with 0 degrees Aries to the left of the screen, and 0
   degrees Cancer to the bottom. Note that this chart includes all
   possible planets, including the Earth (whose glyph is a cross inside a
   circle). Whatever object is chosen to be the central body is at the
   center of the screen, with all the others around it. This is a fun
   chart to animate - watch the planets go around the Sun, and *see* how
   they turn retrograde with respect to the Earth. In addition to the
   bodies themselves, twelve spokes are drawn from the center body to the
   edge of the screen, which delineate the zodiac with respect to it.
   Note that the scale of the solar system is large; attempting to fit
   all the planets out to Pluto on the screen at once will cause all the
   inner planets to be crammed together near the middle of the screen. To
   deal with this, the scale size as indicated with the -Xs switch and
   the '<' and '>' keys will affect how much of the solar system is
   viewed at once (in addition to the glyph sizes). For a scale size of
   300, the viewport will have a radius of 6 AU (about out to the orbit
   of Jupiter; useful for viewing the inner planets). For a scale size of
   200 (default), it will have a radius of 30 AU (enough to include
   Neptune, and Pluto most of the time). Finally, a scale size of 100
   will result in a radius of 90 AU, enough to easily include the entire
   solar system, as well as the orbits of the alleged Uranian bodies
   beyond Pluto.

B) -I switch: Another new chart type is available - interpretation of
   influences. This is the beginning of a general interpretation ability
   for the program, although all it does now is calculate the relative
   "power" of each planet's placement, giving a general idea of the
   prominent areas of a chart. When such a chart is printed, each planet
   is given a point value, larger numbers indicating more strength. Each
   planet's strength is divided between two fields: the positioning in
   and of itself, and the power of the aspects it makes with the other
   planets. In addition to each field, the total of these two areas is
   printed, as well as the relative percentage of the planet in question
   with respect to all the planets combined. Each planet gets a ranking
   for its positioning, aspects, and total power as well, with the
   strongest getting #1, the next strongest #2, etc. The -e option will
   include this chart as well in it's listing of all the chart displays.

   To determine the strength of the positioning of a planet, various
   things are taken into account: 1) The power of a planet in and of
   itself, e.g. the Sun and Moon are more powerful then the other
   planets. 2) The house placement of a planet, e.g. a planet in the 1st
   house is more powerful than one in the 2nd. 3) Whether a planet is in
   the sign it rules or is exalted in, e.g. Jupiter in Sag results in
   more power to Jupiter. 4) Whether a planet is in the house
   corresponding to the sign it rules or is exalted in, e.g. Jupiter in
   the 9th house. 5) Planets get more power if the signs they rule are
   occupied, e.g. a bunch of stuff in Aquarius gives more power to
   Uranus. 6) Planets get more power if the houses they rule are
   occupied, e.g. a bunch of stuff in the 11th house gives power to
   Uranus. 7) Finally, planets get power according to what houses the
   cusps of which fall in the signs they rule, i.e. the ruler of the
   Ascendant (and to less extent the Midheaven, and so on) gets lots of
   influence. Determining the strength of a planet's aspects is much
   easier, and is basically composed of the sum of the strength of each
   aspect the planet makes. Taken into account are: 1) The inherent
   influence of the planet being aspected to, e.g. Sun conjunct Jupiter
   gives more influence to Jupiter than Mercury conjunct Jupiter would.
   2) The influence of the aspect itself, e.g. Oppositions are more
   powerful then Sextiles. 3) Finally the orb of the aspect, i.e. exact
   aspects are more powerful than wide ones. (The influence of the orb
   varies linearly from max power at exact to zero power at the limit of
   the orb - sorry Maggie M. and Mark K. - no complex aspect wave
   functions, at least for this version :)

   Special thanks goes to Mark K. who initially presented this idea of
   interpreting overall influences to me. I basically just took his
   ideas, polished them a bit, and put it into the code. Interestingly,
   while programming this feature, I had a dream about him, in which he
   elaborated upon some of the ideas and even gave me suggestions for
   some of the planets' default power values (astral visitation?) And,
   while on the subject, I've had a couple of other Astrolog dreams; I
   had one neat one while working on the -h extension (described later)
   about a far distant future version of Astrolog that could actually
   teleport one to the places which they cast charts for :)

C) -v switch: This isn't really a new feature, but rather a formal
   specification for the standard chart listing of the planetary
   positions. Before, one would get this chart by default if they didn't
   specify any other chart types, and they would get it along with
   everything else in the -e option, but there was never any formal
   switch for it. In other words, before there was no way to, for
   example, display the standard chart, followed by an aspect grid, since
   there was no switch to choose the standard chart. Now, one can specify
   "-v -g" and get the above mentioned combination.

D) -v addition: The standard chart listing of the planetary positions
   has been expanded to include an extra field for the "velocity" of each
   planet. This velocity value approximates how fast the planet is moving
   through the zodiac with respect to the Earth (or whatever the central
   body is set to) in degrees per day. This value of course, goes
   negative when a planet goes retrograde. This is useful not only to get
   a feel for how fast each planet moves through the zodiac, but to
   determine when a planet is about to go retrograde or direct - the
   value approaches zero when the planet changes direction.

E) -v0 switch: This switch is just like -v except that it modifies the
   planet velocities slightly. Normally, it isn't a trivial task to
   determine precisely when a planet is going to change direction. This
   is because, for example, although a velocity of 0.010 degrees/day for
   fast moving Mercury means it's about to turn retrograde, the same
   velocity value is normal for slow moving Pluto. The -v0 switch divides
   the normal velocity values by how fast each planet moves with respect
   to the Sun, meaning that all planets will now have an average
   *relative* velocity value of 1.000, and in all cases, a velocity of
   2.000 means the planet is moving twice as fast as normal, and one of
   0.010 means the planet is about to turn retrograde.

F) -d addition: The -d aspect search routine has been expanded to
   calculate and display the times when a planet changes direction.
   Before, in such a listing, it would be shown whenever a planet changed
   direction during a day, but the exact time of the station wouldn't be
   printed for it.

G) -U switch: Astrolog 2.20 has the ability to display the positions
   of 46 of the brightest and most important stars in the sky. To include
   these stars in a chart, use the -U "universe" option. The 43 brightest
   stars, i.e. all those with apparent magnitude values < 2.0 are
   included, in addition to three dimmer stars which are considered
   significant, i.e.: Polaris the North star, the Pleiades star cluster
   (home of our extraterrestrial cousins), and Zeta Reticuli (home of the
   Grey aliens.) One bright star is called "Orion", which is formally
   Alnilam, the middle star of Orion's belt. Since stars are fixed in
   the sky, they will never change position in the -s siderial zodiac,
   although they will slowly precess forward in the normal tropical
   zodiac. The -R restriction option can be used to determine which stars
   are actually included, although the -U option needs to be included to
   get any stars at all. In X windows, the stars are denoted by three
   letter abbreviations (as are the uranians and minor house cusps), and
   are colored according to their brightness: yellow for stars brighter
   than (less than) magnitude 0.0, gold for dimmer ones from 0.0 to 1.0,
   orange for those from 1.0 to 2.0, and finally the dimmest special
   stars with a magnitude greater than 2.0 are red.

   In the -v standard chart, -Z horizon chart, and in the -O object list,
   where all the stars are printed sequentially, it can sometimes be
   confusing to locate the star you want among 42 others. The -U option
   can be modified to sort the stars in various ways. If one uses -Ub
   instead of just -U, the stars will be listed in order from brightest
   to dimmest. Doing -Un instead of -U will alphabetize the stars by
   name. -Ul will sort them by their altitude from highest in the sky to
   lowest, while -Uz will sort them by their zodiac position. Note that
   any star ordering will have no visible effect in X windows, and one
   must still use the default ordering when passing numbers to the -R
   option to restrict various stars.

H) -C switch: This new option must be indicated to include the four
   minor house cusps (i.e. 11th, 12th, 2nd, 3rd) in the various chart
   options, such as the -g aspect grids, -T transit searches, the X wheel
   chart, etc. This option of course won't have any effect on certain
   charts where only physical bodies are shown (e.g. -Z, -S, -L) or where
   all house cusps are already indicated in the chart (e.g. -v, -w).

I) -O0 switch: The old -O switch simply displays a list of all the
   objects, cusps, uranians, and stars, along with their index numbers.
   This list can be affected by the -R restrictions, and the -C, -u, and
   -U switches must be included in order for all of Astrolog's objects to
   get listed. In order to make it easier to simply display a list of all
   78 objects Astrolog recognizes, the new -O0 option is just like -O
   (and is equivalent to "-C -u -U -O") except that it will ignore all
   restrictions and always list every object. Stars are printed in the
   list along with their azimuth, altitude, and brightness values.
   (Remember that when -O is encountered, it immediately executes and
   terminates the program, so any modifying switches must be before it.)

J) -RC, -Ru, -RU switches: These three switches are similar to the -R0
   option in that they initially restrict objects, i.e. all the minor
   cusps, Uranians, and stars, respectively from appearing. For example,
   if you want to include only the star Sirius in an X window chart
   without having to also include all the other stars (or having to enter
   a very long restriction list), do: "astrolog -U -RU 48 -X", which will
   include the stars, and then restrict them all except Sirius, before
   making the chart.

K) -h <arg> expansion: The -h switch which allowed heliocentric charts
   to be computed has been expanded to allow charts to be cast with any
   planet as the center. The option takes a parameter to indicate which
   object to center the chart on, e.g. do -h 5 to cast a Mars centered
   chart. (Moon centered charts are not allowed.) As before, -h by itself
   means to do a heliocentric chart.

L) -rm <file1> <file2> switch: Time-space midpoint relationship charts
   are now supported. Doing "-rm chart1 chart2" will calculate the time
   and location exactly half way between the times and locations as
   indicated in the two files. Unlike all other types of relationship
   charts, this one actually exists in space and time, and therefore can
   be treated like a single chart and can be output with the -o option.

M) -r0 <file1> <file2> switch: A distinction has now been made between
   synastry relationship charts and the actual comparison between two
   separate charts. The -r0 option must be used to generate these
   comparison charts, e.g. the aspect grid between the planets of two
   charts (and the new X chart described later). The -r0 option will act
   like the -r synastry option in certain displays that can't compare two
   charts; for example, "-r chart1 chart2 -g" and "-r0 chart1 chart2 -g"
   are different, because one generates the aspect grid within a synastry
   chart, and the other an aspect grid between all the planets in the two
   charts, but "-r chart1 chart2 -v" and "-r0 chart1 chart2 -v" will do
   the same thing. (Note: the "-t file" current transit option is
   basically a shorthand way of doing "-r0 file now".)

N) -G switch: This switch generates a special type of locational
   analysis chart, called a geodetic chart, in which the house cusps are
   computed from a different source, i.e. as a function of only the
   longitude and latitude. This basically gives every spot on the planet
   a different unique set of house cusps, and can be used to analyze the
   characteristics of different areas, and their influence on you if you
   insert your own planets in the houses. This type of chart was
   described in the January 1992 issue of Dell Horoscope magazine, from
   which I learned how to generate these charts. Basically, the Midheaven
   is approximately the longitude value converted from degrees into the
   appropriate zodiac sign; for example 0 degrees E goes to 0 degrees
   Aries, 30 degrees E goes to 0 degrees Taurus, etc.

O) -L <arg> addition: For text screens, one can pass an optional
   parameter to the -L or -L0 astro-graph option to give the latitude
   step rate at which the Ascendant and Descendant lines are computed.
   This value is by default 5 degrees, although one can may increase or
   decrease it to any integer (subject to the restriction that the number
   160 is divisible by it.)

P) -g0 addition: A new planetary configuration has been added to this
   option. In addition to flagging the Grand Trines, T-Squares, and so
   on, any chart Stellium's are located. In a Stellium, three objects
   must all be conjunct with each other.

Q) -ga switch: Ability to determine whether an aspect is applying or
   separating (is about to happen or just happened) has been added to the
   -g option. Normally the aspect orbs are flagged as being + or - based
   on whether they are greater or less than the proper amount (e.g. a 91
   degree Square has a +1 degree orb while a 89 degree one a -1 orb.) If
   one, however, invokes the -g option as -ga instead, a negative orb
   will indicate an applying aspect while a positive orb a separating
   one. (To estimate applying vs. separating, the program examines the
   planetary positions and their velocities at the time in question.)

R) -g0 expansion: For relationship aspect grids, the -g0 option will
   display a midpoint grid instead of an aspect grid between the planets
   in the two charts e.g. "-r0 chart1 chart2 -g0". Before, the -g0 switch
   with comparison charts wouldn't behave any different from just -g.

S) -s0 switch: For astronomers out there, the new -s0 option will
   print all planetary positions in the right ascension hours/minutes
   format instead of the sign/degrees/minutes astrologers are accustomed
   to. This will affect how the objects are listed in the -v display, and
   how the star azimuths are displayed in the -O list. For example, 0
   degrees Aries is represented as 0 hr, 0 min; 0 Cancer goes to 6 hr, 0
   min, and so on through the 24 hour clock.

T) -p0 <arg> switch: User definable progression rates can be specified
   with this new option. When using the -p progression option, Astrolog
   assumes you want the standard "year for a day" rate of secondary
   progressions. By passing different values to the -p0 switch, one can
   change the default "365.25 days for a day" to any value they want for
   some less often used method of progression. For example, one can do
   "-p0 7 -pn" to do a week for a day, "-p0 -365.25 -pn" to get negative
   year for day progressions, and so on. (Note that "-p0 1" would be the
   same as if no progression were done at all.)

U) -z expansion: Normally the -z option takes an argument which will
   then become the default time zone. If one, however, invokes it by
   itself, it will subtract one hour from whatever the default time zone
   presently is. This is useful since it is equivalent to adjusting any
   times printed to Daylight time, i.e. it will add one hour to any times
   displayed. (When entering the birth time for charts, one is supposed
   to subtract one hour if Daylight time was in effect; note that
   subtracting one hour from the time zone will do the same thing.) For
   example, over here on the West Coast, I have my default time zone
   compiled to be "8"; now that Daylight time is in effect here, I can do
   -z 7 or just -z to decrease the default time zone when I make a -T
   transit list, which will in effect add one hour to the local times
   displayed, or in effect "Spring ahead" the clock for me. (For a better
   way of adjusting Astrolog for Daylight time without having to specify
   -z all the time, recompile the program, or add one hour to the times
   in your head, use the "defaults" file described later to change the
   time zone.) Remember that the -z (and -l) switches must be before any
   other switches they modify (such as -n) in order for the new default
   to take effect.

V) -- <arg> switch: This new "dash minus" option is just like the old
   "dash plus" (-+) option that's already in place, except it subtracts
   instead of adds the specified number of days from any chart cast. This
   is only for convenience, in that "-- 1" is the same as "-+ -1".

W) -w expansion: Chart header information has been added to the -w
   text wheel chart option. Before, the space in the middle of the chart
   was left blank, but now displayed in it is the same header info as is
   at the top of the standard -v chart.

X) There are now wider orbs allowed for the Sun and Moon in the aspect
   grids. Normally, only the aspect in question determines the allowed
   orb, but the Sun and Moon will now each add 1 degree to whatever the
   orb would have been. (This excludes minor objects such as the North
   Node, Part of Fortune, Vertex, and all the stars, for which the orbs
   are not allowed to ever exceed two degrees.)

Y) When specifying command switches, the leading dashes are optional,
   and aren't necessary any more. For example, the command "astrolog -i
   chartfile -R -u -U -Z -Xs 300 -Xi -XB" can be abbreviated as "astrolog
   i chartfile R u U Z Xs 300 Xi XB". (This is subject to a couple of
   minor limitations, in that one can't have the -1 or -3 option follow a
   -R restriction list of numbers, for obvious reasons.)

----

Astrolog 2.20 includes the ability to search an input file for various
default parameters to use in the program. This allows one to easily
change major defaults without having to recompile the program, which
is useful if, say, one receives a compiled executable from a friend
who had a different configuration. The program looks for the file
"astrolog.dat" in the current directory, and if not there, looks for
it in the default directory. Parameters in this file will override any
defaults compiled into the program, although the highest priority is
still given to the command line options. Note one doesn't *have* to
have this file in order to run the program - if not found Astrolog
will still run as before. Presently, the parameters one can change in
this file are: default time zone (as indicated with -z option),
default longitude and latitude (as in -l option), number of aspects
(-A option), default house system to use (values as in -c option).
Then come default restriction values (as with -R option) for the first
20 objects (0 = active, 1 = restricted). Next are the orbs (as with
-Ao option) for the 18 aspects. Finally, comes a long list of the
influence values used by the -I option, i.e. the power values of each
of the first 20 planet objects, of the 12 houses, and of the 18
aspects. The only major thing that one *can't* change in the file is
the default directory path in which the program looks in for input
files if not in the current directory, since Astrolog needs the
default directory in order to be able to locate the file in the first
place! The "astrolog.dat" file included with this version of the
program has some "comment lines" describing what is contained in each
line. One can chance or delete comments as long as they make sure that
an equals sign ('=') immediately proceeds any value or list of values,
since the program uses this character to determine where comments end.

----

Additional new features and extensions follow below; however, these
only affect the graphics portions of the program, and therefore only
come into play if the X11 compile time option is set.

A) True relationship wheel charts can now be displayed in a window,
   i.e. where the planets of both charts are displayed in separate rings
   of the same wheel. Use the -r0 option to display this comparison type.
   For example, for the command "astrolog -r0 person1 person2 -X", the
   following is displayed: The signs and houses as in person1's chart are
   drawn in the outermost part of the wheel. Inside this is a ring of
   person2's planets as displayed in person1's houses, and inside of this
   are person1's own planets. Finally at the very middle is an aspect
   grid, which shows those aspects that are occurring between the objects
   in the two charts. Basically this is just the standard wheel chart for
   person1, except that person2's planets are in an outer ring of objects
   and the aspect grid shows the aspects of the relationship. Putting
   such a chart in animation mode only affects person2's planets, so this
   is a great way to analyze transits: Doing "astrolog -t yourchartfile
   -X" will show all your current transits, and allow you to easily
   animate the transiting planets through your natal signs and houses.

B) More color: For color X terminals, the -XG globe display and -XW
   world map display are now done with the continents in different
   colors! This makes them look much better than before. Each of the
   seven continents is in a different color of the rainbow, and the
   colors are chosen to correspond to the appropriate chakra (etheric
   energy vortex along the human spine) that goes with each land mass.
   They are: Africa - red - Root chakra, Australia - orange - Navel
   chakra, South America - yellow - Solar plexus chakra, North America -
   green - Heart chakra, Europe - blue - Throat chakra, Asia - indigo -
   Third Eye chakra, Antarctica - violet - Crown chakra. Major lakes are,
   of course, colored navy blue.

C) Mouse buttons: Pressing the mouse buttons in the X windows will now
   do various functions. The left mouse button acts as a pen that allows
   one to actually draw on the chart: press it and drag the pointer to
   draw a line on the window - good for aiding in analysis or in
   presentations. (Any scribbles one makes will disappear the next time
   the chart window is updated, therefore drawing will have little effect
   when in animation mode.) The middle mouse button will only work when
   the world map is shown, i.e. in the -L astrograph or -XW world map
   displays: press it and get the approximate longitude and latitude of
   the place on the map where the pointer is. For the three scale sizes
   of 100, 200, and 300 percent, the accuracy is to the nearest degree,
   30', and 20', respectively. So, if you want to cast a chart for
   southern Madagascar, Africa, but don't know the coordinates, click the
   middle button on the map for a good approximation! Finally, the right
   button acts just like the 'q' key, and will terminate the window.

D) '[', ']' keys: Not only can the globe display be rotated, but the
   poles can be now tilted down at various angles! (This basically makes
   the -XP polar globe view option obsolete; it's still in there only for
   backwards compatibility.) Press the '[' and ']' keys when the globe is
   being displayed to respectively "pull down" and "push back up" the
   angle of the polar axis from which the globe is viewed.  Combining
   this with the globe rotation allows one to move any point of the globe
   to the center of the screen.

E) 'l' key: Press the 'l' key in a window to inhibit the labeling of
   all planets in the various charts. Instead of drawing the little point
   and then the glyph near it, just the point is displayed. This mode is
   mainly useful for the -Z horizon and -S space charts (and has little
   use for anything else) when in cramped quarters or to get a more
   realistic view of how the sky actually looks.

F) -XT switch: In addition to the 'T' key which will toggle off or on
   whether the chart parameters are displayed at the bottom of the
   window, the new -XT option will do the same thing, giving control of
   the feature when a formal window isn't actually opened, e.g. when
   displaying to the root.

G) 'O', 'o' keys: Have you ever animated your natal or some other
   chart to some far distant future or past time, only then to wish you
   could somehow easily get back to the original chart? You can now, by
   pressing the 'O' key in a window, which will recall to the screen
   previously "saved" chart parameters (which are by default set to
   whatever you started the window with.) Press the 'o' key to change
   this default stored chart to be the chart that is presently in the
   window.

H) 'B' key: Press the 'B' key in an X window to dump whatever is
   currently being displayed to the background root window. This is
   basically the corresponding keypress to the old -XB option.

I) 'C', 'u', 'U' keys: Pressing the 'C', 'u', and 'U' keys in the
   window will toggle the restriction status of the four minor house
   cusps, the uranian planets, and the fixed stars, respectively. These
   keys compliment the old 'R' key option already in place, and are the
   counterparts to the -C, -u, -U, and -RC, -Ru, -RU options.

J) 's', 'h' keys: Press the 's' key in the window to toggle whether or
   not the siderial vs. tropical zodiac is used. Press the 'h' key to
   toggle to a heliocentric based chart or back again to a geocentric
   one. These of course correspond the the -s and -h options.

K) 'v' key: Press this key to dump back to the text screen the list of
   where all the planets currently being displayed in the window are.
   This display is the same as produced with the -v switch, and is useful
   if one wants text to indicate where everything in the chart is.

L) -Xi switch, 'i' key: Certain people have asked that some of the X
   charts be modified in various minor ways, i.e. in either adding or
   removing certain information. Rather than add a new hard to remember
   minor option for each change, I have added one major new switch which
   covers all the charts. The new -Xi switch will invoke this
   "induce/inhibit information" option, and pressing the 'i' key in a
   window will accomplish the same thing by toggling the mode's status.
   By default, all the charts are as before, but when this bonus option
   is set, it affects each X window chart in a different way, as follows:

 o For the standard -v and relationship -r0 -v wheel charts, it will
   inhibit the display of the aspect grid in the center - useful for
   speed or when doing large time lapse animations when it would get in
   the way.

 o For the -g aspect grid, it will flip the aspects and midpoints across
   the center diagonal, i.e. the midpoints will be below it and the
   aspects above it, instead of the other way around. For the -r0 -g
   relationship aspect grid, the entire grid will be replaced with one
   showing all midpoints between all the objects in the two charts.

 o For the -Z horizon chart and -S space chart, it will, for the major
   planets, increase the size of the "points" showing where each object
   actually is, making a brighter "spot", for easier viewing; combine
   this in the horizon chart with the 'l' key label inhibitor and get a
   very realistic view of the night sky, with planets brighter and all.

 o For the -L astro-graph chart, this will eliminate the display of the
   Ascendant, Descendant, and Nadir lines, leaving just the vertical
   Midheaven lines and zenith points, for a remarkable increase in speed
   and much less clutter when including many objects.

 o For the -XW world map display, this will show the Earth's ley line
   locations; and for the -XP polar globe view, it will show the southern
   hemisphere instead of the northern.

 o For the -XG globe display, it will display the zenith locations of all
   planets (and stars if -U in effect) on the globe, i.e. where on the
   Earth each object could be viewed by looking straight up. This on the
   globe display is almost identical to the astro-graph chart without its
   various lines, except of course that the projection of the world map
   is different. It's also similar to the -Z horizon display, except that
   it's free from the distortion of projecting the celestial sphere upon
   a plane, so it has use to star gazers. However, animation mode here
   will still only affect what part of the Earth is viewable, and won't
   update the chart from which the zenith locations were obtained.

----

Here is a list of bug fixes over version 2.10:

1) There was a major glitch in the uranian overwrite routine which
   would not only display the uranian positions a degree or two off from
   where they should be, but would also garble the positions of all the
   other objects, too! Since the uranians are now displayed separately,
   this is no longer a problem.

2) The display of midpoints was always 0.5 degree ahead of where they
   should be. For example, the midpoint of planets at 0Gem and 0Can would
   have been 15Gem30 instead of 15Gem0. Believe it or not, this bug has
   been in Astrolog since version 1.1, and I'm glad to say that it's
   *not* in version 2.2!

3) If one switched X window modes from a wheel chart to the
   relationship aspect grid, extra junk would be displayed in some cells.
   The aspect grid routine has been fixed now to make sure that those
   cells that don't have aspects in them stay blank.

4) Attempting to display a chart with no time or space (i.e. a chart
   generated with the -o0 option) in an X window would dump core if the
   chart information was also to be printed at the bottom of the window.
   Now, these charts are no longer a problem, and as with the standard
   listing, these charts are flagged as existing outside the space time
   continuum.

5) The -Z local horizon chart when displayed in an X window would fail
   to recognize the -R restrictions before, and they properly do now.

6) Certain VMS X window systems didn't like the procedure I named
   "box" in the graphics portion (was already defined). This has been
   renamed to eliminate the problem.

7) When downloading the Astrolog source code, certain systems didn't
   correctly transfer lines that began with a decimal point (e.g. the
   numbers in the planetary data area). These have been prefixed with 0's
   to fix the problem.

8) Even when compiling for non X window systems, the previous version
   would still compile in the graphics draw tables and world map data.
   Although this wouldn't affect the running any, it would needlessly
   make the executable larger. Now, trust that the only data compiled
   into the program will be what the user wants as expressed in the
   compile time options.

9) The X window response time was very slow if the world map was ever
   displayed in the lowest scale size, due to continuous error processing
   since the vertical axis of these maps were smaller than the
   established minimum window size. The minimum window size allowed has
   been adjusted to accomodate all scale sizes. Also, on a related note,
   Astrolog windows behave better when one resizes them: instead of
   immediately resizing the window to within bounds if one makes the
   window too big or small, it now won't allow windows to be stretched
   beyond the established limits.

0) Finally a warning for PC users: You will probably want to change
   the value of DIVISIONS in astrolog.h from its current value of 24 to a
   lower value like 6 or so. Leaving it as is invoked complaints of
   extreme slowness and occasional multiple hits in the -d aspect search
   routine, where the same aspect would get listed more than once. Also
   for PC users, I eliminated the problem of the 16 bit PC ints not
   having enough precision to compare with the 32 bit Unix ints, in that
   everything is done using longs now.

************************************************
Astrolog 2.25 posted Thu, 18 Jun 92 18:54:43 GMT
************************************************

After posting version 2.20 to alt.astrology, I found one small bug and
a few omissions, so I simply made those changes before posting
Astrolog 2.25 to comp.sources.misc. To be honest, I did add one small
feature or two, but nothing major.

Anyway, here is a list of the changes I made in version 2.25:

1) Bug fix: Version 2.20 has a bug which I accidentally introduced, in
which the planet declination values in the standard -v chart listing
would always be positive. Version 2.25 fixes this. (This is basically
the only change that will affect non X windows users.)

2) Omission: When pressing the 'H' key in an X window to get a list of
valid keypresses, version 2.20 wouldn't display all the keys
available, since I forgot to include some of them in that help list.
The key press features that I forgot to include, which are now
properly listed in 2.25, were: The 'h' heliocentric toggle, the 's'
siderial zodiac toggle, the 'B' dump window to root background key,
and the 'v' dump chart positions to text screen key.

3) Omission: Related to the above, I forgot to include the new -ga
applying vs. separating aspect grid switch in the -H help list. (It
would still work correctly, it just wasn't listed.)

4) New features: In X windows, press the 'f' key to toggle the status
of whether or not the chart should be modified to correspond to the
appropriate domal chart (where the house positions are represented as
zodiac positions and vice versa). Press the 'F' key to toggle the
status of whether or not the chart should be modified to correspond to
a decan chart (where each sign is divided in thirds representing the
two other signs in its element). These keys of course correspond the
-f, and -3 options, respectively.

5) Enhancement: The -XP polar globe view feature can now be animated.
Before, entering animation mode with such a view in place would yield
no visible effect. Now, such a chart will rotate about pole in the
center of the screen.

6) I probably should have made this more clear in the version 2.20
"Update" file before, but when compiling, be sure to change the values
in the "astrolog.dat" file, in addition to the "astrolog.h" file, to
correspond to your present location. The documentation now makes this
more clear, and includes one large "Helpfile" listing all of the
features and documentation in this version of Astrolog. (Remember when
posting version 2.20 here, I just included a list of changes added to
version 2.10; the new Helpfile is a large stand alone documentation.)

7) Finally, I should mention that my e-mail address has changed. It is
no longer pullen@lynx.cs.washington.edu, and this change has been made
to the code and documentation of version 2.25.

************************************************
Astrolog 2.30 posted Fri, 12 Sep 92 01:20:42 GMT
************************************************

Precisely one year ago today I posted the very first version of our
Astrolog astrology program to this newsgroup! Today, being the first
anniversary of that version 1.00, is an appropriate time to release
the newest version of Astrolog: 2.30. Today is also a nice day
astrologically for such an activity: We have an energetic Moon Uranus
Sextile, a Mercury Neptune Trine enhancing mystical thinking, Mars is
in the last degree of mental Gemini, and of course, we have the
technical yet spiritual Virgo/Pisces Full Moon!

This file describes the new features, changes, and bug fixes in
version 2.30 of Astrolog (over the most recent previous version, 2.25,
posted ~3 months ago). Although this new version is a stand alone
program, this Update file requires knowledge of the features of
version 2.20 or 2.25 in order to make sense. If you aren't familiar
with version 2.20 or 2.25, get and read the version 2.25 Helpfile that
was posted earlier, or get it from any comp.sources.misc archive. (I
ask the maintainer of the hilbert.maths.utas.edu.au alt.astrology ftp
site to please add the code for this version to the /pub/astrology
directory along with previous versions. I'm not presently planning on
posting this version to comp.sources.misc right away, since I just
posted version 2.25, but a future version 2.40 will certainly be.)

Some of the things added to version 2.30 are general interpretations
of planet positions and aspects, more support for aspects and making
the charts look better, and several new functions not directly related
to astrology but still very useful, and of course a few important bug
fixes. Although most of the changes were for the text displays,
nevertheless X window users should like the new local space star chart
display. Ability to have some graphics even on a non-X window system
is supported, and I finally got around to commenting all the code!

This post of Astrolog consists of 12 articles. They are: this Update
file, the 8 source files, the standard astrolog.dat defaults file, the
Unix Makefile, and a version History file, all the rest of which
should be near this one in the article list. (I'm working on updating
the comprehensive feature list to reflect version 2.30, and hopefully
even a user friendly Astrolog FAQ file, but for now we'll have to do
with the version 2.25 one and this Update list.) To make extracting
the files easy for all users, I've posted the files straight in ascii
form to the net with no .sig files or "cut-here" prompts; in rn, one
can extract the article with the "w" command and not have to use an
editor on the file afterward.

--

As with previous versions, a few changes have been made to this
version, i.e. not just new features, but some things valid before are
no longer so. A list of these follows:

1) The -AO switch allowing one to specify maximum orbs for aspects,
but which as a side effect suspended maximum orbs that particular
planets imposed, was a limited and unintuitive way to deal with
aspects. This switch has been completely eliminated. Now, one uses
just the -Ao switch to give orbs for aspects. To deal with orbs that
planets themselves impose, use the new -Am switch described later. In
addition, one no longer uses -Ao by passing in a list of orbs for the
aspects. Now, the -Ao switch works clearer: it takes two parameters,
the index of the aspect, and then what that aspect's orb should be.

2) Astrolog.dat files for versions 2.25 and before won't work with
version 2.30, because now there are additional definable parameters
inserted in this file. For the -I influence interpretation chart, the
power given to planets in ruling sign, planets exalted in sign,
planets in ruling house, and planets exalted in house, may now be
specified. In addition, there are some additional lists in the file
dealing with aspects that will be described later.

3) This is minor, but the calculation of the powers of aspects in the
-I influence chart has been changed. Now, the power of an aspect is
more accurately based on the total power of the planet in its
placement, as opposed to just based on the inherent planet itself. In
other words, for example, a Conjunction between, say Venus and the
Sun, now gives more power to Venus if the Sun is in its ruling sign
Leo than if it is in Aquarius. This will of course tend to make all
the aspect power quantities in the -I list a bit higher.

4) As with other versions, the true default chart in the program, i.e.
the chart the program displays if one forces it to output chart
information even when a chart isn't being dealt with, e.g. displaying
a non-chart related X window -XG globe display, and then reverting to
a wheel chart, has been changed. Now it is set to the chart for the
posting of this program itself, i.e. the time of the Full Moon here in
Seattle: Sep 11, 1992 7:18pm (-7:00 GMT) 122W20 47W36.

5) Finally, unrelated to the program itself, I was just thinking about
how we deal with Daylight Saving Time. Now, I've always said that one
should subtract one hour from the time in question if Daylight time
was in effect. This will generate the chart properly. However, I was
thinking that what really happens when Daylight Time arrives is that
the whole time zone shifts forward one hour, in that the local time is
still correct, it's just that the relation to GMT has changed an hour.
In other words, when casting charts for Daylight Time, one should
subtract one hour from the time zone entered, and not the local time
itself. Now, the chart will be displayed properly either way, but it
seems that the one with the shifted time zone is clearer. I wanted to
bring up the subject so each can choose what they prefer.

--

Now, a comprehensive list of the features and extensions added to this
version of Astrolog follows:

A) A brief interpretation of the meaning of the positioning of each
planet in its sign and house is supported with the -vI switch. If one
includes the -vI switch, then instead of the standard -v listing of
planet positions, the planet positions will be listed with a brief
interpretation of what they mean. Again, I have to say that this is a
pretty limited version of interpretation, being nothing more than a
combining of phrases representing the planet, sign, and house in
question; nevertheless, people who don't know how to interpret charts
might find this to be of use (or at least amusing. :)

B) Similar to the above, ability to give a brief interpretation of
each aspect in the aspect grid is supported with the -gI switch. When
the -gI switch is included, the standard -g aspect grid will be
replaced with a list of each aspect occurring and a brief listing of
what it means. Again, this is mainly just a lookup of the general
meanings of each planet and the aspect in question, but still might be
found of interest by some. (Note: only the first 11 aspects, out to
the Bi-Quintile, can be considered.)

C) Related to the above, the -I0 switch, invoked by itself, will
display the general meanings of each sign, each house, each planet,
and each aspect, on the screen. This is more or less the database the
program uses to base the above interpretations on.

D) The -g text aspect grid now displays orbs to the nearest minute
instead of only to the tenth of degree as before. Also, midpoints are
displayed to the nearest minute instead of just to the degree. And,
on the main diagonal (or edges if a relationship aspect grid) is
displayed the sign of the planet in question in addition to the planet
name itself. This extra accuracy comes from my making each cell in the
grid 3x3 characters instead of just 3x2 as before, which gives more
room to print information. This change should make the aspect part of
the program much more useful and easy to read for text users. There's
been one more nice change: the unintuitive '.' for positive orbs and
',' for negative orbs has been replaced with a logical '+' for
positive and '-' for negative; for the -ga aspect grids we have a 'a'
for applying aspects and 's' for separating. (Satisfied yet Maggie? ;)

E) Ability to explicitly specify maximum orbs that any aspect can make
to a particular planet is supported with the -Am switch. This is used
for objects like the North Node which require narrower orbs than what
the aspects themselves normally allow. The -Am switch takes two
parameters: the first to indicate the index of the object, and the
second to indicate what the maximum orb allowed to it will be. By
default, the only objects with restriction are the Node, Part of
Fortune, Vertex, and stars, which allow a 2 degree max orb to them.
With this option, one can change these limits or impose restrictions
for other planets too. (Before, these particular values were forced.)
The astrolog.dat file has been expanded to read in the default planet
orbs for the first 20 objects.

F) Ability to widen an aspect orb for any planet is supported with the
-Ad switch. This is used for objects like the Sun and Moon which allow
wider orbs to them then what the aspects themselves allow. Like the
-Am switch, this -Ad switch takes two parameters: the first to
indicate the object, and the second to indicate how much wider orbs
allowed to it will be. By default, the only objects which have orbs
widened for them are the Sun and Moon, each of which adds one degree
to the orb of any aspect to it, and these particular values were
forced. With this option, one can change these additions or allow
other objects to have them, too. The astrolog.dat file has been
expanded to read in these orb additions for the first 20 planets.

G) Biorythm charts are now supported by Astrolog with the -rb switch!
Although not directly related to Astrology, the concepts are similar,
and adding this didn't require much extra code, and since some are
interested in this, I felt I'd add it in. The biorythm theory says
that we have have three main types of energy: Physical, Emotional, and
Intellectual. These three run in continuous wave cycles from high to
low, each of which repeats about every 30 days or so. Therefore, a
biorythm chart for a particular day should describe how much energy
one has or how they are feeling in this area. Now, Astrolog considers
biorythm charts as a type of relationship chart, because in order to
generate one, two dates or charts are needed: the birth date of the
person, and the date to cast their chart for. Technically the program
will replace the standard -v listing of planet positions with the
biorythm chart when -rb is in effect. As an example, "-rb file1 file2"
will cast the chart for the birthday signified by chart1 or chart2
(whichever is older) for the date in the other file. Remember that one
can substitude the pseudo filename 'tty' to mean get the chart info
from the terminal instead.

The actual biorythm chart itself will display, for the day in
question, what the percentages of the physical, emotional, and
intellectual cycles are, as numbers from -100% (low ebb) to +100%
(happy and full of energy). In addition, the biorythm percentages for
the seven days before (T-7 days) and the seven days after (T+7 days)
the date in question will be listed, too, so one can see if the cycles
are rising or falling. Finally, as a cute way to help in
interpretation, the program prints the appropriate smiley, medium, or
sad face after each percentage. (BTW, it takes over 58 years for all
three cycles together to synchronize and repeat themselves.)

H) Another useful non-astrological function added is the ability to
determine how many days have passed between two dates, with the -rd
switch. As with the -rb option, this is considered a relationship
"chart" because it requires the input of two different dates, and when
-rd is in effect, again the standard -v planet position listing will
be replaced by a line telling how many days are in the interval. For
example, "-rd person1 person2", will display how many days person1 is
older than person2 (or the other day around). Want to find out how
many days old you will be on Jan. 1, 2000? Do "-rd yourchart tty", and
type in the first date of the next millenium, and see what you get!

I) The -t option has been enhanced based on the above two new
features. Remember, the -t option is a shorthand for specifying a
relationship comparision chart where one of the charts is that for the
current moment now (assuming you have TIME compiled in.) The -tb
<file> switch will display the person indicated in file's biorythm for
today. The -td <file> switch will display how many days old the person
in the file is today.

J) Just as the -1 option is use to cast a chart with an object on the
Ascendant, the new -2 <object> switch will cast a chart with the
specified object on the Midheaven. The house cusps will be rotated so
that the object in question is conjunct the 10th house cusp. If
<object> is not specified, the Sun will be assumed by default.

K) The new -F option is used to force a particular object's position
to always be a particular location in the zodiac. This feature can be
used as an easy way to manually include things Astrolog normally
doesn't in various charts. For example, this can be used to force the
position of some minor thing, like the Vertex, to always be the
location of whatever you prefer, like the 0 degrees Aries point, or an
important midpoint. Then you can do an aspect grid, transit search, or
whatever, and calculate aspects to midpoints or transits over
midpoints. The -F switch takes three arguments: first is the index of
the object to replace, next is the sign from 1..12 to force it to be,
and third is the degree within the sign. For example, if I want to see
if anything is making an exact aspect today with my Sun Moon midpoint
at 6Sag28, I could do "astrolog -n -d -F 16 9 6.28", which would
replace the North Node with my Sun Moon midpoint in the aspect search.

L) The -+ add number of days to chart before casting it option has
been changed to make the chart header show the date of the actual new
chart, instead of the original one. For example, today (9-11), if I do
"astrolog -n -+ 2" I will get the chart for two days from now, and the
chart header will display 9-13. (Before, the proper chart for 9-13
would get displayed, but the chart header would still say the date of
the original 9-11 chart.) This change is more intuitive, and even has
some special uses. For example, if you want to know what the date
was/will be when you are 10000 days old, do "astrolog -i yourchart -+
10000" and see what the date in the resulting chart header is.

M) The -w text chart wheel display has a small addition to the chart
header information displayed in the middle of the wheel: the day of
the week that the date falls on. This may seem minor, but this is a
way to calculate the day of the week for any date. If you forgot what
day of the week you were born on, display your chart with the -w
switch, and ignore the chart and just check the day of the week in the
header information. Similarly, one could use this to make a calendar
for any particular month by casting a -w chart for the 1st of the
month in question, and building the calendar from that starting point.

N) The -H0 switch will display a list of the 12 signs of the zodiac,
and the 12 houses, listing their standard and traditional names. This
is similar to switches like -O or -A, in that it displays lists of
things (objects, aspects, or in this case the signs) that Astrolog
uses in its charts.

O) One more summation field has been added in the -v planet position
list chart to the right of the element table. (Presently we have the
number of objects in positive and negative polarity signs, in the
upper and lower halves in the chart, and in the Eastern and Western
halves of the chart.) The new field is a division of objects into the
first six and second six signs of the zodiac. The number of objects in
the first six signs of the zodiac will be printed, labeled by the
character '<'. (The number in the second half isn't printed; just
subtract from the total if you want to know.) According to a book on
the Kaballah, the emphasis of the first six signs on the zodiac is on
"what's to learn", and the emphasis on the second six signs is on
"what's to share". Use or interpret this as you wish.

P) I have taken the liberty to define ruling and exalting signs for
the asteroids (and the rest of the first twenty objects that don't
already have them.) This won't affect much other than whether a 'R',
'F', 'e', or 'd' is displayed in the -v charts, but it will slightly
affect the powers given to these objects in the -I influence chart
since they now can be in their ruling sign. The -O object list will
display the list of ruling and exalting signs (and the fall and
debilitating signs which are just opposite the above) for all these
objects in addition to the planets; however, I have listed them below:

Chiron, the compassionate, experienced healer, is most similar in
function to Pisces, hence Chiron rules here. Chrion expresses well in
caring, feeling, Cancer, hence Chiron exalts here. Ceres, goddess of
agriculture and representing the mothering, reproductive instinct, is
similar in function to Taurus, hence Ceres rules here. Ceres expresses
well in the nurturing, caring, sign of Cancer, hence Ceres exalts
here. Pallas Athena, mentally acute and unemotional, is most similar
in function to Virgo, hence Pallas rules here. Pallas expresses well
in practical, disciplined, introverted Capricorn, hence Pallas exalts
here. Juno, ability to sacrifice self-interests to maintain a
relationship, is most similar in function to relationship oriented
Libra, hence Juno rules here. Juno expresses well in sociable, crowd
pleasing Leo, hence Juno exalts here. Vesta, with its orientation to
directing hidden creative or sexual energy without fear, is most
similar in function to Scorpio, hence Vesta rules here. Vesta
expresses well in individualistic, quirky Aquarius, hence Vesta exalts
here. The North Node, with its emphasis on being able to break from
the past routine and pursue the unfamiliar and personal growth, is
most similar in function to soceity questioning independent Aquarius,
hence it rules here. The Node expresses well in growth and sacrifice
oriented Virgo, hence the Node exalts here. The Part of Fortune is
calculated based on the positions of the Sun, Moon, and Ascendant; if
these three objects are in their ruling signs, then the Fortune will
fall in Pisces, hence the Fortune should rule here. Similarly, if the
Sun, Moon, and Ascendant are all in their exalting signs, then the
Fortune will fall in Aquarius, hence the Fortune should exalt here.
The Midheaven, being the 10th house cusp, corresponds to Capricorn,
ruled by Saturn. Hence the Midheaven's ruling and exalting signs are
the same as Saturn's: Capricorn and Libra. The Ascendant corresponds
similarly to Mars, hence its ruling and exalting signs are the same:
Aries and Capricorn. The Vertex, being always near the Descendant,
corresponds to Libra, and hence has the same rulership and exaltation
as Venus: Libra and Pisces.

Q) The user interface where one manually inputs the chart information
has been enhanced in a few ways. First, the true names of months or
their abbreviations may be entered (in upper or lower case) instead of
the corresponding number if you prefer. At most the first three
letters of the month are needed; some months (like February which is
the only month starting with "F") may be abbreviated all the way up to
their first letter. The second enhancement is that the time value may
be entered with a "pm" or "am" (or just "p" and "a") suffix in
addition to the standard 24 hour clock always used up to now. For
example, instead of entering "18.30" for "6:30pm", you can enter
"6.30pm" or even "6.3p" and the program will process it the same.
Similarly, "12.30am" can be used instead of "0.30", and so on. The
final enhancement is that colons may be used instead of decimal points
for the time and location values. For example "6.30" may be entered as
"6:30" intead, and longitude values like "122.20" may be entered
"122:20", which is more intuitive than those earlier decimal points.

R) One more object, another star, has been added to the program.
Actually, this isn't really a star, but the Andromeda (M31) Galaxy.
This is the closest galaxy to our own Milky Way, and various
extraterrestrial hierarchies are said to be based there, so its
position should be of significance. Its object index is that of the
very last object in the program, which is presently #79.

S) Finally, all the C source files for the program have been
completely commented! Although it may not be commented heavily, at
least every routine has a comment describing what it does, and
Astrolog is now a more respectable program as opposed to being a huge
HACK! (Actually, I probably could have doubled the number of features
added to this version of the program if I didn't spend all that time
putting in those comments! :)

Now, for a list of the new features added in the graphics area:

T) There is a new compile time variable dealing with graphics (in
addition to the X11 one) called GRAPH. One comments out the #define
GRAPH line if they don't want graphics, and not just if they don't
have X windows. In other words, one can now generate most of
Astrolog's graphics charts even if they don't have X windows. (The X11
#define is still there for we X windows users who will find the
graphics features just as before.) Now, when GRAPH is defined but X11
isn't, the program will generate the charts, but just never try to
bring up a window; it will simply always assume that you are writing a
bitmap file. The bitmap file will contain a (unfortunately always
black and white) image of what would normally be in the window, just
as the -Xb switch does. One can then use any of various graphics
utilities to convert the image into something they can display on
their system. (Any system that can compile Astrolog should be able to
compile in the non X window graphics features as well.)

U) A new graphics chart is available through the -Z0 switch: local
horizon charts suitable for stargazing. Now, as in previous versions,
the normal -Z switch generates a listing of the planets with repect to
the local horizon, and the -Z combined with the -X switch generates a
graphic image of the planets and stars on the local horizon. This
chart assumes one is facing due south, and is divided left to right by
the horizon line, with straight up being toward the top of the screen
and straight down toward the bottom. This is a good chart, especially
for noticing the rising and setting of planets and other objects, but
the fact that the meridian is split up causes distortion when trying
to view objects high up in the sky. Therefore, if one combines the new
-Z0 switch with the -X switch, a new differently oriented local
horizon chart will be displayed. Here, the zenith point straight up is
in the center of the screen, and the horizon line is a surrounding
circle. Due north is along the line from the center to the top of the
screen, due south is on the line from the center to the bottom, east
is to the left, and west is to the right. In other words, this is just
like what one would see if they were lying on their back looking
straight up with their feet to the south, so this should be better for
stargazing. Outside the circle marks what's below the horizon, and the
extreme corners of the screen mark the nadir - what's straight down.
As with the normal -Z graphic chart, this one has the various axes
marked at five degree increments.

V) The new -XW0 switch is just like the normal -XW switch in that it
just displays the world map and nothing else, except that this new
-XW0 map generated will be in what's called the Mollewide projection,
a good looking form often used for maps of the world, as opposed to
the standard rectangular map projection used up until now which
distorts the polar regions of the globe across the top and bottom of
the screen. (The Mollewide projection pinches the polar regions
together, generating a elliptical map, which is similar to the -XG
globe displays, but which shows the whole world instead of just half.)

W) The -XW and -XW0 maps can be animated like as the -XG globe display
can. Animation of these maps (which before would just sit there) are
done by shifting the whole map to one side or the other. In fact, such
a feature can be used indirectly to shift one of the X window
astro-graph charts (which are drawn on the world map) from the normal
case of having the date line on the edges of the screen: Go into the
world map or globe display, animate it a bit, and then change graphic
modes to display the astro-graph chart, and it will be shifted by the
corresponding amount. (Note that animating the astro-graph screen
itself will change the chart info, not how the screen itself is done.)

X) Because the -XW world map, and -XP polar globe display, can be
animated just as the -XG general globe display can, the -XW and -XP
switches now accept optional parameters on the command line that will
specify what degree (from 0 to 359) to start the map at, just like the
-XG switch does. In addition, the -XG option itself accepts a second
optional parameter, which is the starting angle for the globe's tilt,
from -90 to +90 degrees.

Y) A new bitmap output mode has been added to the graphics routines.
If one changes BITMAPMODE in astrolog.h to the character 'A' when
compiling, then all bitmaps output will be in a straight ascii form,
with one character corresponding to each pixel. This format is
identical to the result produced by the unix command bmtoa, and it can
be converted back into a bitmap with the unix command atobm. Although
not as efficient spacewise, this is a simpler format, and is
recommended for those without X windows who are still using Astrolog's
graphics, if they want to write their own conversion program.

Z) This is probably more of a glitch fix than a new feature, but
anyway one may have noticed that text would never get printed in a
bitmap. This could be problem, because it meant that the chart
information couldn't be shown, and the actual object labels of stars
and other things without glyphs wouldn't appear in bitmaps. This was
caused by the fact that the program always used the X library text
printing routine to show any text. Well, now Astrolog includes its own
internal 6x10 text font, which works just as well as the X library's
does, and which can be written in the -Xb bitmaps as well.

Well, I've reached the end of the alphabet, so this concludes the 26
new features in Astrolog 2.30 :)

--

And now for a list of bugs in version 2.25 that have now been fixed:

1) A very major bug caused all the positions of the stars to always be
about 25 degrees farther in the zodiac than they should have been. In
other words, all the stars were in the wrong positions and this
feature was basically useless in version 2.25. All the stars are now
in their proper positions at all times.

2) The entire X astro-graph chart would be shifted a large amount if
the longitude of the chart in question was different from the present
default longitude. This was because the program improperly used the
default longitude instead of the longitude of the chart in question in
the astro-graph routine. This was only in the X version; the text
astro-graph routine would always work fine. Now they both work
properly.

3) The locations of the lines in both the text and X astro-graph
routines would slightly change if one changed the location of the
chart in question. This was minor and almost unnoticeable, since the
abberation would never be more than a degree in any direction.
Nevertheless, astro-graph charts should be based only on birth time
and never on location, so this was a slight problem. This has been
fixed so the astro-graph charts are always identical no matter what
the location data may be.

4) A glitch in command switch processing would allow any time zone
except zero to be passed to the -z switch. Now, "-z 0" is accepted and
properly processed.

5) The -rm time space midpoint chart would occasionally have the
longitude of the resulting chart 180 degrees off from where it should
be, if both charts were close to different sides of the date line.
This will no longer happen.

6) Those objects which imposed maximum limits upon the aspect orbs
that any other object could make with it, e.g. 2.0 degrees for the
North Node and others, would force this value to be the orb with it
even if the orb for the aspect in question was less. For example, if
one set septiles to have a max orb of 1 degree, then the program would
still allow a 2 degree septile between the planet in question and the
north node to appear in the grid. This has been fixed, and now the
lesser between the aspect's defined orb and the object's defined orb
is used to determine if an aspect is in effect.

7) The -Ao and -AO switches would work properly, but would cause
additional command line switches after their aspect orb lists to not
get processed. This has been fixed.

8) Finally, the fiasco caused for PC users by my inserting #define int
long in the code to fix the fact that PC's ints are only 16 bits has
been remedied. Now, ints remain ints, and those variables in the code
which require 32 bits are specifically defined long, which is what I
should have done in the first place. In fact, to save space, some
large arrays were able to be declared in 8 bit chars, so the problem
of PC's running out of global variable space should no longer be a
problem.

************************************************
Astrolog 2.40 posted Wed, 20 Jan 93 03:23:16 GMT
************************************************

     Surprise! The Sun enters Aquarius today, sign of the unexpected.
(Aquarius quote: I'm not weird, everyone else is :) To appropriately
honor one of my favorite signs of the zodiac, I am releasing the
newest version of Astrolog: 2.40!

     This particular file describes the new features and bug fixes in
version 2.40 of Astrolog (over the formerly most recent version, 2.30,
posted four months ago). This new version is a stand alone program;
however, this Update file requires knowledge of the features in
version 2.30 in order to be of much use. If you aren't already
familiar with version 2.30, get and read the version 2.30 Helpfile
that was posted here last month, which should be available at our
alt.astrology anonymous ftp site at hilbert.maths.utas.edu.au.

     The main new things added to version 2.40 are ansi mode graphics
and color for text charts, and midpoint charts, in addition to much
improved PC support. This is the first version that I've ever
personally tested and run on a PC, so it should run just as smoothly
on a PC as on a Unix system with X windows. X window graphics support,
although I haven't added very much to this release, at least is as
easy to work with as before, and is less buggy too.

     The long awaited PC windows graphics that I've promised are not
here yet. It is however very easy now to compile with the GRAPH option
set, so PC users can generate bitmaps. Under Microsoft Windows at
least one can generate a Windows .bmp file and then go set their
background to it, indirectly simulating the -XB switch used by X
users. Since (1) all the former versions of Astrolog have been
difficult to compile for PC's, (2) I have a nice easily compilable
version right now with some decent new features, (3) The real version
I was planning on posting will still take a couple of months, (4)
There were unfortunately a few bugs in version 2.30 that would cause
problems on Unix and X platforms that I was getting all this email
over, I have chosen to post this version now instead of waiting.
There may be less new features than normal, but that will mean less
bugs, and besides it isn't that difficult to release a new version.

     This post of Astrolog consists of 7 articles. First is this
Update file. Second is instructions on how to compile along with the
Unix Makefile and makefiles for a few other platforms. Third is the
astrolog.dat defaults file (remember astrolog.dat files from version
2.30 and before are not compatible with 2.40!) Fourth is the 8 source
files all together in one big shar file (no more one source file per
article releases!) Fifth are the same 8 source files again, but in a
uuencoded .zip file (unix users can easily extract through the shell
archive, while PC users will like this zip file.) Sixth is a uuencoded
ready to run executable for PCs (of course the code should be easy to
compile now too.) Seventh is a History file describing the things
added to the 10 previous versions of astrolog that have been posted in
the past. I have also put all these files in /pub/incoming/astrolog at
the hilbert ftp site, so they should be readily accessible via ftp in
/pub/astrology soon. As for a formal comprehensive Helpfile describing
all the features in 2.40 together, I haven't made that up yet, but I
will soon (and I promise it won't take me three months as it did with
version 2.30! I don't like writing documentation! :)

--

Here are the new features for version 2.40 that aren't in previous releases!

A. -k switch: Ansi graphics! The text charts may now be displayed in
   color, as well as with real graphics characters instead of with stuff
   like dashes and pluses. This makes the text charts look almost as
   cool as their color X11 graphic counterparts. All that's needed is a
   terminal that accepts ansi escape sequences.  You will get garbage if
   you include -k on a non-ansi terminal. Most PC's are in ansi mode, so
   if you have a PC this should work. Include the -k switch on the
   command line, and the program will display all charts as before, but
   change the color appropriately for every part of any chart printed!
   Just try a -w chart, a -g grid, or a -T list and see the difference
   of how much easier it is to find a planet or aspect among a large chart.

   Color isn't used randomly but is based on logic. Most colors are very
   similar to the ones chosen in the color X charts. In general,
   everything is based on the following rules for elements: Fire is Red,
   Earth is Yellow, Air is Green, and Water is Blue. Zodiac signs and
   positions are printed in the color of their element. Houses are
   printed in the color of their corresponding sign. Planets are printed
   in the color of the sign they rule. As for the other objects, we have
   the following colors: Asteroids are in bright purple (magenta),
   Uranians are in dim purple, and non-physical points like the Node,
   Fortune, and Vertex are in a bluish gray (dark cyan). Stars are
   either orange if they are bright (magnitude < 1.0) or a dark red if
   dimmer. For aspects we have the following: Conjunctions are Yellow,
   Oppositions are Blue, Squares are Red, Trines are Green, Sextiles are
   Light Blue (Cyan). For the minor aspects we have magenta for
   inconjunct/semisextile, orange for semisquare/sesquiquadrature, dark
   cyan for all the quintiles, dark purple for all the septiles, and
   dark red for all the noviles.

B. -m switch: A new chart type is available: true midpoint charts.
   Before midpoints were only available in the aspect grid. Use the -m
   switch and get a list of all midpoints printed out sorted in zodiac
   order. So if you want to see if any important midpoint is close to
   your Sun, this is a much easier chart to use than to scrutinize the
   midpoint/aspect grid.

C. -m0 switch: Aspects too may now be displayed in a nice ordered
   list, instead of only in the -g aspect grid. Invoke the above switch
   as -m0 instead of just -m and get a list of every aspect from the
   aspect grid printed out one per line. The order in which they are
   printed is based on the total "power" in the aspect, i.e. the
   influence of the two planets in question, the aspect in question, and
   the orb. The same info and data from the -I influence charts are used
   here, so changing those default influences will affect the ordering.
   The two planets are printed, the aspect they make, their orb, and
   then the power of the aspect used in ordering. Any power number more
   than 10 is a very major aspect. An exact Sun Moon conjunction can
   exceed 25. So, if you want to know if that exact Mars Jupiter
   conjunction is more powerful than that wide Sun Moon sextile, try a
   -m0 chart and find out at least what Astrolog's opinion is.

D. -Xb switch extension: If GRAPH is defined, there is a new format
   one can output bitmap files in. The .bmp extension bitmap files
   commonly used on PC's running under Microsoft Windows are supported.
   One can change this default file mode in astrolog.h before compiling,
   or it may be specified directly as described below. If you have a PC
   running Windows, you can set your root background to be one of these
   monochrome Astrolog bitmaps by: use the -Xb option to create a bitmap
   file, then rename it to have the extension .bmp and put it in your
   Windows subdirectory, then go into Program Manager -> Control Panels
   -> Desktop and select this file to be your "wallpaper".

E. -Xb switch extension: Another bitmap file extension, this one
   allows the the bitmap file mode to be changed without having to
   recompile the program, as had to be done before. Now, one can change
   the mode by putting an extra character on the command line after the
   -Xb switch. Specifically, to override the compile time mode, use -Xbn
   for a standard X11 bitmap, -Xbc for an X11 bitmap with some white
   space removed, -Xbv for a very compact X11 bitmap, -Xba for the one
   character per pixel ascii dump, and finally -Xbb for the new .bmp
   mode described above.

F. -X1 <object> switch: Yet another graphics feature, this allows one
   to effectively rotate one of the graphic wheel charts so that a
   particular object is hinged to the left hand (east) edge of the
   chart. Given the -X1 switch with the index value of an object, the
   wheel is drawn but always rotated so that the object in question is
   at the left side of the chart. By default we have the ascendant at
   the left edge, of course. This is useful for tracking important
   planets so one knows where they are, but yet doesn't distort the
   house cusps as the -1 switch does. This is basically my official
   version of the "-D" switch in Andrew's 2.30 PC port posted earlier.

G. -X2 <object> switch: This is identical to the -X1 switch above
   except here we rotate the entire graphic wheel so the object in
   question is always at the top of the chart. Note that during a day,
   the degree difference between the Ascendant and Midheaven varies in
   most house systems, so that with the Ascendant hinged at the left
   edge, the Midheaven will wobble back and forth near the top of the
   wheel. If you prefer, "-X2 18" will fix the Midheaven at the top of
   the screen, and the chart will be like before except the Ascendant
   will be the one to wobble near the left edge of the chart.

H. The -w text wheel switch takes an optional parameter now to
   specify the size in text rows of each house printed. Before, this
   always has to be four, but now one may increase (realize this will
   make the chart require more than 24 lines to print) or decrease
   (don't know why you would want to, but you can) this value to their
   preference. The parameter may range from 1 to 10, being 4 by
   default, and with this you can nicely generate a text wheel chart
   with all 79 objects in it, which before would overflow the houses.

I. The -+ and -- add/subtract number of days to current chart before
   casting options before always required a parameter. Now, this
   parameter is optional, defaulting to 1. For example, to see what
   aspects are occurring among the planets tomorrow, before you would
   have to include "-n -+ 1 -d", and now we can just do "-n -+ -d".

J. The astrolog.dat file has been extended to accept three additional
   variables. First is whether the -k ansi graphics should always be in
   effect. If set, then it is assumed -k is always in affect, and one
   needs then to use the -k switch to return to normal. This is
   recommended for PC users who display charts on the screen more often
   than they print one out. Second is the default number of rows to pass
   to the -w switch. To change this before one has to recompile the
   program; now we can just change the value in the astrolog.dat file (or
   just put the value after -w). Finally, the value of DIVISIONS may be
   changed in the file. This value tells how many segments we should
   divide each day, etc, when doing aspect or transit searches (-d or
   -T). More segments is slower but can be more accurate by a minute or
   two. I suggest a value of 24 here for Unix systems and 8 for PC's, but
   now it is easy to experiment to see what would be best for you.

K. Many PC users are accustomed to specifying command line parameters
   with a "/" instead of the "-" familiar in the Unix environment. Now,
   either of these formats are allowed. One may invoke a command switch
   with a dash, with a slash, or with no lead character at all, and
   Astrolog will process it properly.

L. This is hardly a new feature, but the old NOASTEROIDS compile time
   option that would automatically assume -R to be in effect is gone.
   This was reduntant, and can easily be done by restricting the
   appropriate planets with the astrolog.dat file now that that's here.

M. Very minor, but the -g aspect/midpoint grids now include the
   degree of each planet that is labelled down the main axis in addition
   to its zodiac sign location.

--

Here are the bugs in version 2.30 that have been fixed in this release.

1. The default restrictions weren't read correctly from the
   astrolog.dat file. This was a major problem that was often more than
   just the program ignoring what was put in that file. Some systems
   would always crash with a bus error upon startup, while some would
   print over a dozen lines telling of "bad memory access" every time
   the program was invoked. Everything works find now (as it did in all
   versions before 2.30).

2. A major bug that primarily affected some Unix users, was one which
   on some systems would prevent one from being able to open an X
   window, always giving a "Can't Open Display" message. Everything
   works fine now (again as it did in all versions before 2.30). This
   was due to an unfortunate conflict between an Astrolog and a system
   function.
 
3. On PC systems, the transit lists would display garbage for the
   dates about 2/3 of the way down the list. This was due to an overflow
   of small ints on the PC. These lists are displayed without error now.

4. Another PC glitch, this bug caused the day of the week displayed
   in the middle of the -w text wheel chart to always be off by a few
   days. This was another overflow of a 16 bit PC int that has been
   fixed.

5. PC users would have all kinds of trouble if they tried to compile
   with GRAPH #define'd. The compiler would puke on the large (over one
   megabyte) bitmap array, and even if one got around this, there would
   be many flaws in the display due to still more int overflows. Well,
   now the overflows are all fixed, and the bitmap array is much more
   efficient and is down to under 64K in size! So all PC users should be
   able to run with the GRAPH option now, and finally get to see some
   graphics. (X window users will still find everything as before.)

6. Astrolog.dat files from before version 2.30 were not compatible
   with 2.30 itself. This wasn't a bug, in that version 2.40 is no
   exception (version 2.30 astrolog.dat files won't work with it and
   must be replaced.) What was a problem is that version 2.30 wouldn't
   complain about these old files, and would happily read all sorts of
   erroneous data in. The program would either hang trying to read the
   old file, or would read in all kinds of crazy defaults. Now
   everything is fine, and the program will print a nice error message
   if one tries to run this version on any pre 2.40 astrolog.dat file.

7. The automatic convert string month to number feature in the main
   manual data entry area would generate the wrong number for certain
   months. Simply entering numbers would always work, but typing in some
   strings such as "Jan", "Mar", "Apr", etc, would not result in the
   logical month number implied. No longer a problem.

8. The -F switch was flawed in that although it would correctly
   change the location of the object in question, the original house the
   object would have been in was not updated. As a result, one could
   move a seventh house Venus in Libra over to Aries, and the program
   would display Venus in Aries, but still in the 7th house! Everything
   is updated properly now.

9. In the -ga aspect grid lists, the orbs of aspects between two
   stars would always be displayed to be zero, even if this wasn't the
   case. The proper orbs between stars in the grid are printed now.

10. The -1 and -2 put object on house cusp options would not allow
   one to include any of the objects beyond the first 20. This has been
   remedied, and now one may include uranians, stars, etc here.

11. The -I0 general interpretations list would ignore the current -A
   number of aspects setting when it displayed the meanings of the
   aspects. Minor, but still something to be fixed.

--

     That's it for this pre-new Moon release. Expect a version 2.50 or
even a 3.00 with real Windows for PC's, and more interpretation stuff,
etc, next time. Instructions to compile are in the next article with
the Makefiles. The astrological "chart" (and hence the default chart
in memory you get if you force an X window chart without giving any
time) for version 2.40 is at 5:29pm PST (8 hr before GMT) on Jan 19,
1993 here in Seattle, WA 122W20, 47N36 (cusp of Aquarius.)

************************************************
Astrolog 3.00 posted Sun, 21 Mar 93 12:22:27 GMT
************************************************

     Behold the Vernal Equinox! Today the Sun enters Aries, and
Spring and a new astrological year begin :) Less than 12 hours before
the Equinox, the Saturn Pluto square became exact for the first time!
Saturn square Pluto, utter change and transformation of structure, a
breaking away and death of old ways. Coming up on Monday we have
Mercury going direct, where mental activities move forward once
again, and finally the New Moon, beginning the next monthly cycle.
All these events coming together augur changes and endings, within
and without, and are an excellent and appropriate opportunity for a
new beginning in many ways... Like the next generation of Astrolog!

     This file describes version 3.00 of the Astrolog computer
program for astrology. Described are new features added on to the
previous release, version 2.40, posted two months ago, and bug fixes
and other changes made. Versions 1.00 through 1.40 were the first
ones, and established Astrolog as a calculation and text chart
generator. Versions 2.00 through 2.40 saw graphics for X windows and
more advanced capabilities. Now, with version 3.00, we take another
step, including our long awaited graphics for PC systems as well.

     This post consists of five articles and parts: (1) This Update
informational file. (2) A Unix shell archive of the source code. (3)
A uuencoded zip file of the source code. (4) A uuencoded ready to run
program executable for PC's. (5) A program version History file.
Both the shell and zip archives contain 14 files in them: The 11
source code files, the default parameter file astrolog.dat, this
Update file you're reading now, and a makefile. These archives are
complete in themselves and the only article one really needs to
extract and save are either one of these two archives. The shell
archive is easier to extract on a Unix system, while the zip file can
be easily extracted on PC's. The makefile for Unix is included in the
shell archive while a PC nmakefile is in the zip file. The version
History file consists of documentation of the features added to each
version of the program since the beginning; it isn't needed but might
be found useful. There is a comprehensive documentation Helpfile for
the previous version, 2.40, describing all features together in
order. I hope to create and post one for version 3.00 in a few weeks.

     The files described above I have uploaded to Michael Bulmer's
alt.astrology ftp site at hilbert.maths.utas.edu.au in the directory
incoming/astrolog. They should be moved to the standard
pub/astrology/astrolog directory there soon. I intend to post this
version, or possibly a slightly improved version 3.05, to
comp.sources.misc soon after completing the documentation. Fellow
users at Microsoft connected to our network can get a copy of this
version out of my public share in the directory public\astrolog.

     If you have used or are familiar with previous versions of
Astrolog, to avoid confusion you may want to read the section on
changes to old features made in this release, probably before looking
at the new features section. In addition, if you aren't familiar with
previous versions of the program, you will want to read the
comprehensive Helpfile for version 2.40, so you know what the 3.00
feature enhancements are referring to.


####################  PC GRAPHICS  ####################

     The main things added to version 3.00 are our long awaited
graphics for PC's! PC graphics now look and feel and are displayed
just like the X window graphics already in place. When compiling, one
has a choice between four options: (1) choose no graphics abilities
at all, (2) compile so that graphic chart bitmaps can be generated
and output to a file, (3) compile allowing file graphics in addition
to direct screen graphics in X windows, and now (4) compile with file
graphics and direct graphics on the screen of a PC. The addition of
PC graphics in no way inhibit or affect the X window graphics already
in place; it's merely a matter of which compile time options are set.
Unix users don't need to look at this section.

     Astrolog uses the Microsoft PC graphics library as defined in
the file graph.h included with their C7 "C" language compiler. This
file and the graphics.lib library is needed in order to be able to
compile with these graphics options set, just as the X window
libraries are needed to compile with those graphics included. If
unavailable, one can still access these PC graphics with the library
linked in, in the already compiled executable posted.

     PC Astrolog is a DOS program and should be run from a DOS
prompt, outside of any Windows system. To generate a graphics chart
instead of a text one, include the -X switch just as one would do to
bring up an X window. The expected graphic chart will be displayed on
the screen unless the -Xb write bitmap to file switch is in effect.
The colors chosen for the graphics are basically identical to those
chosen in X window charts, and both of these in turn are now based on
the Ansi colors used in the Ansi text charts.

     Now, there are many various types of PC monitors and
resolutions. Astrolog will automatically try to determine and pick
the highest resolution mode available on your system, so this need
not be worried about.

     The PC Astrolog charts may be animated in all the various ways,
and the animation will usually be flicker free! Now, PC's do have
limited memory, therefore there might not be room for more than one
page of graphics at the highest resolution. Hence, animation at the
highest (default) mode, may flicker; however, graphics at a slightly
lower resolution may take enough less memory to allow enough to do
flicker free animation. A special PC only feature for this has been
added: Pressing the 'tab' key while the PC graphics are up will try
to pick a lower resolution, where flicker free animation can be done.
Specifically, we'll toggle to a 640x350 EGA mode. On my own system,
the highest resolution I get is a 640x480 16 color VGA mode, however
the charts can't be animated without flicker. When I hit 'tab', I
drop from 480 lines of graphics to 350, but now the animation will be
perfectly smooth. The results with whatever graphics system you have
may be different.

     The chart that comes up will use as many pixels as is defined by
the chart's size as specified with the -Xw and -Xs switches. The 'Q'
change chart size to square key works just as before. However, on PC
screens we will try to take in account the pixel size ratio. On EGA
screens where the pixels are long and narrow, meaning a true "square"
chart looks tall and thin, we compensate by increasing the horizontal
size of the chart. The 'B' key, which on X window graphics will blast
the current window contents to the root background, is a meaningless
feature for a PC. This key, for PC graphics systems, will instead
resize the chart to be the full size of the screen. When the graphics
mode is changed through 'tab', the chart size will be modified to be
the largest "square" that will fit on the screen (as if the computer
presses 'B' followed by 'Q' for you.)

     If the size of the chart is less than the size of the screen, it
will be displayed centered in the middle of the screen. If however
the chart size is greater than the screen size, then the chart will
take up the whole screen, and part of it will be clipped. By default
we show the upper left corner of the chart if this is the case. Now,
one can define and change which part of the chart gets shown. On PC's
the meaning of pressing the number keys have been enhanced. Normally,
number keys set the animation speed; they still do, but now only when
animation is actually being done. If not in animation, the number
keys from 1..9 will define which "quadrant" or area of the chart gets
shown. It's best to think of and use the number pad for this feature
(make sure num lock is on!) Pressing the '7' key, i.e. the upper left
number on the number pad, will set it so the default upper left part
of the chart is seen. Pressing the '3' key, on the lower right corner
of the pad, will show the lower right corner of charts larger than
the screen size. Pressing '5' will show the middle area of the chart,
with equal amounts of the chart clipped from left and right, and top
and bottom. Pressing '6' will show the right end of the chart,
vertically centered on the screen, and so on. Basically, we have a
simple implementation of something like scroll bars, allowing viewing
of all parts of the "window"! One can generate and display on the
screen even the largest charts producible with Astrolog. (Bitmap
files are still limited to, i.e. will be clipped to, a maximum size
of 728x720 pixels, however). Even on an 640x350 EGA, one can use this
to generate and view all parts of a 300% scaled relationship aspect
grid (883x883), or even a 300% scaled world map display (1082x545)!


####################  NEW FEATURES  ####################

Here are a list of other features added to this version of the
program:

1. -I expansion: The -I display an interpretation option has been
   expanded to allow interpretations of many more kinds of charts to be
   done. Simply include the -I switch to get an interpretation of any
   particular type of chart. If Astrolog doesn't support interpretations
   for it, the normal chart will be shown instead. Before, the only
   interpretations that could be done were for the standard position
   listing ("-v -I", formerly -vI) and the standard aspect grid ("-g
   -I", formerly -gI). Five more interpretations can now be done:

   "-r0 person1 person2 -g -I" is a legal combination, and will display
   meanings of aspects between planets in two charts in a relationship
   aspect grid. "-i person -m0 -I" is legal, and will display the
   meanings of aspects in a chart; this is like -g -I, but the aspect
   meanings are printed in sorted order based on how powerful Astrolog
   thinks each aspect is, so this is probably preferred. "-r0 person1
   person2 -m0 -I" is legal, and will display the meanings of aspects in
   a relationship aspect list, like -r0 -g -I, but in the improved
   sorted order. "-d -I" is legal, and will display the meanings of
   aspects among transiting planets occurring during a day, as well as
   of sign and direction changes. "-T -I" is legal, and will display the
   meanings of aspects from transiting planets to natal ones.

2. -Xb expansion: Color bitmap files can now be generated. Before,
   only black and white charts could be output to a file. By default,
   all graphic charts will be in color, unless specified otherwise.
   Color is most useful for the PC bitmaps (-Xbb), although a color
   bitmap will take up more disk space. X11 bitmap files will be output
   in monochrome format, since color .xbm files don't exist. A color
   ascii file (-Xba) will have the color value of each pixel converted
   to a hexadecimal number, instead of being in the format generated by
   the Unix bmtoa utility in the case of monochrome charts.

3. -j0 option: The -j planet influences in a chart feature has been
   expanded to include signs as well. Invoke it as -j0 instead of just
   -j, and in addition to getting the influence of each planet in a
   chart, one will get the influence of each sign in the chart as well.
   To determine sign influence, we use the planet powers already
   determined; a sign gets influence if: (1) There is a planet in it,
   (2) there is a planet in the house it corresponds to, and (3) if any
   planet that rules or co-rules it is in the chart. For example, with
   my 11th house Venus in Sagittarius, for me: (1) Sagittarius gets more
   power because Venus is in it, (2) Aquarius gets more power because
   Venus is in the 11th, and (3) Libra and Taurus get power because
   Venus itself rules these signs. The exact power given is based on the
   total influence of Venus already determined. Any sign that has over
   about 175 points or 20% of the total is a really powerful and
   fundamental part of the psyche. We also sum up the influences of all
   the signs, displaying the influence of each element as well.

4. -RT option: Transiting planets may now be restricted from charts
   independently of those planets being transited to. In -T charts, the
   -R option now only affects the natal planets. To restrict transiting
   planets, one must use the -RT option. The -RT option is exactly like
   -R, and any subswitches of -R can be used with -RT as long as the 'T'
   immediately follows the 'R'. For example, -RT by itself restricts
   transiting asteroids from appearing in -T charts, -RT0 restricts all
   transiting bodies, -RTu restricts the Uranians, and so on. This is a
   really useful feature, and allows one to pretty much be able to
   generate exactly and only those transits one is interested in. For
   example, if you want to see if anything is transiting your natal
   Jupiter or natal Saturn this month, do: "astrolog -i yourchart -T 3
   1993 -R0 6 7". If you want to see if Chiron is transiting anything
   this year (excluding asteroids), do: "astrolog -i yourchart -Ty 1993
   -RT0 11 -R". If you are only interested in transits of outer planets
   to your Sun or Moon, do: "astrolog -i yourchart -T 3 1993 -RT0 6 7 8
   9 10 -R0 1 2", and so on. No more awk scripts or grepping anymore! :)
   By default, as before, only the transiting Moon is restricted. The
   default transit restrictions have been added to the astrolog.dat
   file, and are right after the standard restriction table, both of
   which may be modified however you please.

5. -Tn option: This feature is a quick shorthand way to generate
   transits for the current month. For example, instead of "astrolog -i
   chartfile -T 3 1993", one can do "astrolog -i chartfile -Tn". To do
   transits for the entire current year, invoke it as "-Tny".

6. -p0 option: Solar arc progressions are now supported. Before, the
   only progressions available were secondary progressed charts. Invoke
   the -p <month> <day> <year> switch as -p0 instead, and a chart will
   be generated with all planets and house cusps progressed forward an
   amount equal in degrees to the number of years that have passed
   between the specified date and the chart in question. The -pd option
   here specifies the number of days that have to pass per zodiac degree
   to progress forward; by default this is 365.25. To generate a solar
   arc chart for the current moment now, invoke the -pn switch as -p0n.

7. -r0 -m[0] option: Comparison relationship charts may now be
   generated for the -m midpoint and -m0 aspect list options. Combining
   -m with -r0 will yield an ordered list of all midpoints between all
   combinations of one planet from chart1 and another planet from
   chart2. Combining -m0 with -r0 will yield a list of all aspects
   between planets in the two charts, in order based on what Astrolog
   think their influences are. So, if you really want to know if your
   Sun widely trining your SO's Moon, will override the effect of your
   Saturn closely squaring their Mars, do "astrolog -r0 yourchart
   sochart -m0" and see the influence given to each aspect.

8. -qm, -qy options: A quick chart cast for midnight on the first of
   a month can be generated with the two parameter -qm <month> <year>
   switch. A chart cast for midnight on the first of January of a year
   can be generated with the one parameter -qy <year> switch. Both of
   these use the default time zone and location. These switches are most
   useful for charts that don't require all the standard information.
   For example, to get an ephemeris for December, 2000, do "astrolog -qm
   12 2000" and avoid having to enter in a day, hour, or location that
   wouldn't have any effect. These options are in similar to the old -qd
   <month> <day> <year> switch that will do a chart for noon on the
   given date, and the -q <month> <day> <year> <time> switch that takes
   a time as well.

9. "Smart cusps" feature: This is a simple yes/no option that will
   only affect the way -T transit lists are displayed. It can only be
   set in the astrolog.dat file. If the value there is non-zero, then
   transits to minor house cusps will be processed in a more intuitive
   manner. First of all, aspects other than conjunctions or oppositions
   to minor cusps will be ignored, e.g. a trine to the 11th house is
   redundant and isn't really useful; we are more interested in the
   conjunction to the 3rd house cusp. Minor aspects to the Ascendant and
   Midheaven, and all other objects, are left alone. In addition, with
   smart cusps active, oppositions to minor house cusps will be printed
   as conjunctions to the opposing cusp, e.g. instead of "Jupiter Opp
   3rd Cusp", we have the more logical "Jupiter Con 9th Cusp". This is
   just another way to make transits charts clearer and less confusing.

10. "80 column clip" feature: This is another yes/no option that can
   only be set in the astrolog.dat file. If set to non-zero, then we
   guarantee that no text chart when displayed will overflow 80 columns.
   By default, with all objects unrestricted, certain charts will have
   rows more than 80 columns long, breaking up the chart making it very
   difficult to read. The -r0 -g relationship aspect grid, and the -E
   ephemeris listing, will normally go beyond the 80th column. With this
   feature however, these and other charts that can go beyond column 80,
   such as -L when uranians are unrestricted, will always be displayed
   on one line, with columns that would go beyond the 80th not getting
   printed.

11. -Xd, -di options: For X windows only, the -Xd <display> switch
   can be used to change the display to bring the window up on. Before,
   the X window would always come up on the current display, but now we
   can do things like "astrolog -Xd machine:0.0" and have the window
   appear there. In addition, the program will accept this string
   through the standard "-display" (which can be abbreviated as "-disp"
   or anything starting with "-di") switch common to most X11
   applications.

12. '0' key: When graphics are up on the screen, pressing this key
   acts similar to the mode changing keys that switch between the
   different graphic chart types. When pressed, the state of the program
   being invoked with -Z vs. -Z0, as well as the state of -XW vs. -XW0,
   will be reversed. In other words, if I am viewing the -Z -X horizon
   chart, and I want to see the -Z0 -X sky graphic, then I press '0' to
   go to it. Similarly, this key will flip me back and forth between the
   -XW simple rectangular world map display and the -XW0 Mollewide
   projection graphic. A bit of a hack, but very useful, and the only
   way to change these suboptions while the program is running.

13. -nd, -nm, -ny options: These switches are like the -n generate
   chart for current moment now feature, except that they will
   respectively generate charts for the midnight on the current day,
   midnight on the first of the current month, and midnight on the first
   day of the current year. 

14. command line improvement: The way command line parameters are
   processed has been slightly changed. Many switches are now
   technically a "toggle" instead of a "set" for the particular feature
   in question. For example, "astrolog -v -g -g" will now only result in
   the -v chart being printed; an aspect grid won't because the first -g
   turned it on while the second -g turned it off again. This can be
   useful, in say the -e everything switch. If you want all of
   Astrolog's charts except the astro-graph, you can now do "astrolog -e
   -L", where the -e turns everything on and the -L turns the
   astro-graph chart, already on because of -e, off. In another example,
   to get a chart with only the stars in it, one can do "astrolog -R0
   -RU", where the -R0 restricts everything, and the -RU unrestricts all
   the stars. Before, -RU would restrict all of the stars again,
   resulting in everything remaining restricted.

15. -H improvement: PC users are accustomed to seeing command
   switches with a leading slash "/" instead of a dash "-". To
   accommodate this, the -H list of options available switch has been
   modified to, if the program has been compiled for a PC, display all
   the switches with a leading "/" instead of a "-". (On Unix and other
   systems they will still be displayed with the standard leading "-".)

16. -L -X improvement: The graphic astro-graph chart will now display
   a small purple dot at the precise point on the world map for which
   the chart in question is being generated. This is useful to help see
   how close the various planetary lines are to you, if you live in the
   middle of the continent or someplace not easily determinable on the
   compact map of the world.


####################  PROGRAM CHANGES  ####################

Quite a few changes have been made to version 3.00. Some command
switches have been renamed, and other assumptions valid in version
2.40 are no longer so. This section isn't useful unless you are
already familiar with earlier versions of the program. A list of
changes follows:

1. -T changes: The -T transit switch has been edited. It no longer
   takes a file as a parameter - only the month and year. Now, the chart
   to do transits to is taken from the standard interface. For example,
   instead of "astrolog -T chartfile 3 1993" we now do "astrolog -i
   chartfile -T 3 1993". This new interface is more flexible, and can be
   combined with other chart type options (-v, -g, etc.) 

   In addition, to display transits for an entire year, one no longer
   does the hack of specifying zero for the month. This has been
   replaced with the new -Ty switch (-Tpy for progressions), which only
   takes one parameter, the year. For example, instead of "-T chartfile
   0 1993" we now do "-i chartfile -Ty 1993".

2. -T0 removed: The -T0 switch, used to include the transiting Moon
   in charts, is gone. It is replaced with the general ability to
   restrict transiting planets separately. Include "-RT 2" on the
   command line to obtain the same result as -T0 (see new -RT option).

3. -E changes: The -E ephemeris switch has been edited in a similar
   way as -T, in that it also takes its date to do the ephemeris for
   from the standard interface. It no longer takes a month and year for
   parameters. Now, instead of "astrolog -E 3 1993" we do "astrolog -qm
   3 1993 -E". To see the ephemeris for someone's birth month, one can
   do the convenient "-i chartfile -E", or to see the ephemeris for this
   month, do "-n -E". The -E switch can now be combined with the other
   chart type options, and is included with the -e everything switch.

   In addition, to display an ephemeris for an entire year, one no
   longer specifies zero for the month, as with -T. We use the -Ey
   switch now. For example, instead of "-E 0 1993" we now do "-qy 1993
   -Ey" (see new -qy and -qm options).

4. -E0 removed: The -E0 switch, used to allow an ephemeris for
   objects other than Sun..Pluto, is gone. The standard -E switch has
   this functionality now, which before would only allow Sun..Pluto.
   Removal of the switch makes things less complicated, but will result
   in lines longer than 80 columns whenever more than 10 bodies are
   unrestricted. (If this is annoying, see the new 80 column clip
   feature).

5. -q renamed: The -q switch, used to quickly cast a chart at noon
   given a date (using default location and time zone) has been renamed
   to be "-qd". (See new features section for newly added related
   switches "-qm" and "-qy".)

6. -q0 renamed: The -q0 switch, used to quickly cast a chart given a
   date as well as time has been renamed to be just "-q". (Don't confuse
   this with the -q in version 2.40 and before, which did not take a
   time parameter.)

7. -I renamed: The -I display influences chart switch has been
   renamed to "-j". (-I now refers to a general interpretation switch;
   don't get them confused.) Mnemonically, one might want to think of -j
   as referring to "j"oining the influences in the chart together and
   displaying stats on them. (Hey, so I'm running out of letters for
   switches! ;)

8. -vI, -gI removed: The -vI and -gI switches to display
   interpretations for position (-v), and aspect grid (-g) charts, are
   gone. Use the -I general interpretation switch now. For example,
   instead of "astrolog -i chartfile -gI", do "astrolog -i chartfile -g -I".

9. -v changed: The -v and -v0 switches have been swapped as to their
   meanings of the "velocity" column in the standard chart listing.
   Before, -v (the default) would display current planetary velocity in
   degrees per day through the zodiac. The -v0 switch would display
   this velocity as a percentage, where 1.00 means it is moving at its
   average speed, 2.00 means moving twice as fast as normal, -0.01 means
   is retrograde and about to turn direct, and so on. Now, these
   meanings have been exchanged, as the old -v0 display tends to be more
   useful, so it is the default now.

10. -d0 renamed: The -d0 switch, used to print all aspects among
   transiting planets in an entire month (as opposed to just a day with
   -d) has been renamed to be "-dm".

11. -p0 renamed: The -p0 switch, used to specify the number of days
   to progress per day in a -p progressed chart, has been renamed to be
   "-pd". (-p0 now means do a solar arc chart.)

12. Astrolog.dat changed: As usual, astrolog.dat files from version
   2.40 and before are incompatible with version 3.00. A transit
   restriction array and two extra new options (see later) have been
   added.

13. Finally, concerning the source code itself, three new files have
   been added to version 3.00! The old file graphics.c is gone and has
   been split into "xgeneral.c" and "xdriver.c". Also, some of the
   contents in data.c have been moved into new files "general.c" and
   "xdata.c". This of course means that old Astrolog makefiles won't
   work to compile version 3.00.


####################  BUG FIXES  ####################

Here is a list of bugs in version 2.40 that have been fixed in this
release:

1. All object restriction values in the astrolog.dat file were
   ignored. In the last release I may have fixed the crashing problems
   people were having, but I inadvertently introduced this bug in the
   process. Now, trust me, that once and for all astrolog.dat
   restrictions work perfectly!

2. The -gI switch would often crash on many systems. This was due to
   some long interpretation strings extending past array bounds. No
   crashes now. (I got quite a few e-mail reports on this one.)

3. The meanings of the Midheaven and Ascendant were reversed in the
   interpretation database, giving bogus interpretations when these
   objects were involved. They are in the right order now. (Surprised
   nobody ever emailed me about this!)

4. Doing -Xs 300 -g would crash PC's. The bitmap screen was cleared
   before a check was made as to whether the requested scale size would
   overflow the bitmap. Now, very large scale sizes are allowed for
   bitmaps. If the size of the graphic exceeds the array limits, then
   the bitmap size will be clipped to it (e.g. "-Xs 300 -g -Xb" is
   allowed, but bottom and right rows of the aspect grid will be clipped
   off the bitmap file.)

5. Trying to include stars in a -S graphic chart (-S -X -U) could
   cause a crash. The stars are properly ignored in all -S charts
   without problem now. In addition, yet another PC 16 bit int overflow
   could cause the zodiac boundaries in a -S -X chart to be displayed
   erroneously, which has been corrected, too.

6. The Placidus house cusp routine would generate garbage results
   for all non-angular cusps when for any chart cast at latitude 0. We
   have correct results now.

7. When animating graphics charts backward in time, passing to a
   previous month didn't set the day of the new month correctly.
   Instead of setting the day to the last day of the new month, it would
   go to the last day of the month just left, e.g. from March 1st to
   February 31st, yielding a bogus chart. These values are updated
   properly now.

8. The Midheaven and Ascendant, being cusp objects, should logically
   always be mapped to being in the 10th and 1st houses, respectively.
   Round off error would occasionally put them in the previous house,
   resulting in output like Midheaven in 9th house in a -v chart, for
   example. This will no longer occur.

9. More checking for out of range command line parameters is done
   now, specifically for the -a, -q, and -l switches. Although checking
   was always done when prompting the user for info, not as much was
   done when accepting data from the command line, resulting in one
   being able to get away with things like "Feb 50th" or "200 degrees
   north latitude". 

10. The -H list had some non-existent command switches in it!
   Specifically there were switches called "-gl" and "-gm". When I was
   creating the -m and -m0 switches for version 2.40, they were
   originally going to be extra letters tacked onto -g. However,
   although I did finally add -m to the -H list, I foolishly forgot to
   remove -gl and -gm (which don't do anything more than -g). Anyway,
   these are removed from the list (as well as some spelling errors).

11. The -v chart was never able to respond to -R restrictions on the
   first 20 objects in any place other than the element table. This was
   because the display of the 12 house cusps and the element table here
   require 20 lines of text, so we can't just leave lines out. Now, we
   do leave lines out, but will print enough blank lines at the end of
   the first 20 objects so that the element table can be printed, so -v
   now responds to -R completely.

12. The -g0 switch when combined with -r0 will generate a
   relationship midpoint (as opposed to aspect with just -g) grid.
   However, -g0 would be the same as -g when doing a graphic -r0 chart.
   Now, -r0 -g0 -X will generate the expected graphic relationship
   midpoint grid. (Note that -r0 -g -Xi, i.e. the slightly modified
   chart mode, was what one had to do to generate a graphic relationship
   midpoint chart before. This still works, but will now revert back to
   an aspect grid if both -Xi and -g0 are in effect with -r0.) 

13. It seems some compilers, specifically some on VMS systems, would
   compile the complicated planet calculation routine incorrectly,
   specifically in the planet index loop, resulting in bad data.
   Although it doesn't affect the program any, I simplified the loop, so
   this shouldn't be a problem anymore.

14. Version 2.40 was rather memory inefficient on PC platforms. The
   executable was a large 320K, and lots of data was allocated even when
   not used. The PC executable for version 3.00, in spite of all 3.00's
   new features, and in spite of the 98K Microsoft C graphics library
   module being linked in, is under 270K and runs faster! :)


####################  COMPILING INSTRUCTIONS  ####################

     Compiling Astrolog version 3.00 is virtually identical to
compiling previous versions: first edit the top of the file
astrolog.h, putting in your own appropriate values for the default
longitude, latitude, time zone, and default file search directory.
(In the same manner, also edit these default parameter values in the
file astrolog.dat to your liking, at least the location and time zone
values.) Also, comment out any of the #defines which set various
features that aren't valid on your system, such as the GRAPH, X11,
MSC, NOPC, TIME, and SWITCHES variables. Then, for Unix systems, just
run the command 'make' on the Makefile.

     Compiling Astrolog on a PC is pretty easy too. One can usually
do it by simply compiling each file in turn and then linking them all
together. You don't have to worry about explicitly mentioning stuff
like the math library if your paths are set up properly. I used the
Microsoft C7 compiler to generate the ready to run PC executable. If
you have the nmake utility, the makefile included in the zip archive
will compile and link astrolog 2.40 on a PC, with flags set properly
and all. I compiled under the Large memory model, with hex 4000 bytes
of stack space. The default directory in the ready to run PC
executable is set to C:\ASTROLOG. The other compile time defaults are
set to my own location, but you can easily override them with your
own values using the astrolog.dat file.

     It is possible to easily compile Astrolog on a VMS system, even
with X windows. Max Calvani was kind enough to give me the following
com file to automatically compile and link Astrolog for VMS. This
should work with version 3.00, but since I don't have access to a VMS
system I can't try it out myself. Here it is anyway:

---- BEGIN INCLUDED FILE COMPILE.COM CUT HERE ----
$ set ver
$ define X11 decw$include
$ CC CHARTS
$ CC DATA
$ CC DRIVER
$ CC FORMULAS
$ CC GENERAL
$ CC OPTIONS
$ CC XCHARTS
$ CC XDATA
$ CC XDRIVER
$ CC XGENERAL
$ link/exe=astrolog.exe -
	CHARTS.obj, -
	DATA.obj, -
	DRIVER.obj, -
	FORMULAS.obj, -
	GENERAL.obj, -
	OPTIONS.obj, -
	XCHARTS.obj, -
	XDATA.obj, -
	XDRIVER.obj, -
	XGENERAL.obj, -
	sys$input/opt
sys$share:decw$xlibshr/share
$ set nover
$ exit
---- END INCLUDED FILE COMPILE.COM CUT HERE ----

--

     The astrological "chart" for this version 3.00 of the program
itself (and hence the "default" chart in memory one gets if they
start up with a non informational chart and then revert to one
requiring information, e.g. -XW followed by pressing 'V') is set for
the Vernal Equinox at 6:43am PST (8 hr before GMT) on March 20, 1993
in Seattle, WA (122W20 47N36).

     That concludes this release! If there are bugs or problems that
can't be resolved elsewhere, I can be reached at my address below.
After I finish up the stuff related to this version, there is a good
chance that there will be a version 3.10 made. There are more feature
ideas I have in mind including maybe a major surprise or two. But
that wouldn't come about until at least summer. In the meantime, we
have version 3.00 to use and play with and hopefully make life
easier. May it provide you with many enjoyable hours and revelations.
Have fun! :)

************************************************
Astrolog 3.05 posted Thu, 20 May 93 23:40:00 GMT
************************************************

The Sun enters Gemini today! In appropriate honor of passing through
this mental air sign, Astrolog version 3.00 has been posted to the
comp.sources.misc newsgroup. The articles have already been submitted
and have arrived back at my own news site, so if not already at yours
they should get there soon. (The posting date of the first of the
twelve parts in it was dated Wed, 19 May 1993 06:13:09 GMT.) This
means that the most recent version of the program is now available at
the many ftp sites which archive comp.sources.*; the last version of
Astrolog to get such a wide distribution was version 2.25!

Anyway, again, after releasing version 3.00 here, I found one bug and
made a few other minor improvements to the program before reposting it
now, hence the updated version is 3.05. You don't need to rush out and
grab this version unless desired because it's virtually the same.

Since half of the editions affect the PC graphics, I have uploaded a
version 3.05 PC executable to the ftp site at hilbert.maths.utas.edu.au.
Some more compiler tricks allowed me to shave another 14K off the size
of the executable! Here is a list of the changes made to version 3.05:

1) Bug fix: A reasonably major problem would not allow any of the
special transit restriction switches beyond -RT to work. In other
words, -RT0, -RTU, -RTC, would all be seen by the program as just -RT,
making doing transits including just a few transiting planets
difficult, because "-RT0 1" would have to be done "-RT 2 3 4 ...".
Anyway, everything works according to the Helpfile spec now.

2) Compiler error: A significant number of people complained about the
#error preprocessor command in astrolog.h not being defined for their
compiler. The purpose of this was to force an error early on and catch
potential problems if the user tried to compile with bogus
combinations of compile time parameters, e.g. compile with X11 and PC
on at the same time. Unfortunately, the compilers would encounter the
#error lines regardless even though they are technically #ifdefed out
in all but illegal cases. Anyway, I took them out and replaced them
with ordinary text to do the same result, but not always cause errors
on the compilers in question.

3) Small bug fix: The little "purple" dot in the graphic astro-graph
charts indicating the long. and lat. of the chart in question would
not be visible in reverse video monochrome graphics, because "purple"
maps to white and hence is the same as the background. Also, the dot
would always be purple on a color display, even when the program tried
to be in monochrome mode! Anyway, the dot is appropriately colored
purple, white, or black now as the program settings change.

4) Enhancement: Those with 25 line monitors running the PC screen
graphics may not have liked the fact that the key help list generated
by pressing "H" would scroll the screen. To improve this, we go to a
43 line text mode (if one is available) allowing everything to be
printed without scrolling when the help list is shown. (If your system
doesn't have a 43 line text mode, it is probably slow enough that you
can easily pause/restart the display by typing control-s/control-q ;)

5) Enhancement: Another PC graphics improvement, one might notice that
whenever they do animation, they will always want to then hit 'tab' to
go to the flicker free mode. This is done automatically now. On a PC,
entering animation mode, will, if not already there, go to the flicker
free graphics display mode. (You can always then manually switch back
if you'd rather be in the first mode.)

6) Omission: The fact that the 'tab' key switches between graphics
modes on a PC wasn't mentioned in the "H" key help list, but is now.

7) Typos: In the "H" key help list, the key to start animating the
current chart in minute increments is "@", not "/" or "-" as the
listing would indicate. A couple of spelling errors have been
corrected here and in the -H list as well.

8) Glitch: Visible on PC screen charts in reverse video mode, the
background would extend one pixel to the right farther beyond the
rectangular outer border chart limit from where it should.

9) Finally, don't worry, your old astrolog.dat file is fully
compatible with version 3.05, and doesn't need to be changed a bit, in
that the file format hasn't been changed any.

* Saturn enters Pisces tomorrow at 5:15am PDT (12:15pm GMT), less than
two hours before the New Moon !!!!!!!!!!!

************************************************
Astrolog 3.10 posted Sun, 26 Sep 93 08:29:58 GMT
************************************************

     Behold the Fall Equinox! The Sun enters Libra today (9-22-93),
and Autumn begins and the astrological year is at its half way point.
Precisely six months and zodiac signs ago at the Vernal Equinox,
version 3.00 of the program Astrolog was posted here to this
newsgroup. Now for the other Equinox this year comes the newest
release of the program: version 3.10!

     This file describes version 3.10 of Astrolog, the world's best
and most extensive freeware astrology computer program for Unix, X
Windows, or DOS (at least in my humble opinion. ;) Described are
enhancements and additions made to the previous release, version 3.00
posted six months ago (and the bug fix release 3.05 posted two months
later), and bugs fixed and other changes made. Astrolog 3.10 is an
excellent upgrade. It's faster, more memory efficient, can take less
disk space than 3.00, and it easier to run from Windows. Glitches
have been removed, some old features have been enhanced, and some new
ones added. A list of all the changes and features is listed later.

     This post consists of five articles or parts: (1) This Update
informational file. (2) A Unix shell archive of the source code. (3)
A uuencoded zip file of the source code. (4) A uuencoded ready to run
program executable for PC's. (5) A program version History file.
(Each of these files may be posted in several segments to get the
newsfeeder to accept it; if so, extract each segment, and use some
text editor to remove the headers and concatenate the parts
together.) The shell archive file contains 15 files within it: The 12
source code files, the default parameter file astrolog.dat, this
Update file you're reading now, and a Unix Makefile. The zip archive
contains these 15 files, except there's a DOS nmakefile instead of
one for Unix, and it has one additional 16th file, an icon for
Windows, described later. These archives are complete in themselves
and the only article one really needs to extract and save are one of
these two archives. The shell archive is meant to be extracted on a
Unix system for users on this platform, while the zip file is best
for PC users. The version History file consists of documentation of
the features added to each version of the program since its
beginning, which isn't needed but might be found useful, especially
if one is new to Astrolog, or hasn't upgraded in a while, or isn't
already familiar with features in recent existing versions.

     The files described above have been uploaded to Michael Bulmer's
alt.astrology ftp site at hilbert.maths.utas.edu.au in the directory
/incoming/astrolog. They should be moved to the standard
/pub/astrology/astrolog directory there soon. Fellow employees at
Microsoft connected to our network can get a copy of this version out
of my public share in the directory \\mydir\public\astrolog.

     If you have used or are familiar with previous versions of
Astrolog, to avoid confusion you may want to first read the section
on changes to old features made in this release. In addition, if you
aren't familiar with previous versions of the program, you will want
to read the comprehensive Helpfile for version 3.00, so you know what
the 3.10 feature enhancements are referring to. This documentation
Helpfile for the previous version describes all its features together
in order. I intend to create and post one for version 3.10 soon when
I get around to it.


#####################  3.10 PROGRAM CHANGES  #####################

     As with every version, a few changes were made to the program,
in that old assumptions may no longer be valid, or things were done
that aren't directly a bug fix or a new feature like adding a new
switch would be. Most of the following changes made in 3.10 are
useful and beneficial to the user:

1. Astrolog 3.10 allocates its bitmap arrays much more efficiently
   now. When creating an x by y graphics image, that is exactly how much
   memory is allocated. Before, Astrolog would always allocate a certain
   large fixed amount of memory. This was inefficient because (1) users
   with lots of memory wouldn't be able to make bitmaps larger than this
   limit size, and (2) people would often not have enough memory to
   allocate this sized bitmap, especially in DOS. With DOS, I was
   pushing up against the 640K memory limit so much that I had to
   compile with optimization just to have enough memory to allocate this
   bitmap, and with other compilers the problem could be more severe.
   But now, you can run all the TSR's you want, and if you don't have
   enough memory for the bitmap, just try again with a slightly smaller
   size until it works. For the other extreme, if you have the memory
   and disk space, Astrolog can technically generate a 10000 x 10000
   bitmap over a gigabyte in size!

2. Astrolog 3.10 runs a bit faster in virtually all categories! For
   example, in running the official DOS executable on a 386, doing a -E
   monthly ephemeris on 3.10 will take about 90% of the time the same
   one did in 3.05. A -XG graphics globe will draw about twice as fast
   as before! Most of the improvements were in using fewer slow floating
   point variables and operations when integers would do just as well.
   For example, month index variables were stored as reals before when
   they would never be fractional, and certain expressions used multiple
   times could be cached so they don't have to be recomputed.

3. I ran the Pklite executable compressor utility on the official
   3.10 DOS executable. As a result, it doesn't run any slower but is
   only half the size. The version 3.10 executable is under 135K,
   compared to over 240K for 3.05. (Uncompressed, the executable gained
   just under 50K in size over version 3.05)

4. The combination hack "-dp 0 1993", using 0 as a month parameter to
   scan an entire year for aspects among progressed planets in a chart,
   is now replaced with the new -dpy switch, which takes only one
   parameter for the year. This switch is now consistent in format to
   how with the -T and -E switches one specifies an entire year.

5. The -E ephemeris listings now obtain the time (and time zone) to
   cast each chart for (e.g. noon, midnight) from the chart information
   given it, instead of always defaulting to midnight in the default
   time zone all the time as before. This is a bit more flexible since
   one may have a noon or 6:00am or whatever ephemeris which wasn't
   possible before. The -qm <month> <year> switch always uses midnight
   for the time and the default for the time zone, so when using this
   switch with -E the results will be the same as with the previous
   version. However, something like -i yourchart -E to do an ephemeris
   for your birth month will now display the positions each day at your
   birthtime instead of at midnight.

6. The various -X switches which used to just always set a mode are
   now toggles, like many of the normal non -X switch modes. This won't
   affect things much, except that a combination like -Xr -Xr which used
   to just go to reverse video mode, will now remain out of it because
   the first -Xr put you in and the second toggled you back out.

7. There's a new source code file to 3.10, called "intrpret.c"
   containing all Astrolog's various interpretation routines together
   (mainly taken from charts.c and options.c). This of course means that
   old makefiles aren't compatible and can't compile version 3.10.

8. As always, new fields added to the astrolog.dat defaults file make
   old astrolog.dat's from before version 3.10 incompatible with the
   current version. One should delete their old file and modify the one
   given, or else manually merge in the new fields in the new file with
   their old one.

9. The astrological "chart" for this version 3.10 of the program
   itself (and hence the "default" chart in memory one gets if they
   start up with a non informational chart and then revert to one
   requiring information, e.g. -XW followed by pressing 'V') is set for
   the Autumn Equinox at 5:33pm PDT (7 hours before GMT) on Tuesday,
   September 22, 1993 in Seattle, WA (122W20 47N36).


#####################  3.10 NEW FEATURES  #####################

     Here are all the new features that aren't in version 3.05:

1. -y switch: The new -y <month> <date> <year> switch is a transit
   influence chart. Given a date, it will take the transiting planets on
   that date, and determine how they interact with the generic natal
   chart specified with -i or however. The information will be printed
   as a list of transits, sorted in order from most significant to least
   significant. For each transit in effect, the transiting and natal
   planets (and the signs they are in) are displayed, along with the
   aspect and the orb, and whether the transit is applying and going to
   happen in the future, or just passed exactness and the orb is
   separating. The computer computed power value of each transit will
   be printed too - anything over 100 is a very major transit.

   The things which affect how Astrolog computes the influence of a
   transit are: The power of the object that's doing the transit, e.g.
   transiting Pluto conjunct your natal Ascendant is much more powerful
   than the transiting Moon conjunct your Ascendant. The power of the
   object being transited affects the power too (but not as much as the
   transiter) e.g. Jupiter transiting your Sun is more powerful than
   Jupiter transiting an asteroid. Finally, the orb plays a role too, in
   that a transit that will be exact in a couple of days from the given
   date passed to -y is more powerful than one won't be exact for
   another month. Note that the power of a planet when transiting is
   different than its influence in the natal chart: Although Sun
   conjunct Moon is more powerful in a natal chart than Saturn conjunct
   Moon, when transiting, Saturn transiting Moon is much more
   influential than Sun transiting Moon. Hence there are now two lists
   of object influence values in the astrolog.dat file that can be
   customized. There's the old list of standard influences (which have
   items like Sun, Moon, and Ascendant most powerful), and a parallel
   list of transit influences (which have the slower moving bodies the
   most powerful).

   This switch is in compliment to the -T transit search list, and you
   may find this new one more useful. The -T chart prints the times when
   a transit is exact, which is useful to know, but doesn't really help
   when you want to know when a transit enters orb enough to be
   significant, and it won't flag a major year long transit that will be
   exact next month, listing it among a bunch of less significant
   aspects for the following month. With -y, you can see a major transit
   first enter orb at the bottom of the list, and then slowly rise to
   the top as it becomes more exact through the days. And you can answer
   the question as to which is more influential now: say an exact
   transit of Mars to a minor house cusp, or a major transit of Saturn
   to an angle that's still a month away from exactness.

   Also notice the resemblance between -y and the -r0 -m0 combination.
   Both display aspects ordered by influence. In fact, "-i chart -yn"
   will look almost identical to "-t chart -m0", except that -y is
   designed and formatted for doing transits to a particular chart.
   (Doing -y will always use applying vs. separating orbs, generate
   powers using the new transit influences, and allow the transiting and
   natal planets to be restricted separately with -RT and -R.)

2. -yn switch: The -yn switch is a shorthand way to pass the current
   date today to the -y switch. If you want to see what transits are
   most affecting your natal chart right now, just do "-i yourchart
   -yn".

3. -E -X graphics chart: A new graphical planetary tracking chart is
   available by combining the -E switch with -X. This "graphical
   ephemeris" will display the sign degrees of the zodiac along the
   horizontal axis, and the days in the given month along the vertical.
   The positions of the planets at each day are then graphed. The result
   is a bunch of wavy lines that make it easy to see all the planetary
   movements during the month. Wherever lines cross there's a
   conjunction on the day indicated on the axis at the same level as the
   crossing. Although this only looks at the month in the given chart
   information, the actual day will be highlighted on the vertical axis.

   Combining the -Ey yearly ephemeris with -X will generate a graphical
   ephemeris showing the movements for the entire year, with the months
   labeled along the vertical axis. Once any graphics chart is up, one
   may switch to the ephemeris chart mode by pressing the 'E' key.
   Pressing the '0' chart mode toggling key will now toggle between the
   -E and -Ey graphics charts (in addition to between -Z and -Z0, and
   -XW and -XW0 like it did before). In the -Xi alternate display mode,
   the Moon will automatically be restricted, which is commonly desired
   because its line moves across the ephemeris chart so much faster than
   any of the other planets.

4. PC Mouse support: Astrolog 3.10 has support for the mouse and the
   mouse buttons when running graphics under DOS. (X windows have had
   mouse operations since version 2.20.) Now, upon entering a graphics
   chart, a mouse pointer will appear. Holding down the left mouse
   button will allow you to scribble on the screen with the mouse as a
   pen, in the highlight color, just like how for Unix the left button
   is used to scribble in an X window. For PC's, the middle mouse button
   (if you have one - most mice such as Microsoft mice don't) will exit
   graphics mode and terminate the program, like pressing the 'q' key or
   like how the right mouse button does for X windows. The right mouse
   button is described below.

   Not all PC systems have mice. There is a new #define in astrolog.h
   called "MOUSE". If commented out, then all mouse functionality will
   be compiled out, even if compiling for Unix. The mouse pointer and
   all PC mouse functions are temporarily disabled when running in an
   animation mode.

   When implementing this, I found no readily available library that
   would activate and query the mouse from DOS. The Microsoft graphics
   library I used doesn't have any mouse functions in it; however, in
   the C7 sample programs directory, there is an uncompiled library file
   called "mouse.c" with its "mouse.h" interface. I compiled this file
   as if it were one of the Astrolog program files and linked it in to
   gain access to the functionality. If you are compiling Astrolog for
   DOS yourself, you will probably either need to have a copy of the
   Microsoft compiler or else compile out the mouse features, unless you
   can find an alternate library with the same functionality. This is
   further complicated by the fact that there is a bug in the mouse.c
   file which causes the locations of the mouse pointer to overflow and
   hence wrap before the end of the screen is reached! I manually fixed
   this before compiling in mouse.c to the official DOS executable. I can
   tell how to fix this to anyone who wants to compile PC Astrolog
   themself with this file.

5. Mouse button enhancement: For X windows, pressing the middle mouse
   button when a world map is up, in addition to displaying the
   longitude and latitude of the point clicked on in the parent window,
   will also set the current chart location to this point. This makes an
   easy interface for doing chart relocation! Say you want to relocate
   your natal chart to Tokyo, Japan. Just bring up your chart in
   graphics mode, press 'W' to switch to the world map display, click
   middle button on Japan, then return to the wheel chart and there your
   chart is, as if you had been born at the same time but in Tokyo. For
   PC's the right mouse button does the same thing as the middle button
   for X: it will reset the current chart location to that clicked on.
   It won't actually display the new longitude and latitude, but you can
   easily see what it is by observing the chart information at the
   bottom of a graphics chart, or by pressing the 'v' key to see the
   whole chart and its location in text mode.

6. -K switch: The -K switch generates a simple calendar for the month
   specified in the current chart. This is a standard type of chart
   generatable from a date so the -e everything switch has been changed
   to include this -K chart along with all the others. Note that this is
   technically a non-astrological chart, but generic calendars are
   useful and easy to generate with all of Astrolog's date determination
   features, so the option to create them using Astrolog is included.
   The calendars are compact, with one text row per week. The day
   specified in the current chart will be highlighted in green assuming
   Ansi color is active, e.g. "-n -K" will generate a chart for this
   month, with the number of today's date highlighted.

7. -Ky switch: The -Ky switch is just like -K except that it will
   generate a calendar for the whole year. All twelve months will be
   displayed on the screen, each just like the individual monthly
   calendars above but printed in four rows of three months each.

8. -I -m combination: Interpretations of midpoint charts are now
   supported by combining the -m switch with -I, which will print the
   midpoints in the same order as with just -m, but with each midpoint
   as an interpretation sentence instead. Relationship midpoint charts
   may be interpreted in the same manner in the -r0 -m -I combination.

9. -I -r combination: Synastry relationship charts may now be
   interpreted, too. Actually, they could be interpreted before version
   3.10, in that one could combine the -r <chartfile1> <chartfile2>
   switch with -I and get an interpretation, but it would be an
   interpretation of Person2's planets in Person1's houses as if that
   were a natal chart, because the result of -r is basically a "chart"
   with one set of sign and house positions. Now, the interpretation
   feature recognizes charts generated with -r as synastry charts and
   interprets them appropriately. For each of Person2's planets, the
   interpretation of how and where it affects Person1 is displayed.

10. -XB -Xn combination: For X windows, one may now animate a
   graphics chart on the root background by combining -XB with the -Xn
   switch. This will be just like the animations done in windows except
   the root is being used instead. Astrolog can be run in the background
   this way to continually update your root to the current chart
   representing the present moment. Limitations with this are that since
   there's no window, no keypresses can be processed so the program must
   be manually terminated, and that the continual updates will be as CPU
   intensive as the window animations are.

11. -V switch: For PC's compiled with screen graphics, the -V <rows>
   switch will change the text screen to have the specified number of
   rows, assuming the hardware available supports it. Legal values are
   25, 43, and 50. This most useful as an initial parameter when running
   the program from Microsoft Windows (see later) to give more text rows
   to work in, or in the new -Q loop mode (see later), as well as being
   another way of getting to the functionality of the DOS "mode" command.

12. -rd enhancement: The -rd <file1> <file2> switch, a non-
   astrological "relationship" function which would print the number of
   days between the dates in the two charts, has been enhanced. Instead
   of just printing the time difference rounded to the nearest day, it
   now also expresses the difference to the nearest year, month, week,
   hour, minute, and second. Want to say know how many years older your
   mother is than you? Just do "-rd momchart yourchart". Want to know
   how many minutes old you are? Just do "-i yourchart -td". Do the same
   command again right away and see that you are now a couple seconds
   older than the first time!

13. -R1 switch: This will unrestrict all planets and other objects
   used by the program, a compliment to the old -R0 switch which
   restricts everything. Note that this won't set modes, in that you
   won't get uranians, stars, or minor cusps in your chart by default
   unless you get in those modes with -u, -U, and -C, but this will
   automatically clear out all existing default restrictions.

14. Flow control enhancement: The various static help listings that
   can be generated, such as the lists from -H, -O, -A, -I0, and -H0,
   may now be combined with each other and even actual charts. Before,
   whenever the program would encounter one of these options, it would
   print the table and exit right away, ignoring the rest of the command
   line. (This meant that command switch order was important: "-U -O"
   would list the stars in the object list, but "-O -U" wouldn't.)
   Anyway, these tables are now treated as normal charts. For
   convenience and compatibility the program will still terminate right
   away if the only thing specified is one of the tables, e.g. just
   "-H" will print the help list and exit, but "-H -i file -g" will
   print the help list followed by an aspect grid chart.

15. -ma switch: This is a shorthand way to bring up the -m0 sorted
   aspect chart, with the aspect orbs shown as applying vs. separating
   instead of positive or negative offsets to the exact aspect size.
   This is like how -ga does the same thing with the -g aspect grid
   switch. In fact, to get the functionality of -ma before 3.10, one
   would have to use -ga itself along with -m0, and then include -g by
   itself again ("-m0 -ga -g") to toggle the aspect grid off but leave
   the applying vs. separating mode on!

16. Noswitches enhancement: The SWITCHES compile time variable, which
   when commented out makes Astrolog prompt the user for the command
   switches when the program starts, instead of taking them from the
   command line (which isn't always available on certain systems), has
   been enhanced in interface. Before one would have to monotonously
   enter each switch and each switch parameter on a separate line. Now,
   you just enter one line containing all the parameters together,
   separated by one or more spaces, just like is done when typing in the
   command line. Astrolog will automatically parse the string and
   extract the parameters, just like the operating system shell does.

17. -Q switch: Usually when Astrolog finishes printing the specified
   chart or charts, or when we leave the graphics screen mode, the
   program will terminate. However, sometimes one wants to display or
   work with lots of charts or options, which causes them to invoke the
   program over and over again from their shell, which uses many
   processes and can be slow loading over and over from a slow disk.
   Auto-termination is also bad when automatically starting up the
   program in an X window or DOS box - once the program finishes, the
   container will exit right away too, not allowing reading of the text
   charts. The -Q switch causes the program to enter a looping mode
   environment where (after the first chart is displayed) the user will
   automatically be prompted to enter a new set of command switches
   (using the NoSwitches interface above) which will be processed. This
   will go on and the program will run until you enter "." on a line for
   the switches to really terminate it.

   Program errors which before would always cause Astrolog to exit right
   away, will now (unless fatal errors) return the user back to this
   outer loop. What's more is that being in the loop doesn't cause all
   the minor program variables to be reset every time. The main things
   like what info to use and what charts to display must be specified
   each time, but minor modes (such as the present -x harmonic factor)
   won't, so say specify -x 5 once, and you will be casting fifth
   harmonic charts until you specify otherwise or exit the loop, not
   having to include -x each time.

18. -Q0 switch: This is just like -Q above except that the user will
   first be prompted for command switches right upon entering the
   program. Note that these will be in addition to whatever else was on
   the command line where the -Q0 itself was specified. This is mostly
   useful when running on a Windows system (see later) where one can
   have -Q0 as a default switch to pass to the program. Upon activation,
   the user will be in a loop with Astrolog asking for switches right
   away before proceeding to generate or prompt for anything.

19. -. switch: The "-." switch, when encountered on a command line,
   will immediately terminate the program, ignoring any modes or other
   command switches. This is the formal way how to really exit the
   program when in the -Q loop (and really only useful in this case).
   Remember, above it was said to enter "." for the command line to exit
   the -Q mode. Well, Astrolog internally interprets the "." as a switch
   without a leading dash, i.e. "-.", which is a new switch that will
   force program termination.

20. Graphics additions to astrolog.dat: Three new fields have been
   added to the astrolog.dat default parameter file. (Note that based on
   what options are compiled into the program, anywhere from zero to all
   three of the fields may be relevant and hence even be read in.)

   The mode in which graphics files are written to disk, like as
   specified with -Xb, is set here, and like everything else in
   astrolog.dat can be used to override the compile time value.
 
   The default pixel size that a chart comes up on the PC screen or in
   an X window, like as specified with -Xw, may be set here too.

   Finally, for PC's with graphics, the actual modes the program enters
   when in the "normal" and the "flicker free animation" modes can now
   be customized and set in astrolog.dat. The values are the various
   mode numbers defined in graph.h for the Microsoft library. (I should
   probably post a list of the valid numbers and which modes they
   correspond to.) By default, the normal high-res mode is set to the
   value "-3", which means a mode with the highest resolution, which is
   usually 640x480 16 color VGA. The default low-res animation mode is
   set to "16", which corresponds to 640x350 16 color EGA (which on most
   systems is the highest resolution allowing multiple pages meaning
   animation can be done without flicker).

21. -d enhancement in astrolog.dat: The -d aspects in day search
   list, in addition to aspects, prints the times for sign and direction
   changes of objects too. Sign changes and direction changes may now
   each be restricted from appearing in this chart by setting a new flag
   in astrolog.dat. This works like the -R restrictions but for all
   types of these special events, instead of all aspects or events
   containing a particular object.

22. -I enhancement in astrolog.dat: There's a new field in the
   astrolog.dat file specifying the width of the screen, which is
   usually set to 80. This value is used to determine what column to
   break lines at when formatting and printing the interpretation
   paragraphs. So now one may change this to accommodate narrower or
   wider screens or printers. (Note that this will not affect and has no
   relation to the existing astrolog.dat 80 column clip flag.)

23. -Xl switch: For graphics, this switch will inhibit labeling with
   glyphs or text abbreviations, spots indicating the positions of
   planets. This is just the command line counterpart to the existing
   functionality accessed by the 'l' key.

24. Spacebar key: When a graphics chart is up, pressing ' ' will
   force a redraw of the screen. This is useful for say to cleanup after
   one has scribbled on it a little with the left mouse button.

   [There's a minor known bug with the PC mouse features, which is that
   when in a flicker free graphics mode, the mouse pointer will only
   appear half the time. (You can still scribble and set location, just
   that the pointer won't be visible.) This is due to the fact that a
   flicker free mode is actually two pages switched back and forth
   between for smooth updates. If you don't see and want your mouse
   here, the update generated by pressing spacebar will revert you to
   the other page where the mouse pointer is.]

--

     As a quick summary reference, here's a list of the new feature
entries in the -H help list that weren't there in version 3.05.

-Q: Prompt for more command switches after display finished.
-Q0: Like -Q but prompt for additional switches on startup.
-m[0]a: Like -m0 but indicate applying and separating orbs.
-K: Display a calendar for given month.
-Ky: Like -K but display a calendar for the entire year.
-dpy <year>: Like -dp but search for aspects within entire year.
-y <month> <day> <year>: Display transits ordered by influence.
-yn: Display transits ordered by influence on current date now.
-R1 [<obj1> ..]: Like -R but unrestrict and show all objects.
-V: <25,43,50>: Start up with text mode set to number of rows.
-Xl: Inhibit labeling of object points in chart graphic.


#####################  NEW URANIAN SUPPORT  #####################

     Astrolog 3.10 has much more support for the eight uranian
bodies. Here are seven additions which make it so virtually
everything that can be done with the main planets can be done with
the uranians too:

1. -u -I valid: The uranians finally have their own interpretations,
   and will appear in the -I lists for aspects, transits, and so on. So
   if you've been wondering what those eight extra points in your chart
   actually mean, now you can find out.

2. -u -X improvement: The uranians also have their own glyphs in the
   graphics charts instead of being displayed as a three letter
   abbreviation. These are official glyphs that I obtained from the same
   source I based the interpretation strings on.

3. -u rulerships: Each uranian has its own ruling and exalting sign,
   meaning uranians in their rulership, etc, will be flagged as such and
   have more or less influence and so on. I came up with these myself
   and used the interpretation strings to decide what the most
   appropriate signs are. If you disagree, feel free to change them, or
   I'll be willing to describe in detail why I chose what I did here.

4. -u -Am & -Ad valid: Uranian object indexes may now be passed to
   the -Am max orb to object switch, and the -Ad object orb addition
   switch. (Before, one could only modify the major bodies.) The
   astrolog.dat file for 3.10 has been expanded to include values for
   the uranians in these two respective categories, too. 

5. -u in astrolog.dat: The influence and new transit influence values
   for the uranians may also be set in the astrolog.dat file.

6. -u -j valid: Uranians may now be displayed in charts where they
   were implicitly ignored before, such as the -j influence chart. One
   may now use this to see how big a role the different uranians play in
   their chart. For example, although minor, in my own chart I have one
   uranian more influential than Chiron and most of the other asteroids.

7. -u -o0 valid: The positions of the uranians will now be output to
   the -o0 direct planet position files. This of course will only be if
   the uranians were actually calculated. Hence these files can now be
   of two different lengths, but the program (except the older versions
   3.05 and before) will be able to read in both formats. 


#####################  MAJOR 3.05 BUGS FIXED  #####################

     Here are 10 significant bugs in version 3.05 that have been
fixed in 3.10, "significant" meaning things like crashes,
inaccuracies, or loss of stated functionality. Special thanks to all
who pointed out many of these problems.

1. -Xb crash: In version 3.05 but not 3.00, in a compile with X
   window features, attempting to create a bitmap file with -Xb would
   crash. How did such a basic problem get into the program? Ok, when I
   posted version 3.00, I made a .zip file for DOS users and a .shar
   file for Unix and X users. Version 3.00 was developed almost entirely
   on a PC, and when it was done I tested the X window features just
   before posting. This bug was present, but because I had already
   created and downloaded the PC .zip file, I simply changed the source
   for the Unix code. This patched the problem but meant a source file
   was actually slightly different between the .shar and .zip archive
   versions of them. The bug was introduced when I made the 3.05 "bug
   fix" release, and neglectfully based it on the PC sources which
   didn't have the fix. Trust that this is not only fixed in 3.10, but
   that the sources are identical (except for default #define's in
   astrolog.h) in the various formats the sources are posted in.

2. -L stack overflow: Compiling Astrolog for DOS using certain
   compilers, could result in occasional stack overflow errors when
   creating certain charts, especially the -L astro-graph chart. Such an
   overflow could be generated even with the "official" DOS 3.00
   executable by doing -L or -e and redirecting output with ">" (which
   takes up extra stack) to a file. Astrolog 3.10 is much more efficient
   with stack and has no such problems, and nor should builds with any
   other compiler.

3. -Xn problem: In version 3.05 but not 3.00, with DOS graphics,
   attempting to enter or change to a different animation mode while in
   the lower-res flicker-free animation graphics mode, would result in
   nothing happening. You'd have to hit 'tab' to change graphics modes
   which would then start the animation. This was introduced with the
   small convenience added to 3.05 which would automatically go to the
   flicker free graphics mode when entering animation. (Sigh, this was
   the second bug *introduced* in 3.05, which was supposed to be a
   release to *fix* bugs.)

4. -j0 inaccuracy: In the -j0 influence chart with sign influences as
   well as planet influences, the displayed percentage values that each
   zodiac sign plays in the chart were invalid in that they didn't add
   up to 100% (usually they'd be a little over). The percentages were
   still proportionately correct, but that didn't make them any more
   useful than the actual power numbers given.

5. -r0 -ga inaccuracy: Doing applying vs. separating orbs in a
   relationship aspect grid would give bogus results. (The degree orb
   was still valid, but whether the aspect was really applying or
   separating was just as often wrong as it was right in this particular
   case.)

6. -display problem: For X windows, the -display switch would work,
   but would screw up the command line parameter pointer so that the
   actual machine parameter given to -display would then be processed as
   a command switch. (It's Astrolog format -Xd twin didn't have this
   problem.)

7. -Z -u problem: Creating a horizon chart with uranians active but
   not stars, would result in the last uranian line of the chart being
   repeated on the screen 47 times (there being 47 stars in Astrolog)
   due to some sloppy indexing code in the program.

8. -r0 -m -X problem: Doing a graphical relationship midpoint chart
   would result in the graphic relationship aspect grid coming up
   instead. Now the -r0 -m -X switch combination will implicitly do the
   results of the -g0 switch, which for relationship charts puts
   midpoints instead of aspects in the grid chart.

9. -S problem: There was no way to get rid of the Earth from the -S
   space charts either in text or graphics format. Not even the -R0
   restrict all switch would affect it because the Earth doesn't have a
   formal object index of its own. Now -R0 (and the new -R1) will affect
   this body along with all the others.

10. astrolog.dat omission: Absolutely no checking was done on the
   values in the astrolog.dat defaults file for validity, meaning one
   could get away with default latitudes of 300 degrees north and so on.
   This is almost more of a new feature, but the same error checking is
   done now on the astrolog.dat files as is done for the command line
   and when prompting the user.


#####################  MINOR 3.05 BUGS FIXED  #####################

     Here are 8 more minor problems existing in version 3.05 that
were fixed. These are minor and hardly noticeable, but it might be
good to mention them anyway "for the record".

1. -Xbb problem: Windows .bmp bitmap files were written with slightly
   bogus scaling information, resulting in the files being displayed as
   square pictures (regardless of their original dimensions) when
   inserted into most other apps. Now we store zeros for these values
   when writing out the bitmap, so that they will now nicely come in one
   screen pixel per bitmap pixel for these apps.

2. -Xn -XT text bad: When doing graphics animation with the current
   chart info displayed at the bottom of the screen, when the animation
   time changes to the next hour, extra roundoff could generate a
   display of 60 minutes for a few seconds. For example, when the
   animation time switched from 10:59 to 11:00, it would be displayed as
   10:60 for a few seconds before reverting to the correct 11:00.

3. -g -k colors bad: The text colors for the locations of the planets
   down the main diagonal in the -g aspect grid chart were incorrect,
   not reflecting the element of the sign like they do everywhere else.
   A few more text color improvements made: Season changes in the -d
   searches are now colored bright white like the similar moon phases
   are. The -g0 aspect configuration chart now has separate colors for
   each planet in a configuration. Stars in the -v listing have their
   houses colored appropriately now like all the other bodies do.

4. -I -T text improvement: This is more of a new feature than a bug,
   but when printing the interpretation for a transit return, the fact
   that the transiting planet is the same as the natal would make it
   read a little awkward since the same description was printed twice in
   the same sentence. We now rephrase these particular configurations to
   make them clearer.

5. Typos: The uranian body "Apollon" was incorrectly named as just
   "Apollo". A few other less conspicuous typos have been corrected,
   such as one where the error message would be incorrect if an invalid
   time were passed to the -a switch.

6. Potential typo: Where Astrolog says "Invoke program as 'astrolog
   -H'..." upon execution, we now actually get the real name of the
   current executable here instead of just printing "astrolog" all the
   time, meaning if you rename astrolog.exe to be just ast.exe, it will
   print Invoke as 'ast -H' here. Just yet another tiny improvement. :)

7. -L -X color glitch: In color graphic astro-graph charts, the
   bottom side of the rectangular boundary of the world map would get
   mostly colored dark gray, when it should have been the bright
   highlight color like the rest of the border.

8. Compiler warnings: A few invalid or missing pointer casts to X
   window functions could result in compiler warnings in three places in
   the xdriver.c file for some systems. These have been there since the
   X window features where introduced in version 2.00 and never caused a
   problem, but I finally got around to expressing them properly!


#####################  ASTROLOG ON MICROSOFT WINDOWS  #####################

     Although Astrolog is not a Windows program and doesn't have
direct support for it with menus and all, at least not yet, Astrolog
3.10 nevertheless can be run from the Windows environment, some new
features making this easier.

     One can make a Program Manager icon which will run Astrolog in a
DOS box. Using the new -Q0 switch here will prompt the user for
whatever switches they want to use, as well as looping back when done
to allow additional switches to be specified much like invoking the
program over and over again from DOS. Upon exiting the program, the
DOS box will also terminate, and although not as elegant as a true
Windows interface with dialog boxes and all, this is just as if not
more usable than the DOS interface.

     To make a Windows Program Manager icon for Astrolog, first click
in the program group you want the icon to appear in, then choose File
New, and click OK to make a new program item. In the dialog, for the
description field type something like "Astrolog 3.10". For the
command line field, type "C:\ASTROLOG\ASTROLOG.EXE /Q0", i.e.
whatever the path name is to the executable file, and you probably
want to include the /Q0. For the working directory field, type
"C:\ASTROLOG", i.e. just the path to the directory where the astrolog
files are. For the shortcut key you can leave it blank or press a key
like 'a', meaning that pressing Ctrl-Alt-A at any time when the
Program Manager is active will start the Astrolog program.

     Then click on the change icon button, OK the warning, and from
the Change Icon dialog type "C:\ASTROLOG\ASTROLOG.ICO" (again the
path to your Astrolog directory) in the filename field. This should
load in Astrolog's own Windows icon file included in the zip archive,
a yellow planet with red rings and two blue moons and stars around
it. Click OK twice and you should be back in your group with a nice
Astrolog icon that can be double clicked on to boot Astrolog whenever
you want.

     You may also want to include "/V 43" or something similar along
with /Q0 for the command line field, if you want to have more than
just 25 rows in the DOS box to print the text charts in. One can also
create additional icons that have certain other switches or directly
display certain charts. For example, have another icon called
"Astrolog Now!" which has "/n /X /Q" for its switches. Double click
on this to see where the planets are right now. You can also use the
PIF editor utility (usually PIFEDIT.EXE in the Windows directory)
instead to create an astrolog.pif file. With the right system and
settings, you can specify a created .pif file instead of the Astrolog
executable directly, in the Program Manager icon, and run the program
in a window in real time along with your other Windows apps, just
like Astrolog on X windows!


#####################  3.10 COMPILING INSTRUCTIONS  #####################

     Compiling Astrolog version 3.10 is virtually identical to
compiling previous versions: first edit the top of the file
astrolog.h, commenting out any of the #define's which set various
features that aren't valid on your system or you don't want, such as
the GRAPH, X11, MSC, MOUSE, NOPC, TIME, and SWITCHES variables. Also
in this file, set to your own appropriate values the default
longitude, latitude, time zone, and default file search directory.
Then in the same manner, also edit these default parameter values in
the astrolog.dat file to your liking, at least the location and time
zone values. Then, for Unix systems, just run the command 'make' in
the directory containing the included Makefile.

     Compiling Astrolog on a PC is easy too. One can usually do it by
simply compiling each file in turn and then linking them all
together. You don't have to worry about explicitly mentioning things
like the math library if your paths are set up properly. (I used the
Microsoft C7 compiler to generate the ready to run PC executable, but
I linked with the improved graphics.lib included with Visual C 1.00
(C8) for the DOS graphics features.) If you have the nmake utility,
the makefile included in the zip archive will nicely compile and link
astrolog 3.10 on a PC, with flags set properly and all. I compiled
under the Large memory model, with 12,000 bytes of stack space. The
default directory in this ready to run PC executable is set to
C:\ASTROLOG. The other compile time defaults are set to my own
location, but you can easily override them with your own values using
the astrolog.dat file.

     It is possible to easily compile Astrolog on a VMS system, even
with X windows functionality. Here's an example of a simple VMS .COM
file sent to me by Max Calvani which can automatically compile and
link Astrolog for VMS. This should work for version 3.10, but I
haven't tried it myself since I don't have access to a VMS system.

---- BEGIN INCLUDED FILE COMPILE.COM CUT HERE ----
$ set ver
$ define X11 decw$include
$ CC CHARTS
$ CC DATA
$ CC DRIVER
$ CC FORMULAS
$ CC GENERAL
$ CC INTRPRET
$ CC OPTIONS
$ CC XCHARTS
$ CC XDATA
$ CC XDRIVER
$ CC XGENERAL
$ link/exe=astrolog.exe -
	CHARTS.obj, -
	DATA.obj, -
	DRIVER.obj, -
	FORMULAS.obj, -
	GENERAL.obj, -
	INTRPRET.obj, -
	OPTIONS.obj, -
	XCHARTS.obj, -
	XDATA.obj, -
	XDRIVER.obj, -
	XGENERAL.obj, -
	sys$input/opt
sys$share:decw$xlibshr/share
$ set nover
$ exit
---- END INCLUDED FILE COMPILE.COM CUT HERE ----

************************************************
Astrolog 4.00 posted Wed,  5 Jan 94 10:22:11 GMT
************************************************

     Happy New Year everyone! 1994 promises to be a exciting year,
with the last Saturn Pluto Square being exact after the very first
day, and the great seven planet Stellium in Capricorn soon after on
1-11. In honor of these great times and great events (and my Pluto
over Sun transit that just happened), allow the next big release of
our Astrolog astrology calculation program to be presented: version 4.00!

     More than just your ordinary upgrade, Astrolog 4.00 features
some major new enhancements:
* A new set of formulas for the planets whose accuracy rivals if not
  exceeds those of all major commercial products.
* PostScript file representations for all of Astrolog's graphics
  charts.
* Windows metafile picture file options which allow graphics charts
  to be easily inserted into documents or modified in picture editors.
* Many other new useful features such as labeled cusps for graphics
  charts, along with a standard batch of bug fixes and improvements.

     This release posting consists of the following files, each
posted as a separate article:
1. A text Update file describing new features and changes to Astrolog
   4.00 made over the previous version, 3.10 (what you're reading now).
2. A uuencoded, compressed, shell archive of the source code, config
   file, and makefile.
3. A uuencoded, zip archive containing the source code, config file,
   makefile, icon file, and two ephemeris files.
4. A uuencoded DOS executable ready to run on PC's.
5. A History file as a uuencoded, compressed, straight text file
   describing the changes made to each version of the program since its
   beginning (not necessary unless you are upgrading from several
   versions ago).

     The "source code" consists of 15 files (13 C program files and
two header include files). The "config file" is the astrolog.dat
default parameter file (not necessary to have to run but useful). The
"makefile" is a standard compilation Makefile in the shell archive,
and a different Microsoft nmakefile in the zip archive. The "icon
file" is a Microsoft Windows icon to use if invoking Astrolog from
Windows. The "ephemeris files" are used for the accurate calculation
of the planetary positions (see later).

     Some of these files are posted in more than one part in multiple
articles, due to newsreader size restrictions. For these files,
extract each part in turn to a separate file, go into a text editor
and strip off the header and trailing text, and concatenate them
together.

     All the files described above have been uploaded to Michael
Bulmer's alt.astrology anon ftp site at hilbert.maths.utas.edu.au in
the directory /incoming/astrolog. (The ephemeris files are in the
subdirectory /incoming/astrolog/ephem.) They should be moved to the
standard /pub/astrology/Astrolog directory there soon. Fellow
employees at Microsoft connected to its network can get a copy of
this version out of my public share in the directory
\\myemailname\public\astrolog.

     If you have used or are familiar with the previous versions of
the program, you may want to first read the section on changes to old
features made in this release. In addition, if you aren't familiar
with any previous versions of the program at all, you will want to
read the comprehensive Helpfile for version 3.10, so you know what
the version 4.00 feature enhancements are referring to. This
documentation Helpfile for the previous version describes all its
features together in order, and is available at the hilbert ftp site.
I intend to create and post one for version 4.00 containing this
Update information in it sometime soon.


#####################  ASTROLOG 4.00 MAIN FEATURES  #####################

NEW FORMULAS:

     -b switch: Astrolog 4.00 has a new set of calculation routines
which are much more accurate than the Matrix software routines that
have always been used before! The old routines are still there,
except that one may now choose between the old and new calculation
methods with the new -b switch. With -b, Sun through Pluto, the North
Node, and Chiron will be computed more accurately (although slower).
The other asteroids, uranians, stars, and house cusps are always
generated with the Matrix routines.

     The new calculation uses ephemeris files for some planets which
must be in a directory specified at compile time in order to work.
The new routines are valid based on how many of the ephemeris files
one has. With all of them, the formulas will cover and deliver
accurate positions for nearly 8500 years from December -5260 BC
through March 3237 AD! There are 62 ephemeris files total. Each file
covers a range of 100,000 days, or about 273 years. Altogether they
take up 2.8 megabytes of disk space, but each segment of 273 years
only takes up 90K. For each time segment, there is an ephemeris file
named "LRZ5_n" containing the positions of Jupiter through Pluto (at
80 day increments) and a file "CHI_n" containing the positions of
Chiron. The 'n' refers to span of Julian Days covered by it (divided
by 100000). For example, Julian Days 1,200,000 through 1,300,000 are
in the files "LRZ5_12" and "CHI_12" (the 'm' character in some files
refers to negative Julian Days). You don't need all the files to use
-b, just those that cover the dates you want to use. If you try to
use -b with a date not covered by an available ephemeris file, an
error message will be printed and the Matrix positions will be used.
The files "LRZ5_24" and "CHI_24" cover the years 1859 through 2131
AD, which is good for most purposes and only takes up 90K. These two
files are included in the posted zip archive. For Unix users who want
any ephemeris files, and PC users who want to cover more years, the
complete set of files is at the hilbert ftp site.

     Astrolog uses the formulas from the "Placalc" program package to
generate its precise positions. Placalc's accuracy is about the same
as the "CCRS" routines, and those used in Nova (it even fixes some
accuracy problems Nova has, in some of its earlier versions at
least). Placalc's integrated outer planet positions represent the
standard of the Nautical Almanac, the international astronomical
standard, as published in the Astronomical Almanac, for its
computations as computed before 1984. (Since 1984 the standard has
been the DE200 integrations by JPL.) The Sun's position implements
the Newcomb theory for all terms > 0.01", the positions of Mercury
through Mars are done to all terms > 0.05", while "Brown's improved
lunar ephemeris" is used such that the Moon is within 3" of DE200.
Placalc's fraction of second precision, is of course much more
accurate when compared to the old Matrix positions, which were only
accurate to about one minute (and several degrees for Chiron) for
this century only. For example, at 1800 AD, the Matrix positions for
the outer planets are off by 2 degrees, and about 1 degree for 2100;
by 1500 AD, Matrix is off by 14 degrees for Pluto while Chiron is
barely in the right hemisphere anymore.

     There is a new flag to "Use ephemeris files" in the astrolog.dat
file, which when set, will always use the Placalc routines and is the
same as just including -b all the time, in which case -b will toggle
them back off. There is a compile time option #define PLACALC in the
astrolog.h which can be commented out to disable the -b switch and
the new formulas.

     Note that this calculation method won't allow the -v0 switch to
express planetary velocities relative to average speed work with it,
and nor will central planetary bodies other than the Sun or Earth
(standard Geo and Helio centric charts) via -h work. It will however
display velocities for the Moon and the Node, which aren't available
with the Matrix routines.

     Very important: For Unix users only, there is a rare possibility
that the program will hang when you try to use the -b switch. If this
happens, you need to add the line "#define MSDOS" to the top of the
astrolog.h file. Most Unix systems store numbers with the high byte
first, but some do it in reverse (like PC's) hence the locations from
the ephemeris file will be read in backwards causing the formulas to
get caught in an infinite loop. (The "MSDOS" variable just means to
tell the program to read in the opposite order, so there's no reason
for any Unix purists to get upset if they have to add "MSDOS"! ;)

     Special thanks goes to Dr. Alois Treindl who kindly allowed his
formulas to be used in Astrolog. Mr. Treindl is the founder and owner
of Astrodienst Zurich, second largest astrological computer service
in Europe, and is well known for his work with Liz Greene. Astrolog
basically treats his Placalc routines as a library which we link
into, in that code that knows about both programs is kept to a
minimum. In fact, any changes made to the Placalc .c and .h files are
under #ifdef ASTROLOG, so by reverse applying this, one can
regenerate the original files that came with the Placalc package.

--

POSTSCRIPT CHARTS:

     -Xp switch: Astrolog 4.00 can generate PostScript graphics
files! (Finally - I've been talking about having this since version
1.20! :) PostScript is a graphics format different from bitmaps in
that it's based on "strokes" as opposed to "pixels". With a stroke
graphic, an image is defined in terms of "circle here, line there,
etc" instead of a large array. This means PostScript graphics can be
printed at any size without losing accuracy or becoming "blocky", and
look perfectly smooth when printed to a laser printer. A PostScript
file is also about an order of magnitude smaller in size than a
corresponding bitmap file.

     To generate a PostScript chart, use the new -Xp switch. This
will work just like bitmap files for all Astrolog's graphics charts,
in that you will be prompted for a file to write the graphics to
unless you explicitly pass a file to the -Xo switch. The type of file
generated will be an encapsulated PostScript graphic (which are
usually seen with a .eps extension) meaning that it's made to be
inserted into a document and scaled and so on and printed from there.
A true independent PostScript file which can be sent directly to a
printer can be generated by specifying -Xp as -Xp0 instead. As with
bitmaps, it is recommended to include -Xm for a monochrome graphic
unless you have a color printer, and to include -Xr so the chart is
black on a white background (so that you don't cover 90% of the page
with ink when printing)!

     There is a compile time option #define PS in the astrolog.h
which can be commented out to disable the -Xp switch and all
PostScript features.

     Special thanks goes to Mr. Brian D. Willoughby (who BTW also
lives really close to where I work, and who helped me restore the
files on my NeXT optical disk after it crashed thereby recovering my
only copies of Astrolog versions 1.00 through 2.00) who wrote the
routines and parts in the xgeneral.c file which deal with PostScript
(e.g. what's the PS command to draw a line, ellipse, filled
rectangle, etc.) Basically, if it's inside #ifdef PS, Brian likely
gets credit for it, for anything else (except the placalc.c file of
course, and the Matrix routines which are marked as so) I'm the one
to blame. :)

--

METAFILE CHARTS:

     -XM switch: Yet another graphics format, Astrolog 4.00 can
generate Windows metafiles. Metafiles are those files (usually with
extension .wmf and often called "pictures" for users) that are
frequently used in Microsoft Windows for clipart and other such
things. (Astrolog is one of the few non-Windows programs which can
generate metafiles internally without relying on Windows itself.)

     Like PostScript, metafiles are a "stroke" graphic format.
Metafiles are in binary format unlike the human readable Ascii text
in PostScript files, and hence are smaller in size for the same
image. Although the same chart generated in PostScript and metafile
format will more or less look the same, for PC and Windows users,
metafiles are preferred. (For Unix systems PostScript is preferred
since there aren't many Unix apps out there that know or care about
Windows metafiles, while PostScript is a standard used everywhere.) A
metafile can be inserted as a picture into Word, CorelDraw, and
pasted into Windows Write and many other applications. Unlike
PostScript, a metafile can be displayed on the screen in your
document, instead of like most EPS files which when displayed by
Windows just indicate that "this is an PostScript image" and have to
be printed to be seen. A metafile can actually be edited in MS Draw
and many other drawing applications where one may modify the Astrolog
chart, change colors, add text, and so on before printing!

     Metafiles (and PostScript graphics) have the option to include
actual system fonts for text, as well as even zodiac sign, planet,
and aspect glyphs! This will look smoother than having Astrolog fake
all the characters with 45 degree line segments. There is a new
setting in the astrolog.dat file which when set by the user will
always use system fonts instead of simulating them. If the -XM switch
is invoked as -XM0 instead, the status of this flag will be toggled
for the chart generated. (This switch can be used with PostScript
charts by specifying "-XM0 -Xp".) In the PostScript charts, the
following printer fonts are used: Courier for text, Times Roman for
house labels, and Astro for Sign, Planet, and Aspect glyphs.

     For these metafiles, the following Windows TrueType fonts are
used: Courier-New for text, Times New Roman for house labels,
Wingdings for sign glyphs, and Astro-SemiBold for Planets and Aspect
glyphs. All of these fonts should be installed in your system already
except likely Astro-SemiBold. This font is available from the hilbert
ftp site in the directory /pub/astrology/Fonts in the file
6ttfont.zip. To install it on Windows, unzip this file, then go into
the Windows Control Panel and select the Fonts icon. Click on the Add
button and select the file "astro-se.ttf" that was in the zip
archive, and the font will be installed on your system. If it's not
installed, the planet and aspect glyphs will appear as letters. (If
you can't get access to the Astro font, but still want all the other
fonts to be included, one can set the value of "use actual fonts" in
astrolog.dat to 2 instead of 1, which will cause only the planet and
aspect glyphs to be simulated by Astrolog.)

     It is possible that a metafile using all the system fonts may
print perfectly to a PostScript printer, but an PS file itself won't
find the Astro font. This is because the Astro font may be installed
on your Windows system, but not on the printer itself, and because
when printing a metafile to a printer, Windows will conveniently
automatically embed the necessary font information in what it sends
to the printer if the font isn't already there. Note that one may
actually generate a PostScript chart from a metafile in Windows by
using the Print Manager (or the Setup dialog button available from
within those Windows host applications that use the standard Print
dialog) to set printing to be to an encapsulated PS file instead of
directly to a printer. Of course doing this won't likely be needed
since Astrolog can generate PS files natively.

     There is a compile time option #define META in the astrolog.h
which can be commented out to disable the -XM switch and all metafile
features.


#####################  ASTROLOG 4.00 NEW FEATURES  #####################

In addition to main three features above, this version contains some
other new features not in previous versions which are listed here:

1. -v -X addition: Astrolog's wheel charts are now labeled much more
   extensively than before. They will include full information on time,
   place, house system, zodiac, central planet, element table info, as
   well as the actual positions of planet and house cusps as displayed
   in the wheel. All this information is in a "sidebar" to the right of
   the wheel which includes a listing not unlike the -v text chart.
   (Note that the size of this sidebar is such that for the default
   480x480 pixel chart size, including the sidebar will make it 640x480,
   which perfectly fills a VGA PC screen.) If you want an old style
   wheel with just the chart information at the bottom of the graphic,
   set the -v0 flag, as in "-v0 -X" instead of "-v -X" or just "-X".

2. -w -X chart: A new way of formatting graphical wheel charts is
   available by combining the -w switch with -X. Normally all of
   Astrolog's wheel charts are such that each zodiac sign is the same
   size. Due to different house sizes in most systems however, this
   makes the houses appear different sizes on the wheel, so that the
   Midheaven won't be the exact top of the chart for instance. Some
   users may instead prefer "house oriented" as opposed to sign oriented
   wheel charts. Astrolog now, with the -w -X combination, will make
   each house be the same size on the screen, and will compress or
   expand the signs instead (of course this means that such things as
   exact squares may not be between objects exactly 90 degrees apart on
   the circle anymore). When graphics are displayed on the screen, the
   '0' key will toggle between the two forms of wheel chart.

3. -b0 switch: The ability to display zodiac positions to the nearest
   degree second is now supported with the -b0 switch. Before all
   positions were displayed just to the minute (which was all that was
   useful due to the accuracy available in previous versions). Now, with
   the new Placalc routines accurate to within seconds, this switch, in
   addition to turning on the more accurate formulas like just -b does,
   will also turn on the more accurate display. The only charts
   presently affected by -b0 are the -w text wheel chart and the sidebar
   positions in graphic wheel charts. There is also a new astrolog.dat
   flag called "Print zodiac seconds" which when set will always display
   to the second even if -b itself isn't specified (in which case -b0
   can be used to toggle it back off).

4. -rb -X chart: Graphical biorhythm charts are now available by
   combining the -rb switch (or -yb, formerly called -tb) with -X. This
   will make a graph of one's biorhythm for the two weeks before and
   after the specified time, with days on the horizontal axis and the
   Physical, Emotional, and Intellectual percentages on the vertical.
   When any graphics chart is up, one may press the 'Y' key to revert to
   a biorhythm chart. (Note that as this is a relationship comparison
   chart, if you go to it from a graphics mode only showing one chart,
   it will show the biorhythm for them at their birth, and you will
   want to then animate or adjust it to get a useful display.)

5. -Zd switch: One can display the rising and setting times of the Sun,
   Moon, and planets with this new feature. Specifically, when this
   switch is included, the program will, for the entire day specified in
   the chart information, display whenever a planet rises (specifically
   conjuncts the local horizon while in the eastern hemisphere), sets
   (conjuncts horizon in west), reaches its zenith point (or
   specifically conjuncts the meridian while in the southern hemisphere,
   i.e. is due south from the observer), and reaches its nadir point
   (conjuncts meridian in north). Note that some stars may be high or
   low enough that they will never rise or set, but instead will just
   "zenith" or "nadir" twice in a day as they spin around the pole.

6. -D switch: This switch will display a chart listing all aspects in
   effect within the chart in question, in order by influence based on
   their power when transiting. This chart focuses upon and gives
   precedence to aspects of outer planets with each other, as opposed to
   common inner planet configurations. For example, right now in early
   January the most influential aspects in effect now are the Uranus
   Neptune conjunction and the Saturn Pluto square. This chart is very
   much like the format of the -m0 aspect list chart, except that we are
   using transit as opposed to natal influences of the planets. The -m0
   chart is most appropriate for a person's natal chart, in that the
   inner planets are focused upon, such as a Sun Moon square will be
   near the top of the list. This -D chart is more appropriate for times
   as opposed to people, since it focuses upon rare outer planet
   configurations. This chart is also very similar to the -T (formerly
   called -y) transit influence chart, in that it shows the aspect,
   applying or separating orb, and power of the event with its present
   orb, except that this does influences of transiting planets among
   themselves as opposed to aspects to a natal chart. If you want to
   see what major events are coming up, and don't want things such as
   Uranus Neptune conjunctions to "sneak by", use this chart and watch
   the configuration gradually rise to the top of the list as its orb
   narrows over time. As this is a new chart which requires only one
   set of chart information to display, it may be combined with others
   and is included in the -e everything switch.

7. -Tp switch: The -T (formerly called -y) transit influence switch can
   now display all aspects between progressed planets and natal planets
   in order of influence, if it's invoked as -Tp instead of just -T.
   This works like -T in every way except that a switch combination like
   "-i mychart -Tp 1 31 1994" will display aspects between my natal
   planets, and those in my natal chart progressed to the end of the
   month, and their influence and orbs at that time, instead of between
   my natal planets and the actual positions of the planets at the end
   of the month.

8. -os <file> switch: This switch, given a file, will output the
   contents of a text chart to that file. This is just like output
   redirection except that it's implemented within the program. Hence
   unlike output redirection it will work from within a -Q loop, from
   the File Run menu in Microsoft Windows, and on systems whose shells
   don't allow redirection at all. This also has the advantage in that
   prompts and user messages won't be sent to the file, hence things can
   be done such as "astrolog -os textfile", where the program will still
   prompt you on the screen for the chart info, but the chart itself
   will still go to the file.

9. -i set: There is now a virtual file named "set" which can be passed
   to the -i and -r switches. Instead of looking for an actual file,
   this represents the "last" set of chart information dealt with, and
   is useful to avoid having to manually enter information in certain
   cases. (Other "virtual files" Astrolog can use are "now" which means
   the current time at the default location, and "tty" which means
   prompt the user for the info.)

   This is best used within a -Q loop. For example, you first manually
   enter the time for a chart and it's displayed. Now, this time in the
   loop, you want the same chart in an aspect grid, and don't want to
   have to enter the data again or create a file to read from. Entering
   "-i set" will use this chart info now matter how it was entered. For
   graphics charts this "last" chart will be set to the initial chart or
   whatever animation situation was saved via the 'o' key. Perhaps the
   most useful ability of the "set" chart however is that it will set
   itself to times that appear in -t and -d transit and aspect in day
   searches. For example, if you want to cast a chart for the New Moon
   this January, first do a combination like "-qd 1 11 1994 -d -R0 1 2
   -A 1", which will scan the 11th for Conjunctions involving the Sun
   and Moon, and display the time. Before, to get a New Moon chart one
   would then have to manually specify the time displayed. Now, just
   "-i set" will bring it up! The initial contents of the "set" chart,
   i.e. what you get by directly doing something like "astrolog -i set"
   are initialized to the astrological "chart" for this version 4.00 of
   the program itself, which is 12:00 noon PST (8 hours before GMT) on
   Sunday, January 2nd, 1994 in Seattle, WA (122W20 47N36).

10. -qj <julianday> switch: This switch will automatically cast a chart
   for the given Julian Day. Unlike the other -q switches which take
   standard months, days, and years, this switch takes one parameter for
   the Julian Day (which may be fractional to specify a time within the
   day in question). For example, another way to cast a chart for
   Midnight, GMT, on New Year's day of this year is with "-qj
   2449353.5". (Julian Day 0 refers to Noon GMT, January 1, 4712 BC.)

11. -rp <file1> <file2> switch: This switch is a form of the -r0
   relationship comparison charts. This switch, given two files, will
   compare the natal chart in file1, to the chart of this natal chart
   progressed to the time specified in file2. This is a shorthand way to
   the commonly desired comparison of a progressed chart to a natal one.
   The -y (formerly called -t) switch may be invoked as -yp <file> which
   will automatically compare the chart to the current time now. For
   example, to get a dual graphic wheel chart with your natal planets in
   the inner wheel, and your current progressed chart on the outer
   wheel, simply do "-yp yourchart -X". (There was no easy way to do
   this before, short of using -o0 position charts, since -p affects all
   charts.)

12. European date flag: There's a new flag in astrolog.dat which
   determines whether dates are displayed in Month/Day/Year order or in
   the more "European" Day/Month/Year format. Before, the program wasn't
   even consistent and would display dates in one way in a certain place
   and in the other elsewhere. Now, setting or clearing this flag will
   give DMY or MDY format everywhere from text wheel charts to transit
   charts to the chart info displayed at the bottom of graphics charts.

13. European time flag: This is another new flag in astrolog.dat which is
   just like the above except that it affects how times are displayed
   throughout the program. When clear, times will be printed in
   a.m./p.m. format, while when set they will be in the more "European"
   24 hour clock.

14. -Hc switch: This new help switch displays a full page of credits,
   listing the names of those who programmed Astrolog or parts of it,
   and important copyright information and other legal stuff. Note that
   the program no longer displays my e-mail address every time the
   program is invoked, although it does direct one to the -Hc switch.


#####################  ASTROLOG 4.00 MINOR NEW FEATURES  #####################

Here are more features made to version 4.00, which although not as
visible or significant as above, are still useful and are listed here.

1. 'c' key: This key, when pressed when a graphics chart is being
   displayed, will toggle the state of whether a relationship comparison
   chart (-r0) is being shown. For example, pressing it when a wheel
   chart is up will revert to a dual wheel chart showing two sets of
   planets, while pressing it when an aspect grid is up will revert to a
   dual aspect grid between the planets of two different charts. When
   going from a comparison to a single chart, one of the charts will be
   used while the other thrown away. When going from a single to a
   comparison, the same chart information will be put in both (which
   won't be too useful until they are made different through animation
   or other keypresses).

2. 'b' key: This key, when pressed when a graphics chart is being
   displayed, will toggle whether or not a border is drawn around the
   graphic. Some charts, such as aspect grids, will always have a
   border regardless of the state of this flag, while others such as the
   globes will never have one. Most charts however, such as the wheel
   charts (which before always had borders) will look good either way
   and this key can be used to choose.

3. New astrolog.dat setting: Aspect grids used to always be 20 by 20
   cells (21 by 21 when for the -r0 relationship comparison grids). This
   value can now be increased or decreased as desired.

4. -I switch enhancement: The -I interpretation toggle switch now
   accepts an optional parameter to specify the number of screen columns
   in which to format the interpretation paragraphs. This is the same
   value as the screen width field in the astrolog.dat default file.
   Giving a parameter to -I can be used to override the astrolog.dat
   value without having to change the file.

5. 'n' key: This key, when pressed when a graphics chart is being
   displayed, will change the current chart (or "outer" chart when a -r0
   comparison chart is up) to the current time and place now. This
   interactively does the same as the -n command line switch. Before,
   the only way to revert a graphics chart to the time "now" was to
   enter animation mode via the 'N' key and then leave it. (This
   feature is only available when the TIME compile time value is
   uncommented of course.)

6. '+' and '-' keys: These keys, when pressed when a graphics chart is
   being displayed, will update the current chart forward or backward
   one day (actually 1..9 days based on the current animation rate).

7. 'B' key enhancement: For PC's, pressing the 'B' key when a graphics
   chart is up used to make the size of the chart the full size of the
   (rectangular) screen. Some charts however (such as wheel charts
   without sidebars, -S space charts, -Z0 sky charts, and -XG globes)
   are distorted unless they are square. For these charts, the 'B' key
   will now resize the chart to be the largest square that will fit on
   the screen, i.e. will automatically do what pressing 'B' followed by
   the 'Q' force to square key would do before.

8. -+m, -+y switches: The new -+m is just like the -+ switch except that
   it will add one month (30 days) to whatever chart instead of one day.
   The new -+y switch will add one year (365 days) to whatever chart.
   The -- "dash minus" switch has been enhanced in a similar manner, in
   that --m and --y will do as expected. These switches have an optional
   parameter to specify how many months or years to move forward or back.

9. -geometry switch: For X window systems, Astrolog now accepts the
   standard -geometry switch (which can be abbreviated as anything
   starting with -ge). This is only an alias to the old -Xw chart size
   switch, in that it takes the same parameters in the same way.

10. Control keys: Certain control keys can be pressed when a graphics
   chart is up to set the color of the "pen" one can scribble on the
   chart with using the left mouse button. (Who knows, maybe Astrolog
   will contain a full featured drawing program someday. ;) Before, the
   scribbles were always only in the gray highlight color. Now, sixteen
   control keys can be pressed to change the pen to sixteen different
   colors, which are defined as follows:

   Ctrl-A is White, Ctrl-Z is Black, Ctrl-R is Red, Ctrl-G is Green,
   Ctrl-B is blue, Ctrl-Y is Yellow, Ctrl-O is Orange, Ctrl-L is Light
   gray, Ctrl-D is Dark gray, Ctrl-V is Magenta (Valentine pink), Ctrl-U
   is Purple (pUrple), Ctrl-E is Maroon (Dark red, next to 'R' on
   keyboard), Ctrl-F is Dark Green (Forest green, next to 'G' on
   keyboard), Ctrl-N is Dark Blue (Navy blue, next to 'B' on keyboard),
   Ctrl-J is Cyan, Ctrl-K is Dark Cyan (Next to 'J' on keyboard).

11. -w, -d addition: Some more information has been added to certain text
   charts. The -w wheel charts now have the Julian day corresponding to
   the date and time of the chart in the center of the wheel along with
   the other information. The -d aspect in day search list now prints
   the day of the week along with the date at the beginning of the line.

12. -S, -Z addition: Doing a relationship comparison graphic chart with
   the -S space or -Z horizon charts in animation mode will not cause
   the screen to be cleared between each screen update. This is a hack
   which allows one to get the effect of a timed exposure as the objects
   move across the sky in a -Z horizon chart, and allows one to see the
   orbits of planets as they move around the sun in the -S charts.
   (Note that it's best to not be in a flicker free graphics mode so the
   updates all stay on one page, and to turn off object labels with -Xl
   or the 'l' key so the screen doesn't fill with glyphs.)

13. -X -I combination: Another fun hack is that doing a graphic wheel
   chart with -I interpretation on (the interpretation setting normally
   doesn't affect graphics in any way) will decorate the corners around
   the wheel! How its decorated depends on the screen width setting in
   astrolog.dat or passed to -I. If this value is even, a spider web
   design will be put in each corner. If this value is odd, a moire
   pattern will be put in each corner. The decoration looks best when
   the screen width is around 79 or 80. The higher the value, the more
   dense the lines will be in the "spider webs", or the less of the
   screen the moire will cover. (Don't make the moire value too low or
   you will cover the entire screen, which looks cool but doesn't aid
   reading the chart any! :)

14. Compile time options: A couple new compile time options are now in
   astrolog.h which can be used to leave out certain parts of the
   program which you don't desire to have or just take up memory and
   make the executable large. The #define INTERPRET can be commented out
   to remove all the -I interpretation routines and tables. The #define
   BIORHYTHM can be commented out to remove the text and graphical
   non-astrological -rb biorhythm charts.

--

As a quick summary reference, here's a list of the new feature
entries in the -H help list that weren't there in version 3.10:

  /Hc: Display program credits and copyrights.
  /Zd: Search day for object local rising and setting times.
  /D: Like /d but display aspects by influence instead of time.
  /Tp <month> <day> <year>: Print progressions ordered by influence.
  /qj <day>: Compute chart for time of specified Julian day.
  /os <file>: Redirect output of text charts to file.
  /b: Use ephemeris files for more accurate location computations.
  /+[m,y] [<value>]: Cast chart for no. of months/years in future.
  /rp <file1> <file2>: Like /r0 but do file1 with progr. to file2.
  /Xp: Create PostScript stroke graphic instead of bitmap file.
  /Xp0: Like /Xp but create complete instead of encapsulated file.
  /XM[0]: Create Windows metafile stroke graphic instead of bitmap.

And here are the new keypresses from the 'H' key list for the
graphics features when a chart is up on the screen:

  Press 'b' to toggle drawing of a border around the chart.
  Press 'c' to toggle relationship comparison chart mode.
  Press '+' and '-' to add/subtract a day from current chart.
  Press 'n' to set chart information to current time now.


#####################  ASTROLOG 4.00 BUG FIXES  #####################

Here are some significant bugs in version 3.10 that have been fixed
in this version, "significant" meaning important things like crashes,
inaccuracies, or loss of stated functionality.

1. -T bug: All times of transits in -T (now called -t) searches would be
   off by up to 24 hours! This bug was introduced in version 3.10 and
   wasn't in versions before that. It however didn't affect the related
   -d and -y (not called -T) switches any. (This came about because the
   transit searches depended on "fractional days" before and we got
   roundoff when dates were changed to integers for program speed. Yes I
   do tests to compare features to previous versions to make sure I
   don't break anything in a new version before posting, and am
   embarrassed to say how this bug made it past!)

2. -n bug: The -n cast chart for current time now switch would give
   incorrect planetary positions if the default time zone were different
   from the current zone as defined in the system time library. The
   actual time the chart would be cast for would be one hour off for
   each hour the default zone differs from the system zone since the
   time calls used always returned the time relative to the system zone.
   For the majority of users this isn't a problem since the default zone
   is almost always set to the current time zone as defined by the
   system, but one can easily manifest it by changing the time zone and
   watching the planet positions shift. Now, we get a zone independent
   value and convert it ourselves to a date and time expressed relative
   to the default time zone. The zone setting or passing values to -z
   will no longer affect the positions of the planets, as expected since
   they are where they are "now" no matter how time is expressed.

3. -v0 bug: The -v (switched with -v0 now) switch which used to express
   planetary velocities relative to average speed (as opposed to
   absolute degrees per day with -v0) would cause some applying vs.
   separating aspect orbs to be inverted, i.e. displayed as applying
   when the reverse is true or vice versa. This would affect app/sep
   aspect grids and aspect lists (-ga and -ma charts, but not -y (now
   called -T) transit influence charts). This is because the velocities
   are used to determine applying vs. separating to see if one planet is
   overtaking another. The bug comes with the program thinking that,
   say, Pluto moving 2 times faster than normal, will soon overtake
   Mars, slightly ahead of it in the zodiac, moving half normal speed.
   When the values are expressed as absolute speed, it's apparent that
   the outer planet Pluto always moves much slower than the more inner
   planet Mars even when Mars is moving half normal speed. This problem
   is actually still in the program, but isn't likely to come up as much
   since the meaning of -v and -v0 have been swapped, hence average
   speed is no longer the default and only explicitly combining -v0 with
   -ma, -ga, or -D will cause a problem.

4. -T, -y bug: Doing an interpretation of a -T (now -t) transit search
   or -y (now -T) transit influence chart with more than 11 aspects
   active (e.g. -A 18) would cause garbage on the screen and a potential
   crash since interpretations are only available for the first 11
   aspects. Now just as in other charts, interpretations just aren't
   displayed for aspects beyond the Biquintile.

5. -m bug: Doing an interpretation of a midpoint chart that includes
   stars (-m -I -U) would cause garbage on the screen and a potential
   crash since interpretations aren't available for the stars. Now just
   as in other charts, interpretations just aren't displayed for objects
   beyond the Uranians.

6. -j bug: The -j planetary influence chart would sometimes result in
   missing ranks in the planet lists, usually manifesting as the total
   rank list starting with a value greater than one, due to looking at
   uninitialized variables. Trust that the ranks (which were at least
   relatively correct to each other before) are also absolutely correct
   and don't have more ranks than there are objects being considered!

7. -pn, -yn bug: The -pn do progression to current time now and the -yn
   (now -Tn) transit influences at current time now, would be slightly
   incorrect in that they would always use noon on the current date as
   opposed to the actual current time within the date. This isn't a bad
   problem since -p and -y only take parameters to the nearest day
   anyway, with progressed planets moving so slow that a maximum 12 hour
   difference hardly matters. Nevertheless, the extra bit of precision
   is there now, which may be useful for things such as -y charts that
   include the fast moving Moon.

8. -XB bug: Doing an animation of an X window chart on the root
   background with the -XB -Xn switch combination wouldn't clear the
   root after each update, resulting in a smear effect that makes the
   image unreadable after a few iterations. Trust that root animations
   are just like window animations now. For those who considered this a
   "feature" (especially for -Z and -S charts where it's cool and
   actually useful) the effect can be done for these charts with the -r0
   switch (described earlier).

9. -T, -m0 omission: Interpretations weren't available for uranians in
   the -T (now -t) transit search and -r0 -m0 relationship aspect lists,
   even if -u were in effect. Uranian interpretations are now available
   for these charts as they are for all the others.

10. -g0 omission: Aspect configurations included with an aspect grid via
   the -g0 switch wouldn't include any objects other than the first
   twenty in them. Now the -g0 list will include the uranians and stars
   in it if -u or -U is in effect like the other charts do.

11. -d bug: The times for events in the -d aspect in day list would be
   off by possibly up to an hour, but only if the value of divisions
   were not divisible into 24. If 24 was divisible by the value of
   divisions, there would be no errors whatsoever. Fortunately this bug
   doesn't arise at all in most cases as the default divisions values
   are 8 for PC's and 24 for Unix systems, but it would come up for
   those who modified it to say a value like 75.

12. House system error: Casting a chart inside the Arctic circle using the
   Placidus system of houses (the default, or specified with -c 0) would
   produce floating point errors since the Placidus system of houses isn't
   defined at these extreme latitudes. Now if the user attempts to cast a
   chart with Placidus with a latitude beyond about 66 degrees N or S, the
   program will print an appropriate error.

13. -Tpyn bug: It was impossible to do a search for progressions for the
   current year in version 3.10. Of the subswitch variables: search for
   progressions instead of transits (-Tp, now called -tp), scan an
   entire year instead of a month (-Ty), and scan the current month/year
   instead of taking parameters (-Tn), only two of these three would be
   processed in a single switch. Now, -tpyn is a legal combination and
   will do as expected.

14. X window problem: X window charts would frequently come up partially
   off the bottom right hand corner of the screen. Actually, the larger
   the chart size, the more shifted to the bottom right it would appear.
   Now, all X window charts appear at the top left of the screen and
   will only be clipped if the chart is larger than the screen itself.

15. -XT error: The display of the time in the chart information at the
   bottom of graphics charts would sometimes be one minute too low due
   to rounddown. This was introduced by the bug "fix" in version 3.10
   which corrected the problem of the minute sometimes being one minute
   too high! Now, trust that all charts will show the correct minute for
   all sixty seconds within it.

16. Mouse problem: If on a PC system a mouse isn't installed on a system
   and Astrolog is run with mouse features enabled, the program would
   display an error and halt, which would prevent those with graphics
   but no mouse from using any screen graphics in the ready to run
   executable. Now, if a mouse isn't available, the mouse features will
   be ignored as if the functionality weren't even compiled in. 

17. Compilation error: Attempting to compile Astrolog on a PC with screen
   graphics using the Microsoft C7 compiler would result in an error of
   the value "_ZRES256COLOR" being undefined. This is because the
   1280x1024 256 color graphics mode in question wasn't available in the
   C7 graphics.lib file, but it is in the updated one included with C8.
   Now either compiler and library will work without problem.


#####################  ASTROLOG 4.00 MINOR BUG FIXES  #####################

Here are some more minor bugs in version 3.10 that have also been
fixed in this version, "minor" meaning less visible things like
display blemishes, typos, and things that don't affect functionality.

1. Smartcusps omission: Perhaps more of a feature extension than a bug
   fix, the smartcusps astrolog.dat parameter now affects -y (presently
   -T) transit influence charts and -m0 aspect listing charts as well.
   Before it only affected -T (presently -t) transit searches.

2. -L blemish: Graphical astro-graph charts with all stars included (-L
   -U -X) would cause some star zenith locations to be drawn off the
   visible part of the world map among the glyph labels due to their
   high latitude locations. Now these zeniths aren't drawn if they would
   be outside the latitude limits of the map as shown.

3. -Xn glitch: On a PC, the -Xn switch to display a graphics chart in
   animation mode wouldn't automatically go to the flicker free
   resolution, as is done when one manually enters animation mode from
   within the program. Now for consistency the switch is done on
   startup if need be too.

4. -E blemish: Graphical ephemeris charts (-E -X) would frequently have
   the glyphs labeling the tracking lines overlapping each other. Now
   they are automatically slid around to avoid this like the wheel and
   astro-graph charts do.

5. -Xl blemish: Using the -Xl switch to toggle off labeling of object
   points in charts with glyphs, wouldn't also get rid of the lines from
   these glyphs to the points in the wheel and astro-graph charts, a
   minor visual glitch which has now been removed.

6. 'H' list omission: The 'H' key help list when graphics are on the
   screen didn't include the fact that the spacebar would force a screen
   refresh, but it does now.

7. astrolog.dat bug: The default horizontal and vertical chart size in
   the astrolog.dat file would be ignored and not read in if bitmap
   graphics were compiled in, and some form of interactive screen
   graphics weren't compiled in as well (i.e. X window or PC graphics).
   Now, these values will be read in as long as any form of graphics are
   available (so that the -Xw switch is visible).

8. 'Q' key glitch: The 'Q' key to change the chart size to be a square
   would work incorrect on a PC if the graphics were in one of the
   640x200 CGA resolution modes. This is due to its unusual pixel size
   ratio, causing an n by n "square" in such a mode to appear tall and
   skinny. Now we scale the horizontal and vertical sizes accordingly,
   like we do for EGA resolutions, so the 'Q' key will always make
   charts appear square.

9. divisions problem: The searching divisions astrolog.dat default
   parameter was not checked for validity. Before, one could get away
   with zero or negative values which would cause problems. Also, large
   values of more than 150 or so could cause the same aspect to appear
   more than once in a list. This has been fixed, and one may pump this
   value up to 2880 without problem (if they don't mind the wait) which
   will mean a chart every 30 seconds for -d aspect in day charts and
   one every 15 minutes for -t transit charts.

10. -v blemish: Unusually fast planetary velocities (i.e. 10 or more,
   usually caused by doing a -v chart several thousand years in the past
   where the old default formulas become inaccurate and objects can be
   thought to move an order of magnitude times their average speed)
   would mess up the text column alignment due to the velocity values
   overflowing their fields. Now any large values are automatically
   clipped.

11. -g blemish: Restricting the Sun in an aspect grid chart (-g -R 1)
   would result in the minor display problem of extra unneeded boundary
   lines at the left and top sides of the chart, which have been removed
   in version 4.00.

12. -m0a spec: The -H listing in version 3.10 implied that the switch
   "-m0a" is basically a longhand way of the doing a -ma aspect listing
   with applying and separating orbs. This in fact would be just like
   -m0 with degree orbs. Now, -ma and -m0a do the same thing as expected.

13. -R1 spec: The documentation for the -R1 "unrestrict everything"
   switch was incorrect. The -R1 switch does automatically turn on minor
   cusps, uranians, and stars, implicitly doing a -C, -u, and -U.
   Version 3.10 said this wasn't the case, but it is. (The actual
   functioning of -R1 hasn't changed any in this version.)

14. Typos: Various typos have been fixed in the program. The spelling of
   "Porphyry" in the -c house system section of the -H list was
   incorrect. Illegal parameters to the -y switch were displayed as
   being bad parameters to -p instead (hey so I cut and paste a little
   too hastily). And finally, yes the spelling of "Keplar" is now
   correct in the source code comments.

15. -Xb problem: The combination "-Xb -Xs 300 -g" would always run out of
   memory on a PC. In other words, it was impossible to generate a large
   scale bitmap of an aspect grid with labeled orbs in version 3.10.
   Versions 3.05 and before would clip the bitmap if it were larger than
   the maximum allowed memory bitmap, however the increase of this limit
   in 3.10 doesn't allow this to be done anymore. Although this problem
   is still there, one can get around it by manually "clipping" the
   aspect grids through decreasing the number of cells in using the new
   astrolog.dat parameter described earlier.

16. -Xbv bug: Attempting to generate a "supercompacted" X11 bitmap file
   on a PC with the -Xbv switch would result in garbage data in the file
   due to 16 bit integer overflow. All other bitmap formats were fine,
   and -Xbv would work properly on Unix systems. This bug actually was
   only in versions 3.05 and before, and was fixed in 3.10, but wasn't
   mentioned in the 3.10 bug fix list so is mentioned here for
   completeness.

17. Code change: The code in Astrolog 4.00 has been made a bit cleaner
   and more conforming to compiler rules. Under the Microsoft C
   compiler, there are now no warnings of level 3 or less. There should
   be fewer if any warnings under other compilers.


#####################  ASTROLOG 4.00 PROGRAM CHANGES  #####################

As with every version, a few changes that aren't new features or bug
fixes, were made to the program, in that certain old assumptions are
no longer valid. A list of these (which aren't useful unless you have
used previous versions of the program) follows:

1. -T, -t, -y swapped: The meaning of the old -T transit search switch,
   the old -t relationship to now switch, and the old -y transit
   influence switches, have been swapped in a three way cycle. Now, the
   transit search switch is -t, the relationship to now switch is -y,
   and the transit influence switch is -t. This was done to make the
   transit to natal chart options similar to the -d aspect in day chart
   switches. We now have the well organized series:

   * -t switch: Display exact times of transits to natal planets.
   * -T switch: Display influences  of transits to natal planets.
   * -d switch: Display exact times of aspects among transiting planets.
   * -D switch: Display influences  of aspects among transiting planets.

2. -v, -v0 swapped: The meaning of the -v and -v0 switches have been
   switched. Before, -v would show planetary velocities as a ratio
   relative to average speed, while -v0 would show it as an absolute
   speed in degrees/day. Now -v (and the default when no chart display
   switches are included) is the degrees/day setting, and -v0 must be
   done to show the relative speed. (Note that these two switches used
   to be like this, but were swapped to the old way in versions 3.xx.)

3. -p changed: The -p progression switch, when given a month, day, and
   year, used to always do a progressed chart for the given day at
   midnight, GMT. Now it is done for the given day at midnight in the
   default time zone. (Hardly noticeable, but still a change.)

4. New files: Astrolog 4.00 contains three new files that weren't in
   version 3.10. This means that all old makefiles are invalid and
   shouldn't be used with this version. There is the new source file
   placalc.c and its new header file placalc.h, which are the
   definitions and code for the new calculation formulas. There is a new
   graphics file xoptions.c, which was split off from the old xcharts.c.

5. New glyphs: The minor house cusp objects now have their own glyphs
   for the graphics charts, which are large graphic numbers instead of
   the text that was there before. The Ascendant and Midheaven have new
   glyphs, which are a large "Asc" and "MC". This is more standard than
   the large "A" and "M" they had before.

6. Graphics interface change: Pressing a key when a graphics chart is up
   which doesn't do anything will sound a beep, instead of doing nothing
   as before. (Actually, there was a useless undocumented feature in
   version 3.10 whereby pressing the 'b' key would beep. Now this key
   has a function described earlier and all other non-bound keys beep.)

7. -k default changed: Ansi text colors are now off by default in the
   released astrolog.dat file. This is no more than just a change in the
   PC astrolog.dat. If you want them on by default so that the -k switch
   will toggle them off instead of on (recommended if you have a PC)
   simply change it back when customizing your astrolog.dat. Having this
   on by default caused confusion for some whose terminals weren't
   already set up to support Ansi escape sequences.

8. Default file changes: As almost always with a new version,
   astrolog.dat files for versions 3.10 and before won't work with
   version 4.00, because there are additional definable parameters in
   the file read in for this version. Attempting to read in such an old
   file into version 3.10 will result in an error message saying one
   should upgrade the old file or delete it. Either delete the old file
   and modify the one included with this release, or else manually merge
   in the new fields in the new file with your old one.

9. Finally, the hack "default" chart in memory one gets if they start up
   with a non information requiring chart (such as the graphic globe or
   world map) and then revert to one requiring information, e.g. -XW
   followed by pressing 'V') is now set for my own birth data: 11:01am
   PST (8 hours before GMT) on Friday, November 19, 1971 in Seattle, WA
   (122W20 47N36).
   

#####################  4.00 COMPILING INSTRUCTIONS  #####################

     Compiling Astrolog version 4.00 is virtually identical to
compiling previous versions: first edit the top of the file
astrolog.h, commenting out any of the #define's which set various
features that aren't valid on your system or you don't want, and
changing default values and directories to your preference. (Just
look at the self-explanatory section comments in this file.) Then in
the same manner, also edit these default parameter values in the
astrolog.dat file to your liking, at least the location and time zone
values. Then, for Unix systems, just run the command 'make' in the
directory containing the included Makefile.

     Compiling Astrolog on a PC is easy too. One can usually do it by
simply compiling each file in turn and then linking them all
together. You won't have to worry about explicitly mentioning things
like the math library if your paths are set up properly. (I used the
Microsoft C7 compiler to generate the ready to run PC executable, but
I linked with the improved graphics.lib included with Visual C 1.00
(C8) for the DOS graphics features.) If you have the nmake utility,
the makefile included in the zip archive will nicely compile and link
astrolog 4.00 on a PC, with flags set properly and all. I compiled
under the Large memory model, with 16K bytes of stack space. The
default directory for chart info files, the astrolog.dat file, and
the ephemeris files in this ready to run PC executable are all set to
C:\ASTROLOG. The time and location defaults are set to my own area,
but you can easily override them with your own values using the
astrolog.dat file.

     It is possible to easily compile Astrolog on a VMS system, even
with its X windows functionality. Here's an example of a simple VMS
.COM file by Max Calvani which can automatically compile and link
Astrolog for VMS. This should work for version 4.00, although you
might want to include "/noopt" after the CC's since some compilers
with optimization can cause the program to pass parameters incorrectly.

---- BEGIN INCLUDED FILE COMPILE.COM CUT HERE ----
$ set ver
$ define X11 decw$include
$ define lnk$library sys$library:vaxcrtl
$ CC CHARTS
$ CC DATA
$ CC DRIVER
$ CC FORMULAS
$ CC GENERAL
$ CC INTRPRET
$ CC OPTIONS
$ CC PLACALC
$ CC XCHARTS
$ CC XDATA
$ CC XDRIVER
$ CC XGENERAL
$ CC XOPTIONS
$ link/exe=astrolog.exe -
	CHARTS.obj, -
	DATA.obj, -
	DRIVER.obj, -
	FORMULAS.obj, -
	GENERAL.obj, -
	INTRPRET.obj, -
	OPTIONS.obj, -
	PLACALC.obj, -
	XCHARTS.obj, -
	XDATA.obj, -
	XDRIVER.obj, -
	XGENERAL.obj, -
	XOPTIONS.obj, -
	sys$input/opt
sys$share:decw$xlibshr/share
$ set nover
$ exit
---- END INCLUDED FILE COMPILE.COM CUT HERE ----

:)

************************************************
Astrolog 4.10 posted Wed,  5 Jan 94 10:22:11 GMT
************************************************

#####################  ASTROLOG 4.10 UPDATE FILE  #####################

     Happy Vernal Equinox everyone! Today the Sun enters Aries, and
Spring and a new astrological year begins. In appropriate coordination
with this event (and my Mars return that just happened) allow the next
version of the Astrolog astrology program to be presented: version 4.10

     This file describes the new features, improvements, and fixes
made to Astrolog 4.10, over the previous version, 4.00, posted 2.5
months ago (when Mars transited my Ascendant :). Version 4.10 is
mostly a stabilization release over the previous version. It doesn't
have any major new modules, but some existing features have been
expanded (e.g. we now have multiple year transit scans). It has a
bunch of bug fixes, some of which address issues going back many
versions (e.g. Julian calendar switchover problems), and some
annoyances have been addressed (e.g. no more dependencies on compile
time directories), while this version is also more easily compilable
on the various systems which may have had trouble with the previous
release. If you are running version 4.00 and haven't had any problems
with it, then no need to upgrade, but if you've encountered a problem
or two, or would like to take advantage of any of 4.10's
improvements, or have been putting off compiling until the next
release after 4.00 (this means you Karen! ;) then for maximum
functionality and solidness, version 4.10 is the one to use!

     The sources to Astrolog 4.10 have just been posted to
comp.sources.misc. The various binaries are being released to this
newsgroup. The posting here consists of the following files, each
posted as a separate article or group of articles:

1. A text Update file describing new features and changes to Astrolog
   4.10 made over the previous version (what you're reading now).
2. A uuencoded, zip archive containing a DOS executable ready to run on
   PC's, config file, icon file, two ephemeris files, and Update file.
3. A uuencoded, zip archive containing the source code, and makefiles
   (not necessary to have unless you want to play with programming).
4. A text Help file giving a comprehensive list and documentation of
   all the features and functionality of version 4.10.

     The "source code" consists of 16 files (14 "C" program files and
two header #include files). The "config file" is the astrolog.dat
default parameter file (not necessary to have to run but useful). The
"makefile" is a nmakefile for Microsoft compilers. The "icon file" is
a Microsoft Windows icon to use if invoking Astrolog from MS Windows.
The "ephemeris files" are used for more accurate calculations of the
planetary positions (not necessary to have but useful).

     Some of these files are posted in more than one part in multiple
articles, due to newsreader size restrictions. For these files,
extract each part in turn to a separate file, go into a text editor
and strip off the header and trailing text, and concatenate them
together. If you are using the Unix "rn" newsreader, one can have the
program automatically extract multiple articles, and even remove
their headers and uudecode the final result, using the "e" command.
For example, one can do "1000-1003:e" to extract the four articles
starting with article #1000. Commas in addition to a dash may be used
to specify discontiguous ranges or for when the parts don't arrive
and aren't listed in order.

     A Unix shell archive of the source code, config file, Unix
makefile, and Helpfile, has been posted on comp.sources.misc. A new
version History file describing the changes made to each version of
the program since its beginning may be found at the ftp site below,
which is not necessary to have unless you are upgrading from several
versions ago, and want to see what has been done in the past few
releases.

     All the files described above have been uploaded to Michael
Bulmer's alt.astrology anon ftp site at hilbert.maths.utas.edu.au in
the directory /incoming/astrolog. They should be moved to the
standard /pub/astrology/Astrolog directory there soon. All of the
ephemeris files are already in the /pub/astrology/Astrolog/ephem
subdirectory, as they haven't changed any since 4.00. Fellow employees
at Microsoft connected to its network can get a copy of this version
out of my public share in the directory \\<myemailname>\public\astrolog.


#####################  ASTROLOG 4.10 NEW FEATURES  #####################

Here are the main new features and additions made to version 4.10:

1. Environment variables: Astrolog 4.10 has several environment
   variables which may be set to indicate directories where to find the
   various files it may look for. Before the only place the program
   would look for chart files and the astrolog.dat defaults file was in
   the current directory and a default directory set at compile time.
   Now the program will look where any or all of these environment
   variables point, if they are defined. The three environment variables
   are named "ASTROLOG", "ASTR4.10", and "ASTR". On a PC you can set an
   environment variable from the DOS prompt with a command such as "set
   ASTROLOG=C:\PROGRAMS\ASTRO410\CHARTS". This command can be put in
   your AUTOEXEC.BAT file to remain persistent. On a Unix system you can
   set an environment variable from the shell with a command such as
   "setenv ASTROLOG /username/programs/astro410/charts". This line can
   be put in your .cshrc file to remain persistent. Note that the
   ASTR4.10 environment variable is version specific, i.e. future
   versions will ignore this variable and look in one such as ASTR4.20.
   This allows one to have a directory for version specific files such
   as the astrolog.dat file, and have multiple versions of Astrolog on
   the system at once without them conflicting with each other. I
   personally point ASTROLOG to my chart files directory, ASTR4.10 to my
   astrolog.dat directory, and ASTR to my ephemeris directory, although
   any file may be found with any of the variables. Specifically, when
   Astrolog searches for a file, it will look in the following
   directories, in order: The current directory, the ASTR4.10
   environment variable directory, the ASTROLOG environment directory,
   the ASTR dir, and finally the compile time default directory.

2. Placalc improvement: Related to the above, the ephemeris files as
   used by the -b extended formulas, may now be in the current
   directory, as well as in any of the directories in the new
   environment variables. Before these files always had to be in a
   particular directory set at compile time in order to be found, making
   it so one couldn't, say, access the ephemeris files directly off of a
   floppy, network drive, or so on.

3. -tY switch: The -t transit search switch has been extended to allow
   scanning an arbitrary number of years at once. Before one could only
   scan one year at a time with -ty. One uses -tY like the existing -ty
   <year> switch, except that -tY takes an extra parameter for how many
   years to search. For example, -tY 1994 10 will search the ten years
   from 1994 through 2003 for whatever transits. With a negative value
   for the years to scan, it will start that many years before the given
   year, e.g. -tY 1993 -10000 will scan the previous 100 centuries for
   transits, starting with 8005 B.C.! Note that this switch may also be
   invoked as "-tYn <years>", in which case it will start from the
   current year and be an equivalent shorthand to "-tY 1994 <years>" for
   this year at least.

4. -dy switch: The -d exact aspect time search switch has been extended
   to allow scanning an entire year at once. Before one could only scan
   one day at a time with -d, or one month at a time with -dm, which
   wasn't efficient if one wants to scan large periods for some event.

5. -Z0 switch: The -Z0 switch will do a text chart just like the -Z
   local horizon switch except that it will print the location of each
   planet in prime vertical coordinates, instead of altitude and
   azimuth. Prime vertical coordinates are measured with its "azimuth"
   around the 360 degree circle, with 0 degrees due east on the local
   horizon, going down with 90 degrees straight down, 180 degrees due
   west and so on; declination "altitudes" are measured with positive
   values toward the north and negative toward the south. Note that -Z0
   existed in previous versions, but would only affect the -Z -X
   graphical horizon chart, displaying its coordinates axes in the
   alternate manner. (See Darren, -Z0 isn't just a graphics switch. ;)

6. -rc0, -rm0 switches: The -rc composite and -rm time-space midpoint
   relationship charts may now be weighted to give more influence to one
   of the charts. When the switches are invoked as -rc0 or -rm0 they
   accept two additional parameters which are the ratio weights to give
   to the two chart files in question. For example, the sequence "-rm
   person1 person2 2 1" will still do a time space midpoint chart, but
   the time and location that the chart is cast for will be biased at a
   2:1 ratio toward person1, i.e. will be 2/3 of the way from person2's
   chart info closer to person1's info.

   Note that the -rc0 switch can be used to generate multiple composite
   charts between more than two people! A composite chart between two
   people can already be done and saved to a file with "-rc person1
   person2 -o0 composite12". A third person can now be merged in by
   doing a composite between it and the composite of the first two, but
   giving the first result a 2:1 ratio because two charts have already
   gone into it, by "-rc0 composite12 person3 2 1 -o0 composite123". A
   fourth person can then be merged in at a higher ratio with "-rc0
   composite123 person4 3 1 -o0 composite1234" and so on. Actually this
   method won't always generate a 100% correct multiple composite chart
   in cases where the objects are spread out over 180 degrees and the
   initial composites put the current midpoint in the wrong half, e.g.
   if the Suns of person1 through person3 are 1Can, 29Sag, and 0Ari,
   then the true composite Sun is at 0Ari, but composite12 is at 0Lib
   and hence the final composite is at 0Leo or 0Sag, in the wrong
   "quadrant" biased toward the earlier results. Still the results are
   useful and the method can be used with -rm0 to get the correct
   average between multiple chart locations.

7. -Aa switch: The new -Aa <aspect> <angle> switch is used to change the
   actual angle of a particular aspect. This is useful if one wants to
   search for some unusual angle not already available in Astrolog's
   aspects or accessible through the -x harmonic charts. For example, if
   I want to know when any planet enters a 2.5 degree orb of any planet
   in my natal chart, I would do a transit search along with "-Aa 1
   2.5", where "1" is the index of the conjunction aspect, and "2.5"
   means the "conjunction" is now exact when any two objects are 2
   degrees and 30 minutes apart.

8. -dpn switch: The -dp <month> <year> switch which searches the
   specified month for aspects and events among progressed planets, of
   the given chart progressed to that month, can now be invoked as -dpn
   to search the current month, or -dpyn to search the entire current
   year. For example, if I want to search for the exact times of all
   aspects in my natal chart, progressed to any time this month, I
   simply do "-i mychartfile -dpn".

9. -s extension: The -s zodiac type selection switch now accepts an
   optional parameter of an offset for the start of the zodiac. This
   value, when non-zero, will be added to all zodiac positions, and
   effectively allows one to choose any starting point for the sidereal
   (or tropical) zodiac, which is useful for Hindu or other systems
   whose sidereal zodiacs have zero Aries at a different location than
   the standard Western sidereal zodiac. This value is initialized to a
   new zodiac offset value setting in the astrolog.dat file, which is by
   default zero. 

10. -s improvement: There is a new setting in the astrolog.dat file for
   you sidereal astrologers out there which sets the value of the -s
   sidereal zodiac switch. Before, one always had to include -s on the
   command line, in order to do charts in the sidereal zodiac. Now, if
   this value is non-zero, the sidereal zodiac will be on by default and
   one will have to include -s to return to the default tropical zodiac.


#####################  ASTROLOG 4.10 MINOR NEW FEATURES  #####################

Here are more improvements made to version 4.10, which although not
as visible or significant as above, are still useful and are listed here:

1. PostScript orientation: One may now choose the paper orientation of
   full PostScript graphics charts as generated with the -Xp0 switch.
   There is a new setting in the astrolog.dat file to specify this. If
   this PS paper orientation value is positive, then the chart will be
   printed in portrait mode, while if the value is negative, then it
   will be printed in landscape mode. If the orientation value is set to
   zero (the default), then the program will decide based on the size of
   the current chart, with charts with larger horizontal sizes (e.g.
   astro-graph charts and wheel charts with sidebars) being in
   landscape, and charts with horizontal sizes less than or equal to the
   vertical (e.g. aspect grids and wheel charts without sidebars) being
   in portrait. Before the program would force one orientation or
   another based only on the chart type, with results such as wheel
   charts with sidebars always having to be in portrait and possibly
   getting clipped to the page when printed.

2. PostScript page size: One may also now choose the paper size of full
   -Xp0 PostScript graphics charts. There are two new settings which
   specify the horizontal and vertical size in inches of the paper to be
   printed upon. By default this is 8.5" x 11", which was a hardcoded
   restriction before. Now if you have say 8.5" x 14" legal size or A4
   paper in your printer it can be used just as easily. (Note: It's
   been mentioned that at least some systems or drivers may clip all
   graphics beyond 8.5" x 11", but excluding any external restrictions
   Astrolog's PostScript should allow one to go beyond these limits.)

3. -c extension: There are two new house systems in Astrolog 4.10 which
   can be accessed with the -c switch. House index 10 is the Midheaven
   based Equal house system. This is just like the more common standard
   Equal house system except that we start with the 10th cusp being the
   same as the MC and disassociate the 1st cusp from the Ascendant,
   instead of starting with the 1st cusp being the same as the Ascendant
   and disassociating the 10th cusp from the MC. House index 11 is the
   Neo-Porphyry system of house division. This is a new system similar
   to Porphyry houses except that it's "smooth" around the zodiac with
   the MC/Asc difference being spread in a continuous sinusoidal manner
   from expanded to compressed quadrants.

4. -Xs extension: The -Xs graphics glyph scaling switch has been
   expanded to accept 400 as a valid percentage. Before the only valid
   percentages were 100, 200, and 300. This allows larger glyphs for
   those high resolution images, as well as larger astro-graph and world
   map charts.

5. -d extension: The -d aspect in day search switch has been expanded to
   accept an optional parameter for the searching divisions accuracy
   value. Before the only way to set this value was in the astrolog.dat
   file. This command line change of the divisions value can be done
   for other charts such as the -t transit search by using the switch
   toggle feature to turn -d off but still leave the divisions value
   set, e.g. "-d 100 -d -t" will set the value to 100 but not actually
   display the -d chart.

6. Alternate glyphs: Astrolog now has the ability to choose between
   different common glyphs for various astrological symbols. One may now
   optionally display charts with the "European" version of the
   Capricorn glyph, instead of the more twisty "American" type glyph.
   One may also display charts with the "astronomical" version of the
   Uranus glyph with a dotted circle with an ascending arrow, instead of
   the more astrological "Herschel" glyph with the crescent bounded
   cross over a circle. Finally one may display with the "astronomical"
   version of the Pluto glyph as the "PL" initials, instead of the more
   "astrological" version with the circle over crescent over cross.
   There is one glyph selection numerical field in the astrolog.dat
   file, which, if the ones place is "1" means use the alternate
   Capricorn glyph, if the tens place is "1" means to use the alternate
   Uranus glyph, and if the hundreds place is "1" means to use the
   alternate Pluto. The default value is "0", but many astrologers on
   the other side of the Atlantic may prefer "111". 

7. -Z improvement: The graphics local horizon chart as accessed via -Z
   -X now labels the four directions in the boundaries of the chart with
   NSWE abbreviation letters. The -Z0 -X pole centered local horizon
   chart (which didn't even have a internal boundary border before) is
   labeled in a similar way. Without the labels these charts may be
   confusing as to what part of the graphic references which direction.

8. -m improvement: The -m midpoint and -r0 -m relationship midpoint list
   charts now display the difference on each line between the two
   objects forming the midpoint in question to the nearest minute of a
   degree. Before this was just to the nearest degree.

9. Sketching extensions: For PC's only, the ability to use the mouse to
   sketch and scribble on the charts has been extended. The right mouse
   button (on those non-world map charts where it doesn't already set
   the current location) will draw a straight line to the mouse pointer
   from the point where one last clicked the left button. Also, pressing
   ctrl-t will draw a rectangle from the point of the last click to the
   current mouse position. Finally, pressing ctrl-x will draw an ellipse
   inscribed within the bounds from the last click point to the current
   position. These are just more enhancements to make Astrolog a better
   graphics drawing program. :)

10. -S improvement: The -S solar system orbit chart has been expanded to
   allow the Moon to appear in its text and graphics versions, which
   before was always left out. The -b extended Placalc formulas are
   required to be in effect (as well as either the Sun or Earth being
   the central body) in order for the Moon to be able to appear. At the
   new 400% glyph scale, the -S -X graphical orbit chart will be
   magnified to cover only 1 AU of radius, i.e. just enough to cover the
   Earth's orbit. At this scale with the Moon included as well, one can
   actually get a feel for the relative distance of the Sun from the
   Earth and the Moon from the Earth, although the chart will have to be
   over 1000 pixels wide for the Moon to even appear one pixel away from
   the Earth at all! 


#####################  ASTROLOG 4.10 COMPILING FIXES  #####################

Astrolog 4.00 had a few problems in getting it to compile on certain
systems. Here are some ways that this process has been improved in
the current version:

1. Placalc problem: Many older compilers wouldn't be able to compile the
   placalc.c file when the extended ephemeris formulas were compiled in,
   due to the file's Ansi prototypes causing errors. Now all functions
   in this source code have had these prototypes removed and have the
   same type of declaration as the rest of the Astrolog source files.

2. Placalc problems: Certain systems had problems or conflicts with
   various identifiers in the placalc.c and placalc.h files.
   Specifically, there were problems with the "HUGE" label, the "uint"
   label, the "M_PI" label, and the "sd" label. These have all been
   corrected so any compiler errors mentioning the above should no
   longer happen.

3. Placalc improvement: On certain Unix systems one would have to
   manually turn on the "#define MSDOS" misnomer in order to account for
   the byte order on their system when reading data from the ephemeris
   files. Doing this is no longer necessary in Astrolog 4.10 since the
   system will now autodetect what type of system you have at runtime
   and read from the file accordingly.

4. Borland problem: Some Borland compilers wouldn't like a certain line
   in the CharAltitude() routine in general.c where we read from a
   string we're in the process of modifying. The program no longer does
   this so this compiler shouldn't have any more problems.

5. Compiling bug: Attempting to compile Astrolog 4.00 with both
   PostScript and Windows metafile graphics formats off, i.e. #define PS
   and #define META commented out, would result in illegal C code when
   trying to compile xgeneral.c in the DrawColor() routine. This has
   been corrected so one may compile with both these options disabled
   without error.


#####################  ASTROLOG 4.10 BUG FIXES  #####################

Here are some significant bugs in version 4.00 that have been fixed
in this version, "significant" meaning important things like crashes,
inaccuracies, or loss of stated functionality:

1. X Windows bug: A major bug in Astrolog's X window graphics routines
   would cause distortions in various version 4.00 charts. Specifically
   improper coordinates were given whenever we wanted to draw a filled
   rectangle on a chart, causing major blemishes. The problem was hardly
   noticeable on the -v wheel charts, was rather noticeable around the
   edges of the -g, -Z, -S, and -E charts, and badly garbled the bottom
   half of the -L astro-graph charts. (This was due to another one of my
   last minute "improvements" that I felt couldn't cause any problem!)

2. -I crash: Interpretations of transit charts, specifically the -d, -D,
   -t, and -T switch charts, would frequently crash due to another stack
   string buffer overflow. Trust now that all interpretation charts have
   enough room to print their strings without any problems.

3. -e bug: The -e display all text charts switch would display incorrect
   results when it got to the -D transiting aspect influence chart. The
   -D chart is fine by itself; the problem is that the -d aspect search
   casts multiple charts and hence changes the original chart data,
   affecting how the -D chart which is printed after it is shown. A
   similar problem existed in the -Zd rising and setting search switch
   which would affect any charts displayed after it in a multiple chart
   command line. These two charts now clean up after themselves and
   restore the original information they were given.

4. -j0 bug: The sign powers as displayed in the -j0 influence chart
   would be distorted if the North Node were included. We tried to take
   into account the location of the South Node and give it as much
   influence as the North Node, but this was incorrectly done and as a
   result the sign and the sign corresponding to the house the South
   Node was in would get more influence than it should have.

5. PostScript bugs: PostScript graphics charts with many aspects or
   objects in effect, and actual system fonts on (as opposed to having
   Astrolog simulate the glyphs with line strokes), could cause the
   printer to give an error when printing the file. Specifically, any
   chart that tried to print a Semisquare or Sesquiquadrature glyph in
   the Astro font would cause an error due to the Ascii codes of the
   glyphs' characters. A similar problem could happen when printing any
   chart with the Astro font on that had minor cusps, uranians, or stars
   in it, since we'd read off the end of an array when trying to find
   the object's representation in the Astro font. We now can print all
   Astro font glyphs without problem and are assured of simulating them
   if the symbols (e.g. for the uranians) aren't available in this font.

6. Sidebar bug: The time of the chart as displayed in graphic wheel
   chart sidebars would sometimes be one minute too low. This was due to
   roundoff error when the sidebar printed the minute. The actual chart
   positions weren't affected in any way, and the time when displayed at
   the bottom of charts instead would still always be correct. Now the
   sidebars are always correct as well.

7. -os bug: The -os switch to internally redirect all text chart output
   to a file would still print some text to the screen instead for
   certain charts. Specifically, the -E ephemeris switch would print
   one part of the header on the screen regardless, while the -m
   midpoint and -r0 -m relationship midpoint charts would always send a
   few characters on each midpoint line to the screen. Trust now that
   all charts send all their text to the file when the -os feature is
   being used.

8. -qj bug: The -qj switch to cast a chart given a Julian Day index
   would produce incorrect results for dates in the Julian Calendar,
   i.e. before October, 1582, due to a bug in the original BASIC Matrix
   Software Julian Day routines! This could be seen by casting a chart
   with -qj specifying a day less than 2299161.5, in which case the
   Julian Day displayed for the date of the chart cast would be ten days
   greater than what was passed to it! This bug was only in the reverse
   Julian Day routine and version 4.00 would still produce correct
   results for pre-1582 charts specified by month, day, and year. Note:
   as the fix was to use the alternate Julian Day routines provided by
   the Placalc formulas, the Placalc formulas have to be compiled into
   the program in order for this bug to disappear.

9. -w bug: The -w text wheel chart switch (as well as any other chart
   which prints a day of the week) would display bogus results for dates
   with negative Julian Days, i.e. charts for before January 1, 4713
   B.C. Specifically a garbage string would be printed for the day of
   the week which could even cause a crash. Trust now that the days of
   the week are correct for all Julian dates. In a similar problem, the
   -w wheel chart would skew one line of the chart to the left due to
   bad padding for Julian dates with values less than 7 digits, i.e.
   dates before 1975 B.C.

10. Calendar bugs: Astrolog wasn't consistent and didn't properly handle
   the switchover from the Julian to the present Gregorian calendar
   systems in certain cases. The calendar system changed (at least in
   Europe) from the Julian to the Gregorian calendar in 1582 when
   October 4th was followed the next day by October 15th. Throughout the
   program Astrolog now uses the Julian Calendar for date and leap year
   specification for dates before 10/4/1582 and the Gregorian after.
   Various places in version 4.00 and before wouldn't properly handle
   the jump, for example -K calendar charts, -E ephemeris charts, -dm
   aspect search charts and graphics animations wouldn't skip the days
   in October 1582 and as a result months wouldn't line up or planet
   positions would suddenly jump. Astrolog is now consistent and will
   automatically change calendar systems in all of the above cases.

11. -rc bug: The -rc relationship composite chart feature could sometimes
   place the composite Ascendant 180 degrees across from where it should
   be, i.e. conjunct the 7th house cusp instead of the 1st. This only
   happened when the two charts had cusps nearly 180 degrees across,
   where adjustment is needed to prevent the midpoints between the
   charts' house cusps making them out of order in the composite chart.
   Now we take the Ascendant object into account too when ensuring a
   proper chart so it won't ever be 180 degrees off either. 


#####################  ASTROLOG 4.10 MINOR BUG FIXES  #####################

Here are some more minor bugs in version 4.00 that have also been
fixed in this version, "minor" meaning less visible things like
display blemishes, typos, and things that don't affect functionality:

1. -Xp blemish: PostScript wheel charts would have the various circles
   making the wheel drawn with a dashed instead of a solid line. These
   circles are now in the better looking solid lines and are consistent
   with how they are shown in the other graphics formats. (This bug was
   my fault, not Brian's, just so the record's straight. :)

2. -Q bugs: In the -Q loop mode, getting an error due to an invalid
   parameter given to a command switch, could leave the setting in
   question in the bogus value, affecting future charts. For example,
   entering "-A 100" would have the program properly complain because
   the user was trying to use more aspects than there are available;
   however, doing an aspect grid right afterward would actually try to
   use 100 aspects, resulting in bogus results and a likely program
   crash. Such problems have been corrected with the -A aspect numbers
   value, the -c house system value, the -w text rows in wheel charts
   value, the -L0 astro-graph step rate value, the -I interpretation
   field width value, the -h central planet value, the -x harmonic chart
   value, the -V text rows value, and the -1 and -2 object values.

3. 'Q' key glitch: The 'Q' key, which when a graphics chart is up
   resizes the chart to be square, wouldn't take wheel chart info
   sidebars into account, meaning the entire chart would be resized to a
   square distorting the wheel. Now, the 'Q' key does the more
   intuitive operation of changing just the actual chart excluding any
   sidebar to be square.

4. -Xn glitch: The -Xn switch which automatically brings up a graphics
   chart in animation mode, wouldn't account for wheel chart sidebars,
   meaning "-v -Xn" would bring up a square chart with the wheel
   distorted. Now, we'll resize to take sidebars into account like the
   'Q' key above does now.

5. -XT glitch: Bringing up a graphics wheel chart with the -XT setting
   active to turn off the sidebar would resize the chart as if one were
   present anyway, result in a distorted chart. Now, we check this
   setting before automatically increasing the chart size to give room
   for the sidebar.

6. Restriction bug: In graphics modes, the corresponding object
   restrictions wouldn't be appropriately set when one disables the
   minor cusps, uranians, or stars with the 'C', 'u', or 'U' keys. The
   restrictions would only be toggled, meaning that one could press the
   key to turn them off, but any items that were originally restricted
   would appear! These items could appear in incorrect locations as the
   program may not compute their positions since they shouldn't have to
   be calculated at all. Now, pressing a key to turn off a class of
   objects will properly restrict them from appearing in charts as well.

7. -c bug: Casting a chart above the Arctic Circle in the Koch system of
   houses "-c 1" would frequently result in a floating point exception
   since this system isn't defined or will produce bogus results at such
   locations. Now, attempting to cast a Koch system chart inside the
   Arctic circles, will print an appropriate error message and exit,
   like is already done with the Placidus system which also isn't
   defined at extreme latitudes.

8. Sidebar glitches: A few display inconsistencies in the wheel chart
   sidebars have been improved. Stars, like how they are in the text
   charts, will now be listed in the current sort order as specified by
   the -U switch, instead of always being in the default ordering
   regardless. Also, the minor cusp objects, like how they are in the
   text charts, won't ever be listed as their positions are already
   indicated in the house cusp list, instead of being shown when the -C
   setting is active. Finally, object declinations, like how they are in
   the text charts, won't be printed for items that aren't actual
   objects in space.

9. -S glitch: The x axis location of each object in -S text charts was
   only printed to the nearest 100th of an AU, unlike the y and z axis
   coordinates which were to the nearest 1000th of an AU. The x axis is
   now displayed to the additional precision and is consistent with the
   other axes.

10. -g glitch: Aspects in text grid charts with orbs more than 10 degrees
   wouldn't have the sign of the orb or applying/separating status
   indicated even though there was room to show it. Now we indicate this
   for all aspects out to 100 degree orbs, when we really do run out of
   room to show the sign.

11. -o bug: This bug was actually fixed in version 4.00, but wasn't
   mentioned, so it's described here for completeness. The -o output to
   file switch allows one to give extra strings after the filename which
   will be appended to the file as comments; however, this would always
   go to the end of the command line, sending even additional switches
   to the file! Now, only strings only up until the next argument
   starting with the "-" or "/" switch indicator will be sent to the file.


#####################  ASTROLOG 4.10 PROGRAM CHANGES  #####################

As with every version, a few changes that aren't new features or bug
fixes, were made to the program, in that certain old assumptions are
no longer valid. A list of these (which aren't useful unless you have
used previous versions of the program) follows:

1. New file: Astrolog 4.10 contains a new source file that wasn't in
   version 4.00. The "placalc.c" source file has been split into the
   two files "placalc.c" and "placalc2.c". The old placalc.c file was
   large and splitting it keeps each file under 64K in size. Note that
   placalc2.c is #included into placalc.c instead of being compiled
   separately, so old makefiles aren't invalid.

2. -a renamed: The -a switch which accepted all seven info parameters
   and automatically generated a chart has been renamed to be -qa. This
   puts the operation in the family of the various -q switch which do
   similar things.

3. -j0 changed: The -j0 chart influence switch has been changed and
   improved as to how the influence of each sign in a chart is
   determined. It now looks at the true powers of planets computed
   earlier instead of just the default power of each planet. In other
   words, for example, now a highly aspected planet will result in more
   influence being given to the planet's sign than if the planet has
   fewer aspects. Note also that the total of all the sign influences
   will now logically add up to the sum of all the planet influences.

4. -c changed: House system index number 9 is no longer the "Null"
   system of houses, since a couple of new house systems were added to
   this version. Null houses are now the eleventh system and are
   accessed via -c 11.

5. Previous chart change: The initial contents of the "previous" chart
   as accessed with "-i set" has been changed from the astrological
   "chart" of version 4.00 of the program to the release of this version
   4.10. This chart is now set to the exact time of the Vernal Equinox,
   specifically for 12:28pm PST (8 hours before GMT) on Sunday, March
   20, 1994 for here in Seattle, WA (122W20, 47N36).

6. Default file changes: As almost always with a new version,
   astrolog.dat files for versions 4.00 and before won't work with
   version 4.10, because there are additional definable parameters in
   the file read in for this version. Attempting to read in such an old
   file into version 4.10 will result in an error message saying one
   should upgrade the old file or delete it. You should either delete
   the old file and modify the one included with this release, or else
   manually merge in the new fields in the new file with your old one.


#####################  4.10 COMPILING INSTRUCTIONS  #####################

     Compiling Astrolog version 4.10 is virtually identical to
compiling previous versions: First edit the top of the file
astrolog.h, commenting out any of the #define's which set various
features that aren't valid on your system or you don't want, and
changing default values and directories to your preference. (Just
look at the self-explanatory section comments in this file.) Then in
the same manner, also edit these default parameter values in the
astrolog.dat file to your liking, at least the location and time zone
values. Then, for Unix systems, just run the command 'make' in the
directory containing the included Makefile. (You can also always
compile by hand: "cc -O -c *.c; cc -o astrolog *.o -lm -lX11" will do
it; just make sure to compile each source file and link them together
at the end with the math library, and if applicable the X11 library.)

     Compiling Astrolog on a PC is easy too. One can usually do it by
simply compiling each file in turn and then linking them all
together. You won't have to worry about explicitly mentioning things
like the math library if your environments are set up properly. (I
used the Microsoft C7 compiler to generate the ready to run PC
executable, but I linked with the improved graphics.lib included with
Microsoft Visual C 1.00 (C8) for the DOS graphics features.) If you
have the nmake utility, the makefile included in the zip archive will
nicely compile and link astrolog 4.10 on a PC, with properly set
options and all. I compiled under the Large memory model, with 16K
bytes of stack space. The default directory for chart info files, the
astrolog.dat file, and the ephemeris files in this ready to run PC
executable are all set to C:\ASTROLOG, although this location will be
overridden with several environment variables if set. The time and
location defaults are set to my own area, but you can easily override
them with your own values using the astrolog.dat file.

     It is possible to easily compile Astrolog on a VMS system, even
with its X windows functionality. Here's an example of a simple VMS
.COM file by Max Calvani which can automatically compile and link
Astrolog for VMS. This should work for version 4.10, although you
might need to include "/noopt" after the CC's since some compilers
with optimization may cause the program to pass parameters incorrectly.

---- BEGIN INCLUDED FILE COMPILE.COM CUT HERE ----
$ set ver
$ define X11 decw$include
$ define lnk$library sys$library:vaxcrtl
$ CC CHARTS
$ CC DATA
$ CC DRIVER
$ CC FORMULAS
$ CC GENERAL
$ CC INTRPRET
$ CC OPTIONS
$ CC PLACALC
$ CC XCHARTS
$ CC XDATA
$ CC XDRIVER
$ CC XGENERAL
$ CC XOPTIONS
$ link/exe=astrolog.exe -
	CHARTS.obj, -
	DATA.obj, -
	DRIVER.obj, -
	FORMULAS.obj, -
	GENERAL.obj, -
	INTRPRET.obj, -
	OPTIONS.obj, -
	PLACALC.obj, -
	XCHARTS.obj, -
	XDATA.obj, -
	XDRIVER.obj, -
	XGENERAL.obj, -
	XOPTIONS.obj, -
	sys$input/opt
sys$share:decw$xlibshr/share
$ set nover
$ exit
---- END INCLUDED FILE COMPILE.COM CUT HERE ----

:)

************************************************
Astrolog 4.20 posted Fri, 23 Sep 94 07:19:01 GMT
************************************************

#####################  ASTROLOG 4.20 UPDATE FILE  #####################

Joyous Autumn Equinox everyone! In honor of the Sun entering Libra today,
and that Jupiter transits my Midheaven today too (!), not to mention the
fact that I've done a release on the past three Equinoxes, allow the next
version of the astrology program Astrolog to be presented: version 4.20 :)

     This file describes the new features, improvements, changes, and
fixes made in Astrolog 4.20, over the previous version, 4.10, posted
exactly six months ago. Highlights of Astrolog's new additions are:

1. Graphically show astronomical constellations and positions within them.
2. Including the person's name and city in charts and chart files.
3. New objects including Lilith, the East Point, or define your own.
4. Dispositor hierarchies and other new graphics options.
5. Improved parsing everywhere to make command switches easier to use.
6. Define macros and macro files for your most common switch combinations.
7. Customize colors, interpretations, and more from within the program.
8. Easy compilation with graphics on PC's using the Borland C compiler.
9. Improved speed, memory usage, and more!

     If you are reading this document as posted in the newsgroup
alt.astrology, this release consists the following files, each posted
as a separate article or group of articles:

1. A text Update file describing new features and changes to Astrolog
   4.20 made over the previous version (what you're reading now).
2. A uuencoded, zip archive containing a DOS executable ready to run on
   PC's, config file, icon file, ephemeris files, and this Update file.
3. A uuencoded, zip archive containing the source code, and makefiles
   (not necessary to have unless you want to play with programming).

     The "config file" is the astrolog.dat default settings file (not
necessary to have to run but useful). The "icon file" is a Microsoft
Windows icon that can be used when invoking Astrolog from MS Windows.
The "Update file" is again this document, but in addition there's a
small "file_id.diz" file included with a brief description of the
program in whole. The "ephemeris files" are two binary files used
for more accurate calculations of planetary positions (again not
necessary but useful). The "source code" consists of 22 files (20
"C" program files and two header #include files). The "makefiles"
are five files: a generic makefile for Unix systems with their "make"
command, a nmakefile for Microsoft PC compilers, a makefile for
Borland PC compilers (with a second subfile to go with it), and a
command script for compiling on VMS systems.

     Some of these files are posted in more than one part in multiple
articles, due to newsreader size restrictions. For these files,
extract each part in turn to a separate file, go into a text editor
and strip off the header and any trailing text, and concatenate them
together. If you are using the Unix "rn" newsreader, one can have it
automatically extract multiple articles, and even remove their
headers and "uudecode" the final result if needed, using the "e"
command. For example, one can do "1200-1203:e" to extract the four
articles starting with article number 1200. Commas in addition to a
dash may be used to specify discontiguous ranges or for when the
parts aren't listed in order.

     A new version History file describing the changes made to each
version of the program since its beginning, may be found at the ftp
site below, which is not necessary to have unless you are upgrading
from several versions ago, and want to see what has been done in the
past few releases. If you are upgrading from a previous version,
especially from 4.10, you may want to look at the changes section
first as opposed to the new feature areas. If you are new to Astrolog
and want to know what it is and can do, you can get the complete
documentation for the previous version at the ftp site below again in
the file "Helpfile.410". Complete documentation for this version
hasn't been completed yet, but will be posted and uploaded when it
is. These Helpfiles are very useful, and everyone should get one if
they haven't it already in order to understand Astrolog's features.

     All the files described above have been uploaded to Michael
Bulmer's alt.astrology anonymous ftp site at hilbert.maths.utas.edu.au
in the directory /incoming/astrolog. They should be moved to the
standard /pub/astrology/Astrolog directory there soon. All of the
ephemeris files are already in the /pub/astrology/Astrolog/ephem
subdirectory, as they haven't changed any. Fellow employees at
Microsoft connected to its network can get a copy of this version out
of my public share in the directory \\<myemailname>1\soleil!astrolog.


#####################  ASTROLOG 4.20 NEW FEATURES  #####################

Here are the main new features and additions in version 4.20 that
weren't in 4.10:

1. -XF switch: A graphics chart showing all 88 of the astronomical
   constellations is available with the -XF switch. When this mode is
   active, the -XW world map and -XG and -XP globe chart modes will draw
   the outlines of the constellations on the celestial sphere instead of
   continents on the Earth. Pressing the 'F' key when a graphics screen
   is up will toggle this setting on. (If you aren't already in one of
   the map graphics modes, -XF and the 'F' key will switch to one.) The
   constellation maps may be rotated, tilted, and animated and can do
   everything else just like the world maps, and depict the sky as if
   you were looking up at it from Earth. In the -Xi display modification
   mode, the locations of the planets in the current chart will be shown
   among the constellations. The constellations are labeled with their
   correct abbreviations, and you can see the familiar image outlines
   such as the Great Bear, Cygnus, and all the others, as well as the
   constellations named after the twelve signs of the zodiac, and how
   these astrological signs compare with their corresponding
   constellations. I happen to have four planets in my own natal chart
   in the constellation Ophiuchus, while there are several other
   constellations very close to the ecliptic which planets (other than
   the Sun) often enter, e.g. the Moon will technically be in Orion on
   September 27th. As with Astrolog's map of the world, I entered the
   data describing the irregular shape of each constellation myself, and
   the boundaries are accurate although rounded to the nearest degree.
   This is a unique feature that isn't in any astronomical programs that
   I know of much less astrological! For a demo of this, do "astrolog
   -i yourchartfile -XF -XG -Xi -Xn -U" and see a rotating celestial
   sphere of the constellations and stars, and where the planets in your
   natal chart are located within them.

2. -HF switch: This will display a text table of all the constellations,
   listing their traditional names, their astronomical abbreviations as
   used in the graphics above, their English meanings, and even their
   genitive or possessive form (e.g. "Lyra" is the name of the
   constellation, but the star Vega in it is called Alpha "Lyrae").

3. -j -X combination: Graphic dispositor charts are available by
   combining the -j influence switch with -X. This is a new graphics
   chart format that can also be switched to whenever screen graphics
   are up by pressing the 'J' key. The dispositor of a planet is the
   planet that rules the sign it's located in. For example, if you have
   Venus in Aries, the dispositor for your Venus is Mars. A graph can be
   made showing an arrow from each planet to its dispositor. A final
   dispositor is a planet who is its own dispositor, i.e. in its ruling
   sign with no arrows pointing away from it. There can also be two
   planets in what's called mutual reception (or a reception loop of
   more than two) if they are each other's dispositor, e.g. Venus in
   Aries and Mars in Libra. Astrolog's dispositor chart will show four
   subgraphs, one in each quadrant. Both a sign dispositor graph, as
   described above, and a house dispositor graph, where each planet is
   linked to the planet ruling the house it's in, are shown. In
   addition, both types have the same information displayed in two
   different useful formats: a wheel with the planets around the
   perimeter, and in a hierarchy with final dispositors at the top and
   the other planets stacked based on how many levels they are from
   final ones. Final dispositors are circled in white, while those in
   reception loops are circled in gray, and dispositor arrows within the
   top level (i.e. in reception loops) are in white too instead of the
   color of the planet for easy identification. For a demo of the
   dispositors in your own chart, do "astrolog -i yourchartfile -j -X".

4. -K -X combination: Graphic calendar charts are available by combining
   the -K calendar chart with -X. This is another new graphics format
   that can be switched to whenever screen graphics are up by pressing
   the 'K' key. This shows a calendar for the month of the current
   chart, like the corresponding text chart but in graphic format with
   boxes for each day like a real calendar. The current day within the
   month will be highlighted in green (if the -Xl label inhibitor flag
   isn't on). The -Xi alternate display mode will put the date numbers
   in the middle of their box instead of in the upper left corner.
   Finally the -Xt chart info display flag for this particular chart
   will control how the date numbers are justified in their box.

5. Lilith positions: Astrolog can do the position of Lilith, often
   called the "Dark Moon". This Lilith is the point in space of one
   focus of the Moon's elliptical orbit around the Earth (Earth itself
   being in the other of the two), and not the asteroid or hypothetical
   planet by the same name. Lilith is object number 17 in Astrolog, and
   in graphics charts its glyph is a small circle with a forward slash
   through it. If preferred, one can use the -YXG glyph selection switch
   (described later) to choose the "European" version of the glyph which
   is like the glyph for the Moon but smaller and flipped horizontally.

   Astrolog computes the position of Lilith as provided by the accurate
   Placalc formula set. This means that the -b ephemeris switch needs to
   be in effect to get Lilith's positions. When the -b setting is off,
   Astrolog will display the position of the South Node for object 17
   instead. We'll tweak the name of the object to be "S.Node", change
   its interpretation string appropriately, and change the graphics
   glyph to be the standard "upside down horseshoe" (a third glyph
   selectable via -YXG), although we won't automatically update
   everything if you toggle the -b flag within the program.

6. East point positions: Astrolog can do the position of the East Point,
   which is technically the same as the position of the Ascendant at the
   equator for whatever time. This is object number 20 in Astrolog, and
   its graphics glyph is a simple "EP" abbreviation.

7. All cusps positions: There are now object indexes for all 12 house
   cusps instead of just the six Eastern half ones. The Descendant,
   Nadir, and minor cusps 5, 6, 8, and 9 are new. The cusp items are in
   object indexes 21 through 32 (add 20 to a house to get its index).
   You can now deal with and restrict these individually for transit and
   other charts instead of having to treat a cusp as paired with its
   opposite cusp like before.

8. -Yn switch: This new switch allows you to set whether the North Node
   in Astrolog (object number 16) is the Mean or the True node of the
   Moon. The mean Node has been the default, but toggling on the -Yn
   flag will do the True node. Before this could only be set at compile
   time via the TRUENODE #ifdef. (The TRUENODE compile time setting is
   still available, but it just sets the default now.)

9. -YE switch: This feature allows one to "define their own planets", by
   changing the orbital elements of one of Astrolog's objects. This
   switch takes 17 parameters, which specify all the data needed for any
   elliptical orbit around the Sun. The parameters are as follows: First
   is the object to redefine; second is the semi-major axis of the new
   orbit, in AU; next are three parameters for the eccentricity of the
   orbit's ellipse; next are three parameters for the inclination of the
   orbit with respect to the ecliptic, in degrees; next are three
   parameters for the argument of perihelion, which is the "rotation" of
   the orbit in degrees or how far away its perihelion is from zero
   Aries; next are three parameters defining the ascending node, which
   is the "tilt" of the orbit or how far away the point where the orbit
   intersects the ecliptic is from zero Aries; finally are three
   parameters for the "mean anomaly" which is basically where on the
   orbit the planet is at a reference time and how fast it moves along
   it. Many of the above element settings take three values when it
   seems like only one is needed. The second and third values are used
   as linear and quadratic error factors to the first, and can be zero
   unless every last bit of accuracy that can be provided outside of
   ephemeris files is needed. Note that these parameters basically
   replace the same elements as used in the old Matrix formulas. This
   means the -YE switch settings are ignored when the -b ephemeris flag
   is in effect. Note also that the Matrix formulas have special error
   factors applied on top of their main elements for Jupiter through
   Pluto, hence it's recommended to only redefine asteroids, uranians,
   or inner planets. The following example will roughly move Venus into
   Earth's orbit: "-YE 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23000". (See
   Paul, you can move planets around with just your mind! ;)

10. -YQ <rows> switch: This feature gives you the option to have Astrolog
   automatically stop whenever the screen gets filled with text and
   prompt before scrolling to the next page. It takes one parameter to
   define the number of rows to print before prompting the user to press
   return to continue. If set to zero, the feature will be turned off
   and Astrolog will print continuously until done, as it always did
   before. This helps those who have complained about the program
   scrolling things off the screen before they can read it. Before one
   had to press Ctrl-S to have the system pause printing, send output to
   a file, or be on a system with scrollbars to see everything. This new
   feature is on by default and set to 24 lines, although this can be
   changed easily in the astrolog.dat file. When the program is paused,
   one can type a couple things before pressing return: Entering 'q'
   will terminate the program, entering 'Q' will turn off the feature
   and scroll until done, '8' will toggle the right hand column clipping
   setting, and 'k' will toggle the Ansi color setting.

11. Color customizations: Astrolog can customize the colors as used for
   almost anything in the program. A color may be set to any one of 16
   values, represented by the numbers 0 to 15, which are: 0 - Black, 1 -
   Maroon, 2 - DkGreen, 3 - Orange, 4 - DkBlue, 5 - Purple, 6 - DkCyan,
   7 - LtGray, 8 - DkGray, 9 - Red, 10 - Green, 11 - Yellow, 12 - Blue,
   13 - Magenta, 14 - Cyan, 15 - White. When entering a color as a
   parameter, use the correct number above, or else type the color's
   name as printed above (which may be abbreviated to the first three
   characters). The new switches to change color settings are below.

 o -YkC <col1> <col2> <col3> <col4> switch: This switch defines the
   colors used for the four elements, and takes four parameters, for
   fire, earth, air, and water, in that order. The colors used for
   planets are based on the element of the sign they rule, so this
   affects the colors of the main planets too. For example, to make
   earth be green and air yellow, instead of the other way around as
   Astrolog used to always force, do "-YkC 9 10 11 12" or "-YkC Red
   Green Yellow Blue" or just "-YkC red gre yel blu".

 o -YkA <asp1> <asp2> <colors> switch: This defines the colors used for
   a range of aspects. The first two parameters are the lower and upper
   indexes of the aspects to modify, and are followed by one color
   parameter for each aspect in the range. For example, to highlight
   Trines by making them white and all the other major aspects dark
   blue, do "-YkA 1 5 dkb dkb dkb whi dkb".

 o -Yk0 <val1> <val2> <colors> switch: This sets a range of colors used
   other places in the program (excluding elements and aspects) whose
   default colors are one of the colors of the rainbow. The first two
   parameters are values from 1 to 7 indicating the lower and upper
   bounds of the default colors to redefine, and are followed by new
   actual colors to use instead. The seven indexes represent the colors
   Red, Orange, Yellow, Green, Cyan, Blue, and Purple. For example, if
   you want to change the color used for the Uranians from their default
   of purple to orange, do "-Yk0 7 7 orange" and you've effectively
   "redefined the color purple". (Gee sounds like Fortran programming. ;)

 o -Yk <val1> <val2> <colors> switch: Like -Yk0 above this also sets a
   range of colors as used many places in the program, except this
   allows one to redefine all the standard or obscure colors (i.e. the
   other nine that aren't one of the rainbow colors covered above).
   Again the first two parameters indicate the range of colors to change
   which are from 0 to 8, and are followed by the new colors to use. The
   nine indexes represent in order the colors Black, White, LtGray,
   DkGray, Maroon, DkGreen, DkCyan, DkBlue, and Magenta. For example, to
   change the highlight color as used in graphics charts to draw borders
   and the like from LtGray to Yellow, do "-Yk 2 2 yellow". (Note that
   you can use this to even change the colors Black and White to draw
   graphics on whatever background color you want.)

12. Interpretation customizations: You can now customize the core phrases
   as used in Astrolog's interpretations. (No more having to hack the
   source code or live with my choices!) All these switches take two
   parameters: the index of the item to change, and the string to set it
   to. (You probably want to enclose any strings in quotes so they are
   treated as a single parameter and not split at the spaces.) The
   things that can be changed and the switches to do them follow:

 o -YI <obj> <string>: This sets the meaning for the given planet or
   object, i.e. the part of one's mind the planet represents. For
   example, the default setting for Jupiter would be: -YI 6
   "enthusiastic, faithful, wise, expansive, spontaneous nature".

 o -YIC <house> <string>: This sets the meaning for the given house,
   i.e. the area of life that house represents. For example, the default
   for the first house is: -YIC 1 "establishment of personal identity".

 o -YIa <sign> <string>: This sets the characteristics for the given
   sign, i.e. adjectives describing it. For example, the default for
   Gemini is: -YIa 3 "inquisitive, witty, perceptive, adaptable".

 o -YIv <sign> <string>: This sets the desires for the given sign, i.e.
   verbs describing what something characterized by it seeks. For
   example, the default for Virgo is: -YIv 6 "works toward perfection".

 o -YIA <asp> <string>: This sets the meaning for the given aspect, i.e.
   the type of interaction going on when the aspect is in effect. For
   example, the default for the Trine is: -YIA 4 "is in harmony with".
   Special note for hackers: If the optional characters "%s" appear in
   the given string anywhere, Astrolog will replace them with an
   appropriate adverb indicating how strong the effect of the aspect is
   (and include the trailing space). For example, the real default for
   Trine is: -YIA 4 "is %sin harmony with", where the "%s" will is
   replaced with "always ", "somewhat ", etc, as appropriate.

 o -YIA0 <asp> <string>: This sets the conclusion for the given aspect,
   i.e. an additional sentence about it. For example, the default for
   the Opposition is: -YIA0 5 "Adaptation is required by both sides".

13. -a0 switch: This is just like the -a (formerly -m0) aspect list
   ordered by influence chart, except that summary information will be
   displayed afterward. The sum of all the aspect powers and their
   average is printed, the total number of aspects of each type is
   printed, and the total number of aspects to each planet is printed.

14. -m0 switch: This is just like the -m midpoint list ordered by zodiac
   position chart, except that summary information for it will be
   displayed afterward. The average number of degrees spanned between
   each planet pair is printed, and the total number of midpoints
   in each zodiac sign is printed.

15. -b0 extension: The -b0 setting which displays zodiac and other degree
   positions to the nearest second instead of the nearest minute, now
   affects more charts when in effect. The -Z local space chart will
   display the altitude and azimuth to the nearest second, while the
   other three vector columns will be displayed with an extra digit of
   precision. The -S orbital position chart will have all five of its
   columns displayed to an extra four digits of precision. The -L0
   astro-graph chart with latitude crossings will display the latitude
   crossing intersections to the nearest second.

   Finally the standard -v listing will display the zodiac positions and
   declinations to the nearest second, and the velocity values will have
   an extra four digits of precision. Note however this doesn't leave
   room to the right anymore for the house cusp positions and element
   table. They will be left out for -b0, however when the -C switch is
   in effect, the house cusp positions will be displayed in their own
   separate rows, which normally isn't ever done since there's always
   the list to the side. (One more thing is that -b0 combined with -v
   will display an extra column at the end showing the decan positions
   of each object, allowing viewing of each planet alongside its decan
   without having to actually change positions with the -3 switch.)

16. -sr switch: This will display planetary positions relative to the
   Earth's equator instead of the ecliptic i.e. Earth's orbit. This is
   the way more commonly used in astronomy, and results in real right
   ascension notation, especially when combined with the -s sidereal
   zodiac and -sh hours and minutes display format. This switch makes
   the declination values in the standard -v listing also relative to
   the equator, instead of the ecliptic latitude displayed by default.
   (Before the only way to get such information was from the zenith
   latitudes in the -L astro-graph chart which shows the same thing.)
   Note that this setting isn't fully integrated with all of Astrolog's
   charts; specifically it will distort the values in the -Z local
   horizon, -S orbit, and -L astro-graph charts which assume ecliptic
   positions, and hence -sr shouldn't be combined with these options.

17. -sd switch: This will cause zodiac positions to be displayed as a
   simple degree value in the 360 degree circle. To return to the
   default of displaying as a degree within a zodiac sign, use the new
   -sz switch. Remember that a third setting possibility for zodiac
   position display is the old -sh (formerly -s0) switch which prints in
   hours and minutes form.

18. -HS switch: This is a new static table which will display some
   astronomical information about the main planets (and Earth's Moon) in
   a simple form. For each planet is shown its distance from the Sun (or
   Earth) in Astronomical Units (AU), its orbital period in Earth years,
   its rotational period (i.e. day) in hours, its diameter relative to
   the Earth (Earth being 1), its mass relative to the Earth (Earth
   being 1), its average density with respect to water (water being 1),
   the tilt of its axis with respect to the ecliptic, and finally the
   number of known moons or satellites it has.

19. -zt <time> switch: This simple switch will set the time and only the
   time of the current chart in memory to the given value. For example,
   to cast a chart for 3:00pm today, do "-n -zt 3:00pm". Before one
   would have had to cast a whole new chart using the -q switch and
   respecify the month, day, and year. Note that placement of this
   switch is important, as any other switch after it which also sets a
   time will clobber the setting, e.g. "-zt 3:00pm -i chartfile" will be
   the same as just "-i chartfile" because the file has its own time value.

20. -zd <day> switch: This is just like the -zt switch above except that
   it takes one parameter for and sets the day of the current chart. For
   example, to see the aspects taking place on the 15th of the current
   month, do "-n -zd 15 -d", which does the chart for the current month
   and year but the day scanned is the 15th instead of the current day.


#####################  ASTROLOG 4.20 FILE ENHANCEMENTS  #####################

Astrolog file formats have been greatly improved. Here are all the
new features in this area:

1. Files are command lines: All of Astrolog's files are a series of
   command switches now. This affects -o chart info files, -o0 chart
   position files, and the astrolog.dat config file. In a sense there is
   no difference between the three formats now, just they are generated
   or read in for different situations. Whenever any chart is read in,
   Astrolog simply reads in the file a line at a time and processes the
   switches as if they were on the command line or entered in a -Q loop.

2. Config file is series of switches: The astrolog.dat config file is
   one of the files that is now a series of command lines. This change
   makes the astrolog.dat file much more powerful and versatile than
   before. The file is no longer in a fixed format with fields that have
   to be in a certain order. You can move lines around, add as many
   lines as you want, or take lines out without problem. These config
   files shouldn't become out of date in future versions of the program
   either. Incompatibilities will only arise if the syntax of a switch
   changes, and even then it's obvious as to the small correction that
   needs to be made. It's important to remember that any switch can be
   put in the astrolog.dat file. For example, you can change the default
   behavior of the program when invoked without any switches, by say
   putting "-n" in it, to make the program always display the chart for
   now unless you specify otherwise. You may want to put "-C" in it if
   you want the house cusps to always be included in transit and other
   charts. If you are always doing graphics charts, you can put "-X" in
   there somewhere so you don't have to put it on the command line. Long
   or complicated switches like new planet definitions, and color or
   interpretation customizations, are good candidates to put in
   astrolog.dat so they don't have to be retyped all the time.

3. Chart info files are series of switches: The file as generated with
   the -o switch is also a just a couple of command lines to set the
   chart information appropriately. (This file format hasn't changed a
   bit since files where first introduced in version 1.20, until now!)
   Note that you can manually add additional switches to any chart info
   file, to have per chart settings. For example, if you are always
   displaying a particular natal chart's aspect grid, you can put a "-g"
   in that particular file so you don't have to include -g on the actual
   command line with the "-i file". (Or you can put the "-g" in the
   astrolog.dat file and have all charts come up by default in the
   aspect grid instead of the -v listing.) Note also that the -i switch
   is now a generic command file reader. You can read any switch file
   with -i, and even reload the astrolog.dat defaults with a line such
   as "-i astrolog.dat".

4. User command files: Since -i will now read in and process any command
   file, you can make your own arbitrary command files and read them in
   whenever you want. You aren't limited to modifying just chart info
   files and astrolog.dat. Say you like to use a narrower set of orbs
   for transits. You can make a special file that just sets a bunch of
   orbs using the -A switches, and then read it in via "-i
   narroworbfile" and combine it with -t or whatever. Before there was
   only the astrolog.dat file, which could only be read in on startup,
   and it was awkward to swap among different astrolog.dat copies. Note
   that command files can even process other command files inside of
   them. Remember that astrolog.dat is just a special command file; the
   program basically just does a "-i astrolog.dat" internally on startup.

5. -; switch: The -; "dash semicolon" switch when encountered causes all
   the rest of the switches on a command line to be ignored and not
   processed. This allows the semicolon (usually used by itself without
   the optional dash prefix of course) to be used to begin comments and
   for comment lines in the various command files.

6. -@ switch: All Astrolog switch files have to begin with the '@'
   character, which identifies them as such. The switch files as
   generated with -o and -o0, and the default astrolog.dat file, have a
   couple numbers immediately following their '@' which indicate the
   file type and version. (The '@' happens to technically be a switch
   too, but is only dealt with internally by the program.) If you make
   any of your own command files to read in with -i, just be sure there
   is a '@' character at its very beginning and everything will work.

7. -o0 improved: Chart position files as generated with the -o0 switch
   are much improved. The zodiac positions have an extra two digits of
   precision and the declinations have an extra one digit. The files now
   include the velocity of the planet and its distance from the sun, so
   applying vs. separating aspects and -S orbit charts work perfectly.
   (Before all this data would be lost.) These files may also include
   star positions unlike before, and are more complete with respect to
   house cusps. The actual house array is kept separate from the cusp
   object indexes, meaning that one for example can reload charts in the
   Equal house system that disassociate the Midheaven from the 10th cusp
   and remember both positions, and even save a -r synastry chart with
   -o0 and remember both sets of house cusps on reload.

8. -YF switch: As -o0 position files are also a series of command lines,
   there is a new switch to set the actual positions of a planet. This
   is the -YF switch which takes eight parameters, which are: the index
   of the object to set the positions of, the degree within the sign of
   its position, the zodiac sign of its position, the minute within the
   degree of its position, the degree of its ecliptic declination, the
   minute within the degree of the declination (which should always be
   positive, e.g. for a declination of -10.5 degrees, the parameters
   would be -10 and 30), the velocity in degrees per day (positive is
   direct motion, negative retrograde), and finally the distance from
   the Sun or central body in AU. This switch shouldn't really be used
   outside of -o0 files as it causes the chart to be assumed to have no
   time or space, but is described here for completeness. Note that
   another advantage to the new -o0 files is that you can again add
   other switches to them (e.g. "-s" to indicate if it's a position file
   for a tropical or sidereal zodiac chart), and rearrange or delete
   lines without problem, unlike the old -o0 files which required all
   the planets and in a fixed order.

9. -Yo switch: Astrolog will still read in all old style -o and -o0
   chart files without problem. Not only that, but it will write out
   these old formats too if the -Yo switch is put into effect. When set,
   it will output -o and -o0 files exactly as in version 4.10 and before.

10. -M <macro> switch: Astrolog has a feature to run "switch macros", or
   a whole command line with one small switch. The -M switch takes one
   parameter, which is the number of the macro to run. When encountered,
   the switches it represents will be processed. This is similar to
   loading in a generic command file with -i, except macros are limited
   to one command line. Macros however don't require separate files, and
   may call command files themselves with -i.

11. -M0 <macro> <string> switch: This is the switch that defines a macro.
   It takes two parameters: the index of the macro to define, and a
   string representing the command line to assign to it. (The command
   string probably needs to be in quotes to ensure it's treated as one
   parameter to -M0, instead of many items which will get processed
   right away.) There are 48 macro slots available to define or run.
   Macros may do anything and even call or define other macros. It's
   possible to get in a infinite loop if you make a macro (or command
   file) call or load itself; such cases aren't detected and will make
   the program terminate with an unusual error.

12. Function keys: For PC's, pressing the function keys F1 through F12
   will execute macros when graphics are being displayed. Pressing F1
   through F12 will run macros 1 through 12. Pressing Shift+F1 through
   Shift+F12 will run macros 13 through 24. Control+F1 through
   Control+F12 will run macros 25 through 36. Finally Alt+F1 through
   Alt+F12 will run macros 37 through 48. Executing a macro that hasn't
   been defined yet (either with a function key or the -M switch) will
   do nothing.

13. Macro examples: Macros are very powerful and their uses are nearly
   endless. A bunch can be defined in astrolog.dat for your most common
   switch sequences, hopefully preventing things such as batch files
   that had to be created before. Suppose you often want to see the
   transits of outer planets only to the house cusps in your natal chart
   for the current month. The command line for this is "-i yourchart
   -tn -RT0 6 7 8 9 10 -R0 -RC -C". You can assign this to the tenth
   macro slot with: -M0 10 "-i yourchart -tn -RT0 jup sat ura nep plu
   -R0 -RC -C". That line can be put in your astrolog.dat and you can do
   this month's transits by just typing "astrolog -M 10". Here's another
   example: Suppose you want a feature to bring up the chart of the
   spouse of whoever's chart you are viewing at any time. You can define
   a special macro, say in slot 5, in each of your chart info files
   which does a -i on the file of their spouse, or does nothing if
   they're unmarried. Now when in graphics mode, you can press 'F5'
   anytime and Astrolog will bring up the spouse's chart! You could
   define a bunch of macros to set various color sets or aspect orbs and
   switch among them quickly using the function keys. You could even
   make a simple chart database by having each chart file load the next
   one in sequence in some macro, and then cycle through your charts by
   running that macro in a -Q loop or from the graphics screen.

14. Return key: Pressing the return key when a graphics screen is up will
   pause and prompt you for a command line. This command line will be
   processed after which you will be returned back to the graphics state
   you left, allowing the changing on the fly of any setting that isn't
   already covered by pressing whatever key, without having to drop all
   the way back to a -Q loop or out of the program altogether. This can
   be used to redisplay the -H switch list too. (There are a couple of
   rare things you can't do in the middle of graphics, e.g. you aren't
   allowed to suddenly switch to one of the graphics file modes.)

15. Name and city fields: One new feature in the new switch based -o
   chart info files, are general text fields for the person's name or
   chart title, and the name of the city or location the chart is cast
   for. When set the contents of these fields will be displayed in the
   various charts, such as the -v listing, the -w text wheel, and in the
   graphic wheel chart sidebars. When prompted for chart info
   interactively, the name and city will also be asked for now. (You can
   prevent these new fields from being prompted for by setting the -Yo
   old style info switch.)

16. -zi <name> <city> switch: This switch sets on the command line the
   contents of the new name and city fields of the current chart. This
   switch is actually put into new chart info files generated with -o to
   reload the name fields. You can convert an old style file to new
   style and add in the name fields for it with: -i file -zi "name"
   "city" -o file. (Note that you may also want to correct the time or
   time zone if Daylight time was in effect though.)

17. Daylight time field: Another new feature in the new switch based -o
   info files, is a separate field for whether Daylight Saving time was
   in effect for the chart or not. You no longer need to subtract one
   hour from the time or time zone to indicate if Daylight time was in
   effect, which of course was limited in that it's not always clear
   whether a given chart was for say 11am Standard time, or really for
   noon Daylight. The new field resolves any ambiguity. As with the name
   and city strings, you will be prompted for the Daylight setting, when
   interactively prompted for chart info (unless the -Yo flag is active
   again). Enter "0" or "S" for Standard time, and "1" or "D" for
   Daylight. An indication of Standard or Daylight time will be shown
   in the headers of the -v listing and in the graphics charts.

18. -z0 [<offset>] switch: This switch sets the contents of the Daylight
   time setting for the current chart, and takes one optional parameter.
   When present the parameter will be used for the Daylight hour offset,
   which will almost always be 0 or 1, but can technically be set to
   something else for Daylight offsets that "Spring ahead" amounts other
   than one hour. When omitted, the -z0 switch will toggle the Daylight
   setting on and off between 1 and 0.

19. -qb switch: This switch is just like the old -qa switch except that
   it takes one extra parameter for the new Daylight time flag. (Using
   the -qa switch now will assume Standard time.) In order, the eight
   parameters for -qb are Month, Day, Year, Time, Daylight offset, Time
   Zone, Longitude, and Latitude. Like -zi this switch is also put into
   chart info files by -o.

--

     Here's an example of one of the new switch based command files,
specifically a chart info file with the new name, city, and Daylight
fields in it. Notice how much easier it is to understand and modify
than old files. This is the info for my own natal chart and consists
of the three lines below:

@0102  ; Astrolog chart info.
/qb Nov 19 1971 11:01am ST +8:00 122:20W 47:36N
/zi "Walter D. Pullen" "Seattle, WA"


#####################  ASTROLOG 4.20 IMPROVEMENTS  #####################

Here are various improvements made to existing features and
functionality over the previous version:

1. Improved parsing: When entering chart information, more combinations
   of strings will be processed correctly. These include:

 o Longitude and latitude locations may be entered in the standard
   <degree><direction><minute> notation, e.g. "122W20" or "33S52".
   Before the only separator allowed was a colon or period, while
   eastern and southern locations had to be entered as negative values.

 o Time zones may be entered as abbreviation strings instead of having
   to be numbers, e.g. "EST", "PST", "GMT" (presently all North American
   and British time zones). Note that this setting is still separate
   from the new Daylight Time setting. In other words, strings such as
   "EDT" or "EWT" may be entered, but that will only subtract one hour
   from the time zone number, and not turn on or off the Daylight
   setting. Hence it may be preferred to enter strings that don't imply
   such an assumption, i.e. Astrolog also accepts general abbreviations
   such as "ET" or "PT". For that matter, some one letter time zone
   abbreviations are accepted, e.g. "E" or "P" for Eastern and Pacific.

 o Year values may be entered with an optional "BC" or "AD" suffix.
   (Periods may be interspersed, e.g. "b.c." is allowed.) Before one had
   to enter a negative year for a BC date, which could be confusing
   because one would have to also subtract one from the year since
   there's no formal year zero. (Since 1BC is followed by 1AD,
   specifying "5BC" would be the number "-4".) Now BC dates may be
   entered directly and Astrolog will do the correct processing.

 o Times may have one or two periods interspersed when giving an "AM" or
   "PM" suffix. In other words, "6:30p.m." is accepted now where before
   it had to be "6:30pm" for the program to realize you meant evening
   and not morning.

2. Parsing everywhere: Correct parsing of strings is now done on the
   command line (and in files since they are now technically command
   lines) in addition to when the user is being prompted for data within
   the program. For example, to do the natal chart for the alt.astrology
   newsgroup using the -qa switch before, one would have to enter "-qa 7
   29 1991 18.23 -10 -151.13 -33.52". Now one can do the more intuitive
   "-qa Jul 29 1991ad 6:23pm -10 151e13 33s52".

3. Index parsing: Any command switch that takes an index number as a
   parameter may have it specified by its actual name instead of a
   confusing hard to remember number. For example, the switch sequence
   "-c 1 -R 6 -A 5 -F 7 10 0" may now be done as the more understandable
   "-c Koch -R Jupiter -A Sextile -F Saturn Capricorn 0". Any string
   may be abbreviated to its first three characters. Aspects should be
   based on their formal abbreviations, e.g. "ssx" instead of "sem" for
   Semisextile. (Actually presently only the first three characters are
   ever looked at, so some stars may still need to be specified as a
   number since they have the same first three letters.)

4. Improved speed: Astrolog computes planet position sets faster than
   before, because it now doesn't bother to compute locations that
   aren't needed or used. (The program could do things before such as
   only do the uranians and stars when -u or -U were in effect, but it
   would always compute all the main planets and asteroids even when
   restricted.) Now any planet restrictions result in a speedup whenever
   a chart is cast. For example, the search of a year for a Solar Return
   (-i chart -ty year -R0 sun -RT0 sun) is about twice as fast now
   compared to version 4.10, since we're only looking at Sun locations.

5. Multi-stage bitmaps: Bitmap files may be generated at any size
   without running out of memory anymore. If any particular sized bitmap
   it too large to fit in memory all at once, Astrolog will now generate
   it in multiple stages, using available memory to do one section at a
   time, writing each piece to the file as we go along. (This is similar
   to the banding method often used to print large images to printers.)
   For the previous version of PC Astrolog, there was barely enough
   memory in the 640K available to generate even the standard 640x480
   color bitmap. Now one will always be able to do any size allowed,
   even the maximum of 2730x2730 yielding a file nearly four megabytes
   in size! We do however have to draw the chart once for each band, so
   if a bitmap is done in two stages, it will take nearly twice as long
   to generate. Larger bitmaps require more stages and more time, but we
   can at least always make them. This banding is only done for the
   Windows bitmap format; the other formats still need to be done in one
   shot, however the other formats are usually done on non-DOS systems
   where memory isn't limited to 640K.

6. Memory efficient metafiles: Like bitmaps, creating metafiles is also
   more efficient in how it uses memory. Astrolog will attempt to
   allocate a large buffer for them, and keep decreasing the amount
   until it succeeds. Before the buffer for a metafile was always
   exactly 100K. This allocation would occasionally fail on a loaded DOS
   system, while 100K isn't enough for a complicated image like an
   astro-graph chart with many unrestricted planets. Now we avoid all
   the allocated too much or too little situations. (Note that the
   related PostScript charts don't need any memory buffers because
   they're written to disk while being generated.)

7. Switch prefixes: Command switch flags may be forced on or off
   regardless of their current setting with special character prefixes.
   Many switches (such as -s) represent on/off flags and their setting
   is toggled when the switch is encountered. However this doesn't allow
   one to force the setting to be a value, as we don't know if it needs
   to be toggled or not. Prefixing any flag switch with '_' will reset
   its state even if already off, while prefixing with '=' will turn it
   on. For example, putting "_s" on a command line will always set
   tropical zodiac, while "=s" will always set sidereal. The standard
   '-' and '/' prefixes, along with no prefix at all, still toggle the
   current setting. This feature is useful for the astrolog.dat
   configuration file where we want to set various flags to particular
   values. There's one more new prefix hack which is ':', which doesn't
   affect the setting at all, but still affects any subsettings. For
   example, ":I 80" won't affect the interpretation setting at all, but
   will still set the default screen width to 80. This is slightly
   simpler than the "-I 80 -I" double toggle hack that had to be done to
   do such a thing before.

8. Local mean time: The special time zone setting "LMT" (which can be
   abbreviated as "LT" or just "L") allows one to do charts for times
   given in Local Mean Time. When encountered, the actual time zone
   setting will be set just so, doing the "subtract four minutes for
   every degree west of the time zone's standard meridian" arithmetic,
   to make it work.

9. -RA switch: The -RA switch will restrict the given aspect or list of
   aspects from appearing in charts, like how the -R switch does for
   objects. Technically, an aspect will be restricted if it's given a
   negative orb. This could be done in the previous version, but it
   would only affect grid charts and not charts such as the transit
   lists. Now all charts are affected. (The -RA switch technically just
   gives the given aspects negative orbs, and is a shorthand for having
   to explicitly use the -Ao orb setting switch; this means that -RA
   won't toggle an already restricted aspect back on however.)

10. -HX switch: This switch prints out the list of keys one can press
   when a graphics screen is being displayed. Before the only way to
   get this list was to press the '?' key interactively when graphics
   were actually up. Now it can be done anytime and be printed out or
   sent to a file like all other Astrolog tables.

11. -He switch: This switch will print out all ten of Astrolog's static
   table help listings, like what -e does for actual charts.
   Specifically, this will show the -Hc copyright screen, the -H switch
   list, the -Y obscure switch list, the -HX graphics key press list,
   the -HC sign and house list, the -HO object list, the -HA aspect
   list, the -HF constellation list, the -HS planet information list,
   and the -HI core interpretation list, for over 500 lines of
   informational output.

12. -Xj switch: This switch will toggle on a flag which will cause the
   graphics screen to not be cleared on new chart draws. Pressing the
   'j' key interactively will toggle the same setting. This feature is
   used to draw "jet trail" streaks on the screen for some charts, such
   as the -S orbit and -Z local horizon. If you display such a chart,
   turn on the setting, and then animate forward, a "time exposure" can
   be done showing the orbits of planets or an object's path across the
   sky. This is a formal feature for the obscure -r0 -S and -r0 -Z hacks
   that would do the same thing previously, which have been taken out.
   (When this is active, entering animation won't automatically jump to
   the flicker free mode, because that would make us flip back and forth
   between two pages breaking the continuity of our "streaks".)

13. -Xu: This switch toggles off the border setting that before could
   only be toggled by interactively pressing the 'b' key when a graphics
   screen was up. This new switch allows one to set the border for
   graphics files as well as set the default for this in the
   astrolog.dat file.


#####################  ASTROLOG 4.20 MINOR IMPROVEMENTS  #####################

Here are some minor additions and tweaks made to version 4.10, which
although not as visible or significant as above, are still useful and
are listed here:

1. -Y8 enhancement: The old "right column clip" setting (now accessed
   via the new -Y8 switch) has been improved. It can clip at any column
   instead of just the 80th as before, the screen width value being the
   same as used for interpretation formatting, i.e. the optional
   parameter to the -I switch. Clipping also applies now to all printing
   to the screen anywhere instead of just in few specific charts. 

2. -j0 addition: The -j0 influence chart now shows a mode summary, in
   addition to the element summary already displayed, to the right of
   the sign influence list, printing the power and percentage totals for
   the cardinal, fixed, and mutable signs.

3. -w improvement: The -w text wheel chart will no longer leave blank
   lines in the middle of the wheel if the rows per house setting is
   more than the default of four.

4. -Xw enhancement: PC graphics charts may be automatically sized to the
   dimensions of the screen by passing zero to either or both parameters
   of the -Xw screen sizing switch. Before to fill the screen or prevent
   clipping, one had to find out the dimensions of whatever graphics
   mode beforehand, or manually press the 'B' key to do the same thing.

5. Sidebar addition: Graphic wheel chart sidebars display additional
   information now. Whether the tropical or sidereal zodiac is in effect
   is shown. Whether the chart is geocentric, heliocentric, or has some
   other central planet is shown. The count of objects in angular,
   succeedent, and cadent houses is shown. The count of objects in the
   first six "learning" signs and the last six "sharing" signs is shown.

6. Sidebar improvement: When printing declination or other degree values
   for graphics charts in Astrolog's own vector font, an actual degree
   character will be drawn now instead of just a colon. This looks better
   and is like the text charts when the -k Ansi graphics flag is active.

7. Animation improvement: When animation is on but temporarily paused
   with the 'p' key, the mouse will come active again. Before you
   couldn't do any mouse operations in animation mode at all, even when
   paused. Similarly, the number keys which set the rate of animation,
   but for PC's scroll the chart when not in animation mode, will do the
   scrolling instead of setting the rate when animation is paused then.

8. Number keys improvement: When pressing numbers to set the animation
   rate or the section of a PC graphics screen to view, the numeric
   keypad will now work for PC's even if numlock isn't on. It's annoying
   to press a number on the keypad only to pass some random characters
   to Astrolog because you forgot to turn on numlock. Now the program
   will do the same correct thing regardless of whether it's on or off.

9. Graphics improvements: A few rounding glitches have been improved.
   Bitmap wheel charts would occasionally have the degree spokes too
   long by a pixel, extending outside of their surrounding circle.
   Mollewide map projections as accessed with -XW0 would be blocky at
   high scale factors as line segments were rounded to the nearest
   second or third pixel instead of just the nearest one. Both these
   situations are drawn smoother now.

10. Source code improvement: All of Astrolog's functions have full Ansi
   prototypes now (which can be turned off for older compilers with the
   PROTO #ifdef). Also, the code itself is more modular with many new
   structures to hold and organize data such as chart information, chart
   positions, orbital elements, and more.


#####################  ASTROLOG 4.20 CUSTOMIZATIONS  #####################

Now that the astrolog.dat file is a series of command lines, all the
old static tables that were read from it before are now specified by
new switches. A list of these (that couldn't already be set outside
of the astrolog.dat file before with old switches) is below. There
are no new features in this section, except that all these settings
may now be changed on the command line or within the program, without
having to exit, change whatever in astrolog.dat, and restart.

1. -Y switch: This displays a list of available command switches, like
   the -H option but showing only "less common" switches that would
   clutter things up if they were in the main list, and are usually only
   specified in configuration files. All these switches begin with 'Y',
   and include all of the customization switches in this section along
   with a few other new features described elsewhere.

2. -Yd switch: This toggles on the "European date format" setting to
   display dates in DMY form instead of MDY.

3. -Yt switch: This toggles on the "European time format" setting to
   display times in the 24 hour clock instead of am/pm form.

4. -YC switch: This toggles on the "Smart cusp displays" flag to prevent
   display of irrelevant or redundant aspects involving house cusps.

5. -Y8 switch: This toggles on the "Clip at n columns" setting which
   stops printing lines of text within charts if they're long enough to
   go beyond the right edge of the screen.

6. -YR <obj1> <obj2> <flags> switch: This is like the -R switch except
   that it explicitly sets the restrictions for a range of Astrolog
   objects instead of just one. The first two parameters specify the
   lower and upper object bounds, and are followed by a zero or one
   flag to set the restriction status of each object within the range.

7. -YRT <obj1> <obj2> <flags> switch: This behaves exactly like the -YR
   switch above except it affects transit restrictions, like how the -RT
   switch is to -R.

8. -YR0 <sign> <dir> switch: This sets the restriction status for sign
   and direction changes. It takes two parameter flags, with the first
   setting for sign changes, and the second direction changes.

9. -YAo <asp1> <asp2> <orbs> switch: This is like -Ao but sets the orbs
   for a range of Astrolog aspects instead of just one. The first two
   parameters specify the lower and upper aspect index bounds, and are
   followed a list of orb values for each aspect in the range.

10. -YAm <obj1> <obj2> <orbs> switch: This is like -Am but sets the
   maximum aspect orbs allowed to a range of objects instead of just
   one. Again, the first two parameters are the lower and upper object
   indexes, followed by the list of max orb values.

11. -YAd <obj1> <obj2> <orbs> switch: This is like -Ad but sets the
   planet orb addition values for a range of objects instead of just
   one. Again, the first two parameters are the bound indexes, and are
   followed by the list of planet orb additions.

12. -Yj <obj1> <obj2> <influences> switch: This sets the powers or
   influences of the given range of planets, when considered in a natal
   chart, as used in charts such as the -j influence chart, -a aspect
   influence list, and -T transit influence list.

13. -YjC <cusp1> <cusp2> <influences> switch: This sets the influences
   for the given range of houses, as used in charts such as -j.

14. -YjA <asp1> <asp2> <influences> switch: This sets the influences for
   the given range of aspects, as used in charts such as the -j influence
   chart, -a aspect influence list, and -T and -D transit lists.

15. -YjT <obj1> <obj2> <influences> switch: This sets the influences of
   the given range of planets, just like -Yj, except here for when the
   planets are transiting, as used in charts such as the -T transit and
   -D external planets influence lists.

16. -Yj0 <inf1> <inf2> <inf3> <inf4> switch: This switch takes four
   parameters and sets respectively, the extra influences given to a
   planet when it's in the sign it rules, when it's in the sign it
   exalts in, when it's in the house corresponding to the sign it rules,
   and when it's in the house corresponding to the sign it exalts in.
   These values are used in examples such as the -j influence chart.

17. -YXG <digits> switch: This changes the glyphs to use for those signs
   and planets that may be drawn in more than one way. The switch takes
   one parameter, a four digit number specifying the glyphs to use for
   Capricorn (1000's place digit), Uranus (100's place), Pluto (10's
   place), and Lilith (1's place).

18. -YXg <cells> switch: This sets the size of the graphic -g aspect and
   midpoint grids, i.e. the number of cell rows and columns available to
   draw items in. Remember that if this value is too high, there will be
   unused rows at the bottom, while if it's too low, rows will be
   clipped off the bottom.

19. -YXf <flag> switch: This sets whether or not actual system fonts
   (instead of Astrolog's vector graphics) are used for glyphs and text
   in PostScript and Windows metafile graphics files. Zero means no
   system fonts, while one means use Courier, Wingdings for metafiles,
   and the Astro font. (Remember that this can also be set to the hack
   value of two if you don't have the Astro font, which means don't try
   to use this system font but do use all the others.)

20. -YXp <orientation> switch: This sets the page orientation for
   PostScript graphics files. If the orientation parameter value is
   positive, that means be in portrait mode; if negative, be in
   landscape mode. If the value is zero, let the program decide based on
   the dimensions of the given chart.

21. -YXp0 <hor> <ver> switch: This sets the horizontal and vertical size
   of the page for PostScript graphics files. The two parameters are
   given in inches.

22. -YX <hi> <lo> switch: For PC's with graphics only, this sets the two
   graphics modes as used when displaying charts on the screen. The two
   parameters specify the mode number to use as the default
   "hi-resolution" mode, and the "flicker-free" mode used for animations.


#####################  ASTROLOG 4.20 BUG FIXES  #####################

Here are bugs in version 4.10 and have been fixed in this release:

1. -v bug: The declination and sign rulership columns (all others had no
   problem fortunately) would be incorrect in the standard -v listing
   for the first 20 objects if any of them were restricted. The first
   object restricted would cause all the declination values below it to
   be shifted down one, and would make incorrect all the sign rulership
   characters from there to the end of the first 20. This bug had been
   there since version 3.00, and I'm glad to say is gone from 4.20.

2. Sidebar mixup: The hemisphere counts for the graphic wheel chart
   sidebars were labeled incorrectly. The hemispheres were labeled as
   'N', 'S', 'W', and 'E', where the 'north' hemisphere was referring to
   the upper half of the chart and 'south' the lower, when the reverse
   is generally accepted. Now the hemispheres are labeled 'M', 'N', 'A',
   and 'D' for the angles at their center, like the element table in the
   standard -v text listing.

3. Element table omission: Uranians and stars would never appear in any
   of the element table summaries, even when unrestricted. They will now.

4. Element table addition: The Midheaven and Ascendant would be counted
   in the hemisphere totals, thereby always adding one to the top and
   left hemispheres. Now, unrestricted cusp objects are left out of
   hemisphere counts (but still included in the other object summaries).

5. -S -X bug: PostScript or metafile charts of the -S -X orbital
   graphics chart would always only show the small section of the solar
   system between the Earth and Sun regardless of the -Xs scale setting.
   The scale setting now correctly affects the number of AU's that this
   chart covers as done with the bitmap and screen orbit charts.

6. -s inaccuracy: Doing any chart dealing with positions on the Earth's
   surface, i.e. the -Z local horizon and -L astro-graph charts, would
   be inaccurate when in the sidereal zodiac (-s on). As these charts
   don't deal with direct zodiac positions, changing the zodiac type or
   offset shouldn't affect their results (e.g. the time of a sunrise in
   a -Zd listing). These charts will be correct and have the same
   results now regardless of the zodiac settings.

7. -m0 omission: The -m0 (now called -a) ordered aspect list would
   ignore the influence values for the uranians and any other object
   beyond the first 20, and use a compile time default to sort the
   aspects based on. Now changing any of the object influences changes
   the chart ordering appropriately.

8. -Q crash: Entering more than 31 switches or parameters on a single
   line when prompted for them within the program, would likely cause a
   crash. Now exceeding the maximum will result in the extra items
   simply being ignored (and the user being warned that this happened).

9. -i errors: When reading in -o chart info and -o0 position files, no
   error checking would be done on the values read in, so if one did
   something like manually change a file to have a negative birth month,
   the program wouldn't complain and would display in a weird state. Now
   that all files are a series of command switches, any bad values will
   trigger the appropriate error. Old style chart info files are also
   checked now with an error being printed if any part is bogus.

10. -RT mixup: The compile time transit restrictions had the Sun always
   restricted from transiting charts, and the Moon unrestricted, when it
   should have been the other way around. This wasn't ever a problem
   unless you ran transits without any astrolog.dat config file whose
   default settings would set the appropriate restrictions.


#####################  ASTROLOG 4.20 PROGRAM CHANGES  #####################

As with every release, a few changes that aren't feature additions or
bug fixes were made to this version, where certain old assumptions
are no longer valid. A list of these (which aren't useful to be aware
of unless you have used previous versions of the program) follows:

1. Files different: All file formats have been changed in Astrolog 4.20:
   The -o chart info files and -o0 chart position files are generated in
   a different manner than before. Specifically, all files are now a
   series of command switches that indicate the contents of the file and
   set the appropriate things when executed. This is much more
   powerful, extendible, and general; the full details are described in
   another section. Astrolog still has the ability to read and write
   the old formats, so don't worry.

2. Default file different: Astrolog.dat config files from versions 4.10
   and before won't work with version 4.20, because like the chart info
   files, the astrolog.dat file is also a series of command switches
   now. All the old astrolog.dat settings no longer exist, however
   there are command switches to do the same things as everything the
   old files could set and a whole lot more. Attempting to use any old
   astrolog.dat file will cause the program to complain that it's not in
   any valid format. You should delete your old file and modify the one
   included with this release to correspond to your old settings.

3. Objects reordered: The object indexes for the Part of Fortune,
   Midheaven, Ascendant, Vertex, the four minor house cusps 11 through
   3, the eight uranians, and the 47 stars are no longer respectively
   items 17 through 79 as before. This is due to the addition of eight
   new objects to Astrolog: Lilith, the East Point, and house cusps 4
   through 9. The part of Fortune is now object 18, the Midheaven is now
   30, the Ascendant is 21, and the Vertex is 19. The 11th and 12th
   cusps are now objects 31 and 32, however the 2nd and 3rd cusps are
   still objects 22 and 23. The uranians and stars still have the same
   relative ordering, just they have all been pushed down 8 positions:
   the uranians are now objects 33 through 40, while the stars are 41
   through 87.

4. -C different: There are now cusp objects for all 12 house cusps,
   instead of just the Eastern six. The 12 cusps occupy objects 21
   through 32 in order. The -C switch now activates all 12 of these
   objects instead of just those four minors. This also means the MC and
   Asc are no longer in the first 20 objects and hence they don't appear
   in aspect grids and lists by default unless specifically activated.

5. Smart cusps different: The "smart cusps" astrolog.dat feature works
   in a slightly different way now, due to the new cusp objects. The
   faking of the display of oppositions to one minor cusp as
   conjunctions to the opposite cusp is no longer done, as all cusps are
   available now and the conjunctions can be done in actuality. The
   setting still prevents minor aspects other than the conjunction to
   non-angular cusps. The setting now also prevents redundant aspects to
   two items that are always opposite each other, e.g. if a transit list
   shows a trine to the Midheaven, it won't show a sextile to the
   Descendant right next to it.

6. -m0 renamed: The -m0 aspect list chart has been renamed to be -a.
   This chart was never really related to the -m midpoint list and
   doesn't need to be a subswitch of it. This now means that the -a and
   -m charts may be displayed together and the -e everything switch will
   include them both.

7. -O0 removed: The -O0 switch which was like -O but showed all objects
   regardless of restriction status has been removed. If you want to
   show all objects just use the -R1 switch to activate them all and
   combine it with -O (now called -HO).

8. Table charts renamed: Most of the switches which displayed static
   tables of information have been renamed. They now all begin with -H
   as they are like help switches. The following four changes have been
   made: The -H0 sign and house list switch is now called -HC. The -O
   object list switch is now called -HO. The -A aspect list switch is
   now called -HA. The -I0 interpretation table switch is now called -HI.

9. -l renamed: The -l default longitude and latitude setting switch has
   been renamed to be -zl. This gives it the same prefix as the -z
   default time zone and other switches that affect individual pieces of
   chart information.

10. -s0 renamed: The -s0 switch which displays zodiac positions in hours
   and minutes format has been renamed to be -sh, clarifying its
   difference from the -s zodiac selection switch.

11. -XT renamed: The -XT switch which toggles off the display of the
   chart info in graphics charts, has been renamed to be -Xt. Similarly,
   pressing the 'T' key which does the same thing when a graphics chart
   is up is now done with the 't' key.

12. 'F' key renamed: The 'F' key which toggles the -3 decan setting when
   a graphics chart is up is now done with the 'g' key. The 'F' key now
   accesses the new -XF constellation charts.

13. Glyph selections extended: The "glyph selections" astrolog.dat
   feature (now accessed via the -YXG switch) has been extended and
   changed in a couple ways. The digit "0" now means to leave a glyph
   alone, while "1" means set to the "American" form, and "2" means to
   the "European" form. (Before the only options were "0" for "American"
   and "1" for "European".) The thousands place is now for Capricorn,
   the hundreds Uranus, and the tens place Pluto. (Before these were all
   shifted over one, with 100's Capricorn, 10's Uranus, and 1's Pluto.)
   The ones place is now used to set the glyph for Lilith. For example,
   "-YXG 0120" leaves the glyphs for Capricorn and Lilith at their
   present setting, sets Uranus to be the "Herschel" glyph, and Pluto to
   be the astronomical "P" glyph.

14. -z, -l extended: The -z default zone and -l (now called -zl) default
   longitude and latitude switches now affect the time and location of
   the current chart in memory in addition to the default setting.
   Confusion could result before when changing a default after chart
   info was already obtained, e.g. "-z -n" used to be different from "-n
   -z", where the latter wouldn't change the zone for the chart because
   it was seen after the -n was processed and the old zone used. The
   correct thing happens regardless of ordering now. This means you can
   now easily do a relocated chart with this -zl switch, e.g. "-i
   yourchart -zl 122W20 47N36" will cast your chart relocated to Seattle.

15. New files: The source code to Astrolog 4.20 contains six more files
   than in the previous version. The following seven old source files no
   longer exist: charts.c, driver.c, formulas.c, options.c, xcharts.c,
   xdriver.c, and xoptions.c. The following thirteen new source files
   didn't exist before: astrolog.c, calc.c, charts0.c, charts1.c,
   charts2.c, charts3.c, io.c, matrix.c, xcharts0.c, xcharts1.c,
   xcharts2.c, xdevice.c, and xscreen.c. All this of course means that
   old makefiles won't work with the current version.

16. No mouse dependencies: The PC graphics build no longer depends on
   compiling in the mouse.c and using the mouse.h sample files as
   provided with the Microsoft C7 compiler. As they weren't Astrolog
   owned files they were never released with the PC source code and
   hence one couldn't compile in mouse functionality without a copy of
   the file, i.e. the compiler. Now, Astrolog uses its own independent
   mouse routines that I made, which are smaller, faster, and work with
   most every DOS compiler.

17. Previous chart change: The initial contents of the "previous" chart
   as accessed with "-i set" has been changed from the astrological
   "chart" of version 4.10 of the program to the release of this version
   4.20. This chart is now set to the exact time of the Fall Equinox,
   specifically for 11:19pm PDT (7 hours before GMT) on Thursday,
   September 22, 1994 for here in Seattle, WA (122W20, 47N36).

--

Here's a summary of all the new command switches in Astrolog 4.20
(there's over 50, wow) that weren't in the previous version:

  /HF: Display names of astronomical constellations.
  /HS: Display information about planets in the solar system.
  /He: Display all info tables together (i.e. /H/Hc/HC/HO/HA/HF/HS/HI).
  /M <1-12>: Run the specified command switch macro.
  /M0 <1-12> <string>: Define the specified command switch macro.
  /Y: Display help list of less commonly used command switches.
  /a0: Like /a but display aspect summary too.
  /m0: Like /m but display midpoint summary too.
  /z0 [<offset>]: Change the default daylight time setting.
  /zt <time>: Set only the time of current chart.
  /zd <date>: Set only the day of current chart.
  /zi <name> <place>: Set name and place strings of current chart.
  /qb <month> <date> <year> <time> <daylight> <zone> <long> <lat>:
      Like /qa but takes additional parameter for daylight offset.
  /RA [<asp1> ..]: Restrict aspects by giving them negative orbs.
  /sr: Compute right ascension locations relative to equator.
  /s[z,h,d]: Display locations as in zodiac, hours/minutes, or degrees.
  /Xu: Inhibit display of a border around graphic.
  /Xj: Don't clear screen between chart updates, drawing trails.
  /XF: Display maps as constellations on the celestial sphere.
  /HX: Display list of key press options for screen graphics.
  /Yn: Compute location of true instead of mean node.
  /Yd: Display dates in D/M/Y instead of M/D/Y format.
  /Yt: Display times in 24 hour instead of am/pm format.
  /YC: Automatically ignore insignificant house cusp aspects.
  /Y8: Clip text charts at the 80th column.
  /YQ <rows>: Pause text scrolling after a page full has printed.
  /Yo: Output chart info and position files in old style format.
  /YE <obj> <semi-major axis> <eccentricity (3)> <inclination (3)>
      <perihelion (3)> <ascending node (3)> <time offset (3)>
      Change orbit of object to be the given elements.
  /YR <obj1> <obj2> <flag1>..<flag2>: Set restrictions for object range.
  /YRT <obj1> <obj2> <flag1>..<flag2>: Transit restrictions for range.
  /YR0 <flag1> <flag2>: Set restrictions for sign, direction changes.
  /YAo <asp1> <asp2> <orb1>..<orb2>: Set aspect orbs for range.
  /YAm <obj1> <obj2> <orb1>..<orb2>: Set max planet orbs for range.
  /YAd <obj1> <obj2> <orb1>..<orb2>: Set planet orb additions for range.
  /Yj <obj1> <obj2> <inf1>..<inf2>: Set influences for object range.
  /YjC <cusp1> <cusp2> <inf1>..<inf2>: Set influences for house cusps.
  /YjA <asp1> <asp2> <inf1>..<inf2>: Set influences for aspect range.
  /YjT <obj1> <obj2> <inf1>..<inf2>: Set transit influences for range.
  /Yj0 <inf1> <inf2> <inf3> <inf4>: Set influences given to planets
      in ruling sign, exalted sign, ruling house, exalted house.
  /YI <obj> <string>: Customize interpretation for object.
  /YIa <sign> <string>: Customize interpretation adjective for sign.
  /YIv <sign> <string>: Customize interpretation verb for sign.
  /YIC <house> <string>: Customize interpretation for house.
  /YIA <asp> <string>: Customize interpretation for aspect.
  /YIA0 <asp> <string>: Customize aspect interpretation statement.
  /YkC <fir> <ear> <air> <wat>: Customize element colors.
  /YkA <asp1> <asp2> <col1>..<col2>: Customize aspect colors.
  /Yk <1..6> <1..6> <col1>..<col2>: Customize 'general' colors.
  /Yk0 <1..7> <1..7> <col1>..<col2>: Customize 'rainbow' colors.
  /YXG <0-2><0-2><0-2><0-3>: Select among different graphic glyphs
      for Capricorn, Uranus, Pluto, and Lilith.
  /YXg <cells>: Set number of cells for graphic aspect grid.
  /YXf <val>: Set usage of actual system fonts in graphic file.
  /YXp <-1,0,1>: Set paper orientation for PostScript files.
  /YXp0 <hor> <ver>: Set paper size for PostScript files.
  /YX <hi-res> <lo-res>: Set modes to use for PC screen graphics.
  /;: Ignore rest of command line and treat it as a comment.
  Press 'j' to toggle not clearing screen between chart updates.
  Press 'J' to switch to dispositor (/j) mode.
  Press 'F' to toggle between world and constellation map modes.
  Press 'F1'..'F12' [plus Shift,Ctrl,Alt] to run macros 1..48.
  Press 'enter' to input a command line of general switches.


#####################  4.20 COMPILING INSTRUCTIONS  #####################

     Compiling Astrolog version 4.20 is virtually identical to
compiling previous versions: First edit the top of the file
astrolog.h, commenting out any of the #define's which set various
features that aren't valid on your system or you don't want, and
changing default values and directories to your preference. (Just see
the self-explanatory section comments in this file.) Then in the same
manner, also edit these default parameter values in the astrolog.dat
file to your liking, at least the location and time zone values. (I
also really recommend turning on the Ansi color feature if your
system will support it - text charts look so much nicer in color!)

     For Unix systems, just run the command 'make' in the directory
containing the included Makefile. (You can also always compile by
hand: "cc -O -c *.c; cc -o astrolog *.o -lm -lX11" will do it; just
make sure to compile each source file and link them together at the
end with the math library, and if applicable the X11 library.)

     It is possible to compile Astrolog on a VMS system, even with
its X windows functionality. There's an example of a simple VMS .COM
file included which can automatically compile and link Astrolog on
VMS, which should work for version 4.20, although you might need to
include "/noopt" after the CC's since some compilers may cause the
program to pass parameters incorrectly with optimization on.

     Compiling Astrolog on a PC is easy too. One can usually do it by
simply compiling each file in turn and then linking them all
together. In some cases you don't have to worry about explicitly
mentioning things like the math library if your environments are set
up properly. (I used the Microsoft C7 compiler to generate the ready
to run PC executable, but I linked with the improved graphics.lib
included with Microsoft Visual C 1.00 (C8) for the DOS graphics
features.) If you have the nmake utility, the makefile included in
the zip archive will nicely compile and link astrolog 4.20 on a PC,
with properly set options and all. I compiled under the Large memory
model, with 16K bytes of stack space. The default directory for chart
info files, the astrolog.dat file, and the ephemeris files in the
official PC executable are all set to C:\ASTROLOG, although this
location will be overridden with several environment variables if
set. The time and location defaults are set to my own area, but you
can easily override them with your own values in the astrolog.dat file.

--

     Borland compiler support: Astrolog 4.20 may be compiled for DOS
using the Borland Turbo C/C++ compiler. Before the only DOS compiler
officially supported was Microsoft C. Graphics support works too
using the Borland BGI graphics libraries. If you want to compile in
Borland graphics, uncomment the "#ifdef BGI" line in astrolog.h
(instead of the "#ifdef MSG" for the Microsoft graphics.lib). If you
don't want to compile in graphics, just make sure the "#ifdef PC"
line is uncommented (there are some #ifdef __TURBOC__ lines in the
sources to do non-graphical Borland specific things). I used Borland
C version 3.0 for DOS in my porting and was able to get it to work
with optimization too.

     To actually compile, use the "makefile.bgi" makefile, and invoke
it with "make /f makefile.bgi" (or rename it to be just "makefile"
and run just "make"). Note that the file "makefile.cfg" is also
needed and is used during compilation by the main makefile. If you
are compiling in graphics, you will need to have object files for all
six of the BGI drivers in the directory you compile in. To make these
files, go into your BGI directory (e.g. "CD C:\BORLANDC\BGI") and do
the command "BGIOBJ /F <file>". Do this six times, where <file> is
"ATT", "CGA", "EGAVGA", "HERC", IBM8514", and finally "PC3270".

     A Borland compile is fast and functionally identical to the
Microsoft compilations in nearly every respect except for the
astrolog.dat graphics mode indexes. The list of modes you can assign
to the "hi-res" and "lo-res" graphics modes as switched to via the
'tab' key don't apply to Borland compiles. For Borland graphics, there
are two options: a "hi-res" mode for whichever driver expressed using
negative values and zero, and a "lo-res" mode expressed by positive
values. Of course it's best to have the astrolog.dat graphics mode
settings set to "0" for "hi-res" and "1" for "lo-res" so Astrolog
does the expected thing and aligns with these two graphics modes
available. Note that for standard VGA, "hi-res" is a non-flicker
free 640x480 resolution, while "lo-res" is flicker free 640x350, as
with Microsoft, while the default Microsoft settings of "-3" and "16"
for the graphics mode nicely do the right thing for Borland builds too.

************************************************
Astrolog 4.30 posted Mon, 28 Nov 94 09:35:33 GMT
************************************************

#####################  ASTROLOG 4.30 UPDATE FILE  #####################

     This week of November 1994 marked the Sun entering Sagittarius.
This week personally, featured a solar return, and Jupiter transiting
my Sun! In appropriate alignment with these events, allow the next
version of the astrology program Astrolog to be presented: version 4.30!

     This file describes the improvements and fixes made in Astrolog
4.30, over the previous version, 4.20, released two months ago. This
is not a major update, but rather a stabilization release over the
previous version, with some improvements and polishing in places. It
has some bug fixes, mainly in the areas of PostScript files, X Window
graphics, and astro-graph charts. There is one significant new
feature: parallel and contraparallel aspects.

     If you are reading this document as posted in the newsgroup
alt.astrology, this release consists the following files, each posted
as a separate article or group of articles:

1. "Update.430" - A text file describing new additions to Astrolog
   4.30 made over the previous version (what you're reading now).
2. "ast43exe.zip" - A uuencoded, zip archive containing a DOS executable
   ready to run on PC's, config file, icon file, two ephemeris files,
   a Readme, small summary file, Helpfile, and this Update file.
3. "ast43unx.shr" - A uuencoded, compressed Unix shell archive containing
   source code, makefiles, Readme, Helpfile, summary, and this Update file.

     In addition, there are several other relevant files, which have
not been posted so as not to waste too much newsreader bandwidth.
They may be obtained by other means which will be described:

4. "ast43src.zip" - A uuencoded, zip archive containing the source code,
   and makefiles (not necessary unless you want to compile on a PC).
5. "History.430" - A text file describing additions in all previous
   releases (only useful if upgrading from several versions ago).

     The "Helpfile" consists of a large comprehensive documentation
file of all of Astrolog's features. The "config file" is a default
settings file called astrolog.dat (not necessary to have to run but
useful). The "icon file" is a Microsoft Windows icon that can be used
when invoking Astrolog from MS Windows. The "symmary file" is a
file_id.diz like that included in many zip distributions, briefly
describing the program in whole. The "Update file" is again this
document. The "ephemeris files" are two binary files used for more
accurate calculations of planetary positions (again optional but nice
to have). The "source code" consists of 22 files (20 "C" program
files and two header #include files). The "makefiles" are five files:
a generic makefile for Unix systems with their "make" command, a
nmakefile for Microsoft PC compilers, a makefile for Borland PC
compilers (with a second subfile to go with it), and a command script
for compiling on VMS systems.

     Some of these files may be posted in more than one part in
multiple articles, due to newsreader size restrictions. For these
files, extract each part in turn to a separate file, go into a text
editor and strip off the header and any trailing text, and
concatenate them together. If you are using the Unix "rn" newsreader,
one can have it automatically extract multiple articles, and even
remove their headers and "uudecode" the final result if needed, using
the "e" command. For example, one can do "1200-1203:e" to extract the
four articles starting with article number 1200. Commas in addition
to a dash may be used to specify discontiguous ranges or for when the
parts aren't listed in order.

     All the files described above have been uploaded to Michael
Bulmer's anonymous ftp site for the alt.astrology group at
hilbert.maths.utas.edu.au in the directory /incoming. They should be
moved to the standard /pub/astrology/Astrolog directory there soon.
All of the ephemeris files are already in the subdirectory
/pub/astrology/Astrolog/ephem. For PC's, Astrolog including all
source and ephemeris files are also available at Carl Baewer's Astro
Net-1 BBS at 414-481-9976. Fellow employees at Microsoft connected to
its network can get a copy of this version out of my public share in
the directory \\<myemailname>\soleil!astrolog.


#####################  ASTROLOG 4.30 NEW ADDITIONS  #####################

Here are the new features in version 4.30 that weren't in 4.20:

1. -gp switch: Astrolog can now do parallel and contraparallel
   aspects. Two planets are parallel when they have the same
   declination with respect to the equator, and are contraparallel when
   their declinations are the same amount but on opposite sides of the
   equatorial plane. The -gp switch will turn on the aspect grid just
   like the -g option, but will also set it so the grid contains
   parallel and contraparallel instead of normal aspects. This feature
   works for the -g aspect and relationship aspect grids, and the
   graphics versions of them. The graphic glyph for the parallel aspect
   is two vertical parallel lines, while the glyph for contraparallel
   are two sets of two lines crossing each other, like a tic-tac-toe
   grid. In -gp affected charts, the parallel takes the place of
   conjunction, and contraparallel the place of opposition; all aspect
   orb settings affecting conjunction and opposition will affect the -gp
   aspects in the same way. (Note that the best orb for parallel
   aspects is only a degree or so, hence the default conjunction orb
   will likely be too high, and should be decreased with the -Ao
   switch for -gp grids.) The -A and -RA aspect selection switches will
   also affect -gp, but all aspects beyond the first two are ignored as
   only the parallel and the contraparallel aspect are considered.

2. -ap switch: The -a aspect list can be made to list all parallel
   and contraparallel aspects if invoked as -ap or -a0p, turning on the
   same flag as the -gp switch above. When in effect, the parallel
   aspect setting will also affect -D and -T transit influence charts,
   having them show their aspects in parallel too.

3. -rp0 switch: The -rp switch which does a comparison chart between
   a natal chart, and a natal chart progressed to a particular date, may
   now also be invoked as -rp0, which will do the same thing but as a
   solar arc progression. Before -rp would only do secondary
   progressions. The -yp shortcut switch which is like -rp but assumes
   the current moment now for the chart to progress to, may be done as
   -yp0 in the same manner.

4. -rt switch: The new -rt switch will behave exactly like the
   existing -r0 chart comparison option but with one difference: transit
   restrictions will affect the second chart. With -r0, both charts are
   treated as natal charts and hence the normal -R restrictions apply to
   both, but one may want to have different sets of planets active in
   the two charts, such as in a wheel chart where transiting planets are
   being compared to natal. The -y switch which is like the -r0 switch
   but assumes the current moment now for the second chart, may be done
   as -yt in the same way. For example, to do a graphic bi-wheel
   showing your complete natal chart in the inner wheel, and only the
   current transiting outer planets on the outer wheel, do
   "astrolog -yt yourchart -X -RT0 jup sat ura nep plu".

5. -L0 addition: Graphic astro-graph charts, created by combining the
   -L switch with -X, will be done slightly differently if done as -L0
   -X. A thin horizontal line will be drawn all across the map of the
   world at the latitude of the chart in question. Normally, there's
   only a small dot at the precise location. In astro-graph charts,
   intersections between lines anywhere at the same latitude of a natal
   chart, even if any number of degrees away longitudinally, will affect
   the person, in the same way but not as stong as if they are directly
   under the instersection itself. This small chart modification can
   make finding such intersections easier in the graphics chart, just as
   -L0 for text charts actually lists the latitudes of all crossings.

6. -c addition: Astrolog 4.30 can do another new system of houses.
   The Whole system of houses are where the first cusp is at zero
   degrees of the sign of the Ascendant, and the others are all at the
   beginning of the succeeding signs. This is basically the same as the
   Equal system with all positions shifted back to the start of their
   sign. Whole houses are house system number 11, as in "-c 11"; note
   that this means the "null" system of houses, which used to be 11, is
   now system number 12. Thanks to Andy Gray for telling me about this
   system and how it's computed.

7. -i addition: This is an obscure option and only useful in certain
   circumstances. There's a new "virtual file" called "nul" which may be
   passed to the -i file input or -r switches which take chart info
   files for parameters. The file "nul" means to not change the chart
   info parameters any, but rather leave them with whatever current
   settings they may have or were set to before. This is mainly useful
   with the -r switches if you don't want to have to create two actual
   files to pass in, or use the virtual file "tty" and have to enter in
   data interactively. For example, to see what your biorhythm is like
   for the beginning of December, do "astrolog -qm 12 1994 -rb nul
   yourchart" on the command line and no further input is needed.

8. 'del' key: Pressing the 'delete' key when a graphics screen is up
   will clear the screen, but not redraw the chart right away unless
   animation mode is on. This is most useful for the -Xj "timed
   exposure" streaks in horizon and orbit charts if you want to start a
   new "jet trail" while animating. (This key has actually been in the
   program since version 4.00, but was never documented before.)

--

Here's a summary of the new command switches in Astrolog 4.30 that
weren't in the previous version:

  /gp: Like /g but generate parallel and contraparallel aspects.
  /a[0]p: Like /a but do parallel and contraparallel aspects.
  /rt <file1> <file2>: Like /r0 but treat file2 as transiting.
  Press 'del' to clear the graphics screen and not redraw.


#####################  ASTROLOG 4.30 IMPROVEMENTS  #####################

Here are various improvements made to existing features and
functionality over the previous version:

1. Parsing addition: Parsing of time zone strings, e.g. "GMT", as
   interactively entered or passed to switches such as -z, have been
   improved to accept approximately twice as many zones. Before only the
   main North American zones would be processed, and actual zone offset
   numbers had to be entered for most other places. Now, virtually every
   named zone in the world is valid. Below is a table of all zone
   abbreviations Astrolog accepts. Listed for each zone is its official
   name, its standard abbreviation, its hours before GMT, and its
   standard meridian. For some zones the program will even accept
   special two and one letter abbreviations:

   Time Zone Name           Abbrev.     Hours   Longit.
   Hawaiian Standard Time   HST  HT  H  +10:30  157.5W
   Central Alaska Time      CAT         +10     150  W
   Hawaiian Daylight Time   HDT         + 9:30  157.5W
   Yukon Standard Time      YST  YT  Y  + 9     135  W
   Yukon Daylight Time      YDT         + 8     135  W
   Pacific Standard Time    PST  PT  P  + 8     120  W
   Pacific Daylight Time    PDT         + 7     120  W
   Pacific War Time         PWT         + 7     120  W
   Mountain Standard Time   MST  MT  M  + 7     105  W
   Mountain Daylight Time   MDT         + 6     105  W
   Mountain War Time        MWT         + 6     105  W
   Central Standard Time    CST  CT  C  + 6      90  W
   Central Daylight Time    CDT         + 5      90  W
   Central War Time         CWT         + 5      90  W
   Eastern Standard Time    EST  ET  E  + 5      75  W
   Eastern Daylight Time    EDT         + 4      75  W
   Eastern War Time         EWT         + 4      75  W
   Atlantic Standard Time   AST  AT  A  + 4      60  W
   Atlantic Daylight Time   ADT         + 3      60  W
   Atlantic War Time        AWT         + 3      60  W
   Brazil Standard Time     BST  BT  B  + 3      45  W
   Brazil Daylight Time     BDT         + 2      45  W
   West Africa Time         WAT         + 1      15  W
   Greenwich Mean Time      GMT  GT  G    0       0
   Western European Time    WET           0       0
   Central European Time    CET         - 1      15  E
   Eastern European Time    EET         - 2      30  E
   Russia Zone 3            UZ3         - 4      60  E
   Russia Zone 4            UZ4         - 5      75  E
   Indian Standard Time     IST  IT  I  - 5:30   82.5E
   Russia Zone 5            UZ5         - 6      90  E
   North Sumatra Time       NST         - 6:30   97.5E
   South Sumatra Time       SST         - 7     105  E
   China Coast Time         CCT         - 8     120  E
   Japan Standard Time      JST  JT  J  - 9     135  E
   South Australian Time    SAS         - 9:30  142.5E
   Guam Standard Time       GST         -10     150  E
   Russia Zone 1            UZ1         -11     165  E
   New Zealand Time         NZT  ZT  Z  -11:30  172.5E
   International Date Line  IDL         -12     180  E
   Local Mean Time          LMT  LT  L  Varies  Varies

2. -E extension: The -E text ephemeris chart will now be affected by
   the -b0 display to nearest second setting. Before this would always
   only be in zodiac form to the nearest minute. Now turning on the -b0
   option will display to the nearest second, while allowing the -sh and
   -sd display formats to affect the output too.

3. '+' key extension: In graphics mode, pressing the '+' key and '-'
   key will jump forward by the current animation rate, instead of
   always an amount in days as before. These keys still jump by one day
   like before when animation is off.

4. Font improvement: For PostScript and metafile graphics files, the
   Astro font character for the South Node will be used when the South
   Node is shown and the option to use system fonts is on. Before this
   glyph would always be simulated by Astrolog. Similarly, when house
   cusps are shown, the Nadir will now be represented by the Astro font
   "IC" character.

5. -w improvement: The -w text wheel chart will now show both the
   Daylight flag setting and the actual time zone in the middle of the
   wheel, instead of just the combined offset before GMT as before.

6. Node improvement: When the South Node is being shown in place of
   Lilith for object number 17, the rulerships will be modified
   appropriately instead of remaining with Lilith's as before. The South
   Node's ruling and exalting signs are set to be respectively Leo and
   Pisces, i.e. the opposite of the North Node's.

7. -Xt improvement: The chart info as displayed at the base of
   graphics charts when the -Xt text info setting is active, and at the
   base of wheel charts when the -v0 setting is on, will now show the
   day of the week in addition to everything else, like how the text
   charts do.

8. Sidebar improvement: The Julian Day value as shown in graphic
   wheel chart sidebars is now displayed to an extra digit of precision,
   making it the same amount as shown in the -w text wheel chart.

9. Time zone improvement: When specifying half hour time zones as a
   number instead of using one of the program's abbreviations, the
   correct way is as "n:30" or "n.30", since the parameter is processed
   as hours and minutes. This may not be clear to some who may try
   entering a half hour as "n.50", which will be treated as a fifty
   minute after the hour zone. If the user interactively enters a "n.5"
   zone, the program will display a warning indicating that the input is
   unusual and not a half hour zone.


#####################  ASTROLOG 4.30 BUG FIXES  #####################

Here are problems with version 4.20 that have been fixed in this release:

1. Compiler error: The source code in the file astrolog.h used the
   "signed" keyword. Some compilers don't recognize this keyword and
   hence would give an error. This reference has been removed.

2. PostScript bug: PostScript graphics files containing Astrolog
   generated glyphs that weren't in an info sidebar were 11 times
   smaller than they should be and hence virtually unreadable. This was
   an unfortunate major bug that wasn't in versions before 4.20. These
   glyphs are back to being normal sized, as before and as on the screen
   and in the other graphics file formats.

3. PostScript overflow: Printing PostScript graphics charts of the
   standard wheel with the info sidebar active and not using system
   fonts, would make some printers run out of memory yielding an error
   or just cause output never to appear. Files now tell the printer to
   flush more often to avoid too much of a buildup. The too high limit
   was actually in versions before 4.20, but the small amount of
   additional output added to the sidebar in 4.20 was just enough to
   push some printers over the edge.

4. -Xw crash: Doing a graphics chart under X Windows with the chart
   dimensions set to zero using the -Xw switch would make the program
   abnormally terminate with a CreateWindow error. Version 4.20
   introduced the feature for PC's where a size of zero will result in a
   default size being picked. The problem was the default astrolog.dat
   for Unix users had a -Xw passed zero in it, unfortunately causing the
   default running of X Window graphics to always fail on startup. Now
   if -Xw is passed zero in X Windows, it will use the compile time
   default window size.

5. -L crash: Graphic astro-graph charts as brought up with the -L -X
   switch combination, would crash with a division by zero error for
   certain charts. Another unfortunate bug that wasn't in versions
   before 4.20, but now corrected.

6. -L glitch: Graphic astro-graph charts as brought up with the -L -X
   switch combination, would sometimes show zenith latitude dots above
   or below the bounds of the world map among the labelling information,
   for certain fixed stars near the poles. Minor, but such dots are only
   plotted now if their latitudes are within the bounds of the map shown.

7. -o0 omission: Reading in of old style pre-version 4.20 -o0
   position files didn't take into account the rearranging of object
   indexes in version 4.20, resulting in incorrect positions for objects
   17 through 20. Similarly, the reading in of these files wouldn't set
   the positions of the cusp objects (indexes 21 through 30), leaving
   them all at zero Aries. All positions are filled out optimally now.

8. -o0 bug: Reading in of old style -o0 position files would
   sometimes generate bogus declinations of nearly 360 degrees, instead
   of the usual -90 to +90 limits. This would shift the -v chart columns
   a character too far to the right as well. Actually, the old -o0 files
   did write out some negative declinations as that amount off of 360,
   but older versions would convert appropriately. The current version
   will now adjust as needed in the same way.

9. -z0 bug: The -z0 Daylight time setting switch would in addition to
   setting the Daylight value, bogusly always subtract one from the
   current time zone setting as well. Fortunately this didn't affect
   many because even though there's a -z0 in the default astrolog.dat
   file, after it is an explicit setting of the -z time zone value so
   the first change didn't affect anything. Related to this, the -z0
   switch would only set the default Daylight time value, and not that
   in the current chart too, like the other -z switches do. Trust that
   -z0 changes both the current and default Daylight values now, and
   doesn't affect any other settings.

10. -qa bug: The -qa switch accepting most every chart info parameter
   on the command line, wouldn't do anything with the Daylight time
   setting. Hence if the Daylight time setting were on, -qa in version
   4.20 would result in a chart different than in previous versions.
   The -qa switch when encountered now turns off the Daylight time flag.

11. -E bug: The graphic ephemeris chart as accessed by combining the
   -E switch with -X, would sometimes alter the info in the current
   chart. The ephemeris chart itself would be correct, but pressing a
   key to switch to another chart type would result in the new chart
   being an hour off the expected time. This was due to the -E chart,
   which casts many subcharts within it, not fully restoring the
   original chart info afterward. Trust that switching to and from a
   graphic ephemeris chart won't change anything now.

12. Config file glitch: The default version 4.20 astrolog.dat config
   file was misleading in that changing the -b ephemeris file setting
   line wouldn't affect anything since the next line in the file was a
   -b0 to set the display to nearest second flag. This would clobber the
   -b setting since the -b0 switch also sets the ephemeris setting. The
   default astrolog.dat file now has these two lines swapped so
   ephemeris files can be activated independent of the -b0 line.

13. Time zone glitch: When specifying local mean time, i.e. "LMT", as
   a time zone value, the chart would be done correctly, but the time
   zone would be displayed as a bogus -24 hour offset in the chart info
   headers. This offset will now be displayed as the correct local hour
   offset based on the longitude of the chart cast.

14. -i bug: When in the -Q loop mode, attempting to read a
   non-existant file with switches such as -i or -r, wouldn't just say
   the file was not found, but would try to access the non-existant file
   and then usually say it's not in any valid format. Such a file not
   found error will now stop right away and return to the outer -Q loop.

15. -V omission: For PC's, the -V text row selection switch wouldn't
   be compiled into builds done with the Borland compiler. The -V switch
   was only available in versions done with the Microsoft compiler. This
   option is now available to both. Note however that in Borland builds
   only the 25 and 50 line modes are available; attempting to enter a 43
   line mode will go to 50.

16. 'p' key glitch: When in animation mode but having been paused
   with the 'p' key, any screen update would cause the chart info to be
   changed by one animation unit, as if animation were temporarily
   unpaused. This will no longer happen, with no chart adjusting
   happening until pause mode is really turned off.

17. -HI typo: The -HI general interpretation table had a misplaced
   article in the planet meanings. The sentence describing the North
   Node should have started with "the", while the one describing Lilith
   should not have started with "the". There were also some typos in the
   -H switch list, where the -M macro switch entry said there were only
   12 macro slots when there are really 48, and the -C switch only
   mentioned minor cusps when it really activates all 12. These have all
   been fixed.

18. -ga glitch: The graphic aspect and midpoint grid, when indicating
   applying and separating aspects, accessed by combining the -ga switch
   with -X, would indicate applying orbs with a '-' and separating with
   a '+'. These orbs are now indicated with an 'a' and 's', like in the
   graphic relationship grid chart and in all the text grids.


#####################  4.30 COMPILING INSTRUCTIONS  #####################

     Compiling Astrolog version 4.30 is identical to compiling
previous versions: First edit the top of the file astrolog.h,
commenting out any of the #define's which set various features that
aren't valid on your system or you don't want, and changing default
values and directories to your preference. (Just see the
self-explanatory section comments in this file.) Then in the same
manner, also edit these default parameter values in the astrolog.dat
settings file to your liking, at least the location and time zone
values. (I also really recommend turning on the -k Ansi color feature
if your system will support it - text charts look so much nicer in
color!) Note that all old version 4.20 makefiles and astrolog.dat
files are fully compatible with 4.30.

     For Unix systems, just run the command 'make' in the directory
containing the included Makefile. (You can also always compile by
hand: "cc -O -c *.c; cc -o astrolog *.o -lm -lX11" will do it; just
make sure to compile each source file and link them together at the
end with the math library, and if applicable the X11 library.)

     It is possible to compile Astrolog on a VMS system, even with
its X windows functionality. There's an example of a simple VMS .COM
file included which can automatically compile and link Astrolog on
VMS, which should work for version 4.30, although you might need to
include "/noopt" after the CC's since some compilers may cause the
program to pass parameters incorrectly with optimization on.

     Compiling Astrolog on a PC is easy too. One can usually do it by
simply compiling each file in turn and then linking them all
together. In some cases you don't have to worry about explicitly
mentioning things like the math library if your environments are set
up properly. (I used the Microsoft C7 compiler to generate the ready
to run PC executable, but I linked with the improved graphics.lib
included with Microsoft Visual C 1.00 (C8) for the DOS graphics
features.) If you have the nmake utility, the makefile included in
the zip archive will nicely compile and link astrolog 4.30 on a PC,
with properly set options and all. I compiled under the Large memory
model, with 16K bytes of stack space. The default directory for chart
info files, the astrolog.dat file, and the ephemeris files in the
official PC executable are all set to C:\ASTROLOG, although this
location can be overridden with several environment variables if set.
The time and location defaults are set to my own area, but you can
easily override them with your own values in the astrolog.dat file.

     Astrolog 4.30 may be also compiled for DOS using the Borland
Turbo C/C++ compiler. Graphics support works too using the Borland
BGI graphics libraries. If you want to compile in Borland graphics,
uncomment the "#ifdef BGI" line in astrolog.h (instead of the "#ifdef
MSG" for the Microsoft graphics.lib). If you don't want to compile in
graphics, just make sure the "#ifdef PC" line is uncommented (there
are some #ifdef __TURBOC__ lines in the sources to do non-graphical
Borland specific things). To actually compile, use the "makefile.bgi"
makefile, and invoke it with "make /f makefile.bgi" (or rename it to
be just "makefile" and run just "make"). Note that the file
"makefile.cfg" is also needed and is used during compilation by the
main makefile. If you are compiling in graphics, you will need to
have object files for all six of the BGI drivers in the directory you
compile in. To make these files, go into your BGI directory (e.g.
"CD C:\BORLANDC\BGI") and do the command "BGIOBJ /F <file>". Do this
six times, where <file> is "ATT", "CGA", "EGAVGA", "HERC", IBM8514",
and finally "PC3270".

************************************************
Astrolog 4.40 posted Sun, 12 Feb 95 04:28:11 GMT
************************************************

####################  ASTROLOG 4.40 UPDATE FILE  #####################

     Happy Valentine's Day everyone! :) Sure Mercury may still be
retrograde, but I always spend the last few weeks of a release doing
documentation, i.e. polishing and finishing things from the past that
such times are good for. Besides, a much stronger influence for me
now is that my first Jupiter return since 1983 is next week! Anyway:

     This file describes the improvements and fixes made in Astrolog
4.40, over the previous version, 4.30, released a little over two
months ago. This update includes two major additions: First, Astrolog
now supports the Macintosh platform, where the source code compiles
for it without problem, and official ready to run Macintosh
executables are available. Second, Astrolog may now compute a wide
selection of Arabic parts. Other than that there are no major changes
other than the usual batch of improvements and fixes, so this is
another stable version.

     If you are reading this document as posted in the newsgroup
alt.astrology, this release consists the following files, each posted
as a separate article or group of articles:

1. "Update.440" - A text file describing new additions to Astrolog
   4.40 made over the previous version (what you're reading now).
2. "Readme.440" - A text file describing Astrolog in general and what
   the program offers and can do, for those interested in a summary.
3. "ast44exe.zip" - A uuencoded, zip archive containing a DOS executable
   ready to run on PC's, config file, icon file, two ephemeris files,
   a Readme, small summary file, Helpfile, and this Update file.
4. "ast44mac.sea" - A BinHex 4.0'ed self extracting archive program of the
   Macintosh executable, config file, two ephemeris files, Readme, summary,
   Helpfile, and this Update file (like ast44exe.zip but for the Mac).
5. "ast44unx.shr" - A uuencoded, compressed Unix shell archive containing
   source code, makefiles, Readme, summary, Helpfile, and this Update file.

     In addition, there are several other relevant files, which have
not been posted so as not to waste too much newsreader bandwidth.
They may be obtained by other means which will be described:

6. "ast44src.zip" - A uuencoded, zip archive containing the source code,
   and makefiles (not necessary unless you want to compile on a PC).
7. "History.440" - A text file describing additions in all previous
   releases (only useful if upgrading from several versions ago).

     The "Helpfile" consists of a large comprehensive documentation
file of all of Astrolog's features. The "config file" is a default
settings file called astrolog.dat (not necessary to have to run but
useful). The "icon file" is a Microsoft Windows icon that can be used
when invoking Astrolog from MS Windows. The "summary file" is a
file_id.diz like that included in many zip distributions, briefly
describing the program in whole. The "Update file" is again this
document. The "ephemeris files" are two binary files used for more
accurate calculations of planetary positions (again optional but nice
to have). The "source code" consists of 24 files (21 "C" program
files and three header #include files). The "makefiles" are five
files: a generic makefile for Unix systems with their "make" command,
a nmakefile for Microsoft PC compilers, a makefile for Borland PC
compilers (with a second subfile to go with it), and a command script
for compiling on VMS systems.

     Some of these files may be posted in more than one part in
multiple articles, due to newsreader size restrictions. For these
files, extract each part in turn to a separate file, go into a text
editor and strip off the header and any trailing text, and
concatenate them together. If you are using the Unix "rn" newsreader,
one can have it automatically extract multiple articles, and even
remove their headers and "uudecode" the final result if needed, using
the "e" command. For example, one can do "1200-1203:e" to extract the
four articles starting with article number 1200. Commas in addition
to a dash may be used to specify discontiguous ranges or for when the
parts aren't listed in order.

     All the files described above have been uploaded to Michael
Bulmer's anonymous ftp site for the alt.astrology group at
hilbert.maths.utas.edu.au in the directory /incoming. They should be
moved to the standard /pub/astrology/Astrolog directory there soon.
All of the ephemeris files are already in the subdirectory
/pub/astrology/Astrolog/ephem. For PC's, Astrolog including all
source and ephemeris files are also available at Carl Baewer's Astro
Net-1 BBS at 414-481-9976. Fellow employees at Microsoft connected to
its network can get a copy of this version out of my public share in
the directory \\<myemailname>\soleil!astrolog.


#####################  ASTROLOG 4.40 MAIN FEATURES  #####################

MACINTOSH SUPPORT:

     Macintosh Version: Astrolog is officially supported and runs on
the Mac. The standard ready to run Mac executable is distributed in a
BinHex 4.0'ed self extracting archive. To unpack it, use a utility
that can un-BinHex such files to generate the self extracting
archive, and then double click the archive program to unpack the
executable, documentation, and other such files. I used Compact Pro
1.34 to create the Mac archive, a useful utility that can also BinHex
and un-BinHex files. The executable should run on most any 68K
processor Mac, and will run on PowerMacs in emulation mode. It
requires 750K of heap to run, with 1.5M preferred.

     The Mac Astrolog executable has the same icon as the PC version,
a ringed planet with tilted red rings and surrounding stars, except
the planet body is tan (gray in four bit color mode) instead of
yellow. It and the other files are unpacked into their own "Astrolog
4.40" folder, where the folder's icon has the same ringed planet
overlaying it. When the program is actually run, you'll be prompted
to enter command switches in a terminal window. There aren't many
options available on the Mac menu bar, although you can File Quit and
copy selected text to the clipboard with it. The window doesn't have
scroll bars for when text runs off the top of the screen, but the -YQ
pager will prompt you to press return to continue scrolling if
needed, and the -os switch can be used to send all the output to a
file in your Astrolog folder. When the program terminates, the window
title will prompt you to press return one more time to exit before
the window actually goes away.

     The program can read from the astrolog.dat file, and will use
the ephemeris files for very accurate calculations if -b is in
effect. These and chart info files are the same and fully compatible
with such files from PC and Unix versions. All files must however be
in the Astrolog folder for the program to find them. The -n chart for
now switch will work accurately provided the current time and zone
are set up correctly in the Control Panels. The -k Ansi text feature
does exist in Mac Astrolog, but the terminal won't be able to display
the control codes properly, so this isn't really useful unless the
output is sent to a file and later displayed in an environment that
understands the codes and can show the colored text. Mac Astrolog
doesn't yet support any interactive screen graphics. One can however
create nice graphics files using all of the programs -X graphics
switches. PostScript, Windows bitmaps, or Windows metafiles generated
may then be inserted into a program such as MS Word for the Macintosh
and viewed or printed.

     Macintosh Compilation: Astrolog's source code can be compiled
and run on the Macintosh perfectly with no special modifications
needed. In making the official Mac executable, I used the compiler
Symantec C/C++ 7.0 for the Mac. When compiling, uncomment the new
"MAC" compile time option in astrolog.h, and turn on the "far data"
flag in the compiler. Other Astrolog compile time option settings
should be SWITCHES off, ENVIRON off, and PROTO off.

--

ARABIC PARTS:

     -P switch: Astrolog has the ability to display the positions of
177 Arabic parts! The "ARABIC" compile time option in astrolog.h may
be commented to leave this feature out if you don't want it. Display
a chart with the new -P switch to show each part and its position,
one per line for the chart in question. The listing contains five
columns: First is the full name of the part, i.e. the part of
whatever. Second is its position in the zodiac (which will be shown
to the nearest arc second when the -b0 setting is active). Third is
the house the location falls in.

     Fourth is the formula used to compute the part, given so one
knows what the program is doing and to aid in interpretation. The
formula is expressed in the form <term1> - <term2> + <term3>. Also
included is a flag indicating whether the formula should be flipped
for night births, i.e. charts where the Sun is below the horizon in
houses 1 through 6. For night charts where the flip status is "Y",
the real calculation done is <term1> + <term2> - <term3>. Each <term>
consists of an "object" plus a "modifier". The object is usually
given as the abbreviation of a planet, or it may be a number from 1
to 12 indicating that house cusp. The object may also be "For" or
"Spi" meaning it's the position of the Part of Fortune or Part of
Spirit, or it may reference an actual degree in the zodiac. The
modifier indicates how to get the actual position of the term from
the object. It's usually blank meaning the term is just the position
of the object. It may be "H", meaning the term is the location of the
house the given object is in; it may also be "R", meaning the term is
the location of the planet ruling the house the given object is in;
it may be "D", meaning the term is the location of the planet that's
the dispositor of the given object, i.e. ruler of its position; or it
may be "&", meaning the term is 10 degrees beyond the position of the
given object.

     The last column is the "type" of Arabic part. Most parts are
normal psychological indicators like the Part of Fortune, and don't
have anything listed here. Seven parts reference elements and weather
and are used for charts cast at the time of equinoxes, solstices, and
New and Full moons, and are indicated by "Evnt". 21 parts reference
crops and are parts used in the commodities market for
prognostication, and are indicated by "Comm". Finally 16 parts are
specially used for Horary questions and are indicated by "Hora".
Special thanks to Jennierose Lavender for making me aware of most of
the 177 parts included here and how they are computed.

     The -P switch accepts an optional parameter to indicate how many
of the Arabic parts to show. When given, only the first 'n' parts
will be displayed. As the special part types are shown after all the
standard ones, this may be used to restrict parts you don't care
about. For example, "-P 161" will leave off the horary parts, "-P
140" will leave off the horary and crop parts, and "-P 133" will
leave off the horary, crop, and event parts. Related to this,
standard -R object restrictions will affect the parts shown; if a
planet is restricted, than any parts referencing it in its formula
will be left out.

     -P[z,n,f] switch: As with the fixed stars, the Arabic part
listing may also be sorted in various useful orders. Invoke the -P
switch as -Pz and they will be displayed in order of position, with
parts in Aries first and Pisces last. Invoke it as -Pn and the parts
will be sorted by name, with the part of Accomplishment first and
Worldliness last. Finally, invoke it as -Pf and they will be ordered
by formula, where the ordering reflects the contents of each term,
with Ascendant and early planet terms first, and cusp and other
special ones last. Note that regardless of the ordering, passing a
value to -P will still leave off the same parts as in the standard
display. Especially with -Pz and -Pf, notice that several parts may
have the same position. Some formulas differ only in their night flip
flag, meaning they will be the same for day charts, while a few parts
of different category types can even have the same formula period.

     -P0 switch: If the -P switch is invoked as -P0 (or -Pz0, etc)
the output will be identical to before, except that the formula
column will exchange the positions of the second and third terms,
i.e. instead of showing as <term1> - <term2> + <term3>, -P0 will
show <term1> + <term3> - <term2>. This isn't too useful in itself,
unless combined with -Pf, where -Pf and -Pf0 sort differently giving
different terms priority. Here's how to conceptualize formulas: if
the planets were rotated through the zodiac so that object2 is at the
position of object1, then the new position of object3 is the part.
For example, with the Part of Fortune being Asc - Sun + Moo, if you
rotate your chart so that the Sun is on the Asc, then the Moon's
position is the POF, Mercury's position is the Part of Commerce, its
formula being Asc - Sun + Mer, and so on. The default -Pf sorting
allows one to easily see, if one rotates this planet on the Asc, what
parts indicate the positions of the other planets. The -Pf0 ordering
allows one to easily see, where is the position of a particular
planet, after all rotations where some other planet is on the Asc.

     -YP <value> switch: This is an obscure -Y prefix switch allowing
one to force whether night chart formula inverting is done, since
sources differ on which parts are best inverted. This option takes
one parameter, either -1, 0, or 1. Zero is the default setting,
meaning the program will invert only those parts that have the flip
flag set, for charts cast at night. If the setting is 1, then no
inverting will ever be done for any part, even in night charts. If
the setting is -1, then inverting will always be done for every part,
even in day charts. The last setting will even invert the computation
of the Part of Fortune, i.e. object 18, in the main object list. Note
that the POF does appear both in the -P full part list, as well as
being the only part that's also a standard object, meaning it's the
only part one may automatically do aspects or transits to. Note also
that the -P list POF inverts for night charts, while the standard
object doesn't; Astrolog has never inverted its computation of this
object in previous versions and I didn't want to suddenly change it.


#####################  ASTROLOG 4.40 NEW ADDITIONS  #####################

Here are other new items in version 4.40 that weren't in 4.30 and before:

1. -EY <years> switch: The -E ephemeris list, which does an ephemeris
   for the month of the current chart by default, and the whole year
   when done as -Ey, may now do an ephemeris for a range of years all at
   once. Invoke the switch as -EY, and pass a parameter indicating the
   number of years to span with the ephemeris, and it will be done,
   starting with the year in the current chart. For example, to do an
   ephemeris for all this century from 1900 through 1999, do "astrolog
   -qy 1900 -EY 100".

2. -dY <years> switch: The -d search for aspects and events among
   transiting planets during a span of time switch, which displays
   what's going on for the day of the current chart by default, the
   month when done as -dm, and year when done as -dy, may now do a range
   of years all at once. Invoke the switch as -dY, and give a parameter
   indicating the number of years to span, and it will be done, starting
   with the year in the current chart. For example, to display the times
   of all New and Full moons for the rest of the century (1995 through
   2000), do "astrolog -n -dY 6 -R0 sun moo -A opp". (This, and -EY
   above, are like the existing -tY transit search feature which also
   allows doing a range of years in addition to a single year or month.)

3. -dpY <year> <years> switch: Related to above, the -dp switch to
   display all aspects within one's progressed chart for a span of time,
   may also be done for a range of years. Invoke the switch as -dpY, and
   pass in not only the year to search within as with -dpy, but the
   number of years to scan from then. For example, do display the times
   of all aspects within your progressed chart for the next decade, do
   "astrolog -i yourchartfile -dpY 1995 10".

4. -r, -p switch extensions: This is a command switch trick only
   useful when doing multiple charts in a -Q loop, or when passing extra
   command lines to a graphics screen with the return key or through
   macros. Astrolog's -r relationship chart switches set relationship
   chart mode, but there's no easy way to return to single chart mode.
   Yes when a graphics screen is up, the 'c' key will toggle
   relationship comparison mode, but that's not available from the
   command line. If the -r switch is invoked as "_r" with the underscore
   reset prefix, whatever relationship mode will be canceled. Unlike
   the standard -r switches, _r takes no file parameters. Related to
   this, the -p switch to progress all charts to whatever time, may be
   turned off by being done as _p, again with no parameters needed.

5. -> <file> switch: The new -> switch taking one parameter, is used
   to send chart text output to the given file. This is identical to the
   existing -os switch, and is included as a convenience with its
   similarity to the ">" output redirection featured in many shells. As
   with all switches, one may leave off the dash and invoke it as just
   ">". When just ">" is included on the command line, the system's own
   output redirection will tend to be used. This switch allows one to
   also include ">" when prompted for command lines within the program,
   or when running from MS Windows, where the shell plays no part.

6. -x switch extension: The -x harmonic chart feature has allowed one
   to do harmonic charts up to the 360th. This limit has been increased
   for those who want to do even more extreme harmonics, where the -x
   switch now accepts values up to 30000 for any harmonic to the 30,000th!

7. Parsing addition: When processing time zone values as entered by
   the user or given in switches such as -z, a couple new time zone
   abbreviations will be accepted, over the several dozen already
   recognized. They are:

   Time Zone Name           Abbrev.     Hours   Longit.
   Alaska Hawaii Standard   AHS         +10     150  W
   Alaska Hawaii Daylight   AHD         + 9     150  W

--

Here's a summary of the new command switches in Astrolog 4.40 that
weren't in the previous version:

  -dY <years>: Like -d but search within a number of years.
  -dpY <year> <years>: Like -dp but search within number of years.
  -EY <years>: Display planetary ephemeris for a number of years.
  -P [<parts>]: Display list of Arabic parts and their positions.
  -P0 [<parts>]: Like -P but display formulas with terms reversed.
  -P[z,n,f]: Order parts by position, name, or formula.
  -> <file>: Redirect output of text charts to file.
  -YP <-1,0,1>: Set how Arabic parts are computed for night charts.


#####################  ASTROLOG 4.40 BUG FIXES  #####################

Here are problems with version 4.30 that have been fixed in this release:

1. -sh bug: The -sh switch to display zodiac positions in hours and
   minutes form would display the minutes incorrectly, specifically
   about 2/3 of what the value should be. The hours were still correct,
   as are the related standard displays in the -sd and -sz switches.

2. -rm error: Time space midpoint charts as accessed with the -rm
   switch would be slightly off from the exact middle of the times in
   the two charts. This offset would be anywhere from 0 to 40 minutes of
   time after the precise correct point. (An easy way to see this was to
   do a -rm chart between your natal chart and itself, and see that the
   result wasn't your exact chart.) These charts are now accurate.

3. -rp0 bug: The -rp0 switch to compare a solar arc progressed chart
   to natal, taking two chart file arguments, would actually require
   four, ignoring the last two arguments or giving an error if the
   command line wasn't long enough. This switch now takes just two
   arguments as expected like the other -r relationship chart options.

4. -p error: Most of the various progression charts in the program
   were only accurate to the nearest day. For example, the -pn switch to
   show your chart progressed to the current moment, would only be to
   the current date. Standard progressed charts change slowly, but for
   the fast moving Moon this could offset its position by a couple arc
   minutes. Another example, the -Tp progressed to natal aspect
   influence list would only compare from midnight on the day in the
   natal chart instead of the actual chart. (An easy way to see this was
   to do a -rp progressed to natal comparison chart from your natal
   chart to itself, and see the result wasn't your exact chart.) Various
   improvements have been done so all these charts should be exact.

5. -rc bug: Some house cusps in -rc composite charts would be 180
   degrees opposite the expected position when comparing charts with
   nearly opposing house locations. This would only be visible in charts
   where the cusps are treated as objects, e.g. with aspects to them.
   The house lists as used in the -v or -w text charts would be
   corrected appropriately to prevent out of order composite cusps. Now
   both sets are adjusted.

6. Return key bug: Pressing the return key when a graphics chart was
   up, to be able to enter a command line to change settings, and doing
   any -r relationship chart switch, wouldn't work as the new chart
   files specified would not ever get loaded in. The -r switch here now
   will work as well as it does everywhere else.

7. Return key bug: Pressing the return key when a graphics chart was
   up to enter a command line, and displaying the -HO object list table,
   would distort the time and location of the current chart being
   displayed. This would only happen if fixed stars were also active.

8. -M bug: Running a defined -M macro on the command line would
   clobber the currently set chart information with one for the year
   2000. This would only happen on the initial command line and not in
   later command line promptings such as in -Q loops, and only affected
   switches before the start of the macro, e.g. "astrolog -i file -M 1"
   wouldn't do the chart for file, but "astrolog -M 1 -i file" would work.

9. Display bug: The feature of being able to display static help
   tables along with actual charts was broken, e.g. "-H -i file" should
   display the list of switches and then the chart in the file, but
   would only display the switch list in version 4.30 (and 4.20).


#####################  ASTROLOG 4.40 PROGRAM CHANGES  #####################

As with every release, a few changes that aren't feature additions or
bug fixes were made to this version, where certain old assumptions
are no longer valid. A list of these (which aren't useful to be aware
of unless you have used previous versions of the program) follows:

1. New source files: The source code for Astrolog 4.40 contains two
   new files. The file data2.c has been split off from data.c, and the
   file extern.h has been split off from astrolog.h. Also, the file
   placalc2.c is compiled separately, instead of just being #included
   into placalc.c. All this means of course that makefiles from previous
   releases aren't compatible with this version.

2. Sidebar change: The info sidebar in graphic wheel charts, to the
   right of the house cusp positions, now displays the sign glyph of the
   sign the cusp is in, instead of always just the twelve signs in
   order. People seem to prefer the new way and think it more logical.

3. Previous chart change: The initial contents of the "previous"
   chart as accessed with "-i set" has been changed from the
   astrological "chart" of version 4.30 of the program to the release of
   this version 4.40. This chart is now set to the exact time of the
   Aquarius New Moon, specifically for 2:48pm PST (8 hours before GMT) on
   Monday, January 30, 1995 for here in Seattle, WA (122W20, 47N36).


#####################  4.40 COMPILING INSTRUCTIONS  #####################

     Compiling Astrolog version 4.40 is identical to compiling
previous versions: First edit the top of the file astrolog.h,
commenting out any of the #define's which set various features that
aren't valid on your system or you don't want, and changing default
values and directories to your preference. (Just see the
self-explanatory section comments in this file.) Then in the same
manner, also edit these default parameter values in the astrolog.dat
settings file to your liking, at least the location and time zone
values. (I also really recommend turning on the -k Ansi color feature
if your system will support it - text charts look much nicer in color!)

     For Unix systems, just run the command 'make' in the directory
containing the included Makefile. (You can also always compile by
hand: "cc -O -c *.c; cc -o astrolog *.o -lm -lX11" will do it; just
make sure to compile each source file and link them together at the
end with the math library, and if applicable the X11 library.)

     It is possible to compile Astrolog on a VMS system, even with
its X windows functionality. There's an example of a simple VMS .COM
file included which can automatically compile and link Astrolog on
VMS, which should work for version 4.40, although you might need to
include "/noopt" after the CC's since some compilers may cause the
program to pass parameters incorrectly with optimization on.

     Compiling Astrolog on a PC is easy too. One can usually do it by
simply compiling each file in turn and then linking them all
together. In some cases you don't have to worry about explicitly
mentioning things like the math library if your environments are set
up properly. (I used the Microsoft C7 compiler to generate the ready
to run PC executable, but I linked with the improved graphics.lib
included with Microsoft Visual C 1.00 (C8) for the DOS graphics
features.) If you have the nmake utility, the makefile included in
the zip archive will nicely compile and link astrolog 4.40 on a PC,
with properly set options and all. I compiled under the Large memory
model, with 16K bytes of stack space. The default directory for chart
info files, the astrolog.dat file, and the ephemeris files in the
official PC executable are all set to C:\ASTROLOG, although this
location can be overridden with several environment variables if set.
The time and location defaults are set to my own area, but you can
easily override them with your own values in the astrolog.dat file.

     Astrolog 4.40 may be also compiled for DOS using the Borland
Turbo C/C++ compiler. Graphics support works too using the Borland
BGI graphics libraries. If you want to compile in Borland graphics,
uncomment the "#ifdef BGI" line in astrolog.h (instead of the "#ifdef
MSG" for the Microsoft graphics.lib). If you don't want to compile in
graphics, just make sure the "#ifdef PC" line is uncommented (there
are some #ifdef __TURBOC__ lines in the sources to do non-graphical
Borland specific things). To actually compile, use the "makefile.bgi"
makefile, and invoke it with "make /f makefile.bgi" (or rename it to
be just "makefile" and run just "make"). Note that the file
"makefile.cfg" is also needed and is used during compilation by the
main makefile. If you are compiling in graphics, you will need to
have object files for all six of the BGI drivers in the directory you
compile in. To make these files, go into your BGI directory (e.g.
"CD C:\BORLANDC\BGI") and do the command "BGIOBJ /F <file>". Do this
six times, where <file> is "ATT", "CGA", "EGAVGA", "HERC", IBM8514",
and finally "PC3270".

     Compiling Astrolog 4.40 on the Macintosh was described earlier.

************************************************
Astrolog 5.00 posted Mon, 24 Jul 95 10:55:53 GMT
************************************************

####################  ASTROLOG 5.00 UPDATE FILE  #####################

     Happy Sun entering Leo all! This file describes the improvements
and fixes made in Astrolog 5.00, over the previous version, 4.40,
released a little over five months ago. This update includes one
major addition: Astrolog now supports the MS Windows platform, with a
easy to use interface of menus and dialogs, where the source code
compiles for it and official ready to run Windows executables are
available for it in addition to the other platforms! Another
significant addition is that accurate ephemeris files are now
available for the four asteroids too. Other than that there are no
major changes other than the usual batch of fixes and improvements.

     If you are reading this document as posted in the newsgroup
alt.astrology, this release consists the following files, each posted
as a separate article or group of articles:

1. "Update.500" - A text file describing new additions to Astrolog
   5.00 made over the previous version (what you're reading now).
2. "Readme.500" - A text file describing Astrolog in general and what
   the program offers and can do, for those interested in a summary.
3. "ast50win.zip" - A uuencoded, zip archive containing a Windows
   executable ready to run on any Windows system, a configuration file,
   three icon files, three ephemeris files, a Readme, small summary file,
   a comprehensive Helpfile manual, and this Update file.
4. "ast50dos.zip" - A uuencoded, zip archive containing a DOS executable
   ready to run on PC's, config file, icon files, three ephemeris files,
   a Readme, small summary file, Helpfile, and this Update file.
5. "ast50mac.hqx" - A BinHex 4.0'ed self extracting archive program of the
   Macintosh executable, config file, three ephemeris files, Readme,
   summary, Helpfile, a resource file, and this Update file.

     In addition, there are several other relevant files, which have
not been posted so as not to waste too much newsreader bandwidth.
They may be obtained by other means which will be described:

6. "ast50unx.shr" - A uuencoded, compressed Unix shell archive containing
   source code, makefiles, Readme, summary, Helpfile, and this Update file.
7. "ast50src.zip" - A uuencoded, zip archive containing the source code,
   and makefiles (not necessary unless you want to compile on a PC).
8. "History.500" - A text file describing additions in all previous
   releases (only useful if upgrading from more than one version ago).

     The "Helpfile" consists of a large comprehensive documentation
file of all of Astrolog's features. The "config file" is a default
settings file called astrolog.dat (not necessary to have to run but
useful). The "icon files" are Microsoft Windows icons from the
Windows executable. The "summary file" is a file_id.diz like that
included in many zip distributions, briefly describing the program in
whole. The "Update file" is again this document. The "ephemeris
files" are three binary files used for more accurate calculations of
planetary positions (again optional but nice to have). The "source
code" consists of 28 files (23 "C" program files, four header
#include files, and a resource script file). The "makefiles" are six
files: a generic makefile for Unix systems with their "make" command,
a project makefile for Microsoft Windows compilers, a nmakefile for
Microsoft DOS compilers, a makefile for Borland PC compilers (with a
second subfile to go with it), and a command script for compiling on
VMS systems.

     Some of these files may be posted in more than one part in
multiple articles, due to newsreader size restrictions. For these
files, extract each part in turn to a separate file, go into a text
editor and strip off the header and any trailing text, and
concatenate them together. If you are using the Unix "rn" newsreader,
one can have it automatically extract multiple articles, and even
remove their headers and "uudecode" the final result if needed, using
the "e" command. For example, one can do "1200-1203:e" to extract the
four articles starting with article number 1200. Commas in addition
to a dash may be used to specify discontiguous ranges or for when the
parts aren't listed in order.

     All the files described above have been uploaded to the
alt.astrology anonymous ftp site at ftp.magitech.com in the
directory /astrology/incoming. They should be moved to the standard
/pub/astrology/astrolog directory there soon. Most of the ephemeris
files are already in the subdirectory /pub/astrology/Astrolog/ephem.
For PC's, Astrolog including all source and ephemeris files are also
available at Carl Baewer's Astro Net-1 BBS at 414-481-9976. Expect
Astrolog 5.00 to appear on SimTel and other sites soon as well.


#####################  ASTROLOG 5.00 FOR WINDOWS  #####################

GENERAL INFORMATION:

     First, users of previous versions of the program should find
upgrading to Astrolog for Windows easy and familiar. All the old text
and graphics chart displays are still available and look the same.
All chart info and command files still work and haven't changed
format any. All the command line switches are still available and
work and can even be passed to the program while running to do things
if you prefer, in addition to the more user-friendly interface being
available. All the keypress commands one could press while an
interactive graphics screen was up are set as shortcuts for
equivalent operations here. Basically, new features and a new
interface are presented, while all the old stuff is still available! :)

     Not counting the About box and the standard Windows open file
and save file items, Astrolog 5.00 contains 14 dialogs, a couple of
which are also shared by more than one command. There are nine top
level menus not counting the system menu, which have among them 106
different options, or 212 counting all second level submenus! In
using the dialogs, one should specify or enter the appropriate
settings, and then press "Ok" for them to take effect, or "Cancel" to
discard any changes made. On pressing "Ok", the program will check
all the fields for validity, and display an appropriate error message
and not close the dialog if anything is out of range, giving a chance
to correct or cancel. For numeric controls, note that if the existing
value is displayed with a decimal point in it, floating point numbers
are legal, while if there isn't one then integers are required.

     Every menu command has an accelerator, i.e. an underscore below
a letter, where when the menu is displayed one may press that letter
to select that option (pressing Alt plus the appropriate letter may
be used to pull down a top level menu). In addition every menu option
has a direct keyboard shortcut, where pressing the appropriate key
will invoke the command directly without having to pull down a menu.
To the right of each menu option is listed the key or key combination
that's its shortcut. Note that a capital letter here means the shift
key needs to be down, e.g. "Alt+o" means hold down the Alt key and
press "o", while "Alt+O" means hold down both the Alt and Shift keys
and then press "O".

     Astrolog tries to be smart about what you're trying to do when
menu options are selected, and may automatically change settings to
make the appropriate thing happen. For example, as with the DOS and X
Windows versions, the charts in the Windows version can be divided
into "text mode" i.e. just text, and "graphics mode" charts, where
the first option on the View menu will switch between them. Charts
like transit lists only exist in text form, so when selected you'll
automatically leave graphics mode if in it; likewise, selecting most
any item on the Graphics menu will enter it as those settings have no
effect on text charts. Similarly, entering animation mode will
automatically turn on the flicker free updates setting, and so on.

     As with Astrolog versions on other platforms, you can use the
mouse to draw on the window here too. Click and drag the left mouse
button to scribble lines. Doing a Shift+click will draw a straight
line from the location you last clicked to the current position.
Doing a Control+click will draw a rectangle with opposite corners at
the location last clicked and the current position. Doing
Control+Shift+click will draw an ellipse with opposite corners at the
two positions clicked. The right mouse button is not used anywhere.

     The window that the charts are drawn in has horizontal and
vertical scrollbars on it. For charts that are just text, the
scrollbars may be used to shift the chart up or left to view any
characters that get written off the bottom or right edge of the
window. For charts that are graphics, if the chart is larger than the
window it's in, the scrollbars may be used to move around the
viewable portion of it, while if the chart is smaller than the
window, the scrollbars will control where in the window the chart is
drawn, e.g. centered, in upper left corner, etc. Note that it's most
common and logical to have the chart and window the same size, in
which case moving the scrollbars has no effect on the graphics chart.

     Like other versions, Astrolog for Windows will read in and
process the contents of the astrolog.dat command file if available on
startup for default settings. Immediately after this the program will
process the contents of the Windows command line if any, i.e. any
command switches or parameters specified with either the program's
icon or given when running the program by typing in its path.

MENU COMMANDS:

     Astrolog for Windows is reasonably intuitive to use and do what
you want with even without referring to any documentation. Still for
completeness and detail, below is a quick rundown on all the menu
options. Where applicable, the command switch corresponding to the
menu command is given in brackets; one may look up the documentation
for that command switch in the Helpfile for additional information.

File menu commands:

  Open Chart...: This brings up the standard Windows open file dialog,
  allowing one to select a chart info, chart position, or any other
  Astrolog command file. This file will be loaded and processed, with
  the new chart being displayed in the window. [This does the same as
  the -i <file> command switch. Note that this ignores the various
  Astrolog directory environment variables that -i can use.]

  Open Chart #2...: This also brings up the Windows open dialog,
  allowing one to select a chart file, however any chart time and
  location settings will be put into the "second" chart slot, as used
  in relationship charts. [This does the same as the -r <file1> <file2>
  switch, just that it only sets the contents of <file2>.]

  Save Chart Info...: This brings up the standard Windows save file
  dialog, allowing one to enter a filename, which will be created and
  the time and location of the current chart will be written to it.
  [This does the same as the -o <file> switch.]

  Save Chart Positions...: This also brings up the Windows save dialog,
  however here to the created file will be written the actual positions
  of all the planets and house cusps, and no time or location info.
  [This does the same as the -o0 <file> switch.]

  Save Chart Text Output...: This allows one to save the actual text
  displayed in a window for a text chart to a file as simple text.
  [This does the same as the -os <file> switch.]

  Save Chart Bitmap...: This saves the current graphics display to a
  Windows bitmap file. [This does the same as the -Xb switch.]

  Save Chart Picture...: This saves the current graphics display to a
  Windows metafile file. [This does the same as the -XM switch.]

  Save Chart PostScript...: This saves the current graphics display to
  an encapsulated PostScript file. [This does the same as the -Xp switch.]

  Exit: This terminates the program. Note that pressing Escape or
  Control+C will also quit in addition to this and the command's "q"
  shortcut key.

Edit menu commands:

  Enter Command Line...: This brings up a dialog with one edit control,
  in which one may enter a command line. This gives access to obscure
  program features that don't have their own menu options yet, as well
  as easy access to the command switches for those of us who like them.

  Run Macro (Normal Set): This, along with the next three menu items of
  "Run Macro (Shift Set)", "Run Macro (Control Set)", and "Run Macro
  (Alt Set)", are submenus each of which contain 12 entries of the form
  "Macro <1-48>". These run the appropriate command switch macro. See
  the -M0 switch for information on how to define a macro. [This does
  the same as the -M switch.]

  Copy Text Output: This is like the File Save Chart Text Output
  command except the text will be copied to the Windows clipboard.
  After doing this one can run or switch to an application such as
  Notepad, Write, or Word, and use their Edit Paste command to paste in
  the chart text, which may then be printed, combined with other text,
  and so on. This is the easiest way to print Astrolog charts.

  Copy Bitmap: This is like the File Save Chart Bitmap command except
  the Windows bitmap will be copied to the clipboard, which may again
  be pasted into another application.

  Copy Picture: This is like the File Save Chart Picture command except
  the Windows metafile will be copied to the clipboard. Note that when
  printing to laser printers, the Picture format is recommended over
  the Bitmap format because its output is free of any pixel blockiness.

  Copy PostScript: This is like the File Save Chart PostScript command
  except the PostScript file will be copied to the clipboard as simple text.

View menu commands:

  Show Graphics: This toggles the current chart display between text
  and graphics mode. Text charts are drawn in the window as simple text
  such as might appear in a DOS box, while graphics charts are pretty
  high resolution wheels and the like. [This does the same as the -X switch.]

  Buffer Redraws: This option on the Window Settings submenu toggles
  whether or not screen updates are smooth. When off, the screen clears
  and the chart redraws as you watch, while when on, the program
  "pauses" while the update is done behind the scenes where the new
  chart is displayed all at once. Animation mode turns this setting on
  to provide flicker free updates.

  Redraw Screen: This option on the Window Settings submenu simply
  redraws the current screen. Most often this is used to erase any
  scribbles one may have added with the mouse buttons.

  Clear Screen: This option on the Window Settings submenu simply
  erases the screen leaving a blank window, where the next redraw will
  bring the chart back. This can be used if one wants to draw on an
  empty screen.

  Hourglass On Redraw: This option on the Window Settings submenu
  toggles whether or not the program puts up the hourglass wait cursor
  while redrawing a chart. I've found it most natural to have this on
  normally to know when the program is busy calculating, but off during
  animations.

  Chart Resizes Window: This option on the Window Settings submenu
  toggles whether the window will resize when the chart size increases
  or decreases. For example, if displaying a graphic aspect grid which
  is a square chart, and one switches to the rectangular shaped
  astro-graph map chart, this setting when on, will resize the window
  to be the new rectangular shape. When off, the chart will either not
  fill up the whole window or will overlap its edges, in which case the
  scrollbars may be used to view all parts of the graphic.

  Window Resizes Chart: This option on the Window Settings submenu
  toggles whether the chart will resize whenever the window size is
  increased or decreased. For example, when displaying the graphic
  wheel chart, and one manually resizes the window to be larger, this
  setting when on, will make the wheel bigger too so its fills the new
  window. [FYI, the X Windows version of Astrolog always behaves as
  though this and the above setting are both on.]

  Size Chart To Window: This option on the Window Settings submenu does
  a one time resize of the chart to fill the dimensions of the current
  window. This is only relevant for graphics charts that don't already
  have a forced fixed size, and for when the Window Resizes Chart
  setting is off.

  Size Window To Chart: This option on the Window Settings submenu does
  a one time resize of the window to be the dimensions of the current
  chart. This is only relevant for graphics charts and for when the
  Chart Resizes Window setting is off.

  Colored Text: This toggles whether or not the characters in text
  charts are multi-colored. Colored text is recommended on normally
  because it looks nice, but should be turned off when copying text
  output to the clipboard to remove the control characters which cause
  the color changes. [This does the same as the -k switch.]

  Set Colors...: This brings up the Customize Colors dialog. One may
  use the various combo controls to change the colors used in graphics
  and text charts, by selecting a color from a dropdown, or by entering
  its name or abbreviation or index from 0-15. The Elements group
  covers the colors used for the four elements. [This does the same as
  the -YkC switch.] The Aspects group covers the colors used for the 18
  aspects. [This does the same as the -YkA switch.] The Standard Color
  Palette covers all other uses of color. [The sixteen settings here do
  the same as the sixteen settings covered by the -Yk0 and -Yk switches.]

  Show Interpretations: This toggles whether or not interpretations are
  given for text charts. [This does the same as the -I switch.]

  Print Nearest Second: This toggles whether or not all zodiac
  positions are displayed to the nearest arc second as opposed to just
  the arc minute. [This does the same as the "0" part of the -b0 switch.]

  Applying Aspects: This toggles whether or not aspect orbs are
  displayed in the form of about to happen or just happened, as opposed
  to degrees narrow or degrees wide. [This does the same as the "a"
  part of the -ga and -aa switches.]

  Parallel Aspects: This toggles whether or not aspects in the
  "vertical plane" are used, with the parallel and contraparallel
  aspects shown as opposed to conjunction and opposition. [This does
  the same as the "p" part of the -gp and -ap switches.]

Info menu commands:

  Set Chart Info...: This brings up the generic Chart Info dialog,
  which is the place for one to actually create a chart by specifying
  the time and location in question. The dialog contains eight main
  controls, for month, day, year, time, daylight flag, time zone,
  longitude, and latitude. These have dropdowns from which one may
  optionally choose common values. After this are two optional text
  edit controls where one may enter the name and location for the
  chart. The special button "Now" will copy the current time over all
  the fields. The special button "Previous" will copy the contents of
  the last chart cast over the fields. [The eight main combo controls
  cover the same fields as the -qb switch. The two text controls cover
  the same fields as the -zi switch. The "Now" button does the same as
  the -n switch. The "Previous" button does the same as using the "-i
  set" virtual file.]

  Chart For Now: This sets the current chart information to the current
  time now. [This does the same as the -n switch.]

  Default Chart Info...: This brings up the Default Chart Info dialog,
  where one may specify the default daylight setting, time zone,
  longitude, and latitude. These settings are used in commands such as
  "Chart For Now", where the time obtained needs to be combined with
  some location to make a complete chart. [The four controls in this
  dialog correspond respectively to the -z0, -z, and the two parameters
  passed to the -zl switches, except the switches change the current
  chart as well as the default.]

  Set Chart #2 Info...: This brings up a dialog identical to the
  standard Chart Info dialog, except here the chart settings specified
  are put into the "second" chart slot, as used in relationship charts.
  This command is to "Set Chart Info", as the "Open Chart #2" command
  is to "Open Chart".

  No Relationship Chart: This and the remaining eight commands on the
  Info menu specify the current relationship chart mode if any, where
  the currently active mode has a check mark by it. This first command
  turns any relationship mode off, where just a single chart is shown,
  with any "second" chart ignored. [This does the same as the -r switch
  when invoked as _r.]

  Comparison Chart: This sets the relationship chart mode to dual
  comparison, where two charts are shown side by side, e.g. the wheel
  chart becomes a bi-wheel, and aspect grids are between two sets of
  planets. [This does the same as the -r0 switch, except it uses the
  two charts already in memory as opposed to reading them from file.]

  Synastry Chart: This does a synastry chart, a single chart consisting
  of the second chart's planets in the first chart's houses. [This does
  the same as the -r switch.]

  Composite Chart: This does a composite chart, a single chart
  consisting of all the midpoints between each object pair in the two
  charts. [This does the same as the -rc switch.]

  Time / Space Midpoint Chart: This does a midpoint relationship chart,
  a single chart cast at the time and location half way between those
  of the two charts. [This does the same as the -rm switch.]

  Date Difference Chart: This displays the span of time between the two
  charts, given in all units from the nearest second to the nearest
  year. [This does the same as the -rd switch.]

  Biorhythm Chart: This displays a biorhythm chart, for a person born
  at the time in the earlier of the two charts, for the time in the
  other chart. [This does the same as the -rb switch.]

  Transit And Natal: This sets a mode identical to "Comparison Chart"
  above except that the transit restrictions will apply to the second
  chart and the natal restrictions to the first, instead of the natal
  restriction set to both. [This does the same as the -rt switch.]

  Progressed And Natal: This sets a mode like "Transit And Natal" above,
  except that the second chart actually shown will be a chart made by
  progressing the first chart to the time in the second. [This does the
  same as the -rp switch.]

Setting menu commands:

  Sidereal Zodiac: This toggles whether or not the chart is cast with
  respect to the sidereal zodiac as opposed to the tropical. [This does
  the same as the -s switch.]

  Heliocentric: This toggles whether or not the chart is cast with
  respect to the Sun for a heliocentric chart, as opposed to the Earth
  in a standard geocentric chart. [This does the same as the -h switch
  toggling between Sun and Earth centered charts.]

  House System: This submenu allows one to select among fourteen
  systems of house division to use. [This does the same as the -c switch.]

  Solar Chart: This option on the House Settings submenu toggles
  whether or not the houses are rotated to put the Sun on the Ascendant
  for a solar chart. [This does the same as the -1 switch.]

  Show Decans: This option on the House Settings submenu toggles
  whether or not the planet positions are adjusted to put each object
  in the sign corresponding to its decan. [This does the same as the -3
  switch.]

  Flip Signs & Houses: This option on the House Settings submenu
  toggles whether or not planet and house positions are swapped with
  respect to each other for a Domal chart. [This does the same as the
  -f switch.]

  Geodetic Houses: This option on the House Settings submenu toggles
  whether or not house cusps are only computed based on the chart's
  longitude for geodetic houses. [This does the same as the -G switch.]

  Aspect Settings...: This brings up the Aspect Settings dialog,
  allowing one to set various things related to each aspect. For each
  of the 18 aspects, there is: (1) A checkbox for whether the aspect is
  to be included in charts at all, (2) an edit control specifying the
  aspect's maximum orb, (3) an edit control specifying the aspect's
  actual angle, and (4) an edit control specifying the aspect's
  relative power for influence charts. In addition there are three
  buttons: (1) "Restrict All" which automatically checks all aspects,
  (2) "Unrestrict All" which unchecks them all, and (3) "Toggle Majors"
  which inverts the status of the first five aspects. [The checkboxes
  are a mixture of the -A and -RA switches. The orb fields do the same
  as the -Ao or -YAo switches. The angle fields do the same as the -Aa
  switch. The influence fields do the same as the -YjA switch.]

  Object Settings...: This brings up the Object Settings dialog,
  allowing one to set various things related to each planet. For each
  of the first 20 objects, there is: (1) an edit control specifying the
  maximum aspect orb allowed to that object, e.g. no more than a two
  degree orb to the North Node, (2) an edit control specifying an
  aspect orb addition allowed, e.g. widen all orbs by one degree for
  the Sun, and (3) an edit control specifying the object's relative
  power for influence charts. [The max orb fields do the same as the
  -Am or -YAm switches. The orb addition fields do the same as the -Ad
  or -YAd switches. The influence fields do the same as the -Yj switch.]

  Restrictions...: This brings up the Object Restrictions dialog,
  allowing one to specify whether each planet or other object is
  included in charts, where each object has a checkbox, with checked
  meaning restricted. In addition there are several buttons added for
  convenience: (1) "Restrict All" which automatically checks all
  objects, (2) "Unrestrict All" which unchecks them all, (3) "Toggle
  Minors" which inverts the state of the asteroids and all the other
  objects in the second set of ten, (4) "Toggle Cusps" which inverts
  the state of the 12 cusp objects, (5) "Toggle Uran." which inverts
  the eight Uranian planets, and (6) "Copy From Other Restriction Set"
  which sets all items to be the state of those in the parallel transit
  restriction set. [This dialog does the same as passing values to the
  -R switch. The "Restrict All", "Unrestrict All", "Toggle Cusps", and
  "Toggle Uran." buttons do the same as the -R0, -R1, -RC and -Ru
  switches respectively.]

  Include Minors: This toggles whether or not the asteroids and other
  minor objects are included in charts. [This does the same as the -R
  switch when invoked without any parameters.]

  Include Cusps: This toggles whether or not house cusps are included
  as objects in charts such as aspect grids and transit searches. [This
  does the same as the -C switch.]

  Include Uranians: This toggles whether or not the Transneptunian
  planets are included in charts. [This does the same as the -u switch.]

  Include Fixed Stars: This toggles whether or not stars are included
  in charts. [This does the same as the -U switch.]

  Star Restrictions...: This brings up the Star Restrictions dialog,
  which is similar to the standard Restrictions dialog except it deals
  with the fixed star or other deep space objects. Each of the 47 fixed
  stars has a checkbox, where in addition there are two buttons: (1)
  "Restrict All" which automatically checks all the star objects, and
  (2) "Unrestrict All" which unchecks them all. [The "Restrict All" and
  "Unrestrict All" buttons do the same as the -RU0 and -RU1 switches.]

  Transit Restrictions...: This brings up the Transit Restrictions
  dialog, which is identical the standard Restrictions dialog in every
  way except it sets the status of the objects in the transit
  restrictions array, as used in transit charts. The "Copy From Other
  Restriction Set" button here copies all flags from the standard
  restriction set. [The various operations here do the same as the -RT
  switch and derivatives.]

  More Settings...: This brings up the Calculation Settings dialog,
  used to set various common settings. These include: (1) An edit
  control to specify the zodiac degree offset or ayanamsa [same as the
  parameter passed to the -s switch], (2) the number of aspects to
  include in charts [same as the -A switch], (3) the harmonic chart
  factor [same as -x switch], (4) the central planet, e.g. geocentric,
  heliocentric, or some other planet [same as the parameter passed to
  the -h switch], (5) a radio button group specifying the solar chart
  setting, i.e. whether to rotate the house cusps so an object is on
  the Ascendant or on the Midheaven, and an edit control specifying
  which object to use when active [all this does the same as the -1 and
  -2 switches], (6) the number of text columns to use in interpretation
  paragraphs [same as the parameter passed to the -I switch], (7) a
  checkbox indicating whether to calculate planetary positions using
  ephemeris files for maximum accuracy [same as -b switch], (8) a radio
  button group specifying how to display zodiac positions, i.e. in the
  standard degree/sign/minute notation, in hours/minutes, or just
  degrees [these items correspond to the -sz, -sh, and -sd switches],
  and (9) a checkbox indicating whether to display all planetary
  positions relative to Earth's equator, as opposed to the ecliptic as
  is standard in astrology [same as the -sr switch].

  Obscure Settings...: This brings up the Obscure Settings dialog, used
  to set various uncommon settings. These include: (1) A checkbox
  indicating whether the North Node object is the True Node or the Mean
  Node [same as -Yn switch], (2) a checkbox indicating the date display
  format [same as -Yd switch], (3) a checkbox indicating the time
  display format [same as -Yt switch], (4) a checkbox indicating
  whether minor or equivalent aspects to house cusp objects are dropped
  [same as -YC switch], (5) a checkbox indicating whether to leave off
  the rightmost characters of text chart rows if they exceed the text
  columns setting [same as -Y8 switch], (6) a checkbox indicating
  whether to output chart info files in the old non-command switch
  format used before version 4.20 [same as -Yo switch], (7) two
  checkboxes indicating whether to include sign and direction changes
  in transit to transit searches [same as -YR0 switch], (8) an edit
  control specifying the horizontal and vertical number of cells to
  have in the graphic aspect grid chart [same as -YXg switch], (9) a
  checkbox indicating whether metafile and PostScript graphics files
  should use system as opposed to simulated fonts for glyphs and other
  characters [same as -YXf switch], (10) two edit controls specifying
  the horizontal and vertical paper size in inches to use in PostScript
  charts [same as -YXp0 switch], (11) a radio button group indicating
  how to orient the paper for PostScript charts [same as -YXp switch],
  and finally (12) four radio button pairs allowing one to select
  between different glyphs to use for Capricorn, Uranus, Pluto, and
  Lilith [same as -YXG switch].

Chart menu commands:

  Standard List: This sets the current chart displayed to be the
  standard default chart, i.e. a standard list of positions in text
  mode and a wheel (or bi-wheel in comparison relationship mode) chart
  in graphics mode. [This does the same as the -v switch.]

  House Wheel: This sets the current chart displayed to be a house
  emphasized wheel chart, i.e. a simple text wheel chart divided by
  houses in text mode, and a wheel chart where all the houses are made
  to be the same size in graphics mode. [This does the same as the -w
  switch.]

  Aspect Midpoint Grid: This sets the current chart displayed to be a
  grid showing all aspects and all midpoints between each pair of
  planets. It will show either aspects or midpoints in comparison
  relationship mode. [This does the same as the -g switch.]

  Aspect List: This sets the current display to be a list of all
  aspects sorted by influence, and is a text mode only chart. [This
  does the same as the -a switch.]

  Midpoint List: This sets the current display to be a list of all
  midpoints sorted by zodiac position, and is a text mode only chart.
  [This does the same as the -m switch.]

  Local Horizon: This sets the current display to show all the planets
  and other objects as they appear relative to the local horizon or
  sky, i.e. a list of altitude and azimuth values in text mode, and a
  visual coordinate plot in graphics mode. [This does the same as the
  -Z switch.]

  Solar System Orbit: This sets the current display to show the orbital
  positions of all the planets, i.e. a list of the x, y, and z
  coordinates of each object relative to the sun (or current central
  body) in text mode, and an aerial view of all the planets in their
  orbits in graphics mode. [This does the same as the -S switch.]

  Calendar: This sets the current display to be a simple calendar of
  the month or year surrounding the time of the chart in question.
  [This does the same as the -K switch.]

  Influence: In text mode, this sets the current display to be a list
  of the influence or power of each planet with respect to its
  positioning and aspects. In graphics mode, this shows dispositor
  graphs of the main planets for their sign and house placements. [This
  does the same as the -j switch.]

  Astro-Graph: This sets the current display to be an astro-graph
  chart, showing where on the world each planet was rising, on the
  Midheaven, etc. In text mode this lists the latitude and longitude of
  each line at various intervals, and in graphics mode actually draws
  and labels each line on a map of the world. [This does the same as
  the -L switch.]

  Ephemeris: This sets the current display to be an ephemeris chart,
  i.e. a list of the zodiac positions of each planet over a range of
  days (e.g. the month or year) surrounding the time of the chart in
  question for text mode, and a plot of position vs. time for each
  object in graphics mode. [This does the same as the -E switch.]

  Arabic Parts: This sets the current display to be a list of the
  positions of all Arabian part items for the given time, and is a text
  mode only chart. [This does the same as the -P switch.]

  Transits...: This brings up the Transits dialog, used to create
  various transit lists. The first thing to do when using this dialog
  is to set the type of chart desired in the "transit type" radio
  button group. The five choices here are (1) "transit to transit
  hits", which will display exact times of aspects and other events
  such as sign and direction changes over a range of time [same as -d
  switch], (2) "transit to transit influence", which will display all
  aspects between objects in the current chart ordered by significance
  [same as -D switch], (3) "transit to natal hits", which will display
  exact times of aspects made to natal planets from transiting planets
  over a range of time [same as -t switch], (4) "transit to natal
  influence", which will display all aspects between transiting and
  natal objects for a given time ordered by significance [same as -T
  switch], and (5) "none", which gets out of any transit chart mode.
  The second thing to do is to be aware of the "progress instead of
  transit" checkbox; when checked, all the transit charts will instead
  be progressed charts, i.e. the transit types will be (1) progressed
  to progressed hits [same as -dp switch], (2) progressed to progressed
  influence [same as -D combined with -p], (3) progressed to natal hits
  [same as -tp switch], and (4) progressed to natal influence [same as
  -Tp switch]. Now, for the "transit to natal hits" and "transit to
  natal influence" charts, you should set the values in the "do
  transits for" combo control group (these controls are ignored for the
  transit to transit charts). There are controls for "month", "day",
  "year", and "time" like those in the Chart Info dialog, which here
  set the time for the transiting chart (the natal chart settings
  should of course be set in Chart Info). Pressing the "Now" button in
  the dialog will set these time values to be that of the current
  moment. In addition, for the "transit to transit hits" and "transit
  to natal hits" charts, you should select from the "search for hits
  over" radio button group appropriately (these controls are ignored
  for the transit influence charts). In this group one may choose to
  scan over a single day, a month, year, or range of years for aspects,
  where the time in question is that surrounding the natal chart set in
  the Chart Info dialog for "transit to transit hits", and is the time
  surrounding that in the "do transits for" group in this dialog for
  "transit to natal hits". You should note here that (1) when the
  "range of years" radio button is selected, the number of years to
  scan over may entered in the "years to span" edit control (with this
  setting being ignored otherwise), (2) the shortest period "transit to
  natal hits" may be done for is a single month, meaning that even if
  you select the "given day" radio button in combination with this
  chart you'll get the "given month", and (3) that some of the time
  settings in the "do transits for" group are effectively ignored when
  doing "transit to natal hits" over a large range, e.g. when doing the
  "given year", the values in the "month", "day", and "time" controls
  don't affect the chart any. Also for the two "hits" charts, you can
  change the value in the "searching divisions" edit control, which
  determines at how narrow intervals to cast charts for, with higher
  values giving more accurate times but taking longer to compute [this
  is the same as the optional parameter passed to the -d switch].

  Progressions...: This brings up the Progressions dialog, which as its
  name suggests allows one to do various forms of progressed charts.
  The first thing to do when using this dialog is to set the "do
  progression" checkbox appropriately [same as -p switch]. When
  checked, all standard charts Astrolog calculates will be progressed;
  when clear, all charts will be normal meaning the rest of the
  settings in the dialog are ignored. Assuming this is checked, you
  then want to set the values in the "progress chart to" combo control
  group. There are controls for "month", "day", "year", and "time" like
  those in the Chart Info dialog, which here set the time to progress
  the natal chart to (the natal chart being of course set in Chart
  Info). Pressing the "Now" button in the dialog will set these time
  values to be that of the current moment. Next, you may set the values
  in the "progression settings" control group to define the type of
  progression to do. There is a radio button pair which one may use to
  select between "secondary progression" or a "solar arc progression"
  [same as -p0 switch]. Also there is a "degrees per day" combo control
  which one may use to set the progression speed [same as -pd switch].
  A number may be typed in, or one of several common values for this
  setting may be selected from the dropdown: The number 365.25 here
  gives the standard "year for a day" rate, while other values will do
  tertiary progressions.

  Chart Settings...: The brings up the Chart Setting Details dialog,
  which defines various minor settings that go with and affect the
  various displays. These include: (1) a checkbox indicating whether to
  display planet velocity values relative to average speed in the text
  mode standard chart list [same as -v0 switch], (2) an edit control
  specifying the number of text rows to have in each house for the text
  mode wheel chart [same as the parameter passed to the -w switch], (3)
  a checkbox indicating whether the text house wheel chart lists
  objects in Western houses four through nine in reverse order [same as
  -w0 switch], (4) a checkbox indicating whether the text aspect grid
  lists all aspect configurations (e.g. Grand Trines) after the grid
  [same as -g0 switch], (5) a checkbox indicating whether the text
  aspect list also gives a summary of the number of aspects of each
  type and to each planet [same as -a0 switch], (6) a checkbox
  indicating whether the text midpoint list also gives a summary of the
  number of midpoints in each zodiac sign [same as -m0 switch], (7) a
  checkbox indicating whether the local horizon chart is displayed with
  respect to the poles, where in text mode the positions are given in
  prime vertical coordinates, and in graphics mode centers the display
  around a view looking straight up as opposed to at the horizon [same
  as -Z0 switch], (8) a checkbox indicating whether the text influence
  chart also lists the influence of each sign in the chart after the
  influences of all the planets [same as -j0 switch], (9) an edit
  control specifying the degree interval at which longitude and
  latitude coordinates are given for the curved Ascendant and
  Descendant lines in the text astro-graph chart [same as the parameter
  passed to the -L switch], (10) a checkbox indicating whether the text
  astro-graph chart also lists all latitude crossings between lines
  [same as -L0 switch], (11) a checkbox indicating whether the text
  calendar chart is for the entire year as opposed to just the month
  surrounding the time in the current chart, (12) an edit control
  specifying the number of Arabian parts to include in the Arabic part
  chart [same as the parameter passed to the -P switch], (13) a
  checkbox indicating whether to display the formulas for the parts in
  the Arabic part chart in A+C-B as opposed to A-B+C form [same as -P0
  switch], (14) a radio button group which determines in what order to
  sort the fixed star objects for charts such as the standard text
  listing [same as the letter if any included with the -U switch], and
  (15) a radio button group which determines in what order to sort the
  parts in the Arabic part chart [same as the letter if any included
  with the -P switch].

Graphics menu commands:

  Show World Map: This sets the current chart displayed to be a simple
  map of the world displayed in rectangular form. [This does the same
  as the -XW switch.]

  Show Globe: This sets the current display to be the map of the world
  shown as the side view of a globe. Note that this chart looks cool in
  animation mode because it rotates! [This does the same as the -XG switch.]

  Show Polar Globe: This sets the current display to be the map of the
  world shown as the top (or bottom) view of a globe. [This does the
  same as the -XP switch.]

  Show Constellations: This toggles whether or not the three map
  displays above show in them the astronomical constellations instead
  of the continents of the world. [This does the same as the -XF switch.]

  Reverse Background: This toggles whether or not graphics charts are
  displayed black on a white background as opposed to the standard
  white on a black background. [This does the same as the -Xr switch.]

  Monochrome: This toggles whether or not graphics charts are displayed
  in just black and white monochrome mode as opposed to in the standard
  selection of 16 VGA colors. [This does the same as the -Xm switch.]

  Show Border: This toggles whether or not graphics charts are displayed
  with borders around them. [This does the same as the -Xu switch.]

  Show Chart Info: This toggles whether or not graphics displays have
  the time and location of the chart in question printed at their base.
  [This does the same as the -Xt switch.]

  Show Info Sidebar: This toggles whether or not wheel charts are
  displayed with an information sidebar to their right, listing the
  positions of the houses and objects along with element table
  summaries. [This does the same as the -v0 switch.]

  Show Glyph Labels: This toggles whether or not glyphs are drawn for
  planets and objects in graphics charts. Pretty much the only time
  it's useful to ever turn this off is for the local horizon and orbit
  charts, especially when doing a timed exposure animation of them.
  [This does the same as the -Xl switch.]

  Square Screen: This resizes both the graphics chart and the window to
  be square shaped, and is useful for charts such as the wheel or
  globes if they ever appear oblong and not circular shaped as they
  should. For wheel charts with sidebars it will logically make it so
  just the wheel part becomes square.

  Character Scale: This submenu allows one to set the size of the
  glyphs in graphics charts. For text mode charts, this setting will
  affect the font size of the characters. There are four options on this
  menu of "Small", "Medium", "Large", and "Huge", with medium being the
  default. There are two more options on this menu labeled "Decrease"
  and "Increase", which will move the setting down or up a notch (if
  not already at an extreme). [For graphics these settings correspond
  to the four percentage values that may be passed to the -Xs switch.]
  Important note: I've found that some systems, when changing the size
  of characters for text charts, don't seem to be able to load the
  correct new font; if you notice characters overlapping each other at
  small scales and the same size characters with lots of space between
  them at large scales, opening up a DOS prompt seems to fix the problem.

  Globe Tilt: This submenu allows one to change the angle or tilt of
  the Earth in the globe chart. The three menu options here are:
  "Decrease", which pulls the globe down 11.25 degrees or 1/8 of a
  quadrant; "Increase", which pulls the globe up 11.25 degrees; and
  "Set to Zero", which returns the globe to the standard zero degree
  angle with the equator edge on. [This affects the same setting as the
  second optional parameter passed to the -XG switch.]

  Modify Display: This toggles whether or not each graphics chart is
  displayed in a slightly modified form, e.g. for the globe display
  this will plot all the planets at their zenith locations instead of
  having just the world map itself. [This does the same as the -Xi
  switch; see the documentation for this switch in the Helpfile for a
  list of how this setting affects each chart.]

  Modify Chart: This option acts as a quick way to toggle several
  settings associated with certain charts. Specifically, if in wheel
  chart mode it will toggle between the standard wheel and the house
  emphasized wheel. In addition, it will toggle the "horizon chart
  displays with polar center" flag from the Chart Settings dialog, the
  "world map in Mollewide projection" flag from the Graphics Settings
  dialog, and whether ephemeris and calendar charts are displayed for
  the year instead of just the month.

  Scribble Color: This submenu allows one to select the color to use
  when using the mouse to draw on the window. It has sixteen options,
  one for each of the main colors.

  Graphics Settings...: This brings up the Graphics Settings dialog,
  used to set various additional settings not already covered by menu
  options. These include: (1) Two edit controls specifying the
  horizontal and vertical size of the graphics chart in pixels [same as
  -Xw switch], (2) an edit control specifying the rotation in degrees
  for the globe and world map charts [same as the first optional
  parameter passed to the -XG switch], (3) an edit control specifying
  the angular tilt in degrees for the globe chart [same as the second
  optional parameter passed to the -XG switch], (4) a checkbox
  indicating whether to display the world map chart in the oval shaped
  Mollewide projection as opposed to just in rectangular form [same as
  -XW0 switch], (5) an edit control specifying the time to delay
  between doing screen updates when in animation mode [same as the new
  -WN switch], and (6) a radio button group specifying the "wheel chart
  rotation", i.e. whether to rotate the entire wheel so an object is at
  the left edge or at the top edge of the chart, and an edit control
  specifying which object to use when active [all this does the same as
  the -X1 and -X2 switches].

Animate menu commands:

  Stop Animation: This stops any animation in effect, returning to a
  static chart. Selecting this when animation is already off will
  toggle it on to the "update to now" mode below. [This does the same
  as the -Xn switch.]

  Jump Rate: This submenu allows one to select the type of animation to
  do. The first option, "Update To Now", sets it so the chart will be
  continuously updated to the current moment, and will act as a
  glorified astrological clock. The remaining nine options: "Seconds",
  "Minutes", "Hours", "Days", "Months", "Years", "Decades",
  "Centuries", and "Millennia", set it so whatever chart will step
  forward or backward by the specified amount each update.

  Jump Factor: This submenu allows one to select how many units of
  whatever time rate the animation proceeds by. The nine options here
  are the numbers one through nine, where for example if animation is
  jumping by "Minutes" above, selecting "One" will progress the chart
  by one minute each update, and selecting "Five" will progress by five
  minutes each update. This setting is ignored when animation is set to
  "update to now" or is off altogether.

  Reverse Direction: This option toggles whether or not animation will
  proceed backwards through time as opposed to forwards. This setting
  has effect only when animation is on and set to an actual unit, i.e.
  it's ignored when set to "update to now".

  Pause Animation: This toggles whether or not any animation is paused.
  Animation being paused is basically the same as animation being off
  altogether, except that it's easy to unpause to continue animating,
  without having to respecify the rate settings as would have to be
  done were animation really turned off.

  Timed Exposure: This toggles whether or not the screen is erased
  between each update. When active, the screen won't be cleared meaning
  progressive updates are drawn over the existing display. This is
  generally only useful for charts such as the local horizon or solar
  system (with glyph labels off) where this effect may be used to
  create streaks showing the path of objects across the sky or through
  their orbits. [This does the same as the -Xj switch.]

  Step Forward: This moves the time of the current chart forward one
  day, or rather the number of units set in the "Jump Rate" and "Jump
  Factor" menus. [This is similar to the -+ switch.]

  Step Backward: This moves the time of the current chart backward one
  day, or rather the number of units set in the "Jump Rate" and "Jump
  Factor" menus. [This is similar to the -- switch.]

  Store Chart Info: This copies the time and location of the current
  chart being displayed and remembers it in a special buffer. See below.

  Recall Chart Info: This sets the current chart information to be that
  in the special buffer above. [This does the same as using the "-i
  set" virtual file.]

Help menu commands:

  List Signs: This sets the current display to be a text listing of the
  twelve signs and houses and information about them. [This does the
  same as the -HC switch.]

  List Objects: This sets the current display to be a text listing of
  all the planets and other objects (that aren't restricted) which
  Astrolog can compute the positions of, along with information about
  their rulerships. [This does the same as the -HO switch.]

  List Aspects: This sets the current display to be a text listing of
  all eighteen aspects the program can deal with, and information about
  them. [This does the same as the -HA switch.]

  List Constellations: This sets the current display to be a text
  listing of all 88 astronomical constellations the program displays in
  the constellation map charts, and a little information about each
  one. [This does the same as the -HF switch.]

  List Planet Info: This sets the current display to be a text listing
  of the planets in the solar system, with some astronomical data given
  about each. [This does the same as the -HS switch.]

  List General Meanings: This sets the current display to be a text
  listing of the basic interpretation database used by the program,
  giving the general meanings of each sign, house, planet, and aspect.
  [This does the same as the -HI switch.]

  List Switches: This sets the current display to be a text listing of
  the main command switches that may be passed to the program, with a
  one line description of each. [This does the same as the -H switch.]

  List Obscure Switches: This sets the current display to be a text
  listing of the remaining more obscure command switches not covered in
  the list above. [This does the same as the -Y switch.]

  List Keystrokes: This sets the current display to be a text listing
  of the main shortcut keys ("main" being those that don't require the
  Alt key and that exist in the DOS version as well) that one may press
  to do various operations. [This does the same as the -HX switch.]

  About...: This brings up the About Astrolog dialog which contains
  static text listing the credits and copyrights for the program. [This
  contains the same text that the -Hc switch display prints.]


COMMAND SWITCHES:

In spite of the Windows interface which may be used for most
operations, a few command switches which are only available in the
Windows version have been added for low level Windows operations:

1. -WM switch: This switch allows one to customize the menu text for
   the macro running commands, taking two parameters, the macro from
   1-48 whose menu item to change, and the new text to put on the menu.
   An ampersand "&" may be used to put an underscore under the character
   following it, which will be used as the standard Windows menu
   shortcut for the command. For example, doing -WM 12 "Best friend's
   chart", will edit the last item on the "Edit Run Macro (Normal Set)"
   submenu to read "Best friend's chart". After it will still appear
   "F12" as this doesn't change the direct keyboard shortcut. (One
   should of course also use the -M0 switch to assign a macro to slot 12
   here to actually display your friend's chart when the macro is run.)

2. -WN switch: This switch specifies the animation delay, taking one
   parameter indicating the number of milliseconds between the start of
   screen updates. This is the same as the "animation delay" edit
   control in the Graphics Settings dialog, and exists here as a switch
   so one may set a default value for it in the astrolog.dat file.

3. -W switch: This obscure switch allows one to invoke a menu command
   from a command line, taking one numeric parameter indicating the item
   to run. Values 40001 through 40212 are valid menu commands, where the
   list of what number corresponds to what command is in the resource.h
   source file. An example use of this is to put "-W 40040" in your
   astrolog.dat file which will start the program with the "Chart
   Resizes Window" setting on by default. Another example is having "-W
   40192" on the command line of the program's icon to have the Chart
   Info dialog come up on startup.

COMPILING:

     To compile the Astrolog source code for Windows, the new #define
WIN compile time flag needs to be uncommented in astrolog.h (this
should of course be commented for all other platforms). In addition,
the PC flag should be uncommented, while the flags for other graphics
libraries like MSG and BGI (and X11 of course) should be commented.
Pretty much all of the features in the features section need to be
on, e.g. INTERPRET, as well as some of the system settings like TIME
and MOUSE, as there are menu options that deal with them that won't
automatically disappear if they're disabled. The included file
astrolog.mak may be used as a project file or makefile. The
"official" Windows executable was compiled as a "16 bit" application
using Microsoft Visual C 1.51, and has been tested on Windows 3.1,
Windows 95, and Windows NT. Other Windows compilers should work,
provided they have a resource compiler which understands the standard
.rc extension resources for menus and dialogs.


#####################  ASTROLOG 5.00 NEW ADDITIONS  #####################

Here are other new items in version 5.00 that weren't in 4.40 and before:

1. New ephemeris files: Astrolog 5.00 features ephemeris files for
   the four asteroids. This allows the asteroid positions to be computed
   to the same within several arc second accuracy as Chiron and the
   planets. Before the asteroid positions were always rather inaccurate,
   only to within a few degrees and only for the current century. Now,
   when running with the -b ephemeris file switch setting on, the
   asteroids as well as every other planet and object the program
   computes will be to a precision rivaling major commercial software.

   The asteroid ephemeris files are named CPJV_xx, where xx is a number
   like those in the LRZ5_xx and CHI_xx ephemeris files. A set of three
   files of a given number covers 273 years, and a CPJV_24 is now
   included along with the old LRZ5_24 and CHI_24 in the PC and Mac
   version distributions. There are CPJV_xx files available spanning the
   8400 years that the others do, running from CPJV_M2 to CPJV_29. If
   you don't get all the CPJV_xx files right away, and want to do a
   chart where you have files for the other objects at the given time,
   there is an "undocumented" switch called -ba, which is like -b but
   will still compute the asteroids in the old manner.

   Special thanks to Mr. Paul Schlyter, of the Swedish Amateur
   Astronomer's Society (SAAF, or in Swedish: Svensk Amat|rAstronomisk
   F|rening), for providing these files, by writing a utility which does
   the integration process to determine the positions, and that
   conveniently outputs files in the Placalc format.

2. -c addition: Astrolog can now do the Alcabitius system of houses.
   This is house system number nine, and this system can be activated on
   the command line by including "-c 9" (or "-c alc"). Note that this
   moves the index numbers for the Midheaven based Equal house system
   and those beyond it up one.

3. -Yz switch: This obscure switch, taking one parameter for the
   number of minutes, allows one to offset forward or backward the time
   considered to be the current moment now. This is useful if your -n
   now charts always seem to be a few hours or whatever off, as seems to
   be the case on certain Mac or Amiga systems. For example, if -n says
   it's 3:30pm when it's really 1:30pm, doing "-Yz -120" will back up
   the clock appropriately (and change the planetary positions slightly
   too). It's important that this switch be used as a last resort
   instead of first, where one should first check their system time, the
   system time zone setting such as may be set with the TZ environment
   variable, and Astrolog's default time zone. A line for this setting
   appears in the default astrolog.dat file.

4. -HS extension: The -HS switch displaying a table giving
   astronomical data on each planet has been extended to include Chiron
   and the four asteroids, at least for the distance from Sun, length of
   year, and diameter fields.

5. -YX addition: This is very obscure and minor, but for DOS graphics
   modes, the mode -1 will be accepted now and treated the same as mode
   18, i.e. 640x480x16 VGA. This -1 setting is now the default for the
   hi-res mode in the astrolog.dat file instead of -3, the latter of
   which tries to determine the highest resolution but hangs under
   certain video cards such as S3 VGA.


#####################  ASTROLOG 5.00 BUG FIXES  #####################

Here are problems with version 4.40 that have been fixed in this release:

1. Compiling problem: In compiling the source code, some systems such
   as Linux would complain about Astrolog "PI" structure conflicting
   with the mathematical constant Pi. The structure has been renamed to
   avoid this.

2. Compiling problem: Most NeXT systems in compiling would complain
   about the non-existent system unistd.h and malloc.h files being
   #included into Astrolog's placalc.h file. The NeXT doesn't need any
   definitions from these files anyway so they aren't included if the
   system #define "NeXT" is set.

3. -j bug: The graphic dispositor chart as accessed with the -j -X
   switch combination would be distorted when rendered as a -XM metafile
   or -Xp PostScript picture, where bad scaling would make the circles
   around the glyphs about 10 times larger than they are in bitmaps and
   on the screen.

4. -dY bug: The -dY multiple year transit hit scan switch had a bad
   problem in that it wouldn't "skip over" its parameter for the number
   of years to do, and hence also process the value as a command switch
   itself. For example "-dY 3" would correctly do three years, but also
   process the "3" as the "-3" switch, giving unexpected results, while
   things like "-dY 4" would complain about there being no "-4" switch.

5. -T bug: The -T transit influence list would give bogus results for
   lines containing planets in the transiting column that are restricted
   in the natal. For example using -R to restrict the asteroid
   positions in natal charts, would have all the asteroids be at 0 Aries
   in the transiting chart. This feature now makes sure to compute the
   positions of all objects that are unrestricted in either chart.

6. LMT inaccuracy: The local mean time feature used by specifying
   "LMT" for a time zone value would give results with the final time
   off by up to three minutes, due to incorrect rounding. This has been
   corrected.

7. -rm inaccuracy: The -rm time space midpoint relationship chart
   would give incorrect results for charts with their Daylight setting
   on. The Daylight offset wasn't taken into account before resulting in
   the given midpoint being an hour before the actual if both charts had
   Daylight active.

8. -c bug: The Whole and Null systems of houses, which set all the
   cusps to be at zero degrees of some sign, would add in the sidereal
   offset when the -s setting was active, shifting all the cusps by the
   tropical offset. This is no longer done.

9. -w omission: The -w text wheel chart would exclude the Asc and MC
   objects from the chart, even when unrestricted and when their
   positions differ from the house array positions, while at the same
   time including minor cusp objects even when their positions are the
   same. This chart now simply only automatically excludes a house
   object if its position is the same as the cusp composing the wheel.

10. -E -X omission: The graphic ephemeris chart as accessed with the
   -E -X switch combination would always exclude the North Node and
   Lilith even when unrestricted. This is no longer the case.


#####################  ASTROLOG 5.00 PROGRAM CHANGES  #####################

As with every release, a few changes that aren't feature additions or
bug fixes were made to this version, where certain old assumptions
are no longer valid. A list of these (which aren't useful to be aware
of unless you have used previous versions of the program) follows:

1. New source files: The source code for Astrolog 5.00 contains five
   new files. The Windows version processing happens in wdriver.c and
   wdialog.c, with definitions in resource.h and astrolog.def, and the
   dialog definitions themselves are in the resource file astrolog.rc.
   This means of course that makefiles from previous releases aren't
   compatible with this version.

2. Default file changes: Several changes have been made to the
   default version of the settings file astrolog.dat provided with the
   program. The -C include cusps switch is on by default now, which
   should help those confused about the Asc and MC being restricted from
   charts before. The -b ephemeris files switch is on by default now, at
   least in those archives that come with ephemeris files. Finally there
   are lines for the -n now and -X graphics mode switches. These are on
   by default in the Windows archive so the first thing one sees upon
   starting the Windows version is a graphics chart for the current moment.

3. Previous chart change: The initial contents of the "previous"
   chart as accessed with "-i set" has been changed from the
   astrological "chart" of version 4.40 of the program to the release of
   this version 5.00. This chart is now set to the exact time of the Sun
   entering Leo, specifically for 12:30am PDT (7 hours before GMT) on
   Sunday, July 23, 1995 for here in Seattle, WA (122W20, 47N36).


#####################  5.00 COMPILING INSTRUCTIONS  #####################

     Compiling Astrolog version 5.00 is identical to compiling
previous versions: First edit the top of the file astrolog.h,
commenting out any of the #define's which set various features that
aren't valid on your system or you don't want, and changing default
values and directories to your preference. (Just see the
self-explanatory section comments in this file.) Then in the same
manner, also edit these default parameter values in the astrolog.dat
settings file to your liking, at least the location and time zone
values. (I also really recommend turning on the -k Ansi color feature
if your system will support it - text charts look much nicer in color!)

     For Unix systems, just run the command 'make' in the directory
containing the included Makefile. (You can also always compile by
hand: "cc -O -c *.c; cc -o astrolog *.o -lm -lX11" will do it; just
make sure to compile each source file and link them together at the
end with the math library, and if applicable the X11 library.)

     It is possible to compile Astrolog on a VMS system, even with
its X windows functionality. There's an example of a simple VMS .COM
file included which can automatically compile and link Astrolog on
VMS, which should work for version 5.00, although you might need to
include "/noopt" after the CC's since some compilers may cause the
program to pass parameters incorrectly with optimization on.

     Compiling Astrolog on a PC for DOS is easy too. One can usually
do it by simply compiling each file in turn and then linking them all
together. In some cases you don't have to worry about explicitly
mentioning things like the math library if your environments are set
up properly. I used the command line version of the Microsoft Visual
C 1.51 compiler and its graphics.lib to generate the ready to run PC
executable. If you have the nmake utility, the makefile included in
the zip archive will nicely compile and link astrolog 5.00 on a PC,
with properly set options and all. I compiled under the Large memory
model, with 16K bytes of stack space. The default directory for chart
info files, the astrolog.dat file, and the ephemeris files in the
official PC executable are all set to C:\ASTROLOG, although this
location can be overridden with several environment variables if set.
The time and location defaults are set to my own area, but you can
easily override them with your own values in the astrolog.dat file.

     Astrolog 5.00 may be also compiled for DOS using the Borland
Turbo C/C++ compiler. Graphics support works too using the Borland
BGI graphics libraries. If you want to compile in Borland graphics,
uncomment the "#ifdef BGI" line in astrolog.h (instead of the "#ifdef
MSG" for the Microsoft graphics.lib). If you don't want to compile in
graphics, just make sure the "#ifdef PC" line is uncommented (there
are some #ifdef __TURBOC__ lines in the sources to do non-graphical
Borland specific things). To actually compile, use the "makefile.bgi"
makefile, and invoke it with "make /f makefile.bgi" (or rename it to
be just "makefile" and run just "make"). Note that the file
"makefile.cfg" is also needed and is used during compilation by the
main makefile. If you are compiling in graphics, you will need to
have object files for all six of the BGI drivers in the directory you
compile in. To make these files, go into your BGI directory (e.g.
"CD C:\BORLANDC\BGI") and do the command "BGIOBJ /F <file>". Do this
six times, where <file> is "ATT", "CGA", "EGAVGA", "HERC", IBM8514",
and finally "PC3270".

     Astrolog's source code can be compiled and run on the Macintosh
perfectly with no special modifications needed. In making the
official Mac executable, I used the compiler Symantec C/C++ 7.0 for
the Mac. When compiling, uncomment the "MAC" compile time option in
astrolog.h, and turn on the "far data" flag in the compiler. Other
Astrolog compile time option settings should be SWITCHES off, ENVIRON
off, and PROTO off.

************************************************
Astrolog 5.05 posted Sun, 20 Aug 95 09:29:49 GMT
************************************************

####################  ASTROLOG 5.05 UPDATE FILE  #####################

     Hello world and happy Sun entering Virgo! This file describes
the astrology software program Astrolog version 5.05 and the fixes
and changes made in it, over the previous version 5.00, released a
little under a month ago. This update is mainly just a bug fix
release, correcting the inaccuracy problems the Windows and DOS
versions had on systems without a math co-processor, and glitches
with the transits and progressions dialogs in the Windows version.

     If you are reading this document as posted in the newsgroup
alt.astrology, this release consists the following files, each posted
as a separate article or group of articles:

1. "Update.505" - A text file describing new additions to Astrolog
   5.05 made over the previous version (what you're reading now).
2. "Readme.505" - A text file describing Astrolog in general and what
   the program offers and can do, for those interested in a summary.

     In addition, there are several other relevant files, which have
not been posted so as not to waste too much newsreader bandwidth.
(None of the large actual archive files are being posted this time as
the version 5.00 files were posted just a few weeks ago.) They may
be obtained by other means which will be described:

3. "ast50win.zip" - A uuencoded, zip archive containing a Windows
   executable ready to run on any Windows system, a configuration file,
   three icon files, three ephemeris files, a Readme, small summary file,
   a comprehensive Helpfile manual, and this Update file.
4. "ast50dos.zip" - A uuencoded, zip archive containing a DOS executable
   ready to run on PC's, config file, icon files, three ephemeris files,
   a Readme, small summary file, Helpfile, and this Update file.
5. "ast50mac.hqx" - A BinHex 4.0'ed self extracting archive program of the
   Macintosh executable, config file, three ephemeris files, Readme,
   summary, Helpfile, a resource file, and this Update file.
6. "ast50unx.shr" - A uuencoded, compressed Unix shell archive containing
   source code, makefiles, Readme, summary, Helpfile, and this Update file.
7. "ast50src.zip" - A uuencoded, zip archive containing the source code,
   and makefiles (not necessary unless you want to compile on a PC).
8. "History.505" - A text file describing additions in all previous
   releases (only useful if upgrading from more than one version ago).

     The "Helpfile" consists of a large comprehensive documentation
file of all of Astrolog's features. The "config file" is a default
settings file called astrolog.dat (not necessary to have to run but
useful). The "icon files" are Microsoft Windows icons from the
Windows executable. The "summary file" is a file_id.diz like that
included in many zip distributions, briefly describing the program in
whole. The "Update file" is again this document. The "ephemeris
files" are three binary files used for more accurate calculations of
planetary positions (again optional but nice to have). The "source
code" consists of 28 files (23 "C" program files, four header
#include files, and a resource script file). The "makefiles" are six
files: a generic makefile for Unix systems with their "make" command,
a project makefile for Microsoft Windows compilers, a nmakefile for
Microsoft DOS compilers, a makefile for Borland PC compilers (with a
second subfile to go with it), and a command script for compiling on
VMS systems.

     All the files described above have been uploaded to the
alt.astrology anonymous ftp site at ftp.magitech.com in the directory
/astrology/incoming. They should be moved to the standard
/pub/astrology/astrolog directory there soon. All of the ephemeris
files are already in the subdirectory /pub/astrology/Astrolog/ephem.
For PC's, Astrolog including all source and ephemeris files are also
available at Carl Baewer's Astro Net-1 BBS at 414-481-9976. Expect
Astrolog 5.05 to appear on SimTel and other sites soon as well.


#####################  ASTROLOG 5.05 BUG FIXES  #####################

Here are problems with version 5.00 that have been fixed in this
release, as well as a few other updates being listed:

1. General inaccuracy: A major problem in the default version 5.00
DOS and Windows executables would sometimes cause inaccurate
positions on PC's without a math co-processor. The planet and house
locations would usually be correct, but often would not, with one or
two objects appearing far from where they should be. The Mac and Unix
versions were not affected, and the problem would go away on PC's if
one ran on a system with a math chip (such as most 486's and above)
or if one recompiled the program themself using different settings.

2. Progression dialog bug: In the Windows version, the Progressions
dialog didn't set the target Julian Day correctly, resulting in
progressions to an incorrect time. This dialog will now produce the
same proper results as generated using command switches.

3. Transit dialog bug: In the Windows version, the Transits dialog
would change the date and time of the main chart in memory whenever a
transit to natal chart was displayed. Since the main chart is the
chart being transited to, the contents of the transit list would
suddenly improperly change on the next screen update.

4. -E blemish: The graphic ephemeris chart when rendered as a
metafile or PostScript image, would have the sign demarcations at the
bottom of the chart distorted with some of the later signs in the
left half of the chart again, due to a math overflow.

5. Resize improvement: In the Windows version, whenever the
application window is automatically resized by the program (such as
when switching between graphic chart modes with the Chart Resizes
Window setting active, as opposed to interactive resizes with the
mouse) the program will now, if the new window would appear partly
off screen, move the window so it won't be clipped. Before, the upper
left corner of the window would never change on a resize; since a
resize happens on startup to the default size in the astrolog.dat
file, it was possible for the window to come up partially off the
screen on startup, especially on a 640x480 VGA monitor.

6. Copyright clarification: It may not have been explicitly stated
before, but one should know that the new Asteroid ephemeris files
provided by Paul Schlyter have similar restrictions applied to their
use as exist for the rest of Astrolog, in that they are freely
available for non-commercial use but unavailable for commercial use.

7. Previous chart change: The initial contents of the "previous"
chart as accessed with "-i set" has been changed from the
astrological "chart" of version 5.00 of the program to the release of
this version 5.05. This chart is now set to the exact time of the
Full Moon in Leo, specifically for 11:16am PDT (7 hours before GMT)
on Thursday, August 10, 1995 for here in Seattle, WA (122W20, 47N36).


#####################  5.05 COMPILING INSTRUCTIONS  #####################

     Compiling Astrolog version 5.05 is identical to compiling
previous versions: First edit the top of the file astrolog.h,
commenting out any of the #define's which set various features that
aren't valid on your system or you don't want, and changing default
values and directories to your preference. (Just see the
self-explanatory section comments in this file.) Then in the same
manner, also edit these default parameter values in the astrolog.dat
settings file to your liking, at least the location and time zone
values. (I also really recommend turning on the -k Ansi color feature
if your system will support it - text charts look much nicer in color!)

     For Unix systems, just run the command 'make' in the directory
containing the included Makefile. (You can also always compile by
hand: "cc -O -c *.c; cc -o astrolog *.o -lm -lX11" will do it; just
make sure to compile each source file and link them together at the
end with the math library, and if applicable the X11 library.)

     It is possible to compile Astrolog on a VMS system, even with
its X windows functionality. There's an example of a simple VMS .COM
file included which can automatically compile and link Astrolog on
VMS, which should work for version 5.05, although you might need to
include "/noopt" after the CC's since some compilers may cause the
program to pass parameters incorrectly with optimization on.

     Compiling Astrolog on a PC for DOS is easy too. One can usually
do it by simply compiling each file in turn and then linking them all
together. In some cases you don't have to worry about explicitly
mentioning things like the math library if your environments are set
up properly. I used the command line version of the Microsoft Visual
C 1.51 compiler and its graphics.lib to generate the ready to run PC
executable. If you have the nmake utility, the makefile included in
the zip archive will nicely compile and link astrolog 5.05 on a PC,
with properly set options and all. I compiled under the Large memory
model, with 16K bytes of stack space. The default directory for chart
info files, the astrolog.dat file, and the ephemeris files in the
official PC executable are all set to C:\ASTROLOG, although this
location can be overridden with several environment variables if set.
The time and location defaults are set to my own area, but you can
easily override them with your own values in the astrolog.dat file.

     Astrolog 5.05 may be also compiled for DOS using the Borland
Turbo C/C++ compiler. Graphics support works too using the Borland
BGI graphics libraries. If you want to compile in Borland graphics,
uncomment the "#ifdef BGI" line in astrolog.h (instead of the "#ifdef
MSG" for the Microsoft graphics.lib). If you don't want to compile in
graphics, just make sure the "#ifdef PC" line is uncommented (there
are some #ifdef __TURBOC__ lines in the sources to do non-graphical
Borland specific things). To actually compile, use the "makefile.bgi"
makefile, and invoke it with "make /f makefile.bgi" (or rename it to
be just "makefile" and run just "make"). Note that the file
"makefile.cfg" is also needed and is used during compilation by the
main makefile. If you are compiling in graphics, you will need to
have object files for all six of the BGI drivers in the directory you
compile in. To make these files, go into your BGI directory (e.g.
"CD C:\BORLANDC\BGI") and do the command "BGIOBJ /F <file>". Do this
six times, where <file> is "ATT", "CGA", "EGAVGA", "HERC", IBM8514",
and finally "PC3270".

     Astrolog's source code can be compiled and run on the Macintosh
perfectly with no special modifications needed. In making the
official Mac executable, I used the compiler Symantec C/C++ 7.0 for
the Mac. When compiling, uncomment the "MAC" compile time option in
astrolog.h, and turn on the "far data" flag in the compiler. Other
Astrolog compile time option settings should be SWITCHES off, ENVIRON
off, and PROTO off.

************************************************
Astrolog 5.10 posted Sun, 31 Dec 95 11:56:00 GMT
************************************************

####################  ASTROLOG 5.10 UPDATE FILE  #####################

     Happy New Year everyone! :) This file describes the astrology
software program Astrolog version 5.10 and the additions and fixes
made to it, over the previous version 5.05, which was released a
little over four months ago in August 1995. This update contains a
bug fix and a small assortment of features, mostly to make the
Windows version easier to use (specifically printing, setting saving,
and online documentation).

     If you are reading this document as posted in the newsgroup
alt.astrology, this release consists the following files, each posted
as a separate article:

1. "Update.510" - A text file describing new additions to Astrolog
   5.10 made over the previous version (what you're reading now).
2. "Readme.510" - A text file describing Astrolog in general and what
   the program offers and can do, for those interested in a summary.

     In addition, there are several other relevant files, which have
not been posted so as not to waste too much newsreader bandwidth.
They may be obtained by other means which will be described:

3. "ast51win.zip" - A uuencoded, zip archive containing a Windows
   executable ready to run on any Windows system, a configuration file,
   three icon files, three ephemeris files, a Readme, small summary file,
   a comprehensive Helpfile manual, and this Update file.
4. "ast51dos.zip" - A uuencoded, zip archive containing a DOS executable
   ready to run on PC's, config file, icon files, three ephemeris files,
   a Readme, small summary file, Helpfile, and this Update file.
5. "ast51mac.hqx" - A BinHex 4.0'ed self extracting archive program of the
   Macintosh executable, config file, three ephemeris files, Readme,
   summary, Helpfile, a resource file, and this Update file.
6. "ast51src.zip" - A uuencoded, zip archive containing the source code,
   and makefiles (not necessary unless you want to compile on a PC).
7. "History.510" - A text file describing additions in all previous
   releases (only useful if upgrading from more than one version ago).

     The "Helpfile" consists of a large comprehensive documentation
file of all of Astrolog's features. The "config file" is a default
settings file called astrolog.dat (not necessary to have to run but
useful). The "icon files" are Microsoft Windows icons from the
Windows executable. The "summary file" is a file_id.diz like that
included in many zip distributions, briefly describing the program in
whole. The "Update file" is again this document. The "ephemeris
files" are three binary files used for more accurate calculations of
planetary positions (again optional but nice to have). The "source
code" consists of 28 files (23 "C" program files, four header
#include files, and a resource script file). The "makefiles" are six
files: a generic makefile for Unix systems with their "make" command,
a project makefile for Microsoft Windows compilers, a nmakefile for
Microsoft DOS compilers, a makefile for Borland PC compilers (with a
second subfile to go with it), and a command script for compiling on
VMS systems.

     All the files described above have been uploaded to the
alt.astrology anonymous FTP site at ftp.magitech.com in the directory
/astrology/incoming. They should be moved to the standard
/pub/astrology/astrolog directory there soon. All of the ephemeris
files are already in the subdirectory /pub/astrology/Astrolog/ephem.
For PC's, Astrolog including all source and ephemeris files are also
available at Carl Baewer's Astro Net-1 BBS at 414-481-9976. Expect
Astrolog 5.10 to appear on SimTel sites such as ftp.coast.net and
other sites soon as well.


#####################  ASTROLOG 5.10 NEW FEATURES  #####################

Here are new additions to version 5.10 that weren't in 5.05 and before:

FEATURES IN WINDOWS PLATFORM ONLY:

1. File Print command: This feature allows one to directly print
   charts from within the program. Before, to print one would have to
   save a file or copy to the clipboard and print from another program.
   This command brings up the standard Windows Print dialog, with the
   same look and feel and options available as when printing from other
   Windows programs such as Write. The image printed will be the exact
   chart that appears in the window.

   For graphics charts, the printout will be a one page image of the
   display, scaled to be as large as possible within the bounds of the
   page. The window's horizontal and vertical scrollbars determine where
   in the page the image is situated, e.g. if the vertical scrollbar is
   all the way to the top, the image will be at the top of the page, if
   centered, then it will be vertically centered, and so on. Note that
   the colors in the window will be the colors on the paper, where you
   probably want to have the Graphics Reverse Background setting active,
   so the chart will be black on a white background and hence not waste
   ink. For monochrome printers you also probably want to have the
   Graphics Monochrome setting active, to prevent colors like yellow
   coming out as a hard to see light gray. For text mode charts, the
   printout will be on a white background regardless of what's in the
   window. You may want to turn off the View Colored Text setting if you
   don't have a color printer. The font size may be affected by the
   Graphics Character Scale command settings. For the standard medium
   character scale on a 8.5"x11" paper, there will be 70 rows to a page.
   The text printout will be more than one page if there are more than
   70 rows of output.

   Note that even with this feature available, one may still want to use
   the program's clipboard and file features to print from another
   program. Astrolog's Print command makes decisions about layout, font,
   etc, for you; some may find this convenient, but others may still
   prefer to import Astrolog output into a word processing or desktop
   publishing program to have full control. The graphics generated by
   printing a chart directly, and printing a chart bitmap, metafile, or
   PostScript file, have slightly different textures so one may prefer
   one format to another. Still, direct printing is available to those
   of us who would like to use it.

   File Print Setup command: Also on the File menu is the "Print
   Setup..." command. This brings up the standard Windows Print Setup
   dialog, allowing one to select settings such as the printer to print
   to, and whether the printed page will be oriented in portrait or
   landscape mode. This dialog is also accessible from the Print dialog
   itself via the "Setup..." button, but is also made available
   separately here.

2. File Save Settings command: This allows one to save settings made
   within the program so they will automatically be in effect again the
   next time the program is run. Before, one could change settings such
   as the house system, aspect orbs, etc, but they would go away upon
   exiting the program; to make setting changes persistent, one would
   have to manually edit the astrolog.dat settings file. This command
   changes that, by having the program automatically generate a new
   astrolog.dat file for you based on the current state of the program!
   The standard Windows Save dialog will be brought up as with all the
   other Save commands. The default filename to save to will of course
   be astrolog.dat, to replace the existing settings file. You can
   select a different name to save the file to if you like, where the
   file will be a command switch file like any other except it won't be
   read in automatically on startup like astrolog.dat. Note this feature
   won't save every possible program setting, such as the active chart
   being displayed, but it will save most things; see the astrolog.dat
   file itself for what exactly is saved. One can start the program,
   immediately do File Save Settings, and create an astrolog.dat file
   virtually identical to the one that was just read in.

3. File Save As Wallpaper submenu: This allows one to easily set an
   Astrolog graphics chart to be the background bitmap for the Windows
   desktop. There are two commands under Save As Wallpaper on the File
   menu: Tile Bitmap and Center Bitmap. The first centers the Astrolog
   chart in the middle of the screen, while the second tiles the chart
   across and down it. This functionality could be done before, where
   one could do File Save Bitmap to create a bitmap file, then go into
   the Windows control panel desktop settings, and point the wallpaper
   bitmap to the file created. This command allows it do be done with a
   click of the mouse, where a bitmap file called "ASTROLOG.BMP" will
   automatically be created and saved in your Windows directory.

4. Settings More Object Settings command: This command brings up a
   dialog much like the one under the Setting Object Settings command,
   except this dialog is for the house cusp and Uranian objects. Like
   the standard Object Settings dialog which is for the first twenty
   objects, this dialog allows one to set the maximum aspect orb allowed
   to, the orb addition factor for aspects concerning, and the influence
   value of, each cusp and Uranian object.

5. Help Documentation submenu: This submenu at the top of the Help
   menu allows one to access and even edit Astrolog's documentation
   files online without having to leave the program. The five commands
   on this menu are Open Defaults, which will show the astrolog.dat
   default settings file; Open Summary, which will show the very short
   file_id.diz program summary file; Open ReadMe, which will show the
   short feature list and general program information file Readme.510;
   Open Update, which will show the Update.510 file you're reading now;
   and Open Helpfile, which will show the large comprehensive
   documentation file Helpfile.510. These files are viewed simply by
   having Windows spawn a session of the Windows Notepad program, that
   has opened the file in question. The Helpfile, due to its size, is
   opened by the Windows Write program; when Write starts, you will
   probably want to clock on the "No Conversion" button when asked if
   you want to convert the file to Write format.

6. Chart Rising And Setting command: This sets the current chart
   display to be a list of the times all planets rise, set, and cross
   the meridian and nadir. This is a text mode only chart, and does the
   same thing as the -Zd switch. (Previous releases of the Windows
   version had no way to access this chart outside of command switches.)

7. View Window Settings scroll commands: Four commands have been
   added to the Window Settings submenu of the View menu. They are:
   Scroll Page Up, which scrolls the window up as if one clicked above
   the thumbnail on the vertical scrollbar; Scroll Page Down, which
   scrolls the window down as if one clicked below the thumbnail on the
   vertical scrollbar; Scroll to Beginning, which does the same as if
   one scrolls to the far upper left; and Scroll to End, which does the
   same as if one scrolls to the far bottom right. Note that one will
   generally want to use the keyboard shortcuts for these commands (the
   Page Up, Page Down, Home, and End keys) rather then select them from
   the menu, but they're on the menu too just for convenience.

8. Help List Credits command: This sets the current display to be a
   text listing of the credits and copyrights for the program. This does
   the same as the -Hc switch, and shows the same text as appears in the
   program's About box.

9. Mouse addition: When the current display is either the world map
   or an astro-graph chart, one may now right click on the map to
   relocate the chart to the spot on the world clicked upon. This will
   change the longitude and latitude of the current chart info in
   memory. Similar features were already in the X-Windows and DOS
   versions of the program, but this wasn't available in Windows
   Astrolog until now.

FEATURES IN ALL PLATFORMS:

1. -ma switch: Aspects to midpoints are now supported with the new
   -ma switch. This switch will do the same as the -m midpoint list
   chart, except in addition to listing each midpoint sorted by zodiac
   order, a sublist of each aspect in effect from a natal planet to the
   position of that midpoint, will be shown after it. The orb of the
   aspect will be printed too, where the orb will be shown as either
   wide or narrow, or applying or separating, based on the value of the
   -ga or -aa applying aspects setting. In the Windows version, there is
   a new "Text Midpoint List Includes Aspects To Midpoints" checkbox in
   the Chart Settings dialog which can be used to set this feature.

2. -Ky -X combination: The -Ky yearly calendar switch may be combined
   with the -X switch to generate a graphic calendar for the entire
   year. Before the yearly calendar was only available in text mode,
   with the graphic calendar chart always only being for one month. When
   the graphic calendar for the year is drawn, the 12 individual months
   will be arranged in either a 2x6 grid, a 3x4 grid, a 4x3 grid, or a
   6x2 grid, based on the dimensions of the chart; for example, a square
   chart will be drawn three months across by four down, but a tall
   skinny chart will cause the calendar layout to be in a 2x6 grid.

3. -E -gp combination: The -E text ephemeris switch may be combined
   with the -gp or -ap parallel aspects feature to generate an ephemeris
   of ecliptic latitudes (or equatorial declinations if the -sr flag is
   in effect) instead of the normal zodiac longitudes.

4. -w addition: The -w text wheel chart has been expanded to include
   some additional information about the chart being cast in its middle.
   Between the house system and Julian day rows is now included whether
   the zodiac system is set to tropical or sidereal, and whether the
   planetary positions are geocentric, heliocentric, or centered around
   some other body. Also, between the time zone and location row, and
   the house system row, is included the Universal Time (UT) of the time
   of the chart being cast (like GMT in the 24 hour clock), and the
   sidereal time for the chart cast. Sidereal time is vaguely similar to
   UT except 0:00 for it is approximately when 0 Aries crosses the
   meridian, as opposed to when the Sun crosses the Nadir for UT.

5. -YAa switch: This is like the -Aa aspect angle definition switch
   but sets the angles to use for a range of aspects instead of just
   one. Taking at least three parameters, the first two parameters
   specify the lower and upper aspect index bounds, and are followed by
   a list of angle degree values for each aspect in the range. This is
   like the other -YA switches which allow changing settings for a bunch
   of aspects at once.

6. -Yc switch: This obscure switch determines whether the angular
   house cusp objects (i.e. indexes 21, 24, 27, and 30) contain the
   position of their respective house cusps, or the positions of the
   Ascendant, Nadir, Descendant, and Midheaven. These positions are
   always the same except for certain house systems, e.g. in the Equal
   house system the position of the 10th cusp is different from the
   Midheaven. Before the angular house objects would always contain the
   positions of the Asc, MC, etc, however this feature gives the user
   the option to have the objects' contents be the positions of the
   cusps as defined by the house system in use. In the Windows version
   there is a new "Cusp Objects Are Positions Instead Of Angles" checkbox
   in the Obscure Settings dialog which may be used to set this feature.

7. -0 switch: This obscure switch is invoked in one of four forms:
   -0o, -0i, -0q, or -0X, where more than one of the subswitches may be
   combined, e.g. -0oiqX to do all four forms at once. Each subswitch
   disables a section of the program. The four areas of file output,
   file input, program termination, and graphics mode charts, may be
   respectively turned off by the four subswitches above. Once a section
   is disabled, it is that way permanently and can not be turned back on
   until the program quits. Attempting to access a restricted feature
   will display an appropriate error message or at least do nothing.
   This switch was meant to be used when Astrolog is being run from a
   chart server, a BBS, as a demo, or related situation. For example, if
   one set up Astrolog on the Net to be able to receive chart requests
   including arbitrary command lines where the result is e-mailed back
   to the user, the administrator probably wants to prevent the client
   from using the -o switch to create or potentially overwrite files on
   the server, in which case -0o can be put in the astrolog.dat file to
   prevent file output before the client gets a chance to do anything.
   Similarly, -0i can be used to prevent the client from using -i to
   read in private files on the server. If the server only e-mails text
   back to the user, you probably don't want the server copy of the
   program going into interactive graphics mode waiting for someone to
   pass it keystrokes, in which case -0X can be used. Finally, -0q might
   be useful in demo situations where people can play with the program
   but you don't want them exiting it. In this last case, the only way
   to stop the program is to kill the process; a Control-C should stop
   the DOS or Unix versions, but you'll probably have to exit Windows to
   terminate Astrolog if a -0q is done in the Windows version.

--

Here's a summary of the four new command switches in Astrolog 5.10
that weren't in previous versions:

-ma: Like -m but show aspects from midpoints to planets as well.
-Yc: Angular cusp objects are house positions instead of angles.
-YAa <asp1> <asp2> <ang1>..<ang2>: Set planet aspect angles for range.
-0[o,i,q,X]: Disallow file output, input, exiting, and graphics.

Here's a listing of the 17 new menu commands in the Windows version
of Astrolog 5.10 that weren't in previous versions:

File - Save Settings...
File - Save As Wallpaper - Tile Bitmap
File - Save As Wallpaper - Center Bitmap
File - Print...
File - Print Setup...
View - Window Settings - Scroll Page Down
View - Window Settings - Scroll Page Up
View - Window Settings - Scroll To Beginning
View - Window Settings - Scroll To End
Setting - More Object Settings...
Chart - Rising And Setting
Help - Documentation - Open Defaults
Help - Documentation - Open Summary
Help - Documentation - Open ReadMe
Help - Documentation - Open Update
Help - Documentation - Open Helpfile
Help - List Credits


#####################  ASTROLOG 5.10 BUG FIXES  #####################

Here are problems with version 5.05 (one of the more bug-free
releases of Astrolog) that have been fixed in this release:

1. -L inaccuracy: The -L astro-graph chart would have the lines be up
   to a couple degrees off, in both the text and graphics versions. This
   has been fixed, and verified against other sources of these charts.

2. -v typo: The fourth column in the standard -v text listing used to
   always be labeled "Declination", which could cause some confusion
   because what's being displayed is the ecliptic latitude (except when
   the -sr switch is in effect in which case it's equatorial declination).
   This has been changed where the column header is "Latitude" now
   (except when -sr is set in which case it will be "Declination").

3. File Save blemish: None of the File Save menu commands for charts
   and chart output in the Windows version would display a warning when
   saving a file over an existing one. These commands now query for a
   confirmation before replacing files.

4. Accelerator typos: In the Windows version the commands File Save
   Picture had a keyboard accelerator the same as File Save Positions,
   and the command Chart Astro-Graph had one the same as Chart Arabic
   Parts. File Save Picture and Chart Astro-Graph have had their
   accelerators changed so there is no ambiguity.


#####################  ASTROLOG 5.10 PROGRAM CHANGES  #####################

As with every release, a few changes that aren't feature additions or
bug fixes were made to this version, where certain old assumptions
are no longer valid. A list of these (which aren't useful to be aware
of unless you have used previous versions of the program) follows:

1. In the Windows version, the More Settings command on the Settings
   menu is now called Calculation Settings. Also, the keyboard shortcuts
   for the Help About, Setting Object Settings, and Settings Transit
   Restrictions menu commands have been changed.

2. Previous chart change: The initial contents of the "previous"
   chart as accessed with "-i set" has been changed from the
   astrological "chart" of version 5.05 of the program to the release of
   this version 5.10. This chart is now set to one minute before New
   Year's day, specifically for 11:59pm PST (8 hours before GMT) on
   Sunday, December 31, 1995 for here in Seattle, WA (122W20, 47N36).

3. E-mail change: My former e-mail address of astara@u.washington.edu
   no longer exists. Astrolog related mail should be sent to my new and
   current address of Astara@msn.com.


#####################  5.10 COMPILING INSTRUCTIONS  #####################

     Compiling Astrolog version 5.10 is identical to compiling
previous versions: First edit the top of the file astrolog.h,
commenting out any of the #define's which set various features that
aren't valid on your system or you don't want, and changing default
values and directories to your preference. (Just see the
self-explanatory section comments in this file.) Then in the same
manner, also edit these default parameter values in the astrolog.dat
settings file to your liking, at least the location and time zone
values. (I also really recommend turning on the -k Ansi color feature
if your system will support it - text charts look much nicer in color!)

     For Unix systems, just run the command 'make' in the directory
containing the included Makefile. (You can also always compile by
hand: "cc -O -c *.c; cc -o astrolog *.o -lm -lX11" will do it; just
make sure to compile each source file and link them together at the
end with the math library, and if applicable the X11 library.)

     It is possible to compile Astrolog on a VMS system, even with
its X windows functionality. There's an example of a simple VMS .COM
file included which can automatically compile and link Astrolog on
VMS, which should work for version 5.10, although you might need to
include "/noopt" after the CC's since some compilers may cause the
program to pass parameters incorrectly with optimization on.

     Compiling Astrolog on a PC for DOS is easy too. One can usually
do it by simply compiling each file in turn and then linking them all
together. In some cases you don't have to worry about explicitly
mentioning things like the math library if your environments are set
up properly. I used the command line version of the Microsoft Visual
C 1.52 compiler and its graphics.lib to generate the ready to run PC
executable. If you have the nmake utility, the makefile included in
the zip archive will nicely compile and link astrolog 5.10 on a PC,
with properly set options and all. I compiled under the Large memory
model, with 16K bytes of stack space. The default directory for chart
info files, the astrolog.dat file, and the ephemeris files in the
official PC executable are all set to C:\ASTROLOG, although this
location can be overridden with several environment variables if set.
The time and location defaults are set to my own area, but you can
easily override them with your own values in the astrolog.dat file.

     Astrolog 5.10 may be also compiled for DOS using the Borland
Turbo C/C++ compiler. Graphics support works too using the Borland
BGI graphics libraries. If you want to compile in Borland graphics,
uncomment the "#ifdef BGI" line in astrolog.h (instead of the "#ifdef
MSG" for the Microsoft graphics.lib). If you don't want to compile in
graphics, just make sure the "#ifdef PC" line is uncommented (there
are some #ifdef __TURBOC__ lines in the sources to do non-graphical
Borland specific things). To actually compile, use the "makefile.bgi"
makefile, and invoke it with "make /f makefile.bgi" (or rename it to
be just "makefile" and run just "make"). Note that the file
"makefile.cfg" is also needed and is used during compilation by the
main makefile. If you are compiling in graphics, you will need to
have object files for all six of the BGI drivers in the directory you
compile in. To make these files, go into your BGI directory (e.g.
"CD C:\BORLANDC\BGI") and do the command "BGIOBJ /F <file>". Do this
six times, where <file> is "ATT", "CGA", "EGAVGA", "HERC", IBM8514",
and finally "PC3270".

     Astrolog's source code can be compiled and run on the Macintosh
perfectly with no special modifications needed. In making the
official Mac executable, I used the compiler Symantec C/C++ 7.0 for
the Mac. When compiling, uncomment the "MAC" compile time option in
astrolog.h, and turn on the "far data" flag in the compiler. Other
Astrolog compile time option settings should be SWITCHES off, ENVIRON
off, and PROTO off.

************************************************
Astrolog 5.20 posted Sun, 24 Mar 96 14:05:00 GMT
************************************************

####################  ASTROLOG 5.20 UPDATE FILE  #####################

     Happy Spring Equinox everyone! :) This file describes the
astrology software program Astrolog version 5.20 and the additions
and fixes made to it, over the previous version 5.10 which was
released nearly three months ago in December 1995. This update
contains one new chart type, Gauquelin Sector charts, and a small
selection of bug fixes, mainly to Windows printing.

     If you are reading this document as posted in the newsgroup
alt.astrology, this release consists the following files, each posted
as a separate article:

1. "Update.520" - A text file describing new additions to Astrolog
   5.20 made over the previous version (what you're reading now).
2. "Readme.520" - A text file describing Astrolog in general and what
   the program offers and can do, for those interested in a summary.

     In addition, there are several other relevant files, which have
not been posted so as not to waste too much newsreader bandwidth.
They may be obtained by other means which will be described:

3. "ast52win.zip" - A uuencoded, zip archive containing a Windows
   executable ready to run on any Windows system, a configuration file,
   four icon files, three ephemeris files, a Readme, small summary file,
   a comprehensive Helpfile manual, and this Update file.
4. "ast52dos.zip" - A uuencoded, zip archive containing a DOS executable
   ready to run on PC's, config file, icon files, three ephemeris files,
   a Readme, small summary file, Helpfile, and this Update file.
5. "ast52mac.hqx" - A BinHex 4.0'ed self extracting archive program of the
   Macintosh executable, config file, three ephemeris files, Readme,
   summary, Helpfile, a resource file, and this Update file.
6. "ast52src.zip" - A uuencoded, zip archive containing the source code,
   and makefiles (not necessary unless you want to compile on a PC).
7. "History.520" - A text file describing additions in all previous
   releases (only useful if upgrading from more than one version ago).

     The "Helpfile" consists of a large comprehensive documentation
file of all of Astrolog's features. The "config file" is a default
settings file called astrolog.dat (not necessary to have to run but
useful). The "icon files" are Microsoft Windows icons from the
Windows executable. The "summary file" is a file_id.diz like that
included in many zip distributions, briefly describing the program in
whole. The "Update file" is again this document. The "ephemeris
files" are three binary files used for more accurate calculations of
planetary positions (again optional but nice to have). The "source
code" consists of 28 files (23 "C" program files, four header
#include files, and a resource script file). The "makefiles" are six
files: a generic makefile for Unix systems with their "make" command,
a project makefile for Microsoft Windows compilers, a nmakefile for
Microsoft DOS compilers, a makefile for Borland PC compilers (with a
second subfile to go with it), and a command script for compiling on
VMS systems.

     All the files described above have been uploaded to the
alt.astrology anonymous FTP site at ftp.magitech.com in the directory
/pub/astrology/incoming. They should be moved to the standard
/pub/astrology/astrolog directory there soon. All of the ephemeris
files are already in the subdirectory /pub/astrology/Astrolog/ephem.
For PC's, Astrolog including all source and ephemeris files are also
available at Carl Baewer's Astro Net-1 BBS at 414-481-9976. Expect
Astrolog 5.20 to appear on SimTel sites such as ftp.coast.net and
other sites soon as well.


#####################  ASTROLOG 5.20 NEW FEATURES  #####################

Here are new additions to version 5.20 that weren't in 5.10 and before:

1. -l switch: Astrolog 5.20 supports a new chart type: Gauquelin
   sector charts. This is based on the work of Michael Gauquelin, with a
   sector chart basically a type of wheel chart where the planets are
   placed in their appropriate Gauquelin sector instead of zodiac sign
   at a given time. Sectors are numbered from 1 to 36, and indicate
   proportions of time between rising and setting. Sectors 1 through 18
   are above the horizon, and 19 through 36 are below. When a planet
   rises it goes from sector 36 to 1, when 1/18th of the time until the
   moment it sets has passed it enters sector 2, and so on. A sector
   chart can be thought of as somewhat related to a standard wheel
   chart, except that it's "time based" instead of "location based". In
   interpretation, certain sectors are known to be powerful. These
   sectors are called plus zones and are the sectors immediately before
   and a bit after the four angles. For a more detailed account on
   interpretation, see books such as Gauquelin's "Cosmic Influences on
   Human Behavior". To bring up a sector chart, use the -l command
   switch, or use the Gauquelin Sectors command on the Chart menu in the
   Windows version.

   In text mode, the sector chart will be similar to the standard -v
   listing. The chart info time and place will be displayed, after
   which, for each planet, the sector it's in will be displayed, with a
   "+" indicating a plus zone, and a "-" indicating such is not the case
   (where with colored text active plus zones will be in red and minus
   dark green). Then as in the standard listing, the planet's house,
   zodiac location, retrogradation status, equatorial latitude, and
   velocity will be printed. Finally will be displayed two alternative
   sector locations assuming systems where sectors go from 1 to 18, and
   from 1 to 12 (where for example the beginning of sector 36 will map
   to sector location 18.5, and 12.75, respectively). After this,
   summary information will be displayed. The number and percentage of
   planets that fall in plus zones (as well as the number and percentage
   of plus zones period) will be printed, and for each of the 36
   sectors, the number of planets that fall in it and whether it's a
   plus zone will be indicated.

   In graphics mode, the 36 sectors will be arranged in a wheel, with
   chart header info displayed at the bottom or in a sidebar as with
   regular wheels. Each planet will be plotted at its appropriate sector
   location, with plus zone sectors labeled in red and minus in dark
   green, and aspects will be indicated in the middle of the wheel.

   -l0 switch: Calculating correct sector positions is based on rising
   and setting times, which require searches, hence computing the chart
   takes quite a bit longer than regular wheels. It's like the -Zd
   rising and setting list, where increasing the -d searching divisions
   value increases the accuracy and calculation time here too. To cut
   calculation time down to that of ordinary charts, one may do a
   reasonable approximation of sector positions based on how far each
   planet has progressed through a corresponding house (specifically
   house cusps divided using Placidus). To compute charts in this fast
   manner, invoke the -l switch as -l0. In the Windows version the new
   checkbox "sector chart approximated with Placidus cusps" in the Chart
   Settings dialog controls this flag.

   -Yl switch: This command switch is used to set whether a sector is a
   plus zone sector or not. Taking one parameter of a sector number, it
   toggles the plus zone status of it. Like the -R restriction switches,
   the "_" prefix may be used to make a sector minus and the "=" prefix
   to make a sector plus. Special thanks to Kenneth Irving (editor and
   author of the column "The New Astrology" in "American Astrology") for
   providing information on computing Gauquelin sectors, feedback on
   Astrolog's output, and for championing this method of chart calculation.

2. -YJ switch: This switch allows one to customize the rulerships of
   a given planet. It takes three parameters, the object to modify, the
   zodiac sign for it to rule, and a second sign for it to co-rule. Pass
   in the value zero to make a planet not rule any sign. For example,
   Jupiter by default rules Sagittarius and co-rules Pisces. If you'd
   prefer it to rule Cancer and not have a co-rulership, do "-YJ Jup Can 0".

   -YJ0 switch: Similar to the -YJ switch, this allows one to customize
   the zodiac sign a given planet exalts in. It takes two parameters,
   the object to modify, and the new sign to exalt in (with a zero value
   meaning no exaltation). For example, to make Pluto exalt in Aries
   (and hence implicitly be debilitated in the opposite sign Libra) do
   "-YJ0 Plu Ari".

3. -a0 and -m0 extension: The -a0 aspect list summary and -m0
   midpoint list summary features have been extended in that such
   information is now also included for -r0 relationship comparison
   charts. Before these switches would only display summary info for
   individual charts.

4. -t extension: Transiting house cusps (and other fast moving
   objects like the Part of Fortune, Vertex, and East Point) may now be
   included in -t transit to natal searches. This allows one to
   determine the time of events such as when the Ascendant today
   conjuncts your natal Sun, which before wasn't possible as only actual
   bodies would be considered when transiting. To activate transiting
   cusp objects use the -RT switch or the Transit Restrictions dialog in
   the Windows version. Note that as the house cusps travel through all
   360 degrees of the zodiac during the day, a cusp will make a transit
   roughly 30 times as often as even the fast moving Moon, the Moon
   itself making transits 12 times as often as planets like the Sun. So
   realize you may get a flood of information, and hence probably want
   to restrict all planets and aspects you're not interested in. Note
   also that to get accurate times for these events, you probably want a
   high value for the -d searching divisions setting (I recommend at
   least 200) which means longer calculations.

5. -YRZ switch: This switch allows one to determine which events
   appear in the -Zd rising and setting time chart. It takes four
   parameters, which respectively control whether rising events, zenith
   transit events, setting events, and nadir transit events are included
   in the chart. A zero value indicates to include that event, while a
   one means to restrict it. For example, to include only rising and
   setting events in the -Zd chart, do "-YRZ 0 1 0 1". In the Windows
   version there are four checkboxes surrounded by a groupbox labeled
   "rising and setting restrictions" in the Obscure Settings dialog to
   control these values.

6. -Wn switch: For the Windows version only, this switch toggles it
   so that the window will not redraw its contents until you force an
   update (with the Redraw Screen command or by pressing space).
   Normally the screen updates after every command or whenever a section
   of the window gets uncovered. However this constant redrawing may
   cause unwanted waiting on a slower system, especially if one is
   tweaking various minor settings in say a large transit search, and
   doesn't want to wait after each modification. There is a checkbox
   labeled "don't automatically update screen" for this flag in the
   Graphics Settings dialog.

7. -i2 switch: This obscure switch is like the -i chart file load
   switch, except that this puts the chart info into the "second" chart
   slot. This is basically the command switch equivalent to the Set
   Chart #2 Info command in the Windows version, and like it this
   doesn't enter or leave any relationship chart mode.

8. File Print improvement: In the Windows version the printouts
   produced with the Print command are a bit smoother looking. Curves
   and line segments were always perfectly smooth on a laser printer
   before, however the layout of objects on it was still on a grid the
   size of the screen, e.g. 640x480, so things such as dotted lines
   could appear blocky. These printouts now use the same increased scale
   factor that the metafiles use.

--

Here's a summary of the seven new command switches in Astrolog 5.20
that weren't in previous versions:

-l: Display Gauquelin sectors for each planet in chart.
-l0: Like -l but approximate sectors using Placidus cusps.
-Yl <1-36>: Toggle plus zone status of sector for sector chart.
-Wn: Don't redraw screen until user forces update.
-YRZ <rise> <zenith> <set> <nadir>: Set restrictions for -Zd chart.
-YJ <obj> <sign> <cosign>: Set sign planet rules and co-rules.
-YJ0 <obj> <sign>: Set zodiac sign given planet exalts in.

The one new menu command in the Windows version of Astrolog 5.20
that wasn't in previous versions is: Chart - Gauquelin Sectors


#####################  ASTROLOG 5.20 BUG FIXES  #####################

Here are problems with version 5.10, all of which have been corrected
in this release:

1. File Print crash: The Print command in the Windows version would
   crash when run on Windows 3.1 systems. Printing would work on Windows
   95 and NT. This was at least in the "official" Windows executable
   released, where people who compiled the program themselves may not
   have run into it. Printing now works on all Windows platforms.

2. -n bug: Charts for the current moment would be one year behind if
   the month is January, when run from the "official" DOS and Windows
   executables released. This was due to obscure floating point
   rounding, and would not happen in the Mac or Unix versions, and
   usually not in the PC versions either, if the program was compiled in
   an even slightly different way than I did. You should get the correct
   month now no matter what compiler was used to create your executable.

3. -j and -a bug: Influence values obtained in the -j influence chart
   for the aspects, and in the -a aspect list chart would only look at
   the basic orb of the aspect, and wouldn't take into account the
   planet orb addition values or the max orb allowed to a planet values.
   It was possible for planets with a large orb addition to get a
   negative aspect influence in the -j chart. These charts now do the
   same correct orb influence calculations as the -D and -T transit
   influence charts do.

4. -E problem: The text ephemeris chart would edit the contents of
   the original chart, pushing the date to the end of the span of time
   the ephemeris was done for. This chart is now like its graphic
   counterpart and no longer does that.

5. Setting Restrictions problem: The Restrictions and Transit
   Restrictions dialogs would sometimes restrict all the house cusp or
   uranian objects when undesired. On okaying one of the dialogs, the
   program would turn off the -C include cusps and -u include uranians
   settings if all such objects had their restriction flags checked.
   However, this would not check the status of the other set of
   restrictions first, meaning for example, having cusps unrestricted in
   the main set, then bringing up the Transit Restriction dialog and
   restricting all its cusps, would turn off the include cusps setting,
   which would then implicitly restrict all the cusps in the standard
   Restrictions dialog as well. These dialogs will now only turn off the
   include cusps or uranians settings if both dialogs have them all
   restricted.

6. Printing omission: Using the Windows print command to print
   graphics would always place the graphic at the top left of the page,
   and not based on the relative position of the scrollbars.

7. -L glitch: The -L astro-graph chart, when rendered to a PostScript
   or metafile graphics file, would not clearly show the planet zenith
   locations. The square markers would be a little over 10 times smaller
   than the same relative image was on the screen.

8. Info Progressed And Natal bug: The Windows Progressed and Natal
   chart feature, which is meant to do a bi-wheel with chart #1's
   planets on the inside wheel, and chart #1's planets progressed to the
   time in chart #2 on the outside, didn't work as documented. The -rp
   command switch equivalent worked, but the menu option would basically
   do the same as just the Transit and Natal command.

9. Time entry glitch: It was possible to get away with some illegal
   time values, both as parameters to command switches and in the
   Windows Chart Info dialogs. Specifically, minute values after 59, and
   up to 99, would not be complained about. One could enter a value like
   1:90 for a birth time, which would be 1:90am, or 90 minutes after
   1am, which would of course produce the same chart as 2:30am. Expect
   an error message for illegal minute values now.

10. Default file problem: The default settings file astrolog.dat had
   the -n line to start with the chart for "now", after the -Yz line
   which may set an offset to apply to the current times. This would
   make the -Yz setting not effect that first "now" chart; it would only
   be applied to subsequent chart updates. The -n line has now been
   moved to be after the -Yz line for the standard astrolog.dat file.


#####################  ASTROLOG 5.20 PROGRAM CHANGES  #####################

As with every release, a few changes that aren't feature additions or
bug fixes were made to this version, where certain old assumptions
are no longer valid. A list of these (which aren't useful to be aware
of unless you have used previous versions of the program) follows:

1. Scrollbar change: For text mode charts in the Windows version,
   behavior has been added such that if the window has been scrolled
   down so that all the text is off the top of the screen, the program
   will automatically scroll up and redraw again, so the bottom 20 rows
   or so are visible. Before, one could switch from graphics mode to
   text, or from one text chart type to another, and potentially see a
   blank screen and not realize right away that one needs to scroll up.

2. -E -X change: The graphic ephemeris now does charts daily using
   the time and zone from the current chart, like the text ephemeris
   already did. This used to just always use midnight and the default
   time zone setting.

3. -r change: All of the -r switches will now always load the files
   immediately upon invocation. The chart info will then stay in the
   "first" and "second" slots for use with the actual relationship chart
   types. Before, references to the files would be kept, which would be
   loaded on every chart update. In the Windows version this could cause
   confusion in that attempting to change the info in one of the charts
   would have those changes discarded when the file is loaded again.

4. -Xn change: Animation mode has been changed such that when a
   comparison relationship chart is up, animation will forward the chart
   in the "second" slot rather than the "first". This is more intuitive
   when animating bi-wheel transit to natal charts, where the transiting,
   i.e. second, chart will be the one forwarded.

5. Previous chart change: The initial contents of the "previous"
   chart as accessed with "-i set" has been changed from the
   astrological "chart" of version 5.10 of the program to the release of
   this version 5.20. This chart is now set to the time of the Vernal
   Equinox, specifically for 12:03am PST (8 hours before GMT) on
   Wednesday, March 20, 1996 for here in Seattle, WA (122W20, 47N36).

6. Documentation note: In these new feature "update" files, I've
   included a section on compiling instructions in the past. All this
   information is in the Helpfile.520 file so doesn't really need to be
   reprinted here.

************************************************
Astrolog 5.30 posted Mon, 30 Sep 96 11:55:00 GMT
************************************************

####################  ASTROLOG 5.30 UPDATE FILE  #####################

     Happy Autumn Equinox and Total Lunar Eclipse everyone! :) This
file describes the astrology software program Astrolog version 5.30
and the additions and fixes made to it, over the previous version
5.20 which was released exactly a half year ago this Spring Equinox.
This update contains tri-wheels and quad-wheels, Macintosh screen
graphics, and the standard assortment of small bug fixes.

     If you are reading this document as posted in the newsgroup
alt.astrology, this release consists the following files, each posted
as a separate article:

1. "Update.530" - A text file describing new additions to Astrolog
   5.30 made over the previous version (what you're reading now).
2. "Readme.530" - A text file describing Astrolog in general and what
   the program offers and can do, for those interested in a summary.

     In addition, there are several other relevant files, which have
not been posted so as to not waste too much newsreader bandwidth.
They may be obtained by other means which will be described:

3. "ast53win.zip" - A uuencoded, zip archive containing a Windows
   executable ready to run on any Windows system, a configuration file,
   four icon files, three ephemeris files, a Readme, small summary file,
   a comprehensive Helpfile manual, and this Update file.
4. "ast53dos.zip" - A uuencoded, zip archive containing a DOS executable
   ready to run on PC's, config file, icon files, three ephemeris files,
   a Readme, small summary file, Helpfile, and this Update file.
5. "ast53mac.hqx" - A BinHex 4.0'ed self extracting archive program of the
   Macintosh executable, config file, three ephemeris files, Readme,
   summary, Helpfile, a resource file, and this Update file.
6. "ast53src.zip" - A uuencoded, zip archive containing the source code,
   and makefiles (not necessary unless you want to compile on a PC).
7. "History.530" - A text file describing additions in all previous
   releases (only useful if upgrading from more than one version ago).

     The "Helpfile" consists of a large comprehensive documentation
file of all of Astrolog's features. The "config file" is a default
settings file called astrolog.dat (not necessary to have to run but
useful). The "icon files" are Microsoft Windows icons from the
Windows executable. The "summary file" is a file_id.diz like that
included in many zip distributions, briefly describing the program in
whole. The "Update file" is again this document. The "ephemeris
files" are three binary files used for more accurate calculations of
planetary positions (again optional but nice to have). The "source
code" consists of 28 files (23 "C" program files, four header
#include files, and a resource script file). The "makefiles" are six
files: a generic makefile for Unix systems with their "make" command,
a project makefile for Microsoft Windows compilers, a nmakefile for
Microsoft DOS compilers, a makefile for Borland PC compilers (with a
second subfile to go with it), and a command script for compiling on
VMS systems.

     All the files described above are available at the Astrolog 5.30
homepage at http://www.magitech.com/~cruiser1/astrolog.htm. All
Astrolog files are also at the alt.astrology anonymous FTP site at
ftp.magitech.com in the Astrolog directory /pub/astrology/astrolog.
All of the ephemeris files are already in the subdirectory
/pub/astrology/Astrolog/ephem. For PC's, Astrolog including all
source and ephemeris files are also available at Carl Baewer's Astro
Net-1 BBS at 414-481-9976. Expect Astrolog 5.30 to appear on SimTel
FTP sites such as ftp.coast.net and other sites soon as well.


#####################  ASTROLOG 5.30 NEW FEATURES  #####################

Here are new additions to version 5.30 that weren't in 5.20 and before:

1. -r3 and -r4 switch: Astrolog 5.30 can now do tri-wheel and
   quad-wheel graphics charts. These are like the standard and bi-wheel
   charts already in place, but with a third and/or fourth ring of
   planets. The standard or first chart in memory is placed on the outer
   wheel, next in is the second chart in memory, where the third and/or
   fourth charts are on the inside. (Note this is different from the
   bi-wheel graphic which has the first chart on the inside and the
   second on the outside.) The house cusps and the graphic sidebar if
   showing will correspond to the info in the first ring. There is never
   any aspect display in the middle of the wheel, but when the -Xi
   alternate chart display flag is set, the program will draw dotted
   lines from each planet in the outer rings to the inner one, as is
   always done in the bi-wheel chart.

   The -r3 switch, taking no parameters, will put one in tri-wheel mode.
   The -r4 switch will put on in quad-wheel mode. (You can also do -r2
   to enter bi-wheel mode, and -r1 or _r to return to the standard
   single wheel.) To set what chart info each wheel ring will contain,
   put a number after the -i switch to load the chart info from a file
   into that slot, e.g. -i3 to load into the third slot, and -i4 for the
   fourth (and -i2 will load into the second and -i1 or just -i into the
   first.)

   The Windows version has a new menu option "Charts #3 and #4" on the
   Info menu. This will bring up a dialog giving one access to all four
   chart slots, with buttons which will bring up the file open dialogs
   to load chart info into each slot, and buttons allowing access to the
   chart info dialogs to view or change the info in each slot. This
   dialog also has a radio button group to indicate what type of wheel
   and how many chart rings to display: single, bi, tri, or quad.

2. Macintosh graphics: The Macintosh version of Astrolog can now do
   on-screen graphics. Before, the only graphics option available was to
   create graphic bitmap or picture files on disk which then had to be
   viewed in another program. The Mac version still has the same command
   line interface as before, just that the -X switch instead of always
   prompting for a filename, will bring up a separate window with the
   appropriate wheel or whatever other chart displayed in it, and one
   may then press keys while the window is up to change or alter the
   display. For those familiar with them, the Mac version is now more or
   less equivalent in functionality to the DOS and X Windows versions,
   although a few things such as mouse scribbles on the screen and
   flicker free updates aren't available yet.

   MACG #define: In the source code, there's a new compile time option
   in the astrolog.h file called MACG. When set, it will compile in the
   Mac screen graphics. When commented out, it will be like before. The
   MACG define is like the MSG, BGI, and X11 compile time variables
   which turn on screen graphics for other platforms.

3. -tr switch: This switch is a quick and convenient way to compute
   solar, lunar, and other returns. Astrolog has always been able to do
   returns, as a return is when a transiting object conjuncts its natal
   position, and hence returns are findable using the -t transit to
   natal search. However to only display returns here and not every
   transit one had to restrict aspects to just the conjunction, and
   restrict objects to just the one you're interested in. (But even that
   will still show things in addition to returns if more than one object
   is unrestricted, e.g. with just Sun and Moon you'll still get Sun to
   Moon conjunctions and vice-versa.) The solution is this new return
   feature, which (without altering your aspect or object restrictions
   any) will work just like the -t switch, but display only returns in
   the transit list, i.e. conjunctions between a transiting planet and
   that same planet in the natal chart.

   -Tr switch: Related to the -tr switch above, -Tr is just like the -T
   transit influence chart, but will only display aspects between a
   transiting planet and the same natal planet. (Note it will include
   aspects other than the conjunction here.)

   Transits dialog addition: In the Windows version the Transit dialog
   has a new checkbox named "display returns only", which when set will
   affect the transit to natal search and transit to natal influence
   charts in the way above.

4. Improved glyphs: Astrolog now has higher resolution graphic glyphs
   for planets and aspects. Before, glyphs drawn at the default 200% or
   medium scale and up would look slightly blocky. Now, with a alternate
   "internal font" of double sized glyphs, the medium ones are smooth to
   the nearest pixel like the small glyphs are. (The improved glyphs are
   also used at the 400% or huge scale, and when printing.)

5. -Yb switch: This new switch, taking one parameter, specifies how
   many days to include in the biorhythm charts. It will control the
   number of days spanned in the text biorhythm listing, and number of
   days before and after the given day in the graphic biorhythm chart.

6. -k0 switch: This minor switch is just like the existing -k text
   color switch, however it only toggles whether the high Ascii graphics
   characters are used, as opposed to -k which toggles both that and
   whether Ansi colors are used. A system with a black and white monitor
   may want to use high graphics but not color, while a system with a
   foreign character set may prefer color but not graphics characters.

7. -I extension: The -I interpretation switch now uses text from the
   actual name given for a chart in the interpretation displays, instead
   of just "this person" or "person1". The string will be exactly what
   was entered for the name or title field of the chart or as passed to
   the -zi switch, and will default to the generic strings if the field
   is empty.

8. -E -r0 combination: The graphic ephemeris chart may be combined
   with the -r0 comparison feature. When both charts are active, in
   addition to the standard ephemeris lines for the first chart, dashed
   vertical lines will be drawn at the positions of the planets in the
   second chart, at the time the ephemeris is done at.

--

Here's a summary of the five new command switches in Astrolog 5.30
that weren't in previous versions:

-tr <month> <year>: Compute all returns in month for chart.
-i[2,3,4] <file>: Load chart info into chart slots 2, 3, or 4.
-r[3,4]: Make graphics wheel chart tri-wheel or quad-wheel.
-k0: Like -k but only use special characters, not Ansi color.
-Yb <days>: Set number of days to span for biorhythm chart.

The one new menu command in the Windows version of Astrolog 5.30
that wasn't in previous versions is: Info - Charts #3 And #4...


#####################  ASTROLOG 5.30 BUG FIXES  #####################

Here are problems with version 5.20, all of which have been corrected
in this release:

1. -U inaccuracy: Fixed star positions, for stars in the southern
   hemisphere, would have latitude positions on average 1 degree north
   of where they should be. This would affect their ecliptic zodiac
   positions by a few minutes too.

2. Printing bug: Printing text charts in the Windows version would
   result in very small text in the upper left corner of the page about
   1/7th the size it should be. This was accidentally caused in version
   5.20 as text printed fine in version 5.10.

3. -w overflow: The UT field in -w text mode wheel charts would
   sometimes have its hour or minute values overflow 24 hours or 60
   minutes, which required one to mentally subtract 24 hours or 60
   minutes to get the correct Universal Time.

4. -h bug: Entering heliocentric mode outside of using the -h switch
   would fail to update the names of object indexes. For example in the
   Windows version, choose Heliocentric from the Settings menu, and
   notice the sidebar has the Earth's position still labeled "Sun".

5. -Tp bug: The -Tp progressed to natal influence chart, would
   incorrectly turn on and leave on the progression flag, making future
   charts progressed charts which would cause confusion.

6. -T limitation: The -T transit to natal influence chart wouldn't
   include transiting house cusps and other fast moving objects like the
   Vertex. These objects are included now assuming they're unrestricted.

7. -K glitch: The graphic calendar chart would draw slow and with
   thick lines when the character scale was over 100%. Another thing
   that was caused in version 5.20 and didn't exist in 5.10.

8. -R0 crash: If you restricted every single object, certain text
   charts would have a divide by zero error causing the program to
   abnormally quit. These were the -a0 aspect list with summary, the -m0
   midpoint list with summary, the -l Gauquelin sector chart, and the
   -j0 influence chart with sign info.

9. -rt glitch: The graphic sidebar for the -rt transit and natal
   chart, would show the planet positions of the transiting chart, but
   use the natal restrictions. The sidebar now uses the transit
   restrictions and shows everything else based on the transiting chart.

10. -r glitch: The "Synastry Chart" command on the Info menu in the
   Windows version, would not display a check mark by it when selected.
   The synastry mode would still be entered and the chart displayed
   correctly, just the check mark would be by "No Relationship Chart".

11. -Ey glitch: The graphic ephemeris chart, when combined with a -x
   harmonic chart setting, with a large harmonic value of 12 or above,
   would sometimes incorrectly draw the lines for very fast moving
   objects like the Moon. Because the Moon at the 15th harmonic is
   moving about 180 degrees per day, and the monthly ephemeris only
   plots position once per day, the chart could miss the complete orbit
   and draw some line segments backward as if the planet were
   retrograde. Now by looking at the planet velocities, this problem is
   cut down where the harmonic ephemeris can safely handle up to the
   20th harmonic before problems start arising with the Moon.

12. -o0 glitch: The graphic sidebar would display longitude and
   latitude information for -o0 position only charts, in addition to the
   "no time or space" line. Location information is meaningless in these
   charts anyway, so is no longer displayed in the sidebar.

13. -U bug: Fixed stars, when ordered by anything other than the
   default ordering, in the standard -v text listing, would look at
   restrictions incorrectly. Restrictions would be based on the default
   ordering, so restricting a star and changing the ordering would cause
   a different star to be omitted.

14. File bug: Astrolog, when reading in a chart info or other command
   switch file, would treat high Ascii values >= 128 as breaks between
   command switches. These values are now parsed like any other, no
   longer causing problems when including special characters in name
   fields. On the event a high Ascii character was attempted to be drawn
   in Astrolog's text font, the program would display junk and bring up
   "bad draw" errors. Such characters are drawn as spaces now.


#####################  ASTROLOG 5.30 PROGRAM CHANGES  #####################

As with every release, a few changes that aren't feature additions or
bug fixes were made to this version, where certain old assumptions
are no longer valid. A list of these (which aren't useful to be aware
of unless you have used previous versions of the program) follows:

1. -h change: Object ordering when in heliocentric or other planet
   centered mode has been changed. Before, Astrolog would swap object
   indexes around by replacing wherever the central planet usually is
   with the position of the Earth. Now things are done in a cleaner and
   clearer way, where the Earth has its own position, which is always
   object index zero. This means 0 is now a valid value to pass to
   switches that take an object like -R. Charts such as the local
   horizon chart which don't include the central planet, now
   automatically skip over it even if that planet is unrestricted. (Note
   this change is generally only visible for other planet centered
   charts, where standard geocentric and heliocentric charts will appear
   entirely unchanged.)

2. -rt change: In the graphic transit and natal bi-wheel chart, the
   chart info as displayed at the bottom or in the sidebar will now
   reflect the info in the transiting chart instead of the natal or
   first one. This is more logical and useful when doing animations.

3. Default file addition: The standard astrolog.dat settings file now
   has a section for default colors, i.e. the color values for elements,
   aspects, and the general palette. The Windows version will write out
   this section appropriately when doing File - Save Settings, meaning
   it will now save out changes one makes in the Customize Colors dialog.

4. -o0 addition: The -o0 chart position files now include a -zi line
   for the name and location fields, so such information is now saved in
   these files.

5. Scrollbar change: The horizontal and vertical scrollbars in the
   Windows version now have 24 instead of 12 positions between the two
   ends. This allows finer positioning of graphics charts, and for text
   charts should prevent those cases where one couldn't see the bottom
   of extra long text charts even when the vertical scrollbar was at the
   bottom position.

6. -l -X addition: The graphic Gauquelin sector chart now has each
   sector labeled with a small plus or minus sign around the outside
   border. Before (outside of the natural sector positioning) only the
   red or green color indicated whether a sector was a plus zone or not.

7. Previous chart change: The initial contents of the "previous"
   chart as accessed with "-i set" has been changed from the
   astrological "chart" of version 5.20 of the program to the release of
   this version 5.30. This chart is now set to the time of the Autumn
   Equinox, specifically for 11:00am PDT (7 hours before GMT) on Sunday,
   September 22, 1996 for here in Seattle, WA (122W20, 47N36).

--

O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O
*       Walter D. "Cruiser1" Pullen :)       !       Astara@msn.com       *
O Astrolog 5.40 homepage:  http://www.magitech.com/~cruiser1/astrolog.htm O
* "Who am I, What am I?  As I am, I am not.  But as we are, I AM.  And to *
O you my creation, My Perfect Love is your Perfect Freedom. And I will be O
* with you forever and ever, until the End, and then forever more." - GOD *
O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O
