[comp.sys.att] The old ATT PC6300 clock problem revisited - help needed.

brand@janus.Berkeley.EDU (Graham Brand) (07/27/90)

I have a AT&T PC6300 running (AT&T) DOS 3.3. I have heard various
and sundry horror stories about malfunctions with the time of day clock
but must admit that I haven't experienced any of these - at least not
until now!! 

	Up to now, all my programs have worked fine, excecuting the
"time" command works etc. The problem is an accounting program called
DacEasy. When invoked, it comes up with the correct date but wrong time.
Their customer service wasn't any help since all they said was that it
works on their machine and, to be fair to them, the time display does
work on a '386 clone that I tried. Would someone hazard a guess as to 
why this doesn't work and whether there is anything that I can do about
it. It is unlikely that DacEasy will modify their program to accomodate
the PC6300 so a general purpose solution would be preferred.

Thanks in advance,
-Graham Brand (brand@janus.berkeley.edu)

aslakson@cs.umn.edu (Brian Aslakson) (07/28/90)

brand@janus.Berkeley.EDU (Graham Brand) writes:

> stuff about AT&T clock being off in some programs.

There is a program called ATTCLKFX or some such which my mom got thru the
PCTools people.  There is also an explanation of why the clock is off.

I don't remember all the details (I'm at home with my clone), but if the
documentation seems to allow it, I'll try and post it later today when I'm
at my Mom's.  I'll PAK it using 2.10, cuz I don't like PK* and SEAARC 
just isn't as good.  PAK210.EXE is available by anonymous ftp at various
sites, including (I'm pretty sure) the simtel20 site (26.2.0.74).

My Mom's AT&T 6300 is for sale, but since this isn't the group for it, I'll
post details to misc.forsale.computers later on. 
-- 
Macintosh related:  mac-admin@cs.umn.edu
All else:  aslakson@cs.umn.edu

aslakson@cs.umn.edu (Brian Aslakson) (07/28/90)

Well I got out to Mom's, and found the ATTCLKFX has been put into
the public domain, the ASM source is included, and I'm not posting
it because of the size of it (83k for it PAKed, and PAK210.EXE is
91k), but I'll keep them in my directory for as long as I can (and they'll
be on my harddrive at home).  I'll mail them along to the original 
poster (uuencoded, let me know if that's a problem), and anyone who
requests either one.  (If you just need one, let me know).

Anyway, I'll insert some choice comments from the documentation.
Everything down to the signature is quoted:

     ATTCLKFX Version  1.2 is hereby  placed  in the public domain. Neither
     ATTCLKFX or this documentation are copyrighted by the author. ATTCLKFX
     is  intended for  your private  and/or  commercial use.  You may  make
     copies  of the ATTCLKFX program,  both source and executable, and this
     documentation for your own use, and you may copy the files for others.
     You may not, however, charge for such copies, or in any other way sell
     the program or otherwise attempt to make money from it or any modified
     version of it.
     This is freeware in it's truest sense. I ask for  no  compensation for
     your use  of this program.

     The  software  clock maintained in  the BIOS  data  area  at  location
     0040H:006CH  (t_low_order) and  0040H:006EH  (t_hi_order)  is  updated
     18.75 times each second on the AT&T PC 6300. In  terms of minutes this
     equates  to 1125 updates per minute and in terms of hours this equates
     to 67500 updates per hour.

     This presents the following problem:


          The software clock counters, t_low_order and  t_hi_order are wrap
          around counters, that  is, when t_low_order reaches  a  value  of
          65535 it wraps back to  0 and t_hi_order is incremented  by 1  on
          the next  RTC interrupt.  This wrap around is intended to signify
          the changing of the hour.  However, on  the AT&T PC 6300 the hour
          change occurs at 67500 as can be seen in the following formula:

               18.75 * 60 * 60 = 67500
               |       |    |
               |       |    +-- minutes per hour
               |       +-- seconds per minute
               +-- RTC interrupts per second


          Software such as the Right Hand Man  by  Red E Products, Inc. and
          the Reminder Alarm  published  in  the  June 23, 1987,  Volume  6
          Number  12,  issue  of  PC  Magazine utilize  these  counters  as
          follows:

          t_low_order   number  of RTC  interrupts during the current hour.
                        Dividing  the counter by 1093  results in  a  value
                        equivalent to the current minute within the hour.

          t_hi_order    the number of hours elapsed since midnight.

          This is acceptable on an IBM PC because the RTC interrupts  occur
          18.21 times a second not 18.75  times a second  as on the AT&T PC
          6300.  However, the IBM PC clock  will still gain approximately 1
          to 2.5 seconds per hour.

     Another  problem related  to the software  clock is a bug in  the AT&T
     provided MS-DOS 3.1, 3.2 and 3.3 (may also exist in AT&T MS-DOS 2.11).
     The software clock is not set from  the hardware clock during a system
     boot. Instead the  software  clock  represents the time since the last
     system boot. This problem also exists when PC-DOS 3.1 is used with the
     clock driver  CLOCKDEV.SYS  which  may  be found on bulletin boards as
     CLK AT&T.ARC.
-- 
Macintosh related:  mac-admin@cs.umn.edu
All else:  aslakson@cs.umn.edu