JPLCLOCK REVISION HISTORY ------------------------- Each released version of JPLCLOCK uses a four digit revision code such as 9401. The first two digits indicate the year and the second two digits indicate the week of the year. In some cases, an additional letter suffix is added to distinguish changes occurring within the same week. A partial week at the beginning or end of the year is counted as a full week. Using this method, a year will typically have 53 weeks although it is possible to have 54 weeks in a leap year (1972 is an example). The year- week revision code for any date may be determined using the Julian Date display, Display Mode 7, in my program ASTROCLK. This file records the revision history of program JPLCLOCK through all of the minor twists and turns that usually accompany the evolution of such a program. It illustrates the tortuous process of maintaining and refining a program as ideas and problems are reported from every quarter. These notes may also be helpful to users who are upgrading from one version to another to find out what has changed. David H. Ransom, Jr. February, 1998 -------------- Documentation updated to reflect my move from Southern California to Sedona, Arizona. No changes to the program itself have been made. 9401 January, 1994 ------------------- -Added special command line option "/FAFBnn" to show MET in SECONDS for Event Timer #nn where "nn" is an active Event Timer number from "01" to "60". Example: "/FAFB37" calculated MET from Event Timer #37. Requested by Dave Hickman, Space Operations Center 34, Falcon Air Force Base, CO. 9330A July, 1993 ------------------ -Corrected a fatal error when setting time defaults, F4+F2. Program aborted with "Illegal function call ...". The problem was inadvertently introduced with the conversion to Visual Basic for DOS (which improved performance but which also required that a number of variable names be changed because of new reserved words). -Corrected a minor display bug which did not show the time elapsed since last calibration (F10+F1) when RIGHTIME was active. 9330 July, 1993 ------------------ -This is a MAINTENANCE UPDATE. A number of bugs have been reported over the last year and a half. I've tried to squash them all. -JPLCLOCK has been modified to use TIMESET Version 7.2 or later which includes automatic correction for daylight/summer time. JPLCLOCK now executes "TIMESET" rather than the special versions "TIMESTD" or "TIMEDAY" required in prior versions. If you are using an older version of TIMESET which does not include automatic daylight/summer time correction, you must re-configure TIMESET when the time changes occur. -Modified the Event/Timer copy process so that the user is requested to enter "NEW EVENT/TIMER NAME" after copying data from one event/timer to another (with or without a time offset). Press TAB to keep the old name. This eliminates the need to modify the name separately. -Repaired a bug which caused LAUNCH/HOLD SUPPORT to affect all Event Timers rather than the specified range. This bug has been reported by many users! Users should note that there is a ONE SECOND to TWO SECOND delay between the time that ALT-F7 is pressed and the time that the count is resumed. -Repaired a bug which deleted all Selected Events when the display windows were switched with ALT-F5. Thanks to Joe Novak for reporting the problem. -Repaired a bug that caused the local and UTC day of the year on the small main clock to be blanked out when ALT-F5 was pressed. -Changed the color of the blinking active page in Normal Mode from Light Magenta to Yellow. -JPLCLOCK is now compiled with Microsoft Visual BASIC for DOS. This has proven to be a more stable environment than either QuickBASIC or PDS BASIC. Unfortunately, a number of variable names had to be changed because of new reserved words; hopefully, I didn't introduce any new bugs as a result! 9209 02/24/92 ----------------- -By popular request, I have added a screen blanker function which will turn the screen off five minutes after the last keystroke. To enable or disable the screen blanker, use Function Keys F4+F5 from the Main Menu or ALT-F2 while the clocks are displayed. The screen blanker is DISABLED by default and the status is preserved in JPLCLOCK.INI. Unlike most screen blankers, however, this one restores the screen just before the half hour, at 29 and 59 minutes past the hour, or press any key. -By popular request, I have added Function Keys F3+F4 to enable or disable the display of Mission/Event Timer numbers at the lower left of each timer window. This function is DISABLED by default. These numbers can be helpful during Launch Support and to quickly identify a Mission/Event Timer number from the active display. -By popular request (yet another one!), I have added the PgUp and PgDn keys as active when PAGE mode is disabled (the display is "frozen" to a single page of Mission/Event Timers). Previous versions always displayed Page 0 in this mode; JPLCLOCK may now display any active page by the use of PgUp and PgDn. This status is NOT saved from one execution to the next. -The "thermometer" above the Mission/Event Timer windows is now displayed at all times, showing the current page and which pages have active timers. Pages normally are indicated in GREEN (active and past Time Zero), RED (active and not yet to Time Zero), and GRAY (not active). When PAGE mode is active, the current page is flashing and all other pages are steady; when PAGE mode is NOT active, the current page flashes MAGENTA to so indicate. -In order to facilitate network operations, the filename (optionally preceeded by the path) for the text message file has been added near the end of JPLCLOCK.INI. Since the default is "JPLCLOCK.INI" (and note that it should be enclosed in double quotation marks), it is easy to recognize. Use any editor in the ASCII or non-document mode. The file is now reloaded each time at the beginning of the first text page and may therefore be replaced with a new file from time to time without halting program execution. -Various minor cosmetic changes. 9147 11/18/91 ----------------- -Corrected a bug which caused the program to hang or generate an error if the user loaded an MTD file and set the first timer so that the MTD file would attempt to load past Timer #60. 9141 10/11/91 ----------------- -AUTOMATIC DAYLIGHT FLAG now available to switch to daylight savings time on the first Sunday in April and back to standard time on the last Sunday in October. Use Function Key F4+F1 from the Main Menu. If the computer's DOS clock is set to LOCAL time (the default condition) rather than UTC time, the DOS clock will also be adjusted. -When the DAYLIGHT FLAG is set to AUTOMATIC and the DOS clock is set to LOCAL time, the switch and clock setting operations will also be made if the computer was off at the designated time and JPLCLOCK is run later; do NOT manually adjust your computer's DOS clock for the time switch if the DAYLIGHT FLAG is set to AUTOMATIC! -When changing the DAYLIGHT FLAG using F4+F1 from the Main Menu, the DOS clock will be also adjusted if it is set to LOCAL time. -AUTOMATIC and LOCAL/UTC flags added to initial UTC Offset routine. -Documented the "force UTC initialization" special feature, present in prior versions but undocumented. -Added special feature to permit "read-only" operation on network servers and added documentation. -Added additional on-line help for special function keys active during clock display. F1+ENTER from Main Menu. -Several other minor problems associated with daylight savings time fixed. -Manually entered Mission/Event Timer names were being shortened to 20 characters instead of 22. -UARS (Upper Atmosphere Research Satellite) added to internal default database, replacing ROSAT Observatory. -The abbreviation in the internal data for MADRID was "MAS" instead of "MAD". (Typo in Version 9134.) 9134 8/18/91 ----------------- -Testing completed using MS-DOS Version 5.0. No problems encountered. -Changes for LAUNCH SUPPORT, introduced at Version 9131 on an "emergency" basis and not fully documented, incorporated in this documentation. File JPL9131.UPD deleted from distribution files. See the section LAUNCH SUPPORT for details. -Launch support enhanced to allow the user to specify the range of Mission/Event Timers affected by a countdown hold. More thorough error checking added to timer number entries. -Corrected bug in SELECTED EVENTS. If a Mission/Event Timer was assigned as a SELECTED EVENT and subsequently cleared, incorrect data would be displayed for the SELECTED EVENT. -Code optimized to the extent practical to improve performance on slower computer systems. Even so, operation on XT-class computers is still a bit marginal. For all 8088 and 80286 processors, the on-screen clocks may skip a second and/or exhibit screen delays depending upon the processor clock rate and whether or not a math coprocessor is present. - A number of users have reported problems on XT and AT class computers without math coprocessors. See the section COMMENTS AND KNOWN PROBLEMS, "Computer Processor and Math Coprocessor", for discussion and suggestions. -A bug that sometimes caused the page modes to not switch pages at the proper time on slow computers has been repaired. -Corrected the abbreviations for Goldstone and Madrid to GDS and MAD. 9131 8/01/91 ----------------- -"Emergency Update" for the JPL MCCC to support the launch of STS-43 in real time. Details in file JPL9131.UPD. 9130 7/22/91 ----------------- -Changed the PAGE HOLD and PAGE SELECTION logic to accommodate fast paced events such as a space shuttle launch. When used in the PAGE mode (use the "/PAGE" command line option or F8 from the Main Menu), JPLCLOCK now checks each time a page change is scheduled for Mission/Event Timer events due to occur within 1 hour, selects the page with events closest to Time Zero, jumps to that page, and enters the PAGE HOLD mode. HINT: Set the PAGE DELAY (F4+F4 on the Main Menu) to 5 seconds for fastest page scanning. -By popular request from amateur radio and BBS operators who keep their computers set to UTC, added DOS CLOCK FLAG to select LOCAL or UTC time for the DOS CLOCK. With the flag set to LOCAL, JPLCLOCK assumes the computer is set to the correct local time (including Daylight Savings Time); with the flag set to UTC, JPLCLOCK assumes the computer is set to the correct UTC time. The program then performs all necessary time conversions so that the correct times are displayed. Set by F4+F2 from the Main Menu. -Corrected a minor bug which sometimes displayed Time Zero (0 00:00:00) with a RED background instead of a GREEN background. This was caused by a rounding problem with the double precision Julian Date. -Corrected a minor bug around midnight that might cause the incorrect date to be displayed for a few seconds as a function of the calculated Clock Offset and Total Drift adjustments. 9129 7/15/91 ----------------- -Added Manual Synchronization using audio tones (F10+F5) to permit synchronization using WWV or WWVH. Accuracy of 100 to 150 milliseconds can be obtained with practice. -Added abbreviations for Australian time zones (with an added "A" prefix letter). The abbreviations are the same for STANDARD and for SUMMER time; SUMMER time is denoted by an asterisk after the abbreviation. See text for details. -Corrected bug in HOLD logic (if an event is within 60 minutes ot T-0) that caused HOLD to not take effect under certain circumstances. -Modified Mission/Event Timer windows to not "blink" if all event data is the same from one page to another (that is, when the same event is programmed for multiple timers). -Modified ALT-F9 so that it both enables the experimental EGA screen font and toggles between "large" and "normal" size numbers in the time displays. -Added description for MTD files. -Various cosmetic changes to the program. Corrections, changes, and numerous typographical errors corrected in this text. 9128 7/05/91 ----------------- -Repaired bug that caused CALIBRATION (F6) to fail to execute subsequent TIMESET calls at the correct time interval after the first two. Also corrected a sign error in the drift calculation during self-calibration. -Corrected screen text for CALIBRATION (F6) to show correct calibration intervals of 1, 2, and 4 hours. The total time required is 7 hours. 9127 7/01/91 ----------------- -Added "/SMALL" command line option to display smaller Main Window with Local Time and UTC Time. See text for details. -Added ALT-F6 during clock display to switch between LARGE and SMALL Main Window. -Added four additional SELECTED and PRIORITY EVENT windows below the SMALL Main Window. User may select: four SELECTED EVENTS (default); two SELECTED EVENTS and two PRIORITY EVENTS; or, four PRIORITY EVENTS. Change using ALT- F5 when SMALL Main Window is active. These additional four windows are displayed ONLY when the SMALL Main Window is selected ("/SMALL" command line option or ALT-F6 when clock display is active). -Added "/SYNC" command line option to force immediate time synchronization (using program TIMESET) when JPLCLOCK is started. The time synchronization performed as a result of the "/SYNC" command line option is independent of the automatic time synchronization (F10+F3+F3). -Changed "/TEXT" command line option so "/PAGE" is no longer also required. "/TEXT" now forces PAGE mode. -The word "HOLD" now appears above the Mission Timer windows if the current page of Mission Timers is being held on the screen because one or more of the timers is within 1 hour of its Time Zero. -Changed SCREEN FREEZE (ALT-F1) to time out in 5 minutes if no key is pressed. Current UTC and Local time are now displayed and updated on line 2 during the screen freeze. JPLCLOCK will no longer freeze indefinitely! -Changed Location Clock prompts for "Uses US Daylight Time" (F2) to "Y" for YES and "N" for NO. -Corrected bug in Mission Timers: countdown time at zero days displayed "0" days rather than "-0" days. -Corrected a bug introduced at Version 9126: INI files were interpreted incorrectly and reset the Daylight Flag on the Location Clocks which use US Daylight Savings Time. -In most instances, pressing BACKSPACE will reset the timer in the message "JPLCLOCK will start automatically in NN seconds". When typing characters, the BACKSPACE will delete the previous character. -Modified large clock logic in the Main Window to write only digits that have changed. This improves performance with slower computers and/or slow video adapter cards. -Improved prompts for Read/Write INI & MTD files (F5) and corrected a minor bug when ESC was pressed to CANCEL. Added warning that disk operations may affect JPLCLOCK's time accuracy. -Added warning when exiting to DOS (F9) that disk operations may affect JPLCLOCK's time accuracy. -Fixed "?" command line help so correct time is shown and added "/TEXT" command line reminder. -Corrected references to the DOS timer rate. The timer ticks occur 18.2 times per second or every 54.945 milliseconds. Previous text had the frequency given where period was indicated. -Various cosmetic changes. 9126 6/22/91 ----------------- NOTE: Program JPLCLOCK and this documentation were prepared largely from memory some hundreds of miles away from my usual references and other resources. Technical revisions and corrections can be expected in future releases! Comments and suggestions are welcome. -INITIAL PUBLIC RELEASE OF JPLCLOCK. -Added F10 to Main Menu for manual and automatic time synchronization and calibration functions. See the section TIME SYNCHRONIZATION for details. -Added automatic offset and drift compensation to JPLCLOCK displayed time based upon measured time offset and drift rate. Once the average drift rate of the computer's clock is known, JPLCLOCK will compensate for that drift and display the corrected time. -Added TEXT mode for the display of up to 10 screen pages of supplementary information or messages. A sample text file, JPLCLOCK.MSG, has been added to the standard distribution files. See text for details. -Added "bar meter" above the Main Window to provide countdown to automatic time synchronization. Meter appears 100 seconds before JPLCLOCK suspends and counts down in increments of 10 seconds. -Added two "bar meters" above the Mission Timer windows to display active Mission Timer pages and active TEXT pages. The right meter is for Mission Timer pages and the left for TEXT pages. Active page markers are in color and inactive page markers are gray. -Added "#nn" copy format to Mission Timer input (F3). -Added TAB to skip an entry and leave it unchanged in several menus. -Added F7 to switch TEXT mode from Main Menu. -Added F8 to switch PAGE mode from Main Menu. -Added ALT-F1 to FREEZE clock display. Press any key to resume operation. -Added ALT-F7 to switch TEXT mode from clock display. NOTE: PAGE mode must first be enabled before TEXT mode can be enabled. -Added ALT-F8 to switch PAGE mode from clock display. NOTE: TEXT mode will be disabled (if enabled) when PAGE mode is disabled. -Added F4 on the DEFAULTS menu (F4+F4 from Main Menu) to allow the user to set the PAGE Delay and the TEXT Delay. See text for details. -Swapped Location Windows #2 and #3 to make numbering scheme conform to the other windows, top to bottom in a given column. -INI file format has changed but JPLCLOCK will correctly read Version 9125B INI files and subsequently write the new format. Use F5 from the Main Menu to convert prior files; first read the old file then write a new file using the same or a new filename. -The menu message "JPLCLOCK will start automatically in NN seconds" now counts down as the allowed time for keyboard input decreases. -Various cosmetic changes and minor bug repairs. -Documentation updated. 9125B 6/16/91 ----------------- -Added /PAGE command line option for page mode operation. -Number of timers now set to 60 in 10 pages. -Mission Timer capacity changed to allow from -9,999 days to +99,999 days to accommodate long duration interplanetary missions such as Voyager 1 and 2 and Pioneer 11 as they leave the solar system. -Corrected Daylight Savings Time adjustment and default values for the four location clocks. -Added Voyager 1 and 2 to default data but times and dates are only approximate. -Function keys on several menus changed or swapped. -Many minor and cosmetic changes. -Documentation updated. 9125A 6/14/91 ----------------- -Interim test release. -Documentation not updated. 9125 6/12/91 ----------------- -First fully functional release. -All configuration features now available. -Preliminary documentation released. -Mission Elapsed Time for Magellan, Galileo, and Ulysses are NOT correct. Dummy values have been used for testing. 9124 6/10/91 ----------------- -Initial BETA VERSION Release. This version was an operational demonstration of the program and did not include any configuration features.