
                     Sky Screen Saver for Windows
                                                
                      Version 2.0 Release Notes
                by John Walker -- kelvin@fourmilab.ch
               WWW home page: http://www.fourmilab.ch/
                                    
INTRODUCTION
============

The Sky Screen Saver shows the sky above any location on Earth,
including stars (from the Yale Bright Star Catalogue of more than 9000
stars to the 7th magnitude), the Moon in its correct phase and
position in the sky, and the position of the Sun and all the planets
in the sky.

Outlines, boundaries, and names of constellations can be displayed, as
well as names and Bayer/Flamsteed designations of stars brighter than
a given threshold.  A database of more than 500 deep-sky objects,
including all the Messier objects and bright NGC objects can be
plotted to a given magnitude.  The ecliptic and celestial equator can
be plotted, complete with co-ordinates.

To fulfill its mission as a screen saver, the sky map shifts position
on the display every 10 minutes to avoid burning in those few
components of the display which do not move as the Earth revolves.

The Sky Screen Saver is in the public domain.  You can do anything you
like with it.

INSTALLATION
============

To install the Sky Screen Saver, obtain the archive SKYSCR32.ZIP
and extract the files from it with PKUNZIP.  You will obtain:

    SKY.SCR         - Screen saver module
    README.TXT      - This document
                
Copy SKY.SCR to your Windows directory (usually C:\WINDOWS), then
from the Desktop option of the Control Panel, choose "Sky" as your
screen saver and use "Setup" to configure it for your location and
preferences.

CONFIGURATION
=============

In order to correctly display the sky above your location on Earth,
the Sky Screen Saver needs to know the latitude and longitude of your
location.  Specify this information as follows:

Latitude and Longitude
----------------------

The latitude and longitude are specified in the dialogue which appears
when you click the "Setup" button in the Screen Saver section of the
Desktop control panel option.  Enter your latitude and longitude, in
degrees, minutes, and seconds in the boxes, and don't forget to click
the buttons to specify whether your latitude is North or South and
your longitude East or West.

Don't worry about getting the longitude and latitude absolutely
precise for your location--a couple of minutes of error don't make
much difference in the appearance of the sky rendered at this scale.

You don't have to enter your own latitude and longitude; you can enter
the co-ordinates of any point on Earth and see the sky as it appears
from that location.

Detailed Configuration
----------------------

The "Detailed Configuration" button displays a dialogue which allows
you to enable or disable the display of various components of the sky
map.

    Constellations:
        Outlines                -- The lines connecting the principal stars
                                   of the constellations.
        Boundaries              -- The boundaries astronomers have defined
                                   between the constellations.
        Names                   -- Constellation names.
             Align              -- Rotate constellation names to align
                                   with horizon on the map.  This requires
                                   generation of a separate TrueType font
                                   for each constellation name.  On a fast
                                   '486 with plenty of memory, it adds only
                                   a few seconds to the generation time,
                                   but on a 20 Mhz '386 with limited
                                   memory, it can take minutes.  This mode
                                   is off by default; try it to see how
                                   long it takes and whether you prefer the
                                   names aligned.
            
    Stars:
        Magnitude limit         -- Stars dimmer than this magnitude will
                                   not be displayed.  Set to 6 to show all
                                   naked-eye stars.
        Names                   -- Check box to display names (e.g. "Vega",
                                   "Sirius", "Canopus") of stars brighter
                                   than the given magnitude limit.
        Bayer/Flamsteed codes   -- Check box to display Bayer greek
                                   letters and Flamsteed numbers for stars
                                   brighter than the given magnitude.  These
                                   are the designations of stars within a
                                   constellation such as "Delta Pavonis" or
                                   "61 Cygni".
                                               
    Deep sky objects            -- Check box to plot deep sky objects
                                   (galaxies, gaseous nebulae, star
                                   clusters, etc.) brighter than the
                                   specified magnitude.
                                               
    Show ecliptic, equator, poles -- If checked, the celestial north
                                     and south poles will be marked with a
                                     cross whose arms point in the
                                     direction of the equinoctial and
                                     solstitial colures, and the ecliptic
                                     (labeled every 15 degrees) and the
                                     celestial equator (labeled in hours of
                                     right ascension) will be plotted.
                                               
    Show solar system objects   -- If checked, the Sun, Moon, and planets
                                   will appear in the sky map.
                                               
    Show calculation time       -- Check box to display the time required
                                   to calculate each update to the sky
                                   map.  This is primarily intended for
                                   benchmarking various machines.

DID YOU NOTICE?
===============

The colour of the legends around the map changes based on the Sun's
altitude.  When it's nighttime (Sun more than 18 degrees below the
horizon), they're grey.  During the day (sunrise to sunset), they're
bright blue.  During dawn and sunset (when the Sun is between 1 and 6
degrees below the horizon) the legends are dark red, and during the
balance of twilight (Sun between 6 and 18 degrees below the horizon),
they're dark blue.

For locations in the northern hemisphere the map is plotted with North
at the top, while observers in the southern hemisphere see South at
the top.  East and West flop also, following the convention for
printed star maps.  Note than since a star map represents the dome of
the heavens and is used, at least mentally, by holding it up over your
head, East and West are reversed with respect to a map of the Earth.

HOME PLANET
===========

The Sky Screen Saver was developed based on Home Planet, a
comprehensive Earth and sky simulator for Windows which displays the
Earth, tracks satellites, asteroids, and comets, includes an
extensible multimedia object catalogue, a simulated telescope for
viewing the sky at any magnification or location, a database of more
than a quarter million stars, and a complete hypertext help file and
introduction to astronomy linked to the components of the program.
Displays include the illuminated portion of the Earth, the Sky, the
Telescope, the Earth as viewed from a satellite, the Moon, or the Sun,
an orrery, panels displaying current information about the Moon and
planets, and more.  Real-time astronomical information can be exported
to other applications via DDE.  There's even a cuckoo clock (you can
turn it off).

Home Planet is in the public domain; you can do anything you like with
it.

For more information about Home Planet, visit the World-Wide Web page:

    http://www.fourmilab.ch/homeplanet/homeplanet.html
    
UPDATE LOG
==========

Version 1.0 (19 Sep 1994):  Initial release.

Version 1.1 (27 Sep 1994):  If the allocation of the device dependent
bitmap in which the sky map is drawn failed, several GDI calls were
made with a zero handle.  This caused warning messages and resulted in
a blank screen with only the time at the top.  I added code to detect
the failed allocation and display an out of memory message which moves
around the screen every 10 seconds.  The size of the bitmap depends
upon the size and colour depth of the configured display, so it's hard
to give general guidelines about how much free memory is required.  With
a 1024x768x16 display, 2 megabytes free RAM is plenty.  A 1024x768 full
colour (24 bit per pixel) display requires about 5 megabytes of free RAM
to allocate the bitmap and other storage.

(17 Sep 1994):  Built a version of 1.1 with the "alternate math package"
to work around coprocessor emulation bugs.  Tested both on a 486DX50 and
a 386/20 with no coprocessor.  It worked fine on both.

(11 April 1996):  Ported to Windows 95 and updated version to 2.0.  Since
Windows 95 handles screen saver passwords itself, I ripped out all the
password machinery needed on Windows 3.x.  Since the AccessResource
API call which I used to conserve memory on 16 bit Windows has been
conveniently ripped out in Win32, I added openRES(), fgetsRES(), and
closeRES() functions to provide access to text files emebedded in
resources.

Deep sky objects weren't working because the format used to scan the
items in the database was accidentally deleted.  Fixed.

(12 April 1996): Added the new identity string as the first item in
the string table.  It doesn't seem to be used for anything, but it's
there anyway.

The application name wasn't getting loaded by GetIniEntries(),
resulting in a blank section name in CONTROL.INI--this seems to have
been done in the screen saver library on Windows 3.x, but you have to
do it yourself on Win 32.

In the spirit of such great Microsoft contributions to the art of
computer science such as IsTextUnicode() (look it up), I added a
"longitude and latitude guesser" to SCRNSAVE.C's GetIniSettings()
which is invoked when the user has not entered a latitude and
longitude in the configuration box.  The latitude is guessed based
on the time zone bias--15 degrees for each hour.  The latitude is
set to either 45 North or 45 South based on the following algorithm.
If the time zone uses Daylight time, the latitude is North if the
switch to daylight time occurs in the first 6 months of the year
and South if in the second 6 months.  If Daylight time is not used
in the zone, North is used unless the time zone name begins with
"SA " or contains the string "South ".  This is incredibly hokey,
but works rather well and should reduce the number of bozo E-mails
from people who want me to look up their latitude and longitude
or wondering why the sky is wrong when they never bothered to set
their site location in the first place.

Added code to check the fChildPreview flag, set if we're being run
by the Control Panel on-the-fly preview.  If so, the sky image
parameters are tweaked to produce something vaguely reasonable
in the preview window.

Bounds Checker pointed out we weren't destroying the Moon icon
allocated in SUNMOON.C at program exit time.  Fixed.

Removed some unused code and variables in PROJECT.C, not needed since
the screen saver only makes stereographic projections.
