TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: George White
from: Murray Lesser
date: 1999-12-04 13:02:00
subject: Clocked!

(Excerpts from a message dated 12-02-99, George White to Ian Moote)

Hi George--

 JP>> The windowing fix works on the assumptions that years 80 to 99
 JP>> are in the 20th century and years 00 to 79 are in the 21st
 JP>> century, and patches the century byte accordingly.

 IM> Very, very sad. DOS is good until 2099. The RTC/CMOS itself is
 IM> good up to the year 9999. Too bad that IBM felt that they had to
 IM> break that.

GW>The RTC is only good to 28th February 2100, thereafter it will be
  >wrong every century year _except_ the years divisible by 400.

    The cheap RTC chips used in the AT, and in most PCs since, don't
even know what century it is, which is the source of this discussion.
Ian's claim that "the RTC/CMOS itself is good up to the year 9999" is
due only to his belief that there was never a design error ("bug") in
that part of BIOS that read the RTC and handled the century byte in
CMOS.  My experience is that even with the "fixed" BIOS in my newest PC
(that recognizes 1-1-2000) IBM took the easy way out and inserted the
"window" fix instead of going back and redoing the whole RTC firmware.
(I can't speak for other BIOS builders, but there is an easy test to
check for how the bug was fixed in your machine: boot to real DOS, set
the system clock to 1-1-2080, and reboot.  If you get 1980, your BIOS
was "fixed" with the window!)

    However, even assuming a better BIOS fix that won't die at the end
of 2079 (irrespective of what operating system is in use), I think you
have misspoke yourself.  If the firmware for this RTC doesn't know the
400 rule for century leap years (the DOS CLOCK$ driver didn't know it as
of 1991, the last time I disassembled one), it will display March 1,
2100 as February 29th.  From then on, the clock will be a day behind the
real world until the day it displays as February 29, 2200, which will be
March 2, 2200 in real time!  It will then be two days behind the rest of
the real world until the next century rolls around, etc.  Of course, it
won't lose another day during the years divisible by 400, but it will
never be correct after that first error!  Under these assumptions, it
will be wrong on all days, not just during century years, after February
28, 2100 :-(.

     Of course, those future system architects and programmers who
design the future PC (including its firmware) along with the future
software architects and programmers who design and implement the super
operating systems that will run on the super PC, may do everything right
the first time.  But I don't think that I will wait around to see if it
actually happens :-).

    Regards,

        --Murray

___
 * MR/2 2.25 #120 * The saddest words: it might have been.

--- Maximus/2 2.02
* Origin: OS/2 Shareware BBS, telnet://bbs.os2bbs.com (1:109/347)

SOURCE: echoes via The OS/2 BBS

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.