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