CAL2K Version 4.0 Pop-up Calendar for DOS
Copyright 1991, 1994 by J. Douglas Fogg

CONTENTS OF SELF-EXTRACTING CAL2K4.EXE

     CAL2K.TXT -- This file.  Complete instructions for CAL2K.
     CAL2K.COM -- The executeable CAL2K program file.

WHAT IS CAL2K?

CAL2K is a small, pop-up calendar for use on IBM-PC-compatible
computers, and on the Tandy 2000 (a not-so-IBM-compatible
machine on which the original versions of CAL2K were
developed).  Once loaded into your computer's memory, CAL2K uses
only 4 KB of memory.  With later versions of DOS, it can be
loaded high with the DOS LOADHIGH command so as to use none of
the precious memory below 640K.

The primary design goal was to keep it small.  It's not an
appointment manager or daily planner; it's just a one-month
perpetual calendar which you can call up over any DOS program
by pressing the hot key.  It's valid from 1583 A. D. (the first
full year of the Gregorian calendar) through 9999 A. D.

CAL2K FEATURES

Reconfigurable hot key -- you pick the hot key you want to
activate CAL2K when you first load it, or anytime thereafter.

Time display -- current 24-hour time is displayed at the top of
the CAL2K calendar.

Today highlighted -- When the current month is being displayed,
the current day will be highlighted.

Easy month & year selection -- the up & down arrow cursor keys
raise and lower the displayed calendar year by one.  The right
and left arrow cursor keys change the displayed calendar ahead
or back (respectively) one month.

Quick jump to any year -- just type the four digits of any year
between 1583 and 9999 and the currently displayed calendar jumps
to that year.

Last displayed month memory -- The first time you pop up the
CAL2K calendar, it shows the current month.  If you change to
any other month, that month will be the one displayed when you
again press the CAL2K hot key.

Pop up in graphics modes -- CAL2K will pop up over any DOS
screen, including graphics mode screens, something many pop-up
utilities will not do.  However, to keep CAL2K small, it was not
given the capability to remember what was underneath the
calendar in graphics modes; it restores only text mode screens.
Be aware that CAL2K will leave a gaping rectangle of nothing
after you finish using it in graphics mode.  Also, depending on
the color palette in use by the parent program when you call up
the CAL2K calendar, it may be difficult or impossible to see
because of the colors used.  Again, this was a trade-off decided
in favor of minimal program size.

Tandy 2000 compatibility -- CAL2K Version 4.0, while
functionally identical to the previous Version 3.2, now has
complete and separate hot key tables for the Tandy 2000 and the
IBM-PC-compatibles.  The hot key you pick can be virtually any
key or key combination which produces an extended ASCII code.  A
complete list of available hot key codes for both the Tandy 2000
and the IBM-PC-compatibles is at the end of these instructions.

STARTING CAL2K

Once the CAL2K.COM file has been copied to the drive and
directory of your choice, simply switch to that drive and
directory, type CAL2K and press <Enter>.  CAL2K will install
itself in memory, automatically recognizing whether it is
running on an IBM-PC-compatible or a Tandy 2000.  The default
hot key is ALT-C (hold the "ALT" key down and press the "C"
key).  Just press ALT-C to pop up the calendar.  Press <Esc> to
put it away.

CHANGING HOT KEYS

To select a different hot key, enter it's code on the command
line along with "CAL2K".  The code is a two-digit hex number
which is the least-significant byte of the two-byte extended
ASCII code returned by the key or key combination.  Extended
ASCII codes are returned by the funtion keys, the cursor keys,
and, when combined with the CTRL or ALT keys, most other keys on
the keyboard.  Two tables at the end of these instructions, one
for the Tandy 2000 and one for IBM-PC-compatibles, list all of
the codes which CAL2K can recognize as its hot key.  For
example, to make the hot key ALT-K instead of ALT-C, type:

                   CAL2K 25 <Enter>

CAL2K will respond with the message:

       CAL2K calendar display key changed to   ALT-K

To make the hot key ALT-F5, type

                   CAL2K 6C <Enter>

You can change the hot key from the default any time.  Do it when
you first start CAL2K, or after it's already loaded.  While you
should never initially load a memory-resident program like CAL2K
from a DOS prompt obtained while another parent program is
running, you CAN safely change the CAL2K hot key any time.

INVALID HOT KEY CODES

If CAL2K doesn't recognize the hot key code you enter, or if you
enter extraneous characters on the command line, the hot
key will remain as it was.  CAL2K will display a portion of
its sign-on screen reminding you of the syntax for changing hot
keys, and letting you know what the current hot key is.

FORGOTTEN HOT KEY

If you forget what the current hot key is for CAL2K, just type:

                  CAL2K <Enter>

CAL2K will respond as above with syntax instructions and the
current hot key.

INITIAL MONTH DISPLAY & TIME DISPLAY

The first time you pop up CAL2K, it will display the current
month and current time (as detected from your computer's system
clock).  Today's date will be highlighted.  If the month, day, or
time is incorrect, adjust your computer's clock with the DOS
DATE and/or TIME commands (see your DOS manual).

CHANGING THE DISPLAYED MONTH

When the CAL2K calendar is displayed, you can change it to a
different month or year using keys as follows:

     Right arrow -- Show next month.
     Left arrow -- Show previous month.
     Up arrow -- Show same month for next year.
     Down arrow -- Show same month for previous year.

To jump immediately to the same month in any given year, just
type the four digits of the year.  When you type the fourth
digit, the CAL2K calendar will immediately jump to the same
month in that year.  Then use the left or right arrow keys as
above to select the appropriate month.

STOWING THE CALENDAR

Press <Esc> to put the calendar away.  If you called up the
calendar over a text mode screen, the original screen contents
will be restored.  If the underlying screen was a graphics mode
display, the original contents will be lost.  Many programs will
provide a way to "repaint" the same screen.  Use that feature to
restore the screen after using CAL2K in graphics mode.  If the
program you're using offers no way to repaint the screen, you
may wish to refrain from using CAL2K at such times.

CAL2K AND YOUR MOUSE

After stowing the CAL2K calendar by pressing <Esc>, you may find
your computer will ignore the mouse buttons.  Just press a
harmless key (such as the spacebar) to restore mouse button
action.

CAL2K AND BACKGROUND TASKS

Displaying the CAL2K calendar may interrupt some background
tasks like printing.  If these tasks do not resume immediately
when you stow the calendar, they should resume as soon as you
press another key on the keyboard.

CAL2K AND WINDOWS

CAL2K is not a Windows program.  It won't pop up over the
Windows Program Manager or other Windows programs.  However, if
you load CAL2K at the DOS prompt (or with your AUTOEXEC.BAT
file) before running Windows, CAL2K will be available anytime
you run a DOS program or call up the DOS prompt from within
Windows.

If you don't load CAL2K before starting Windows, but instead
load it at a DOS prompt called up from within Windows, it will
work only until you end that DOS session (i. e., close the
window containing the DOS program or DOS prompt).

OTHER ERROR MESSAGES

If CAL2K doesn't recognize your computer as being either a Tandy
2000 or an IBM-PC-compatible, it will beep and ask you whether
or not to install itself in IBM-PC-compatible mode anyway.  If
you say no (by pressing the "N" key), CAL2K will abort its
installation.  If you say yes (by pressing the "Y" key), CAL2K
will install itself using the IBM-PC-compatible hot key table.
Some hot key choices may not work depending on how incompatible
with the IBM keyboard codes your machine is.  The Tandy 1000 is
an example of a computer which may produce this prompt.

FORCING CAL2K INTO IBM-PC-COMPATIBLE MODE

You can add a command line switch ("/I") when you first install
CAL2K to force it into IBM-PC-compatible mode.  This is
equivalent to answering "Y" to the "... Install in IBM mode
anyway?" prompt described above.  By using the switch, you can
eliminate the prompt.  This is useful when you install CAL2K via
your AUTOEXEC.BAT file.  For example,

                        CAL2K 6C /I

sets the hot key to ALT-F5 and forces installation in IBM mode.

If you use the "/I" switch ("/i" works, too), you MUST specify
the hot key, even if you wish to use the default ALT-C (code
2E).

On a Tandy 2000, the "/I" switch is ignored.

LEGALESE

IBM is a trademark of International Business Machines
Corporation

Tandy is a trademark of Tandy Corporation

Windows is a trademark of Microsoft Corporation

CAL2K.COM and CAL2K.TXT are distributed as a self-extracting
archive file, CAL2K4.EXE, portions of which are copyrighted by
Haruyasu Yoshizaki.

CAL2K Version 4.0 is a copyrighted work by J. Douglas Fogg, who
reserves all rights.  Recipients of CAL2K are licensed to use
and copy the CAL2K software.  Any profits from the distribution
or sale of the software (except profits of bulletin board sytems
to which CAL2K has been uploaded by the author) become the
property of the author.  Users may modify the software as they
see fit, but any distribution or sale of the software must be in
unmodified form (i.e., CAL2K4.EXE, containing CAL2K.TXT and
CAL2K.COM) as originally distributed by the author.

No warranty of any kind is expressed or implied by the author,
who is also not liable for damages of any kind arising from the
use of CAL2K.

CONTACTING THE AUTHOR

The author may be contacted via CompuServe [70355,1017].

----------------------------------------------------------------

IBM-PC-Compatible Hot Key Table

Key      Normal     Control     Alt     Shift
---------------------------------------------
Esc        --         --        01       --
F1         3B         5E        68       54
F2         3C         5F        69       55
F3         3D         60        6A       56
F4         3E         61        6B       57
F5         3F         62        6C       58
F6         40         63        6D       59
F7         41         64        6E       5A
F8         42         65        6F       5B
F9         43         66        70       5C
F10        44         67        71       5D
F11        85         89        8B       87
F12        86         8A        8C       88
`          --         --        29       --
1          --         --        78       --
2          --         03        79       --
3          --         --        7A       --
4          --         --        7B       --
5          --         --        7C       --
6          --         07        7D       --
7          --         --        7E       --
8          --         --        7F       --
9          --         --        80       --
0          --         --        81       --
-          --         --        82       --
=          --         --        83       --
\          --         --        2B       --
Backspace  --         --        0E       --
Insert     52         92        A2       52
Home       47         77        97       47
PageUp     49         84        99       49
/          --         95        A4       -- *
*          --         96        37       -- *
-          --         8E        4A       -- *
Tab        --         94        A5       0F
Q          --         --        10       --
W          --         --        11       --
E          --         --        12       --
R          --         --        13       --
T          --         --        14       --
Y          --         --        15       --
U          --         --        16       --
I          --         --        17       --
O          --         --        18       --
P          --         --        19       --
[          --         --        1A       --
]          --         --        1B       --
Enter      --         --        1C       --
Delete     53         93        A3       53
End        4F         75        9F       4F
PageDown   51         76        A1       51
Home       47         77        --       -- *
Up Arrow   48         8D        --       -- *
PgUp       49         84        --       -- *
+          --         90        4E       -- *
A          --         --        1E       --
S          --         --        1F       --
D          --         --        20       --
F          --         --        21       --
G          --         --        22       --
H          --         --        23       --
J          --         --        24       --
K          --         --        25       --
L          --         --        26       --
;          --         --        27       --
'          --         --        28       --
Left Arrow 4B         73        --       -- *
5          4C         8F        --       -- *
Rt. Arrow  4D         74        --       -- *
Z          --         --        2C       --
X          --         --        2D       --
C          --         --        2E       --
V          --         --        2F       --
B          --         --        30       --
N          --         --        31       --
M          --         --        32       --
,          --         --        33       --
.          --         --        34       --
/          --         --        35       --
Up Arrow   48         8D        98       48
End        4F         75        --       -- *
Down Arrow 50         91        --       -- *
PgDn       51         76        --       -- *
Left Arrow 4B         73        9B       4B
Down Arrow 50         91        A0       50
Rt. Arrow  4D         74        9D       4D
Ins        52         92        --       -- *
Del        53         93        --       -- *
Enter      --         --        A6       -- *



*Indicates a key on the numeric keypad (with NumLock off)

________________________________________________________________

Tandy 2000 Hot Key Table

Key      Normal     Control     Alt     Shift
---------------------------------------------
F1         3B         5E        68       54
F2         3C         5F        69       55
F3         3D         60        6A       56
F4         3E         61        6B       57
F5         3F         62        6C       58
F6         40         63        6D       59
F7         41         64        6E       5A
F8         42         65        6F       5B
F9         43         66        70       5C
F10        44         67        71       5D
F11        98         AC        B6       A2
F12        99         AD        B7       A3
Insert     52         9F        A0       89
Delete     53         9D        9E       8A
Break      00         --        00       00
Esc        --         --        8B       --
1          --         --        78       --
2          --         03        79       --
3          --         --        7A       --
4          --         --        7B       --
5          --         --        7C       --
6          --         --        7D       --
7          --         --        7E       --
8          --         --        7F       --
9          --         --        80       --
0          --         --        81       --
-          --         --        82       --
=          --         --        83       --
Backspace  --         --        8C       --
Print      --         72        46       --
\          --         93        --       -- *
~          --         94        --       -- *
PgUp       --         84        49       -- *
Tab        --         8D        8E       0F
Q          --         --        10       --
W          --         --        11       --
E          --         --        12       --
R          --         --        13       --
T          --         --        14       --
Y          --         --        15       --
U          --         --        16       --
I          --         --        17       --
O          --         --        18       --
P          --         --        19       --
[          --         --        1A       --
]          --         --        1B       --
Enter      --         --        8F       --
|          --         95        --       -- *
5          --         --        --       -- *
6          --         --        --       -- *
A          --         --        1E       --
S          --         --        1F       --
D          --         --        20       --
F          --         --        21       --
G          --         --        22       --
H          --         --        23       --
J          --         --        24       --
K          --         --        25       --
L          --         --        26       --
;          --         --        --       --
'          --         --        --       --
Up Arrow   48         90        91       85
Home       47         77        A6       4A
End        4F         75        --       -- *
`          --         9A        --       -- *
PgDn       51         76        --       -- *
Z          --         --        2C       --
X          --         --        2D       --
C          --         --        2E       --
V          --         --        2F       --
B          --         --        30       --
N          --         --        31       --
M          --         --        32       --
,          --         --        --       --
.          --         --        --       --
/          --         --        --       --
Left Arrow 4B         73        92       87
Down Arrow 50         96        97       86
Rt. Arrow  4D         74        --       88
0          --         9C        9B       -- *
.          --         A4        A5       A1 *
Enter      --         --        8F       -- *

*Indicates a key on the numeric keypad (with NumLock off)

