home *** CD-ROM | disk | FTP | other *** search
- Year2000.Com v2.16 1997-03-17 (AMIBIOS information)
- The executable file name of previous versions was Year2000.Exe.
-
-
- Tom Becker
- The RighTime Company, Miami, USA
- Voice: (305)644-6500
- Email: GTBecker@RighTime.com
- Web: www.RighTime.com
- BBS: (305)644-6185
-
-
- Year2000.Com (formerly Year2000.Exe) is a small resident program for
- DOS, OS/2 and Windows that fixes the year 1999 to 2000 date change
- flaw of the CMOS RTC in AT-class PCs and PS/2s, 286 through Pentium
- and its clones. It works, and it's free for personal, non-business
- use (a licensed business version is available; see below).
-
- This program or its documentation can change from time to time. If
- you did not get this from
-
- www.RighTime.com
-
- it's worth a visit to see if there's been a more recent version made
- available. Our BBS at (305)644-6185 is another source.
-
-
- Introduction:
-
- A serious problem was designed into the PC in 1984 (and into many
- applications since) and remains a problem today: most computer
- systems will not gracefully enter the next century, only a few years
- away. The system date will probably be incorrect - without
- assistance, anyway - on 2000-01-01 or later because of a hardware
- design flaw. Similarly, many software applications will misbehave
- as the year 2000 is approached and passed, too, even if the system
- date is correct.
-
- As this is written, machines are being produced that contain a BIOS
- that exerts measures intended to cure the CMOS RTC century problem;
- it's probably safe to expect that these will become the norm
- eventually. None of these new BIOSs that we've seen solve the
- entire problem, however, since they make no attempt to correct the
- CMOS RTC century byte in real time, some only correct it at boot,
- and some simply misreport the hardware date and make no effort to
- correct it at all.
-
- Some BIOSs will supply 2000 to the operating system, even though the
- hardware date is really 1900. Any application that uses the CMOS
- RTC date (rather than the operating system date) will still fail at
- the moment of the century change, even on machines that sport a
- 'year 2000 compliant' BIOS. Many time-and-attendance packages,
- machine automation, data acquisition, and instrumentation and
- process control applications are susceptible since their developers
- long ago learned to distrust the operating system clock/calendar,
- opting instead for the relative stability of the hardware clock.
-
- Excepting these recent BIOS-equipped machines, virtually 100% of the
- PCs in use today will fail to advance the date to year 2000 under
- any circumstance; this program will help those machines that are
- still in service then.
-
- We suggest that you install Year2000 now to be certain that your
- machine is corrected automatically.
-
-
- It's a Hardware Design Problem:
-
- The standard PC computer system maintains two system dates; one is
- in the CMOS Real Time Clock chip - a hardware component that is
- normally on the machine's motherboard - and one is in the DOS (and
- Windows) operating system software.
-
- These two dates are represented differently. The CMOS RTC date is
- kept as century/two-digit-year/month/day and the DOS date is kept as
- days-since-1980/01/01 which is converted to
- four-digit-year/month/day when any program asks for it. When DOS
- boots, it normally initializes its current date by reading the date
- in the CMOS RTC and converting it to days-since-1980/01/01. DOS
- maintains its date as long as the system is running; the CMOS RTC
- hardware maintains its date whether the system is running or not,
- but it does not maintain the century. In the CMOS RTC, year 99
- overflows to 00 and the century remains unchanged so the effective
- year becomes 1900; in DOS, year 1999 overflows to 2000. So until
- the system is rebooted, there will appear to be no problem with the
- transition from year 1999 to 2000; but trouble lurks in the CMOS RTC
- date, which has become year 1900.
-
- If, when DOS boots, it reads an out-of-range date from the CMOS RTC,
- as 1900 is, the date conversion algorithm (to days-since-1980/01/01)
- calculates an erroneous 1980-01-04; that's what the DOS date will
- become after rebooting the system after the year 2000 transition if
- the CMOS RTC exhibits the standard flaw.
-
- A few specific BIOSs cause behavior other than the standard flaw.
- Importantly, the Award v4.50 series BIOS might not allow any date
- after 1999 and the Award v4.51PG BIOS - currently common among
- Pentium- and 486-based machines reports 2096 under some
- circumstances. Some AMI BIOSs will force the CMOS RTC date to
- 1980-01-01 at boot. These BIOSs can not be corrected by software;
- they must be upgraded. See references, below.
-
-
- A Test:
-
- [The following tests require that you simulate December 31, 1999 and
- January 1, 2000 dates in your machine. Before you change your
- system date to the future, consider whether your system software
- might automatically do something that you'd rather avoid. For
- example, if you run a scheduler that will automatically delete
- events in the past it might discard your appointments for next week
- if you set the date beyond next week. To avoid such effects, either
- temporarily disable the susceptible software or temporarily remove
- it from the Startup group or folder. If you run no software that
- runs automatically and is triggered by date, you need not take any
- special precautions. Alternatively, you might consider booting from
- a bootable diskette to avoid your main applications altogether.]
-
- You can easily determine if your system suffers the year 2000 CMOS
- RTC flaw. From a DOS prompt (ideally with no CONFIG.SYS or
- AUTOEXEC.BAT) perform the following steps:
-
- Power off test:
- C:>DATE 12-31-1999
- C:>TIME 23:59
- - Power off for more than one minute,
- - Power on. Allow the system to boot.
- - Check the DOS date. It should be 01-01-2000. If it's not
- (it's usually 01-04-1980), the machine exhibits the
- year 2000 flaw.
-
- Power on test:
- C:>DATE 12-31-1999
- C:>TIME 23:59
- - Wait for more than one minute; you can watch an on-screen
- clock if you like (but not the BIOS Setup clock screen).
- - Check that the DOS year has changed to 2000.
- - Reboot. The DOS year should still be 2000.
-
- While you're at it, check to see if your year 2000 is a leap
- year (see references below):
- C:>DATE 02-29-2000
- - If you get an error, the BIOS is incorrect. Year 2000 will
- be a leap year, so this set should be valid.
-
- Don't try to do these tests from the BIOS Setup screen. The BIOS
- will likely wrap the date from 12-31-1999 to 01-01-1980 (or 1994),
- not to the normal 01-01-1900, invalidating the test.
-
- If you try these tests with Year2000.Com installed, you should see
- correct results. [If you do not see correct results, please report
- it so we can investigate your machine type.]
-
-
- A Solution:
-
- Assuming the user remembers to do so - a critically important detail
- - this erroneous DOS date can usually be corrected by simply setting
- the date to what it should be; DOS will (via the BIOS) set the CMOS
- RTC century correctly so subsequent boots will yield the correct
- date. The date will be incorrect, though, until the correct date is
- set (a network login will usually set the date). Or, if
- Year2000.Com is installed, the century correction will happen
- automatically.
-
- Year2000.Com applies a simple rule: if the CMOS RTC two-digit year
- (in CMOS address 9) is less than 80 the century (in CMOS address
- 50d, or 55d for PS/2 machines) is assumed to be 20, otherwise the
- century is assumed to be 19. This makes the resulting year range
- 1980 through 2079 rather than 1980 through 2099, the usually
- expressed limits, but in 2079 these machines will be relics at best,
- so it's doubtful that this will be a practical detriment. The
- century change rule must be applied at two times: at boot, to cover
- the likelihood that the year change has occurred while powered off,
- and, when powered on, at each time the CMOS RTC two-digit year
- changes (which only occurs once each year at New Year's Eve
- midnight). Year2000.Com uses standard periodic interrupts to test
- for this occasion. If, when Year2000.Com loads, the year is already
- 2000 or greater, it will not remain resident since the program then
- serves no purpose. When it is resident, though, it occupies less
- than 700 bytes, uses trivial processor time, and should exhibit no
- compatibility problems.
-
-
- Installation:
-
- For DOS and Windows:
- Simply execute Year2000.Com early in AUTOEXEC.BAT.
-
- For example, if you choose to put Year2000.Com in a directory
- you've named Y2K on your C: disk drive, you must place this
- statement in your AUTOEXEC.BAT file:
- C:\Y2K\Year2000.Com
-
- The program will work properly under DOS through Windows
- 95.
-
- For OS/2:
- Drop the Year2000.Com program object in the Startup folder.
- You may select Session options to run in a minimized DOS
- window if you wish; no other settings are required.
-
-
- Business licensing:
-
- The RighTime Company offers four types of license for business use
- of Y2KPCPro, the licensed version of Year2000.Com. Licensing is
- inexpensive. Please contact us for details.
-
- The RighTime Company
- 590 Southwest 23 Avenue
- Miami, Florida 33135-3123 USA
-
- Email: RighTime@RighTime.Com
- Web page: www.RighTime.Com
-
- Fax: (305)644-6515 or (500)448-9661
- BBS: (305)644-6185 or (500)673-4625
- Voice: (305)644-6500 or (500)448-9660
-
-
- A Suggestion:
-
- Year2000.Com is an extract of RighTime - the learning high precision
- system clock manager. RighTime solves all of the system clock
- problems that are inherent in the AT-class PC and produces a clock
- that is reliable, highly accurate and secure. Reliably correct
- system time is important; RighTime should be running on your
- machines to be certain that yours is correct.
-
-
- Copyright notice:
-
- Y2KPCPro, Year2000.Com, Year2000.Exe and this file (Year2000.Txt)
- are Copyright 1995-1997, GTBecker, Miami. All rights are reserved.
-
- For personal use, permission is granted to freely copy, distribute
- and use this program in its complete, unmodified form including this
- text file. In business service, this program may be used only for
- evaluation; a low-cost, licensed version of this program (Y2KPCPro)
- is available. Contact us for details.
-
- No warranty of performance or suitability is expressed or implied.
- Every effort has been made to make this software program deliver as
- this documentation describes, but the correctness for your
- application or environment cannot be assured. The RighTime Company
- cannot assume responsibility for the failure of this software
- program, nor for any consequence of its use. You are encouraged to
- test the applicability of this program to your requirements.
-
-
- References:
-
- Is the year 2000 a leap year?
- "The year 2000 will be a leap year. Century years
- (like 1900 and 2000) are only considered leap years if
- they are evenly divisible by 400. Therefore, 1700,
- 1800 and 1900 were not leap years, but the year 2000
- will be a leap year."
- "To understand this, you need to know why leap
- years are necessary in the first place. Leap years are
- necessary because the actual length of a year is [about]
- 365.242 days, not 365 days, as commonly stated.
- Therefore, on years that are evenly divisible by four
- (like 1992, for example) an extra day is added to the
- calendar on Feb. 29. However, since the year is
- slightly less than 365.25 days long, adding an extra
- day every four years results in about three extra days
- being added over a period of 400 years. For this
- reason, only one out of every four century years is
- considered as a leap year."
-
- from NIST:
- http://www.bldrdoc.gov/timefreq/faq/faq.htm
-
-
- AMIBIOS information:
-
- Some AMI BIOSs will reset the CMOS RTC date to 1980-01-01 at
- boot; these BIOSs must be upgraded. AMI will support the AMI
- BIOS on AMI motherboards, but AMI will not support AMIBIOS
- problems on non-AMI motherboards; you must contact the OEM or
- motherboard manufacturer.
-
- According to AMI, "All current versions of AMIBIOS 95, core
- date 7-15-95, and future versions of AMIBIOS are year 2000
- compliant. All previous OEM versions of AMIBIOS can be changed
- only by the system OEM to support the year 2000 feature. This
- change can be given directly to the system OEM from American
- Megatrends."
-
- from AMI:
- http://www.amibios.com/2000.html
-
- American Megatrends, Inc.
- 6146-F Northbelt Parkway
- Norcross, GA 30071-2976 USA
- 770-246-8600 (Voice)
- 770-246-8645 (AMIBIOS Technical Problems)
- http://www.megatrends.com
- http://www.amibios.com
-
-
- Award v4.50G and Award v4.51PG BIOS information:
-
- If you have a machine that uses the Award v4.50 series
- BIOS (most commonly v4.50G), you might find that the
- BIOS (and therefore the CMOS RTC) will not accept any
- dates after 1999 nor prior to 1994. Also, the Award
- v4.51PG BIOS apparently yields year 2096 under some
- circumstances. Award tells us that you should be able
- to get a BIOS upgrade from the OEM (the machine or
- motherboard's supplier or manufacturer). If you are
- unable to determine the OEM or can't contact them, get
- the BIOS part number from the top of the CMOS Setup
- screen and contact Award directly.
-
- Award Software International Inc.
- 777 East Middlefield Road
- Mountain View, CA 94043-4023 USA
- 415-968-4433 (Voice)
- 415-968-0274 (Fax)
- support@award.com
- http://www.award.com
-
-
-