Year 2000 Bug – PC Issues Explained
Chris Myers wrote this document in 1997 to explain the issues, so that managers and staff could understand just the technical issues that might occur with the existing computer hardware.
The motherboard of a PC has a clock in the CMOS called a real time clock (RTC). This holds a number representing the date and time and is maintained, even when the PC is switched off, by a small battery (similar to a group of 3 watch batteries). A typical lifespan for this battery is 3 years.
When the Date function is called, the returned value represents the year as a 2 digit number eg. the year 2000 is stored as 00. During the conversion process this number is added to the 19th century by the BIOS ie. 1900.
Dates work out differently in a PCs working memory. The system clock stores the year as a number of days since 1980. This is then converted to a day, month and 4 digit year when needed. As a result of these different methods of holding dates, there are 2 copies of the current date and time in working memory when the PC is switched on. However, when the computer is switched off, the working memory losses its contents, but the real time clock is protected by its supporting battery.
Many later model PCs will accept the date change from 1900 to 2000 quite happily because of this method of counting days from 1980, but this will only stay correct whilst the machine is switched on. Many BIOS systems will have a problem as soon as the PC is rebooted after the turn of the century.
The system clock will reset because the RTC has scrolled over to the year 1900 and the system clock cannot convert this to a number of days since 1980 (1900 – 1980 = minus! 80 days).
DEFINITIONS
BIOS: Basic Input/Output System
CMOS: Complementary Metal Oxide Semi-conductor
Motherboard: Main component board
PC: Personal Computer
RTC: Real Time Clock
Y2C: Year 2000
TESTING YOUR PC
To determine if your PC suffers from the Y2C bug follow these simple steps:
– Set the date to 31 December 1999
– Set the time to 23:59
– Turn off the PC and wait 1 minute
– Turn on the PC and check the date
LEAP YEAR TEST
It is likely that if your PC failed the first test it will also fail this test because Y2C is a leap year. To determine if your PC can handle the Y2C leap year follow these steps:
– Set the date to 28 February 2000
– Set the time to 23:59
– Turn off the PC and wait 1 minute
– Turn on the PC and check the date