Dec 252017
On screen clock, displayed on a CGA monitor's 26th line.
File ALMCLOCK.ZIP from The Programmer’s Corner in
Category Utilities for DOS and Windows Machines
On screen clock, displayed on a CGA monitor’s 26th line.
File Name File Size Zip Size Zip Type
ALMCLK26.COM 1024 831 deflated
ALMCLK26.DOC 5018 2411 deflated
ALMCLKM.COM 994 840 deflated

Download File ALMCLOCK.ZIP Here

Contents of the ALMCLK26.DOC file

ALMCLK26.COM Jan 8, 1986
By Scott Strench

CLK26 and it's newest update, ALMCLK26, [Public Software Library note: we
didn't see any point in including the old CLK26 version.] are resident
on-screen clocks for the IBM PC family and close compatibles. Both have been
tested on PC's, XT's, and Jr's, and no one has complained (so-far) of
unexpected behavior. However, I wrote CLK26 for my own use; I don't guarantee
success on any machine but my own. If you find these utilities work well, and
you like what you see, you're welcome to them; if not, DEL works quite well.

First, some technical background. I had tried several of the clocks that
are available on most BBS's, with varying degrees of success. With the
exception of CLOCK.COM (1024 bytes) all had caused lockup within 10 minutes.
CLOCK.COM worked better, but still locked up eventually. I tried debugging
a few to try and improve, but found it easier to write my own.
Debugging did provide 2 basic constraints: (1) Displaying the time should
be done by writing directly to the video buffer, avoiding video interrupts;
clocks using INT 10h invariably failed. (2) Time should be displayed where it
would not interfere with what is already on-screen.
After a few hours of reading from the Tech Ref manual, I decided to display
the time at the bottom of the screen, in the normally unused border area.
This requires modifying the video chips' internal registers to allow 26 lines,
which isn't a problem but does require that the 6845 video chip be used.

In particular, CLK26 writes to the 6845's register R6 - Vertically displayed
rows - changing the normal value of 25 to 26. This is accomplished by writing
to PC ports 3D4h & 3D5h; if your machine doesn't have these ports, forget it.
Since BIOS assumes 25 lines, line 26 is untouched by all video functions,
making it the ideal place to display a 'status' line.

The first test of CLK26 didn't worry about what else might happen with the
video circuitry, and just modified R6. This proved that changing video modes
or pages caused problems. The next version intercepted the video interrupt
and ensured that the time is displayed only in 80-column textmodes (2 & 3)
on page 0. Any other mode/page causes CLK26 to disable 26 lines and disappear
from view; it still runs in the background waiting for the correct mode/page
combination to reoccur, whereupon it will reappear (after a delay).

One annoyance - Line 26 is halfway between page's 0 and 1. If a program
switches to page 1, half of the time line is displayed on line 1. Fixing
this would be no problem, but I seldom switch pages and all programs I use
that do switch to page 1 are well mannered enough to clear the screen.

ALMCLK26 is the first revision of CLK26 v1, and is self explanatory.
CTRL-ALT-S will set an alarm to the time you specify; the time must be entered
as 4 digits in 24hr format - 2359 for 11:59pm. The alarm will sound until you
press CTRL-ALT-A or 1 minute passes. An asterisk is displayed at the far
right of the time line if the alarm is set. Also, ALMCLK26 beeps on the hour.

CLK26m.COM and ALMCLKm.COM have been modified for monochrome monitors.
They *HAVE NOT* been tested, and I have no way of knowing if they'll work;
I don't even know if the mono card uses the 6845.

As I said, if these programs work for you and you like them - enjoy! If
not - DEL! Any comments or suggestions can be directed to me through the
TELESTAR BBS (512-822-8882) or the other San Antonio IBM boards. If you're
interested in the source, the same applies.

Scott Strench.

PS - Now the real question... Why go to all the trouble of writing 60 lines
of nonsense to explain a program that I wrote mainly because I was bored?
Simple. An edited version of this nonsense is eventually going to get me
an 'A' on a 2-week project in Technical Writing. I'm a firm believer in
taking the course of least resistence...


This disk copy provided as a service of

The Public (Software) Library

For a copy of the latest monthly software library newsletter
and a list of the 600+ disks in the library, call or write

The Public (Software) Library
P.O.Box 35705
Houston, TX 77235-5705
(713) 721-6104

Please direct shareware payments and specific questions about
this program to the author of the program, whose name appears
elsewhere in this documentation. If you have trouble getting
in touch with the author, we will do whatever we can to help
you with your questions.

 December 25, 2017  Add comments

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>