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

                                             YFeatures 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; split 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.)

 All of the above versions of Astrolog except v2.25 were posted in
 direct source file form to the newsgroup alt.astrology. Versions 2.10,
 2.25, and 3.05 were submitted in shell archive format to comp.sources.misc.
 In addition, version 1.30 was also posted to talk.religion.newage.

 ************************************************
 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 Yfor 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) YI 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> Y<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 Ydegree: 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 nameYn, i.e. space is *not* reserved for the index nameYn, 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 -oY0 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 Y-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 Y<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) 'Y', '' 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 'Y' 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 -mY0 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.

    YThere'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.
 -mY0a: 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 Y<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 ----

 --

 #+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#
 +     Walter D. "Cruiser1" Pullen    |    cruiser1@stein.u.washington.edu     +
 #+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#
 +   "Who am I, What am I?  As I am, I am not.  But as we are, I AM.  And to   +
 #   you my creation, My Perfect Love is your Perfect Freedom. And I will be   #
 +   with you forever and ever, until the End, and then forever more." - GOD   +
 #+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#
