Everyday we are told by newspapers, magazines, television, etc. about the dangers of the Millennium Bug. We are constantly being told that all our computers, cars, washing machines, television sets, air-conditioning systems, etc. will stop and cease to function when we hit the 1st of January 2000. Just how true are these reports? Should we rush to the nearest Millennium Bug consultant, pay a handsome fee and get our computers and equipment year 2000 compliance.
Let us first of all look at the hardware side, the basic computer. All computers have a clock. A computer operation is done on a clock cycle. No clock means no computing. However, this is not a clock as we know it. In other words not a real time clock. This is an oscillation clock running at fantastic speed and has nothing to do with time as we know it. All the early computers had no real time clock. In other words the computer will not be able to tell night from day or 2000 BC from 2000 AD. The 64K 8088 IBM personal computer is one of the first to incorporate a real time clock and this clock is kept alive by a small nickel cadmium battery. The first real time clocks in computers, as far as I can remember use TTL, a small crystal as well as a small battery. Subsequently, dedicated real time clocks integrated ICs are produced and used and some of these dedicated real time clocks ICs have built in batteries that are supposed to last at least 5 years.
All these real time clocks are just clocks, not an intelligent clock that can tell the year and your grandmother's birthday but just an ordinary clock. When you start the clock and connect it to a battery, you will have to set the time and date like any clock. A small intelligent program will usually be provided in the ROM or Read Only Memory which contains the basic program in the computer called the BIOS. This program is subsequently transferred to a CMOS memory chip to direct the clock on the proper increments when it comes to time and date, recognising leap years, and perhaps your mother-in-law's birthday etc. Once the battery is disconnected the clock and date will reset itself to 00 or other weird number depending on the program in the BIOS of the computer.
1. The computers in this group will have a BIOS which will automatically set the year in the computer to 2000.
2. The computers in this second group will have an older BIOS which will not be able to set the year to 2000. Some of these computers will set the year either to 1900 or 0000.
If you own a computer in the first group you will have no trouble. You will just be able to carry on as if nothing has happened. If you own a computer in the second group you will have two alternatives. The first one will be to change the BIOS in ROM to a newer one. An easier way will be to set the year manually to 2000. All you will have to do is to type "DATE" at the DOS prompt and then type 2000 for the year. Your computer will be good enough for another 100 years unless the battery in your computer decides to give up and the time and date will revert to 00 or other weird number.
It is quite easy to test this. Just start your computer, type "DATE" and then type the year as 2000. Turn your computer off and then on again. You will notice that the year which is recorded in the CMOS memory chip will show 2000. You should then run all your programs and see if any will malfunction. As far as hardware is concerned this is all it involves. A computer does not need a real time clock to run. It is just an accessory, like sheep skin covers for your car seats or a mistress when you are happily married.
Year 2000 happens to be a leap year. What will happen if your computer cannot recognise Year 2000 as a leap year? You can test this by setting the time to 23:59:00, the month to February 28th and the year to 2000. Wait a few minutes and then type "DATE". If the date is shown as the 1st of March then you are in trouble. You can either change the BIOS or an easier way would be to set the date as the 29th of February manually. If you computer does not allow the date to be set to February 29th then you will have to change the BIOS or to set the date to March 1st when it is actually March 1st.
Now for the software. Most Operating Systems do not need time or date to run although there will usually be a routine which will enable you to set the time and date.
Most programs do not use the date field for anything at all. In other words you can run the programs if the year is set to 0000 or 9999. Why don't you test this. Set the year first to 0000, run all your programs and then to 9999 and run all your programs. If you own a computer which does not allow the year to be set to 0000 or 9999 you can set the year to 1900 and 2099 instead.
Some programs do use the date for some specific purpose but not the year. Evaluation programs are examples. They will check the month and then hang if your month's trial period is over. Many people usually get over this by setting the month in the computer a month back. In a few rare cases some programs will only let you use it for a year. To get around it, all you have to do is to set the year in the computer a year back.
The day, month and year is however important to some specialised programs like the programs used by banks and financial companies which include the calculation of interests. Some data based programs which automatically calculate a person's age or years of service, etc. also need the year field. There are many such specialised programs. However the average computer user or company does not use such programs and is therefore not affected at all. For the average computer user, Year 2000 will come and go with a laugh at the mysterious Millennium Bug.
If you do use a program where the year field is important and the program cannot recognise the year 2000, you should first of all curse the programmer, obtain an upgrade and then send him to the chopping block. But do make sure that you obtain an upgrade before sending him to the chopping block unless you have the source code of the program. Nobody can modify the program without the source code.