Metropoli BBS
VIEWER: ct37.doc MODE: TEXT (ASCII)
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
[ RETURN TO DIRECTORY ]