Sky Screen Saver for Windows

by John Walker

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.

Downloading and Installation

Several different versions of the Sky Screen Saver are available for different hardware and software configurations; download the one appropriate for your machine. After you've downloaded the program archive, extract the files in it with an un-zip utlity, archive extract program, and follow the instructions in the included README.TXT file to install, configure, and activate the screen saver on your system.

Planet Symbols

Planet names and symbols are shown below. Click on the name of any object for more information, courtesy of Bill Arnett's masterwork The Nine Planets.

Sun                 Jupiter    

Mercury             Saturn     

Venus               Uranus     

Earth               Neptune    

Mars                Pluto      

Source Code

Experienced C programmers who wish to modify the screen saver or simply look under the hood to see how it works may download the source code. You're welcome to use this source code in any way you like (the third-party image utilities included must be used pursuant to the redistribution requirements described in their respective directories in the archive), but absolutely no support is provided—you're entirely on your own.

When you unzip the archive, be sure to use a utility which preserves long file names and specify the option which maintains the directory structure in the archive; the various image processing libraries are kept in subdirectories, with the resulting library files linked into the screen saver proper.

The source code for this screen saver incorporates Fourmilab's Scream SaverTM technology. Because they turn off the cursor and seize control of the screen, mouse, and keyboard, screen savers can be hideously difficult to debug; you can't see the debugger since the screen saver is monopolising the screen, and any mouse motion terminates the screen saver, bringing the debugging session to a screeching halt. Scream Saver avoids these difficulties by allowing you to test an unmodified screen saver in a regular application window which can coexist with a debugger. Scream Saver is a main program which completely emulates scrnsave.lib, allowing you to exercise a screen saver within an application window (in either normal or preview mode) or in full screen mode. The screen saver's settings dialogue can be activated by a menu selection. To build with Scream Saver, simply uncomment the definition of SCREAM_SAVER at the top of the file screamsv.c and rebuild.

Launch the Scream Saver build as you would any application. Your screen saver can be tested in its various modes from the “Test” menu. Scream Saver only terminates the screen saver on a mouse click or keypress within its own window—mouse motion does not cause it to exit. This allows you to run your screen saver under a debugger as you would any other normal application. Scream Saver is in the public domain—you're welcome to use it in your own screen savers and pass it along to other developers. (One detail: Scream Saver allows you to start and terminate the screen saver any number of times in one execution session. This never happens when a screen saver is invoked by Windows. If your screen saver doesn't clean up after itself so it can be restarted, it may fail if you start it more than once in a Scream Saver session. You have two options: either fix the screen saver so it is restartable or re-launch Scream Saver for each debug session. The Sky Screen Saver is restartable.)

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).

Related software on this site

Web resources:
Earth and Moon Viewer
Solar System Live: interactive orrery
Your Sky: interactive planetarium
Terranova: a new terraformed planet every day
For Windows:
Home Planet
an Excel catalogue of the Palomar Observatory Sky Survey
Earth screen saver
Craters screen saver
Terranova screen saver
Bullets screen saver
Millennium screen saver
Slide Show screen saver

Valid XHTML 1.0
by John Walker
August 1995
Version 2.1: October 1995
Version 3.0: November 2003
Version 3.1: July 2006
Version 3.1a: August 2006
Version 3.1b: September 2006