Software gets to the heart of Y2K problem
Here is an alarming statement: 'No industry-standard personal computer can be made 100 per cent year-2000-foolproof.' If that does not scare you, what would? However, this comment sounds more frightening than it is. The writer works for the National Software Testing Laboratory (NSTL), a facility owned by United States technology publisher CMP Media. It has been testing PCs since 1983, the dawn of PC time.
The lab has put together a product, YMARK2000, that runs from DOS and tests the basic input/output system (Bios) that rules the PC hardware and the hardware clock. When people talk about testing a PC, they are usually talking about testing the Bios (of course, it is also necessary to test software, but YMARK2000 does not).
The Bios is important because it is the 'glue' that binds the hardware and the software together. For example, there are two clocks in a PC - the hardware clock (or real-time clock) and the 'read date' function in the Bios. The Bios can be made to handle a four-digit year and, thus, be year-2000-compliant, but the real-time clock cannot.
The Y2K problem essentially is a problem of representation. If you can only represent the date with two digits, you have a problem. The hardware clock is a chip that can handle only a two-digit date. Hence, it is true to say no PC can be 100 per cent 'fixed'.
This is a moot point, however, as most software rarely looks at the hardware clock. Everything is done through the Bios. The lads at the NSTL warn that this can cause a small problem. Many companies are charging large sums of money to fix the Y2K bug, but they are preying on fear, not knowledge. I could write a program that tested your system, found the hardware clock and reported a 'non-compliance' with Y2K, then ran bogus software that looked good but in fact did nothing, and then announced your machine was 'safe'. Could you tell the difference? The NSTL gives its product away free. You must run the application from DOS, not from a DOS window inside Windows 95/8/NT.
Among other things, the software checks to ensure the clock chip is compatible with Motorola's MC146818 RTC chip. The data for the chip must be packed BCD (binary-coded decimal), a common way of representing numbers. Checking for the Motorola chip is especially important for non-Microsoft operating systems that do not use the Bios - Unix and Linux, for example.