BEGIN C&T37.TXT --------------------------------------------------------------------------- (20:33 CET 21-Oct-96; version 3.7 S/G) FILES INCLUDED IN C&T37.ZIP: C&T37.TXT - This document. C&T37.LIB - Chronometer & Track HP48 library (S/G compatible) (3215 bytes ; checksum #B81Fh) WORLD - (Optional) HP48 directory containing lists of time zones. (4694.5 bytes ; checksum #3F9h) ACKNOWLEDGEMENTS: This software is intended for anyone needing a good all-round chronometer, supplement to a PIM/organizer or astronomical tool (read Postscript below). Routines in this library were programmed from various astronomy guides, many thanks to the respective authors. Also Mika Heiskanen (JAZZ Finland), Kurt Vercauteren (friendship Belgium), Craig Finseth (JMOON USA) & all #HP48 crew. I hope geography improves :) C&T LIBRARY DESCRIPTION: Start: Sets the begin reference time for stopwatch (stores binary in hidden variable CrDat). Lap: Returns one lap-time (in seconds) to the stack, calculated from stopwatch reference time (accurate to 1/20 sec). Run: Running chronometer on screen. Function keys: press any key to record a laptime; press '+' to view current laptimes; press '<-' (DROP) to toggle Normal/Gregorian date mode; press 'ATTN' to abort. A list is returned to the stack with the laptimes in seconds. Track: Sets an alarm HHH.MMSS (stack) from the current time; the date and time of the track is then displayed if set successfully. Example: -49.3456 [Track] -> SAT 21.10.96 13:24:53 (date&time of alarm) -2 01:34:56 (D HH:MM:SS from now) View: Status screen for chrono & countdown is displayed (also for Run): ------------------------------------------- | D HH:MM:SS START___DATE START___TIME | | # TRACKS CURRENT_DATE CURRENT_TIME | |-------------------------------------------| | 4: | | 3: | | 2: | | 1: | | ##### ##### ##### ##### ##### ##### ##### | ------------------------------------------- Stop: Resets the chronometer reference time. World: Displays current world times calculated using elements from a list of time zones either placed on the stack or found in the variable ZLIST. UTC (formerly GMT) is always shown on top together with the local timezone corrected for Daylight Saving Time (DST). There is also an option of showing the respective time zones only. When first using this program, a directory called WORLD is made (if not already found along the path) where ZLIST&ZONE are stored. Please adjust ZONE to your timezone NEGLECTING DST. ZLIST must be of the form: { string real string real ... } with the corresponding timezones (real) also given without DST. DST is theoretically applicable from: Northern hemisphere: Mar 21 to Sep 23 (spring to autumn equinoxe) Southern hemisphere: Sep 23 to Mar 21 (spring to autumn equinoxe) Official implementation may differ by country (CNN TeleText p.451). A correction is automatically made to data in the lists according to DST flag status when running the program, leaving calculator date&time unaffected. If DST is applied then ZONE+1 will be used and HP48 local time must be manually set forward by one hour. Example: 1.Northern hemisphere (January, therefore DST not applied): ZONE = 1.0000 <-- Central Europe, UTC+1h00 ZLIST = { "Sydney" 11.0000 <-- UTC+11h00 "Brussels" 1.0000 <-- No DST required initially "Gander" -3.3000 } <-- UTC-3h30 (where?!) 2.Southern hemisphere (January, therefore DST applied): Same ZLIST&ZONE but HP48 time forwarded one hour and DST flag set (see WORLD directory below for useful information). Moon: Returns my approximation of UTC lunar synodic time (ZONE dependent) and a percentage of the cycle (age). Moon phase cycles can be guessed if you make a few observations and correlate them with the calculated synodic time. Example: Knowing that in the lunar synodic cycle (0-100%) there is a shift in the illumination from new moon to full moon and back, then it is possible to note when the different phases occur during the cycle, and then to gradually delay the positions (%) of the phases as the tropical year continues. For a more accurate calculation of the illumination of the Moon, use JMOON by Craig Finseth. Hrval: Given a time (HHH.MMSS), returns the date&time HHH.MMSS from now to the stack. Example: -12.3456 [Hrval] -> 5.101996 & 1.2356199999 (normal) +12.3456 [Hrval] -> 2450362 & 22.2356199999 (Gregorian) Ack: Same as the HP48 command, acknowledging all overdue TRACKs. Other alarms are not affected. Alms: Displays a list of TRACK alarms set. Menu: Menu containing flag status and utilities: 1. DAYL: sets/clears userflag 42 (DST mode). 2. GREG: sets/clears userflag 43 (Gregorian date mode). 3. <-JD->: conversion between Julian and Gregorian dates based on current HP48 time. The Gregorian day evolves from NOON one day to NOON the next day. Reference: night of Jan 1 1972 to Jan 2 1972 = 2441318 Gregorian. 4. TRK->: Deletes ALL TRACK alarms. "TRACK" is case sensitive, do not use "TRACK" (string) as an executable for other alarms or they will be deleted! 5. LAP{}: If a list of laptimes (units: seconds) is found on stack, laptimes are displayed after conversion to "D HH:MM:SS"; the list itself is not modified. WORLD DIRECTORY (optional): Included in this package is a directory containing several lists of cities and respective timezones around the world according to geographical location. If no list is found on the stack before execution, the list in ZLIST is used. City names containing a DEGREE symbol after it require no correction for DST even though the calculated time might well have been corrected automatically according to DST flag status (there are more countries not implementing DST throughout the world, so sending a postcard telling me would be nice :) CAUTION: Use this directory bearing a few things in mind. If you're living in the northern hemisphere and you set Daylight Saving Time, then realize that the southern hemisphere countries do not use DST as in the North, and that you must subtract one hour from their calculated times. This also applies to those places with the DEGREE symbol after their name. Furthermore, setting ZONE=+12h00 (eg. New Zealand) might cause the program to use 13h00 as effective calculation ZONE if DST is set: not to worry, the times will remain correct. Going overboard with the ZONE (+24h00?), however, will give errors. The ABOUT program also helps you to set the correct timezone based on your longitude east or west of the Greenwich meridian (1 degree = 4 minutes), but officially accepted times are not only based on longitude. The ZONE calculated by the ABOUT program is more useful for the lunar synodic time. POSTSCRIPT: Note: Binary wordsize automatically set to 64 to avoid errors. Systemflag 41 set (24hr clock format); Userflags 41,42,43 toggled. Although thorough testing has been implemented on HP48 SX and GX models, no responsibility is taken by the author for eventual (in)direct damage, to calculator or in real life through use of this software. Risk is yours. Any _commercial_ applications including all or parts of this package MUST have my prior written permission for inclusion. No fees other than distribution costs must be paid by the user. Any support to the author is very welcome, and all criticism is appreciated along with bug reports. Queries answered as best as possible (Eng/Ned/Fra): Tom van Migem, Grootreesdijk 23, B-2460 Kasterlee, Belgium, Europe : Enjoy! --------------------------------------------------------------------------- END C&T37.TXT