
  
                              
                              
                              
                              
                              
                              
                              
                              
                            PIM48
                   (Library Version 4.5a)
                              
             PERSONAL INFORMATION MANAGER (PIM)
                              
                          HP48GX/SX
                              
                             by

                     GLENN P. ROBERTSON

                       (CIS 73117,675)

                        January 1997



                     USER DOCUMENTATION
TABLE OF CONTENTS

USER DOCUMENTATION                                        3
 INTRODUCTION                                             3
 Features:                                                3
  Calendar                                                3
  Appointment/Todo Browser                                3
  Access to External Programs                             3
 NEW FEATURES                                             4
  Version 4.5a (Feb 97)                                   4
  Version 4.5 (Jan 97)                                    4
  Version 4.4 (15 Jul 96)                                 4
 SHAREWARE REGISTRTION                                    5
 USER SUPPORT                                             5
 DEFINITIONS                                              5
 APPOINTMENT/TODO ACCESS                                  5
 CONTROL ALARMS                                           6
 ALARMS IN ADVANCE OF APPOINTMENTS                        6
 REPEATING ALARMS                                         6
 SYSTEM FLAG USEAGE                                       6
 HP48 COMPATIBILITY AND DISCLAIMER                        7
 INSTALLATION                                             7
 UNINSTALL                                                8
 LIBRARY MENU                                             8
 THE CALENDAR                                             9
  CALENDAR FORMAT                                         9
  CURSOR MOVEMENT                                         9
  MOON PHASES                                            10
  SUNRISE/SUNSET TIME                                    10
  THE CLOCK DISPLAY                                      10
  SETUP SCREENS TIME/DATE and OTHER VARIABLES            10
  SNIPPET OF TODOS OR APPOINTMENTS                       11
  BRINGING FORWARD TODOS                                 11
  COUNTDOWN TIMER                                        11
  STOP WATCH                                             12
  MENU KEYS - CALENDAR DISPLAY                           12
  HARD KEYS - CALENDAR DISPLAY                           15
 APPOINTMENT/TODO BROWSER                                17
  INTRODUCTION                                           17
  MESSAGE VIEWER                                         17
  MENU KEYS - APPOINTMENT/TODO BROWSER                   17
  HARD KEYS - APPOINTMENT/TODO BROWSER                   20
 ACKNOWLEDGEMENTS                                        21
 

USER DOCUMENTATION


INTRODUCTION

PIM48 is a calendar based Personal Information Manager
designed to manage appointments and todos.


Features:

Calendar
    US or European calendar
    appointments and todos marked with small boxes beside
     appropriate date
    days passed/days to go in the current year
    week of  the year
    days or week days between any two dates
    analog and digital clock show current time
    snippets of a days appointments or todos
    graphical display of moon phases
    sunrise/sunset times for any given date
    Julian day
    integrated stop watch
    timer

Appointment/Todo Browser
    uses small font for maximum display of detail
    appointment and todos can be filtered by the MON, WEEK,
     or the DAY
    a built in viewer allows full viewing of selected
     appointments and todos messages.  Viewer supports carriage
     returns and full scrolling of display using the cursor keys.
    menu keys allow full editing (add, delete, and edit)
    clipboard metaphor provides cut, copy, paste  functions
    ability to set alarms in advance of appointment times
    easy entry of repeating alarms
    supports control alarms
    support for user defined text editor
    ability to save APPOINTMENTS and TODOS to a save file
     (PIM.SAV).


Access to External Programs
    List Manager (LM) - a LIST manager/browser which
     provides outliner capabilities.
    ROLDX - a database program by James Weisbin.
    Any user provided program defined by the variable 'db'.
    Any user provided text editor.


NEW FEATURES
     (for a complete history, see the file HISTORY.DOC)

Version 4.5a (Feb 97)
    Fixed LS/RS-LEFT/RIGHT ARROW bug.
    Corrected documentation pertaining to the use of the
     above functions

Version 4.5 (Jan 97)
    ALARM ADVANCE feature to set alarms to go off before a
     given appointment
    "VIEWER" improves viewing appointment/todo message
     details
    WEEK-OF-YEAR added to calendar display
    Faster jumps - does not redraw the calendar if result
     is in the same month
    Stop Watch running time is "remembered" between PIM48
     sessions
    Stop Watch automatically begins "running" when entered
    Bar added to delete key to indicate sub-directory
     options
    Improved setup screen (allows date/time adjustment,
     setting of date/time format, auto todo update , and input of
     latitude, longitude, and time zone information)
    Alarm sound can turned off from the calendar display
    The setup screen is accessible from both the calendar
     and the appointment/todo browser
    Auto todo update works on a SX (does not require SORT
     feature of GX)
    "Initialization" process removed
    Fixed bug which caused appointments/todos not to
     display when the wordsize was < 64.
    Distribution file now includes a "light" version of
     PIM48 (PIM48LT.LIB) for those with limited memory

  Note:  The following features are removed in the "light"
  version: moon phases; sunrise/sunset times; auto todo
  updates (manual updates still available); and input
  screen for auto todo updates, latitude, longitude, and
  time zone.  The light version is approximately 3.1K
  smaller.

    Documentation available in MS Word.

Version 4.4 (15 Jul 96)
    Added an integrated STOP WATCH.
    Added a count down TIMER.
    Routines to RCL and STO APPOINTMENTS/TODOS available in
     library menu to allow access by other programs.
    The time can continuously updated itself (active when
     STOP WATCH is running, clock adjustment is active, or when
     the COS ("T") key is pressed).
    Time (both analog and digital clocks) show the seconds.
    Clock (date/time) adjustment screen displays current
     date and large running clock with seconds.
    Option is available for changing the time to shut off.
    Improved browser for APPOINTMENTS AND TODOS ... faster,
     better use of available memory.
    Improved input screens for APPOINTMENTS AND TODOS
     (dates, appointment times, and repeat times can be input
     directly).
    APPOINTMENTS AND TODOS can now contain LISTs and PRGMs.
    Editing APPOINTMENT/TODO containing a LIST can
     automatically take you to List Manager (LM) if it is
     installed.
    Checked off TODOs are no longer brought forward (change
     means updating todos require a GX).
    Clipboard metaphor has been extended for use by other
     (external) programs. Clipboard information is stored in the
     variable 'clip' in the "Hidden" directory.
    Faster ... rewrote many routines to improve
     performance!
    Program size still less than 20k.
    Help available to both registered and unregistered
     users.
    Removed 30 day evaluation restriction.
    Added HISTORY.DOC.

SHAREWARE REGISTRTION

PIM48 is distributed as shareware for $25(US).  You may
register ...
  . through Compuserve - GO SWREG - #2119; or
  . direct with the author  - SEND CHECK OR MONEY ORDER to:

  GLENN P. ROBERTSON
  1954 Naskapi Drive
  Gloucester, Ontario
  CANADA  K1J8K3

Registration removes the introductory screens, personalizes
PIM48 for your unlimited use, provides unlimited user
support, and entitles you to free upgrades.

Thank you for supporting the shareware concept and for
registering your use of this software.


USER SUPPORT

For user support, comments, or other question please contact
me at the above address, by e-mail, or by phone.

     e-Mail -    73117.675@compuserve.com
     
     voice mail -home 613-741-8853
     

DEFINITIONS

Appointments and todos are defined as follows:

     Appointments - scheduled events which occur on fixed
     dates and at specific times.
     Todos - tasks associated with specific dates but not
     with specific times.


APPOINTMENT/TODO ACCESS

Appointments are maintained in the variable (list) named
"Alarms" located in the "Hidden" directory.  Appointments
are controlled through PIM48 or through HP48's normal
time/alarm functions.

Todos are maintained in the variable (list) named "ToDoList"
also located in the "Hidden" directory. Todos are controlled
through PIM48.


CONTROL ALARMS

PIM48 has the ability to handle control alarms.  Control
alarms can be set within PIM48 using a secondary editor.  If
a control alarms is set, it can then be cut, copied, and
edited.  Control alarms are displayed in the browser within
<<  >>.

     Notes:
     1.   A secondary editor can be accessed when a box is
          displayed beside the menu keys "ADD" or "EDIT".  The box can
          be toggled ON/OFF by using LS-ADD or LS-EDIT.
     2.   Secondary editors provided by the user must be stored
          in the variable `ed' located in the current (or higher)
          directory.  If `ed' is not present or if the format is
          incorrect, the internal HP48 editor is used.


ALARMS IN ADVANCE OF APPOINTMENTS

New in version 4.5 is the ability to have alarms go off at a
set time before a given appointment.  Appointments with
advance alarms display both the alarm time and the
appointment time.  For example, if an appointment for a
09:00 am meeting is entered with an "advance" alarm time of
15 minutes, the listing in the appointment/todo browser
would show "08:45A @09:00A MEETING".  The advance alarm menu
includes the selection of "ANY" advance time and presets for
30, 20, 15, 10, or 0 minutes.

     Notes:
     1.   The advanced alarm feature does not support advanced
          times which go into the previous day.
     2.   Advance times are "remembered" from the last use.


REPEATING ALARMS

Repeating alarms are displayed with a "_R" after the time.
Repeating alarms can be set from within PIM48 by selecting
RPT from the "preview appointment" menu which is displayed
when an appointment/todo is ADDed or EDITed.  The preview
appointment display shows the repeat time on the last line.


SYSTEM FLAG USEAGE

The following SYSTEM flags control the calendar display, the
way dates and times are displayed, and alarms are
controlled:

     41 -    SET  24 hour clock format
             CLR  12 hour clock format
     42 -    SET  European date format (dd/mm/yy) and
                  European calendar display
             CLR  US date format (mm/dd/yy) and US/Canada
                  calendar display
     43 -    SET  Repeat alarms are NOT rescheduled
             CLR  Repeat alarms ARE rescheduled
     44 -    SET  Acknowledged alarms ARE saved
             CLR  Acknowledged alarms are NOT saved
     57 -    SET  Alarm BEEP enabled
             CLR  Alarm BEEP suppressed
     
     Note:
     Setting USER flag 44 allows the Alarms list to
     function as a historical record of past due alarms
     and completed todos (when they are moved to the
     alarms catalog).
     1.   System flags 41 and 42 can be changed from within PIM48
          by pressing RIGHT-SHIFT-TIME and selecting the desired
          format (available with both the calendar and
          appointment/todo browser.
     2.   System flag 57 ca be toggled with the LS-Backspace key
          when the calendar is displayed.  When sysFLAG 57 is CLR
          (Alarm beep suppressed) the message "ALM OFF" is displayed
          at the bottom of the calendar.


HP48 COMPATIBILITY AND DISCLAIMER

PIM48 has been thoroughly tested on the HP48GX (version
"R").  Some users previously identified incompatibilities
with the GX version "P", however, these have all been
corrected.  PIM48 should also be fully compatible with
HP48S(X).

PIM48 has no known bugs, however, normal caution is
required. BACKUP YOUR HP48 BEFORE USING.  The author is not
responsible for any loss of data (or missed appointments or
todos <g>) from the use of this software.


INSTALLATION

PIM48.ZIP contains the following files:
1.   PIM4845A.LIB (the PIM48 library in binary format);
2.   P4845LT.LIB (PIM48 "light")
3.   PIM4845A.DOC (this file);
4.   PIM4845A.INF (information file); and
5.   HISTORY.DOC (version history)

Download PIM48.LIB (or P4845LT.LIB) to your HP48 as a binary
file.  If using KERMIT, press the menu key that shows up
labeled PIM48.  You should then see this on the stack:

                   Library 1769 PIM48 ...

Decide which port (0, 1, or ...) you want the program
installed in.  Enter this port number on the stack and press
STO.  Cycle the HP48 OFF then ON.  PIM48 is now installed!
PURGE the menu variable PIM48 if present.

PIM48 auto attaches itself to the HOME directory and may be
accessed from any directory by simply executing PIM48.  It
is recommended, however, that PIM48 ONLY be used from within
the data directory associated with LM or ROLDX.  To simplify
this,  it is recommended that path information be added to a
CST menu or to a key assignment as follows:

      << PATH HOME 'Rtn' STO DATA.DIR PIM48 Rtn EVAL >>

     Note: Using this technique, the return path is
     STOed in the variable 'Rtn' located in the HOME
     directory and the stack remains clear for other
     uses.

Assign the above to key 34.4 using the ASN function (Right-
SHIFT MODES ASN) PIM48 will now be accessible at anytime by
pressing ALPHA "P" while in the "USER" mode.

PIM48 has the ability to save past due APPOINTMENTS and
completed TODOS to a save file (PIM.SAV).  This file will
automatically be created if not present in the current
directly or updated if it is.  By always accessing PIM48
from the same directory, saved APPOINTMENTS/TODOS will
always be in the same file.

Version 4.3 on allows access through variables to any user
defined database and any editor.  To define a database,
place its name within << >> and store as the variable 'db'
(note the lower case). To define an editor, place its name
within << >> and store as the variable 'ed' (note the lower
case). These variables should be stored either in the HOME
directory or in the PIM48 DATA directory.

     Note:  The following program, when saved as 'ed',
     will allow appointments or todos with lists to
     access List Manger (LM) if this program is
     available else it accesses the HP48 text editor.
     List Manager is by the same author as PIM48 and is
     distributed separately.
     
     << DUP TYPE IF 5 == THEN LM ELSE # 273714d SYSEVAL
                           END >>


UNINSTALL

To uninstall PIM48, enter the home directory and perform the
following:

1.   ENTER  (displays as 0:1769 on level 1)
2.   ENTER  (creates a second copy on the stack)
3.   DETACH (MEMORY, NXT)
4.   PURGE

.   PIM48 is UNINSTALLED!


LIBRARY MENU

With PIM48 installed, the following menu files are
available:

<PIM48> Main program
<ABOUT> Program information screens
<APT^>  Recalls all appointments to the stack as a list of
        lists. The format is suitable for loading into the
        appointment catalog using APTv).
<APTv>  Loads a list of appointments from the stack into
        the appointments catalog.
<TOD^>  Recalls all todos to the stack as a list of lists.
        The format is suitable for loading back into the
        todo catalog using TODv.
<TODv>  Loads a list of todos into the todo catalog.

     Notes:
     1.   The format for the list of appointment/todos MUST be
          the same as that created by APT^ or TOD^.  This format is
          required by the HP48.
     2.   CAUTION.  DO NOT load appointments/todos from the stack
          that are already in their respective catalog.  Double
          entries will result.
     3.   The "list" created by APT^ and TOD^ can easily be
          transferred to a PC or MAC using KERMIT (SEND) or XMODEM
          (XSEND).  When using KERMIT, save the list to an appropriate
          variable and transferred using ASCII.  When using XMODEM,
          convert the list into a string variable (PRG, OBJ, ->STR)
          before saving it. This will ensure the object is transferred
          in ASCII format rather than in a binary format.

       Second menu screen (press NXT).

<SAV^>  Recalls all saved appointment and todos to the
        stack as a list of lists.  The format is suitable
        for loading back into either the appointment or
        todo catalog using APTv or TODv.

<PURGE> This function deletes ALL entries in either the
        ALARM catalog or the TODO catalog. When PURG is
        selected, a further prompt allows selection of
        ALMS, TODOs, pimPA, or QUIT.

        ALMS - DELETES all APPOINTMENTS (Alarm catalog)
        
        TODO - DELETES all TODOS (TodoList catalog)
        
        PIMPA (pimPAR) - DELETES the parameter file from
             the hidden directory.  "pimPA" is used by
             PIM48 to retains information between sessions.
        
        QUIT Quits the PURGE functions and returns to the
             previous menus.



THE CALENDAR

The main screen of PIM48 consists of a MONTHLY CALENDAR, the
current date, and an analog and digital clock.  APPOINTMENTS
and TODOS are displayed on the calendar with SMALL BOXES
beside the appropriate date.  The UPPER box represents
APPOINTMENTS; the LOWER box represents TODOS.

A digital readout in the top right hand  corner of the
calendar shows the number of DAYS-PAST/DAYS-TO-GO in the
current year and the current WEEK OF THE YEAR.  A digital
readout in the bottom right hand corner of the calendar
shows the number of DAYS BETWEEN ANY TWO DATES.  LEFT-SHIFT-
J.DD/J.WD toggled the readout between DAYS [J.DD] and
WEEKDAYS [J.WD] (WEEKDAYS exclude Saturdays and Sundays).

     Note:
     1.   An about screen displays registration information each
          time PIM48 is entered.  Registration removes this reminder
          to register.  Registration information is always available
          by pressing PRG.
     2.   On start up, the current date is [0] and any movement
          of the cursor will either increment or decrement this value.
          You can make any date the [0] date by simply moving to that
          date and pressing "0" on the key board.  The JUMP KEY (J.DD
          or J.WD) always prompts for the proper value to take you
          back to the [0] date.


CALENDAR FORMAT

The calendar can be displayed in the US/CANADIAN format
(week begins on Sunday) or in the EUROPEAN format (week
begins on Monday).  The format can be changed within PIM48
by selecting TIME (RIGHT-SHIFT 4) and pressing the first
menu key (MDY/DMY).


CURSOR MOVEMENT

The inverse day cursor can be moved with the cursor (arrow)
keys or with the add, subtract, multiply, and divide keys.
With a "box" beside TODO, the RIGHT-SHIFT RIGHT ARROW key
causes the inverse day cursor to "JUMP" to the next day for
which a TODO is scheduled.  With a "box" beside APPT, the
RIGHT-SHIFT RIGHT ARROW key causes the inverse day cursor to
"JUMP" to the next day for which an APPOINTMENT is
scheduled.  Similarly, the RIGHT-SHIFT LEFT ARROW key will
cause the inverse day cursor to "JUMP" to the previous day
for which either a TODO or APPT is schedule.


MOON PHASES

Moon phases can be graphically displayed on the calendar
(toggled ON/OFF) by pressing key 13 ['/M].  Local latitude,
longitude, and time zone information is required.  This
information is entered through the set up function [TIME]
(RIGHT-SHIFT 4) and pressing NXT.


SUNRISE/SUNSET TIME

With the calendar displayed, pressing the [S]IN key (key 19)
displays the SUNRISE//SUNSET time for the current date.  The
sunrise//sunset is predicated on the local latitude,
longitude, and time zone.  This information is entered
through the set up function [TIME] (RIGHT-SHIFT 4) and
pressing NXT.

The JULIAN DAY for the current date is displayed whenever
the sunrise/sunset display is toggled OFF.


THE CLOCK DISPLAY

The clock (both digital and analog) can be toggled to run
continuously (display current time) by pressing key 20 [T].
In the continuous run mode, the HP48 will shut itself off
when the keyboard has been inactive for the period set for
"T.OFF".  T.OFF time can be set to any value and is adjusted
by pressing TIME (RIGHT-SHIFT 4) and pressing the MENU key
labeled T.OFF.

     Note.
     1.   In the continuous run mode, the T.OFF time overrides
          the HP48's normal shutdown time of approximately 10 min.  If
          large values are entered for T.OFF, you may drain the
          batteries.
     2.   The clock will also run in the continuous time mode
          whenever the stop watch is running.

When not in the continuous run mode, the clock is updated
whenever a key press occurs and the time since the last
change exceeds one minute.

Display of the analog/digital clock can be toggled OFF and
ON using the [+/-] key (key 26).  When OFF, it is replaced
with a snippet of either the todo or the appointment screen.


SETUP SCREENS TIME/DATE and OTHER VARIABLES

The internal HP48 clock can be adjusted by pressing RIGHT-
SHIFT-TIME from the calendar screen.  When selected, the
following keys adjust the display format and time:

     <MDY>            Toggles the date display MDY or DMY
     
     <24>             Toggles the time to display either a
                      24 hour clock or a 12 hour clock.
     
     <DATE>           Prompts for the input of correct
                      date.
     
     <TIME>           Prompts for the input of correct
                      time.
     
     <T.OFF>          Prompts for the input of the time to
                      shut off.
     
     <EXIT>           Saves current settings and exits back
                      to calendar.
     
     LEFT/RIGHT ARROW Decrements/Increments date by one
                      day.
     
     UP/DOWN ARROW    Increments/decrements time by one
                      hour.
     
     ENTER            Saves current settings and exits back
                      to calendar
     
     2nd MENU - Press NXT
     
     <A.TOD>          Toggle automatic update of TODOs
     
     <LAT>            Prompts for input of latitude
                      information
     
     <LONG>           Prompt for input of longitude
                      information
     
     <TZ>             Prompts for input of time zone
                      information
     

SNIPPET OF TODOS OR APPOINTMENTS

A SNIPPET of  the day's todos or appointments are displayed
(toggled on/off) by pressing key 26 ( +/- ).  When SNIPPETs
are displayed, the MON/WK/DAY filter toggles to day.


BRINGING FORWARD TODOS

Incomplete TODOs (those NOT checked off) can be brought
forward either manually or automatically.  To manually bring
forward TODOs, press the RIGHT-SHIFT COS key and answer
[Y]es to the prompt.  To automatically bring forward TODOs,
press the RIGHT-SHIFT-TIME/4, select 2nd menu (press NXT)
and use the A.TOD to toggle the display.  While TODOs are
being brought forward, the message "Updating Todos ." is
displayed.  In the automatic mode, todos are brought forward
each time the calendar is entered.

     Note: Only TODOs which are NOT checked off are brought
     forward.


COUNTDOWN TIMER

A countdown timer can be entered from the calendar by
pressing the "4" key. When pressed, the value (in H.MS) is
prompted to countdown.  When ENTERed, an alarm with the
message TIMER! is set for the appropriate time.

     Note:
     1.   If a negative number is entered as the countdown value,
          the alarm will be set for a time PRIOR to the current time.
     2.   Repeated use if the timer can create a number of alarms
          labeled "TIMER!".  To delete unwanted timer alarms, use the
          SELect function, the menu key DEL, and select ALL.
     

STOP WATCH

A STOP WATCH can be entered from the calendar whenever the
analog/digital clock is displayed by pressing either the
MENU key marked SW or the EEX key.  When selected, the
SUNRISE/SUNSET times (or the Julian date) changes to SW and
the stop watch time.  The menu keys change to: START, STOP,
LAP, CONT, RESET, and EXIT.  When entered, the stop watch
displays either the current time or, if the stop watch was
running from a previous event, the STOP WATCH time.

The STOP WATCH displays its time to 1/100 of a second.

The menu keys have the following functions:

     <START>   Resets the timer to zero and starts a STOP
               WATCH event.
     
     <STOP>    Stops a STOP WATCH event (freezes the
               displayed time).
     
     <LAP>     Freezes the display time, STOP WATCH
               continues to run (in background).
     
     <CONT>    Continues to display the time stopped with
               LAP key.  Has no effect if an event was
               STOPped with the STOP key.
     
     <RESET>   Resets the STOP WATCH counters to zero.
     
     <EXIT>    EXIT the STOP WATCH mode.  Current STOP WATCH
               time is retained (similar to pressing LAP
               key) until STOP WATCH is re-entered.

               Note:
               1.   Whenever the STOP WATCH is running, the analog/digital
                    clock displays the current time (operates in continuous
                    update mode).
               2.   You can enter and exit the STOP WATCH mode using the
                    EEX key.
               3.   Calendar keys are fully functional in the STOP WATCH
                    mode, however, pressing any key will suspend the SW time
                    similar to the LAP key.  Pressing CONT will continue the SW.
               4.   All hard key assignments accessible when the calendar
                    is displayed are accessible in the SW mode.

     EEX       If currently in the STOP WATCH mode, exits
               back to the calendar.

MENU KEYS - CALENDAR DISPLAY

The following MENU keys are available when the CALENDAR is
displayed:

                   GOTO   J.DD/JWD    APPT    TODO*  RLDX/DB   LM
  (press NXT)      ALL    MTH         WK      DAY*   SEL       QUIT

     <GOTO> Prompts for a date to display a calendar for.
            The default date is today's date.  The input is
            based on system flag 42.  If set, the input
            MUST be in the format DD.MMYYYY.  If CLR, the
            input MUST be in the format MM.DDYYYY. Pressing
            the ATTN key will erase incorrectly entered
            data or will return to the current month's
            calendar if no data is present on the input
            line.  The format (flag 42) can be changed
            using the TIME ADJUSTMENT screen (RIGHT-SHIFT-
            TIME).
     
            Valid dates are within the range 1 Jan 1583 and
            11 Nov 9999!  An invalid format or date outside
            of the valid range returns an "INVALID DATE"
            error message.

     <J.DD> Prompts for a positive or negative number of
            DAYS to "jump" (DATE+) from the current day.
            Negative values are entered by pressing the "+/-
            " key after the "real" is ENTERed.  Pressing
            ATTN either clears the value already entered or
            returns to the previously displayed calendar if
            the input line is already clear.

     <J.WD> Prompts for a positive or negative WEEKDAYS to
            "jump" (DATE+) from the current day.  Negative
            values are entered by pressing the "+/-" key
            after the "real" is ENTERed.  Pressing ATTN
            either clears the value already entered or
            returns to the previously displayed calendar if
            the input line is already clear.

            Notes:
            1.   The J.DD or J.WD prompt is the number of DAYS or
                 WEEKDAYS between the current day and the "zero" day. The
                 Zero day can be reset when the calendar is displayed by
                 pressing the <0> key. See <0> below.
            2.   The J.DD or JWD prompt can be toggles by left-shift-
                 J.DD or left-shift-J.WD.
            3.   When "J.DD" is displayed, the digital display in the
                 bottom right hand corner of the calendar displays the number
                 of days (DDAYS) +/- from the "ZERO" day. Similarly, the
                 digital display in the top right hand corner of the calendar
                 displays the number of days past/days to go in the current
                 calendar year.
            4.   When "J.WD" is displayed, the digital display in the
                 bottom right hand corner of the calendar displays the number
                 of WEEKDAYS +/- from the "ZERO" day.  Similarly, the digital
                 display in the top right hand corner of the calendar
                 displays the number of WEEKDAYS past/weekdays to go in the
                 current calendar year.

     <APPT> If pressed when a box is displayed beside it,
            appointments for the current date will be
            displayed. If a box is not displayed beside it,
            a box is toggled ON and APPT become active.
            When APPT is active:
            1.   pressing LEFT-SHIFT RIGHT/LEFT ARROW causes the
                 calendar cursor to move to the date for the next/previous
                 appointment.
            2.   pressing ENTER displays the appointments for the
                 current date.
            3.   pressing ALL, MTH, WK, or DAY (menu 2) will display
                 appointments for that period
            4.   pressing +/- key will toggle analog clock to display
                 snippets of the appointments for that day

     <TODO> If pressed when a box is displayed beside it,
            todos for the current date will be displayed.
            If a box is not displayed beside it, a box is
            toggled ON and TODO becomes active.  When TODO
            is active:
            1.   pressing LEFT-SHIFT RIGHT/LEFT ARROW causes the
                 calendar cursor to move to the date for the next/previous
                 todo.
            2.   pressing ENTER will display the todos for the current
                 date.
            3.   pressing ALL, MTH, WK, or DAY ( menu 2) will display
                 todos for that period
            4.   pressing +/- key will toggle analog clock to display
                 snippets of the todos for that day
     
     <RLDX> Provides access to ROLDX (user provided)
            program.  This capability allows the user to
            have access to an external database from within
            PIM48.  ROLDX must be installed for this
            function to work.
     
            Note:  If you are using ROLDX, and have not
            done so, please register.  ROLDX is also
            distributed as shareware.
     
     <DB>   Provides access to a user definable database,
            other than ROLDX.  For this function to work,
            the variable 'db' must be present in either the
            HOME directory, or in the data directory from
            which PIM48 is activated.  The variable 'db'
            must contain the name of the database. ie., If
            you want DB to access FONEMAN, store
            <<<FONEMAN>> in variable 'db'.
     
            Note:  The menu can be toggled between RLDX and
            DB by pressing LEFT-SHIFT in conjunction with
            RLDX or DB.  The menu display is "remembered"
            from one PIM48 session to the next.

     <LM>   Provides access to List Manager or LM.  LM as
            its name implies is a list browser which
            provides outliner capabilities.

            Note:
            1.   To access the LM data stored in a specific directory,
                 PIM48 must be entered from that directory.
            2.   LM is distributed separately by the author of PIM48.

     <SW>   Provides access to the integrated STOP WATCH.
            The SUNRISE/SUNSET times (or the JULIAN date)
            is replaced with the STOP WATCH time.  During
            STOP WATCH operations, the MENU keys are
            redefined.  See details under STOP WATCH.

            To change the MENU key from LM to SW, use the
            LEFT-SHIFT key.  The STOP WATCH can also be
            access from the keyboard by pressing the EEX
            key.
            
          > 2nd MENU SCREEN - PRESS NXT <

     <ALL>  Toggles the display to show either ALL
            appointments or ALL todos.

     <MTH>  Toggles the display to show either appointments
            or todos for a given month.

     <WK>   Toggles the display to show either appointments
            or todos for a given week.
     
     <DAY>  Toggles the display to show either appointments
            or todos a current day.

            Note:  The current day's appointments/todos is
            taken from the date pointed at by the inverse
            calendar cursor.

     <SEL>  Displays only selected appointments or todos.
     
            Note:  Text selected is case sensitive.


     <QUIT> Quits the program.


HARD KEYS - CALENDAR DISPLAY

     <PRG> [H]   Provides registration information.
     
     <ARROW KEYS>Allows the calendar cursor to be moved.
            The right/left arrow keys increment/decrement
            the calendar date, one day at a time. The
            up/down arrow keys increment/decrement the
            calendar seven days at a time.  When the cursor
            moves beyond the bounds of the current
            calendar, the next/previous calendar is
            automatically displayed.
     
            Pressing and holding down an arrow key causes
            the applicable cursor movement to be repeated.
     
     <LS-RIGHT-ARROW> Moves the calendar cursor to the next
            date that an appointment or a todo is set and
            updates the calendar appropriately.  This
            function is dependent on whether appointment or
            todos are active as indicated by the box
            displayed beside APPT or TODO (menu 1) and
            works only when just a day's appointment or
            todos are displayed.
     
     <LS-LEFT-ARROW>  Moves the calendar cursor to the
            previous date that an appointment or a todo is
            set and updates the calendar appropriately.
            This function is dependent on whether
            appointment or todos are active as indicated by
            the box displayed beside APPT or TODO and works
            only when just a day's appointment or todos are
            displayed.
     
     < ' > [M]   Toggles the display to show/NOT show moon
            phases for the current month.  The status of
            this display is maintained from one session to
            the next.
     
     <SIN> [S]   Toggles the display for the
            SUNRISE//SUNSET.  The sunrise//sunset is
            predicated on the local latitude, longitude,
            and time zone.  The status of this display is
            maintained from one session to the next.
     
     <COS>  Toggles the continuous run mode for the
            analog/digital clock.
     
            Notes:
            1. When the continuous clock run mode is ON, all assigned
               keys functions as normal.  Unassigned keys and the SHIFT
               keys STOP the running clock.  The CANCEL key stops the
               running clock and QUITs PIM48 with next key press.
            2. Unassigned keys issue a warning beep when system flag
               56 is set.
            3. The HP48 will automatically turn off when the pre-set
               TIME OFF has expired. The TIME OFF can be set using RIGHT-
               SHIFT TIME.
     
     <RS-COS>  Manually brings forward incomplete todos
               (those not checked off) to today's date.
     
            Note:  This feature allows periodic updating of
            todos.
     
     <ENTER>Displays the appointment or todos for a given
            date. This function is dependent on whether
            appointment or todos are active, as indicated
            by the box displayed beside APPT or TODO (menu
            1), and whether ALL, MTH, WK, DAY, or SEL is
            active (menu 2).
     
     <+/->  Toggles the analog/digital clock display.  When
            OFF, this portion of the screen displays a
            SNIPPET of either the todo or appointment
            screen for the current day, depending which is
            active.
     
     <EEX>  Alternate key for accessing the STOP WATCH.
            Toggles the STOP WATCH mode ON/OFF.
     
     <DEL>  Cancels a past due alarm from within the PIM48.
            Removes the past due alarm indicator from the
            display.
     
     <4>    Countdown timer.  Prompts for a real value (in
            Hour Minutes Seconds H.MS) to countdown.  An
            alarm with the message TIMER! will be set for
            this time.
     
            Note: If a negative number is entered as the
            countdown value, the alarm will be set for a
            time PRIOR to the current time.
     
     <RS-4> Displays SETUP screens for DATE/TIME and OTHER
            VARIABLES.  To toggle between the two screens,
            press NXT.  For further details on these
            screens, see SETUP SCREENS.
     
     <DIVIDE>    Decrements the calendar by one year.
     
     <TIMES>Increments the calendar by one year.
     
     <MINUS>Decrements the calendar by one month.
     
     <PLUS> Increments the calendar by one month.
     
     <ATTN> Exits program (same as <QUIT>).
     
     <0>    Resets the "zero" day to the current day
            (counter in the bottom right hand corner of the
            calendar goes to zero for that date). Allows
            for the calculation of the difference in days
            (J.DD) or the difference in WEEK DAYS (J.WD).
     
     <OFF>  Shuts off the display without exiting program.
     
     <LS-OFF>    Locks the HP48 display off.  To turn the
            display back on, the EVAL key must be held down
            immediately after the ON key is pressed.  The
            feature is provided to prevent the HP48 from
            been unintentional turned on (also provides a
            simple form of security).
     
     

APPOINTMENT/TODO BROWSER


INTRODUCTION

A browser in the small font is used to display todos which
can be filtered by month, week, day, or selection.  Up and
down arrow keys provide scrolling, paging (LEFT-SHIFT ... )
and jumping (RIGHT-SHIFT ... ) to beginning or end.  The
right arrow key enters the VIEWER for the selected
appointment/todo to display the message.  Editing features
include the abilities to ADD, CUT, COPY, DELETE, and EDIT;
clipboard functions include CUT, COPY, AND PASTE.

MESSAGE VIEWER

In addition to the browser, a message viewer is available to
provides full access to the "message" in appointment and
todos.  The viewer is easily accessed by pressing the right
arrow.  The viewer supports carriage returns and can be
scrolled using the arrow keys.  To exit the viewer, position
the "window" at the left of the display (using the left
arrow key) and then press the left arrow key.

MENU KEYS - APPOINTMENT/TODO BROWSER

The following MENU keys are available in the
appointment/todo browser:

                ADD      CUT     COPY   DEL  EDIT   EXIT
    (press NXT) GOTO/ALL MTH     WK     DAY* SEL    LM

     <ADD>  Prompts for a message for either an appointment
            or a todo. Once the message is ENTERed, access
            is provided to a preview screen for either a
            new appointments or a new todo.  In the case of
            an appointment, the preview displays the date,
            message, time, advance time and repeat
            interval.  In the case of a todo, the preview
            displays just the date and a message. The top
            left of the display indicates whether
            appointment or todos is selected. The top right
            of the display indicates the current date and
            time.
     
            The following keys control the display:
     
          <APPT/TODO>  Toggles the display screen.
     
            Notes:
            1.   If a box is displayed beside ADD, an alternative editor
                 (as defined by 'ed') is used.
            2.   LS-ADD toggles the "box".
     
          <DATE> Prompts for a new date.
          
                 Notes:
                 1.   Left/Right arrow keys decrement/increment the date by
                      one day while in the display mode.
                 2.   The default date is today's date.
          
          <MSG>  Prompts for a message.
          
                 Notes:
                 1.   If a box is displayed beside MSG, an alternative editor
                      (as defined by 'ed') is used.
                 2.   LS-ADD toggles the "box".
          
          <TIME> prompts for a new time.
          
                 Notes:
                 1.   Only displayed when adding appointments.
                 2.   Up/Down arrow keys increment/decrement the time by one
                      hour while in the display mode.
                 3.   The default time is the next hour.

          <ADJ>  Toggles the menu line to display ANY, :30,
                 :20, :15, :10, 0.  Pressing ANY prompts
                 for the input of any alarm advance time.
                 Input must be in the format of H.MMS.
                 Pressing ":30, :20, :15, :10, 0" sets
                 preset advance times in minutes.  When any
                 menu is pressed, the menu line reverts to
                 the previous.
          
          <RPT>  Prompts for a repeat time and changes the
                 menu line to WK, DAY, HR, MIN, SEC, or
                 NONE.  Enter the repeat value, select the
                 desired interval.  and press ENTER.
          
                 Notes:
                 1. When a repeat interval is selected, a BOX appears
                    beside the appropriate menu key. pressing NONE removes the
                    BOX.
                 2. If an interval is not selected or the repeat value is
                    ZERO, no repeat interval is displayed.
                 3. Pressing the CANCEL key either clears the prompt line
                    or returns to the appointment/todo display screen.
          
          < ENTER>  Save the displayed appointment or
                    todo.
          
          <ATTN>    Cancels the appointment or todo and
                    returns to previous screen.
     
     
     <CUT>  Copies the selected appointment or todo to the
            clipboard then deletes it.  The cut menu
            toggles to PASTE.
     
     <PASTE>Uses the message information from the clipboard
            as the default and accesses the input screen
            for appointments or todos.  Works same as ADD
            function.
     
            Note: Left-shift-Paste clears the clipboard and
            toggles PASTE to CUT.
     
     <COPY> Copies the selected appointment or todo message
            to the clipboard.  The CUT menu toggles to
            PASTE.
     
            Notes:
            1. The clipboard can be used to cut (or copy) data to or
               from LM.
            2. The clipboard function uses the variable named 'clip'
               stored in the "hidden" directory.
     
     <DEL>  Displays the word DEL in the header and a
            secondary menu as follows:
          
          <ALL>  Deletes ALL currently displayed
                 appointments or todos
          
          <CUR>  Deletes CURrently selected appointment or
                 todo (the one highlighted by the selection
                 bar).
          
          <EXIT> Returns to the previous menu.
     
     <EDIT> Displays the appointment/todo preview screen.
            Select items to change then press ENTER to
            accept the changes or ATTN to delete.
     
     <EXIT> Returns to the calendar screen.
     
            Note: on return, the current day is taken from
            the date associated with current selection.
     
               > 2nd MENU SCREEN - PRESS NXT <
     
     <GOTO> Prompts for a date to display appointments or
            todos for.  The default is today's date.  The
            input is based on system flag 42.  If set, the
            input MUST be in the format DD.MMYYYY.  If CLR,
            the input MUST be in the format MM.DDYYYY.
            Pressing the ATTN key will erase incorrectly
            entered data or will return to the current
            month's calendar if no data is present on the
            input line.
     
            Valid dates are within the range 1 Jan 1583 and
            11 Nov 9999!
     
     <ALL>  Toggles the display to show ALL
            appointments/todos.
     
            Note: The menu display can be toggled between
            GOTO and ALL with the LEFT-SHIFT key plus GOTO
            or ALL.
     
     <MTH>  Toggles the display to show appointments/todos
            for the current month.  When a months
            appointments or todos are displayed, the "+"
            will increment the current month and the "-"
            will decrement the current month.
     
     <WK>   Toggles the display to show appointments/todos
            for the current week. When a weeks appointments
            or todos are displayed, the "+" will increment
            the current week and the "-" will decrement the
            current week.
     
     
     <DAY>  Toggles the display to show appointments/todos
            just for the current date. When a days
            appointments or todos are displayed, the "+"
            will increment the current day and the "-" will
            decrement the current day.
     
     
            Note:  The current day's appointments/todos is
            taken from the date pointed to by the selection
            bar.
     
     <SEL>  Prompts for the input of a text string to
            display appointment or todos for.  Only
            appointments or todos that contain a match are
            displayed.
     
            Note:  Text selected is case sensitive.
     
     <LM>   Provides access to LM.  To access the LM data
            stored in a specific directory, PIM48 must be
            entered from that directory.
     
            Note: LM must be installed for this key to
            work.
     

HARD KEYS - APPOINTMENT/TODO BROWSER

     <UP/DOWN ARROWS> Moves the cursor bar up or down.  If
            the cursor bar is currently at the TOP of the
            list and the UP arrow is pressed, the cursor
            bar  moves to the END of the list.  If the
            cursor bar is at the END of the list and the
            DOWN arrow is pressed, the cursor bar  moves to
            the top of the list.
     
            Note:  Pressing and holding down an arrow key
            causes the applicable cursor movement to be
            repeated.
            
     <LS-UP/DOWN-ARROWS>   Moves the cursor bar  to the
            top/bottom of the current display. If the
            cursor bar is already at the top/bottom, it
            moves to the top/bottom of the previous/next
            page.  If the cursor bar is already at the
            top/bottom of the display, it will not move.
     
     <RS-UP/DOWN ARROWS>   Moves the cursor bar  to the
            top/bottom of the list.
     
     < RIGHT ARROW>   Enters the appointment/todo viewer
            mode which displays the message in the small
            font.  While in the viewer mode, the display
            can again be scrolled using the arrow keys.  To
            exit the viewer mode, position the "window" to
            the left of the display and press the left
            arrow key.
     
            Note:
            1. The viewer mode respects carriage returns and allows
               for the display of large messages (limited only by available
               RAM).
            2. In addition to the LEFT-ARROW key, pressing the ATTN
               key will also exit the viewer.
     
     <LS-RIGHT ARROW> If just a days appointments or todos
            are displayed, the display moves to the next
            day that an appointment or a todo is due.  Has
            no effect when either a WK, MTH or ALL
            appointments or todos are displayed.
     
     <LS-LEFT ARROW>  If just a days appointments or todos
            are displayed, the display moves to the
            previous day that an appointment or a todo is
            due.  Has no effect when either a WK, MTH or
            ALL appointments or todos are displayed.
            
     <RS-COS>    Prompts for ToDos not checked off to be
            brought forward to the current date.
     
     <SQRT> Toggles a check mark and a "A" or a "T" to the
            selected appointment or todo as applicable (if
            check mark is not present one is inserted, if
            it is present it is deleted).
     
     <ENTER>Displays the appointment/todo preview screen.
            Select items to change then press ENTER to
            accept the changes or ATTN to delete.
     
     <+/->  Toggles the display between showing todos and
            showing appointments.
     
     <DEL>  Cancels a past due alarm from within the PIM48.
            Removes the past due alarm indicator from the
            display.
     
     <LS = >Displays only those appointments or todos with
            a check mark.
     
     <RS -> (zero key) >   Used to save appointments or
            todos to a save file (PIM.SAV).  Displays the
            word SAVE in the header and a secondary menu as
            follows:
     
          <ALL>  Saves ALL currently displayed appointments
                 or todos to a save file (PIM.SAV) in the
                 current directory and then deletes those
                 entries.
          
          <CUR>  Saves CURrently selected appointments or
                 todo to a save file (PIM.SAV) in the
                 current directory and then deletes it.
          
          <EXIT> Returns to the previous menu.
     
                 Note:  When "LS =" is followed by  "RS ->"
                 only  checked off appointments or todos
                 will be saved.
     
     <RS <-/>    Moves the contents of PIM.SAV (if the file
            exists in the (decimal key) current directory)
            to the current list (appointment or todo).
            
            NOTE:  This function is provided to allow
            viewing (and editing) of SAVE'd appointments or
            todos.  To distinguish saved items form unsaved
            items use of the check mark feature is
            recommended. Recalled items can then be re
            saved by using the <=> function followed by the
            SAVE ALL function (-> key).
     
     <->    Variable function depending on the display
            filter.  When a months appointments/todos are
            displayed, pressing the minus key decrements
            the date by a month. When a weeks
            appointments/todos are displayed, pressing the
            minus key decrements the date by a week. When a
            days appointments/todos are displayed, pressing
            the minus key decrements the date by a day.
     
     <+>    Variable function depending on the display
            filter.  When a months appointments/todos are
            displayed, pressing the plus key increments the
            date by a month. When a weeks
            appointments/todos are displayed, pressing the
            plus key increments the date by a week. When a
            days appointments/todos are displayed, pressing
            the plus key increments the date by a day.
     
     <ATTN> Return the program to the initial screen (same
            as EXIT).
     
     <OFF>  Shuts off display without exiting program.
     
     <LS-OFF>    Locks the HP48 display off.  To turn the
            display back on, the EVAL key must be held down
            immediately after the ON. key is pressed.  The
            feature is provided to prevent the HP48 from
            being unintentional turned on (also provides a
            simple form of security).


ACKNOWLEDGEMENTS

I would like to thank James Weisbin, Lee Buck, and Bill
Quinlan for their assistance during the development of this
program. James for initially planting the seed in my head
and for his continuing interest; Lee for providing valuable
comments on my first working model; and Bill for suggesting
the weekday function (J.WD) and for providing the algorithm.
I also thank all those suggestions which help to continually
improve PIM48.

Algorithms for the sunrise/sunset and moon phases were
extracted from "Astronomical Algorithms" by Jean Meeus,
Willmann-Bell, 1991.

I would also like to thank Detlef Mueller for initially
developing the sys-RPL compiler/decompiler program for the
HP48 (RPl22) and more recently to Mika Heiskanen and Jan
Brittenson for their excellent program JAZZ, and to Hewlett
Packard for releasing information on sys-RPL programming.

    . . . AND THANK YOU TO ALL THOSE WHO HAVE REGISTERED!


-------- the end ----------------------------------------------
