The Year 2000 Computer Problem:
A Personal Perspective
English 316- Technical Writing
Brigham Young University
April 6, 1998
|LIST OF FIGURES||3|
|The Year 2000 Problem: Overview||5|
|Origin of the PC Error||6|
|Analyzing the Firmware||7|
|Testing the BIOS||7|
|Example 1: Pentium system||10|
|Example 2: Compaq system||11|
|Example 3: 486 system||11|
|A: American Megatrends Year 2000 Statement||14|
|B: American Megatrends Inc. e-mail correspondence||15|
|C: BIOSTAR e-mail correspondence||16|
|D: BIOTEQ e-mail correspondence||17|
|1. Restart Win 95 in MS-DOS mode||iii|
|2. Motherboard Manual||iv|
|3. Opus BIOS test results||1|
This paper is based on the experience and personal research of the author on the Year 2000 Date Conversion problem, also known as 'Y2K'. Most of the information sources used in this report are found on the world wide web. The reader is invited to search these sources and a multitude of others available on the web and formulate his or her own conclusions on the importance of this subject. The intention of this paper is to present the problem as serious, one that should be addressed and fixed where possible.
The global magnitude of the Year 2000 issue far exceeds the capacity of this paper to represent. Therefore, the focus will be on the Year 2000 problem and its effect on personal computer systems. Those who read this paper will gain insight into the worldwide problem as they learn how their own computer responds to the transition to the new century.
Though the intended audience is users of personal computers, the subject matter is of universal significance and the material presented here may be of use to anyone concerned about the impact of the problem. For those who do not own or use a computer, it should be noted that there are an estimated 250 million PCs used in businesses around the world (Kappelman 42). Consequently, the likelihood of your life being directly affected by the subject matter of this paper is very high.
On midnight of Friday, December 31, 1999 the world will welcome in a new millennium. At the same time a deadline will be reached for all those who are working diligently to solve a complex problem: the Year 2000 Date Problem. The complexity of this problem is centered in the fact that many computerized devices and programs around the world are not capable of making the transition from 1999 to 2000 and operating correctly thereafter. The problem is characterized not only by the daunting task of code repair but by the complex interdependency of businesses, institutions, and governments worldwide. The effort being taken to solve this malfunction is the grandest technical endeavor ever initiated. For every institution, business, or government agency involved in fixing the problem, this corrective action is unprecedented and is considered mission critical (Reed 1).
Most of the energy being expended on making the world year 2000 compliant is focused on large organizations. Personal computers used by individuals and small businesses may experience year 2000 transition problems as well. The intended audience of this paper is those individuals who are concerned about the transition ability of their computer. The objective is to explain the origin of the year 2000 problem and provide information on analyzing system components- primarily the firmware.
The Year 2000 Problem: Overview
At its fundamental level, the year 2000 problem is simply the inability of a computerized system to correctly process a date in the next century. The origin of this error can be traced back to the 50s and 60s when computer technology emerged as a business tool. The cost of data storage for these early systems was nearly 1000 times what it is today (Abraham 5). Programmers and system designers who wrote code to handle date information conserved valuable storage space by saving only the last two digits of the year (for example, 1982 would be stored as 82).
Programming methods and system designs were tailored to the demands of the original market of computers: large data processing institutions. In general, businesses and government bureaucracies helped set the stage for the year 2000 problem as illustrated in the following citation from Murray et al.
On November 1, 1968, the U.S. Department of Commerce, National Bureau of Standards, issued Federal Information Processing Standards Publication 4 (FIPS PUB 4). It specified the use of six-digit dates [MM/DD/YY] for all information exchange among federal agencies. This standard became effective January 1, 1970. (xiv)
Origin of the PC error
In the early 80's when IBM entered the personal computer market, storage space was still at a premium and system programmers and architects were well set in their ways. Other companies were making personal computers at this time (e.g., Tandy and Apple) but IBM had the size and market power that the others did not (Norton 10). As a result, IBM began setting industry standards and inadvertently, the year 2000 problem got embedded in the hardware design of the PC (note: PC or Personal Computer was the name given by IBM for their first release announced in August 1981and is generally used for any personal computer that is IBM compatible).
The original PC had no onboard time tracking device. The AT class PC, released in 1984, was the first IBM to have an internal clock. The standard established by IBM for the AT compatible personal computer is a contributing factor to the year 2000 problem. To get the complete picture, an understanding of how a computer handles date and time information is necessary. A good explanation on the subject can be found on Compaq's year 2000 web page which is the source of most of the information that immediately follows (Compaq 2).
The technical year 2000 problem is a combination of hardware, firmware, and software error. The hardware error comes from the specification established by IBM for the AT x86 compatible PC. To keep track of the current date and time, computers use a real-time clock (RTC). This clock is always running and is powered by a battery when the computer is off. To comply with IBM specifications, the RTC stores only the year part of the date information. Consequently, when the new century arrives, the year information in the RTC turns from 99 to 00. This limitation is the hardware problem.
To accommodate the real-time clock limitation, space is allocated in another area of the hardware called CMOS for storage of century information. It is the responsibility of the ROM-BIOS (Read-Only Memory Basic Input/Output Services) to increment the century information. Unlike the DOS (Disk Operating System) which is stored on the hard drive, the BIOS is permanently stored in hardware chips on the motherboard. It is called 'firmware' because it is software permanently embedded in the hardware.
The firmware error occurs when the year counter in the RTC correctly increments to 00 but the BIOS fails to increment the CMOS century counter. The BIOS is also responsible for supplying time and date information to the operating system and any application that asks for it. Therefore if the RTC increments correctly and the BIOS does not, the BIOS provides the year 1900 to whatever asks for it. This leads to the software problem.
At start up, the Disk Operating System (such as MS-DOS) obtains the date and time from the BIOS and converts each of them to a number. The DOS date algorithm converts the BIOS date to the number of days that have passed since 1 January, 1980. This value is stored in memory as an integer and when an application requests the current date, the integer is converted back to the MM/DD/YY format.
To illustrate the possible combination of hardware, firmware, and software problems that can and do exist, consider the following example. One of the computer systems I tested, using a procedure described in the next section, is a PC that I use at work. This computer has a BIOS manufactured by AMI (American Megatrends Inc.) with a manufacture date of 7-7-1991. The operating system is Windows 3.11 for Workgroups. According to information provided by Microsoft, all of their operating systems are compliant up to the year 2108 (Microsoft 1). However, none of their operating systems recognize a system date prior to 1-1-1980. According to American Megatrends, any BIOS with a date prior to 7-15-95 is noncompliant (AMIBIOS 1).
I tested the system by advancing the date to December 31, 1999 and the time to 12:57 p.m. using the MS-DOS time and date commands. I then turned the computer off, waited three minutes, and turned it back on. When I checked the date, DOS showed it to be 1-4-1980. The reason for this erroneous date came from the inability of the BIOS to update the century data in the CMOS. The BIOS reported the date to DOS as 1-1-1900. Since DOS could not recognize the year, the conversion algorithm produced 1-4-1980. If left unrepaired, software that queries the BIOS for the date will always get 1900 for the year. Likewise, software that gets the date from the operating system will be stuck in 1980.
Analyzing the Firmware
Computers and the software that run on them inherently have problems, as most users can testify. The date problem is potentially correctable. This section of the paper describes how to test the BIOS for year 2000 compliance. Learning about your computer's firmware and how it reacts to the date change will indicate the repair options that are available. One option, of course, is to replace your computer system with current technology. In my experience, there are two reasons for upgrading your system: 1) your business or employment requires you to have cutting edge technology skills, or 2) your system can no longer perform at the desired level. If your computer is an important asset to you, a system upgrade may be preferable to fixing the problem yourself.
Testing the BIOS
To test your computer's RTC and BIOS for year 2000 compliance, I recommend two possible methods. The first is to download a file, at no charge, from the NSTL web site at http://www.nstl.com. If you carefully follow the instructions given, this program will test your system and report its findings. You should note that the program must be downloaded, expanded, then executed from DOS- not Windows. The program tests the RTC and BIOS, does a real-time progression from December 31, 1999 to January 1, 2000, then proceeds to test leap years through 2009. The year 2000 is a leap year, which some programmers were not aware of. This is yet another part of the year 2000 problem.
Another method is to manually test your system. Information on this method is also available on the web in several places. My personal preference is Robert E. Hilliard's year 2000 site because he lists the results of several people who have done this procedure (Hilliard 1). It's worth noting that the NSTL testing procedure accesses parts of the system hardware "not typically used in real world applications" (Award 2). To explain this in detail is beyond the scope of this paper. The important thing to know is that the NSTL method is more stringent and thorough than the manual method. Some BIOS manufacturers (e.g., Award BIOS) have claimed year 2000 compliance on certain products based on the manual method but have also released updated BIOS versions to comply with the NSTL standard.
The manual test should be done from the DOS prompt. If you are using Windows 95, choose Start, Shut Down, Restart in MS-DOS Mode (Figure 1). If you are using Windows 3.xx, close the program manager and exit to DOS.
|Figure 1: Restart Win 95 in MS-DOS Mode|
Once you are at the MS-DOS prompt you will change the date and time to just a few minutes before midnight on New Year's Eve, 1999. Do this by using the MS-DOS date and time commands. Change the date to 12-31-99 and the time to 12:57pm. Turn the computer off and wait at least three minutes.
As mentioned earlier, while the computer is off the RTC is keeping track of the time. If it is working correctly, it should increment the year information to "00" as the century changes at our self-imposed midnight. After the three minute wait, turn the computer back on and make your way back to the DOS prompt. When you turned the computer on, the BIOS should have noticed that the year in the RTC hardware area was "00". If the programmers did their job right, the BIOS would have incremented the century information in the CMOS to "20". It would have then passed the time and date on to the operating system (DOS) as approximately 12:01a.m. on January 1, 2000. Test it by typing in the DOS date command again. If DOS shows the date as 1-1-2000, your computer's hardware and firmware are working correctly and you can set the time and date back to the present (note: the year must be "2000", not "00").
If DOS shows the date 1-4-1980 then another test is in order. This result most likely means your BIOS has the problem. It cannot handle the real-time date transition but may work fine in the next century. Test this by again using the DOS date command to set the date to 1-1-2000. Turn the computer off, wait about 15 seconds, then turn it on again. Go to DOS and check the date. If it is still 1-1-2000 then all you need to do is reset the computer's date exactly the way you have done in this test after the new year.
At this point you should know if your computer is Year 2000 compliant. If the date is 1-4-1980, you may need to upgrade your BIOS. The NSTL method gives more information and is the method of choice if you can access it. It will tell you if the problem is the RTC, the BIOS, or both. If you perform this test using the manual method, the DOS date of 1-1-1999 would most likely indicate the RTC is not functioning correctly.
If the problem is the RTC, you should probably consider replacing your entire system. Based on the research I have done, however, the RTC may never be the problem. The only documentation I have seen that suggested the possibility of RTC error is the instruction file that comes with the NSTL download. I have included the possibility of RTC error in this paper because many of the BIOS manufacturers are using the NSTL test facility as the basis for their Year 2000 compliant statement.
As stated earlier, the BIOS is responsible for the century transition and is the first component that needs to be fixed if possible. It is important to understand the difference between fixing, replacing, and upgrading. In the context of this paper, 'fixing' means using software from the BIOS manufacturer to correct the firmware limitation. In technical terms, this is called 'flashing the BIOS'. Many of these companies have web sites from which these ROM-BIOS files may be downloaded. If the BIOS does not support flashing, you will either have to physically replace the BIOS chip or upgrade your motherboard.
Research done by Greenwich Mean Time indicates test results vary even between BIOS versions that appear to have the same name and manufacture date (Kappelman 44). Furthermore, identifying your particular system is not always easily done. The case studies presented here focus on determining if the system is compliant, identifying system components, and using the Internet find support information.
Example 1: Pentium system
The Pentium based motherboard tested out as year 2000 compliant using both the manual procedure and the NSTL file downloaded from their web site. I decided to verify the information and proceed as if it was not compliant. I noted when I turned the computer on that the BIOS information is displayed on the screen before MS-DOS and Windows starts. This information is important. When it first appeared I pressed the pause button on the keyboard (located above and to the left of the number pad on my keyboard) so the system would stop and let me read the words. The important information I gathered was the manufacturer (American Megatrends Inc.), the version number (AI75), and the manufacture date (8/14/1996).
Previous to this I had visited the AMI web site to find their statement on Year 2000 compliance (see Appendix A). I did not completely understand the statement so I e-mailed them for clarification. I was told that BIOS upgrades were provided to OEMs (Original Equipment Manufacturers) and that I would have to contact them for upgrade information (see Appendix B).
Having no desire to take my computer apart to see if the motherboard had OEM information, I referred to the literature that came with it. It did not identify the OEM but did list the model number of my particular board on the back cover (Figure 2).
Using an Internet search engine, I typed in: "MS-5129" and submitted it. If you are not familiar with using Internet search engines, putting quotes around the search string tells the program to find that exact combination of letters.
The engine returned three possible sites to check. The first one displayed a technical bulletin from Opus Technology, posted by Sheffield Hallam University.
Figure 2: Motherboard manual
The bulletin shows a table which displays information on motherboards that have been tested using both the NSTL method and the manual method (Figure 3). My motherboard was on the list as having passed both tests. Since I had done these tests myself, this was sufficient to confirm my system was year 2000 compliant.
Figure 3: Opus BIOS test results
Example 2: Compaq System
The Compaq system belongs to a friend who allowed me to test it. Compaq has an extensive web site on the year 2000 issue. My objective was to use their information to see if his system had the problem then download the appropriate flash file if it was available. However, I was unable to find information on their web page that corresponded to my friend's system.
I tested his system by downloading the NSTL test facility. The facility reported success on all points except the real time date transition. This meant the system would operate correctly in the next century but could not handle the turn over event. I suggested to my friend that he could either change the date manually on New Year's Day, 2000 or visit Compaq's web site periodically to see if a ROM-BIOS download had been posted for his particular system.
Example 3: 486 System
The 486 example was less encouraging. Like the Pentium example, no OEM information was available in the manual for this motherboard but a model number was given. The search engine was successful in reporting a web site that had information on this motherboard. From this site I learned that the manufacturer was either BIOSTAR or their European affiliate, BIOTEQ. I e-mailed both companies to find out what I could do to fix the BIOS problem (see Appendices B and C). Their response was this particular BIOS was not flashable and no information was available yet on how to handle problems for BIOSs that were discontinued for more than two years.
The Year 2000 date problem is technically a combination of hardware, firmware, and software error. To provide the operating system and other software applications with the correct date, the real-time clock and the system BIOS must correctly increment the year and century information stored in the hardware. The BIOS or firmware error is the primary source of the personal computer year 2000 problem.
Users of personal computers must analyze their system by using either the manual test method, a computer program such as the NSTL test facility, or both. If the system exhibits the year 2000 error, the user must decide whether to purchase a new computer system, upgrade the motherboard, or fix or replace the BIOS. Fixing or replacing the BIOS requires knowing the manufacturer of the motherboard. The Internet is extremely useful in finding motherboard information, BIOS information, or year 2000 information in general.
The year 2000 transition for personal computer systems may be a problem for some owners. Users should be aware of the problem and take steps necessary to evaluate their systems and correct the problem in advance of the December 1999 deadline. The information presented here may be used as a tool in making that evaluation.
American Megatrends Year 2000 Statement
American Megatrends Inc. e-mail correspondence
From: Tech Support <email@example.com>
To: 'Martineau' <firstname.lastname@example.org>
Date: Monday, March 09, 1998 9:53 AM
Subject: RE: OEM Clarification
If for example you have an Intel motherboard then Intel can contact AMI (which they have done)and we will give them the necessary information.
From: Martineau [SMTP:email@example.com]
Sent: Wednesday, March 04, 1998 11:45 PM
To: Tech Support
Subject: OEM Clarification
Regarding your web page with year 2000 information, does the statement:
"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." mean PC owners can link to AMI and receive a flash bios upgrade or what exactly?
Thanks for you explanation.
BIOSTAR e-mail correspondence
From: Tech Support <firstname.lastname@example.org>
To: Martineau <email@example.com>
Date: Friday, April 03, 1998 8:26 PM
Subject: RE: BIOS Upgrade
I am the owner of a motherboard that needs a BIOS upgrade in order to be Year 2000 compliant. The manual that came with my motherboard states that it is an 'MB-1433AEA-V' with a BIOS manufactured by American Megatrends Inc. I have e-mailed AMI and their response was that all upgrades are handled by OEMs. After considerable searching on the internet I have determined that BIOSTAR or BIOTEQ is the manufacturer of my board. What do I need to do to update the BIOS on my computer?
Unfortunately, since the mentioned board has been discontinued for more than two years, we are no longer carrying any bios for this board. However, you can make contact with some after-market bios manufacturers (e.g. Unicore, Micro Firmware) for bios upgrade options.
Here is their info:
1. Mr. Bios www.mrbios.com
2. Micro Firmware www.firmware.com
BIOTEQ e-mail correspondence
From: Richard Verdonschot <firstname.lastname@example.org>
To: Peregrine Technologies <email@example.com>
Date: Thursday, April 02, 1998 2:11 AM
Subject: RE: BIOS Upgrade
At 22:24 1-4-98 -0700, you wrote:
The book that came with my motherboard shows it to be an MB-1433AEA-V. The BIOS is manufactured by American Megatrends. Their web-site states that they are referring upgrades to the OEMs of the motherboards. Do you have BIOS upgrade information for making my motherboard Year 2000 compliant?
No, we don't have information about it yet, also the problem is that there's no flash bios installed, so updating is not possible by flashing.
Richard Verdonschot firstname.lastname@example.org
Bioteq Europe BV http://www.bioteq.com
Abraham, Jim. "The Year 2000 Challenge." Online posting: http://www.ibm.com/java/education/year2000/index.htm (18 March 1998).
"AMIBIOS and Year 2000." 1997. Online posting: http://www.amibios.com/support/2000.html (4 March 1998)
"Compaq.com- Preparing for the Year 2000 White Paper." 20 Feb. 1998. Online posting: http://www.compaq.com/year2000/377a0797.html (5 March 1998)
Hilliard, Robert. "Robert Hilliard's Year 2000 PC and PC BIOS Page." 16 March 1998. Online posting: www.tyler.net/tyr7020/y2kinput.htm (18 March 1998)
Kappelman, Leon. Year 2000 Problem: Strategies and Solutions from the Fortune 100. Boston: International Thompson Computer Press, 1997.
"Microsoft Lends Advice to Congress on Year 2000 Issue." 10 Sept. 1996. Online posting: http://www.microsoft.com/CIO/Articles/year2000final.htm (3 March 1998).
Murray, Jerome, and Marilyn Murray. The Year 2000 Computing Crisis. New York: McGraw-Hill, 1996.
Norton, Peter. Peter Norton's Inside the PC. 5th ed. New York: Brady Publishing, 1993.
Reed, Sarah J. "DLA's Year 2000 Remediation Program: Managing Organization-Wide Conversion and Compliance." 1997 IEEE International Conference on Software Maintenance (1997): 198-205.