Doc. # 1-0003313 | |||
---|---|---|---|
Date Updated | 10-22-2007 | Date Created | 07-27-2000 |
Document Type | Knowledge Base | Related OS | |
Related Product |
Why the Year 2000 test program "DOSCHK" show "nearly compiant" for our Year 2000 compliance BIOS? | |||
---|---|---|---|
Solution:
There are three system times in a computer system ?DOS time, BIOS time and
RTC(CMOS) time. For example, under DOS environment, we can access the three
system times by using:
DOS interrupt 0x21, 0x2A/0x2C
BIOS interrupt 0x1A, 0x04/0x02
RTC(CMOS) direct port addressing
The RTC time (19xx) is stored in address 32H(the century : thousand digit and
hundred digit) and 09H (the year held). For example, the year 1998 is stored as
32H=19 and 09H=98. The most important point is - only the 09H is controlled by
RTC, so the time in the 09H will auto-count, but the time in the 32H has to be
modified by BIOS or programs. When the AT class PCs were designed, this issue
was neglected by computer manufacturers, and it causes the Millennium crisis.
In order to correct this problem, our BIOS updates the time (32H) in the
following 4 ways :
(1) While executing ate?command in the DOS.
(2) The system is rebooted.
(3) When executing BIOS setup.
(4) When the INT 1AH BIOS call is executed.
So far, the above 4 ways are widely used by all computer/BIOS manufacturers.
However, during the transition from 1999-12-31 to 2000-01-01, if an application
doesn adopt any of the above solutions and gets the RTC time by using direct
port addressing, it is possible that the application will get a wrong time - ?
1900-01-01?
To avoid getting the wrong system time on our products, we provide some
solutions to this situation:
(1) If your applications can be turned off during the transition from
1999-12-31 to 2000-01-01. Please shut it down, and turn it on after the
transition time.
(2) Don use direct port addressing to get the RTC time in
applications.
(3) If your applications use direct port addressing to get the CMOS,
and, fortunately, the OS is of DOS, Windows 95 or OS/2, you can run the program
ear2000.com? a TSR program which is provided by Award, to resolve it. This
program will monitor the CMOS time at any time and update i
|