Solving an iron problem is very simple
The solution to the 2000 problem related to incorrect BIOS operation is based on the standard and mandatory ability of any computer to check a specific address area when booting for additional devices that have a BIOS extension specific to this device. That is why all the controllers in question include only the most necessary elements in order to change the logic of the BIOS of the motherboard, if necessary. No wonder they are so similar.
Changing the logic of the BIOS in the simplest case consists only in replacing the standard 1Ah interrupt vector, which is responsible for receiving / setting the date. The newly set interrupt vector reads the readings of the real-time clock, and if the year is set to 00 in the hours, then the value 20 is entered in the century register and, accordingly, the date 2000 is returned. So the problem is simply solved for so many computers and, apparently, for all AT286 computers. Everything is very simple!
Moreover: as a rule, a computer with such a BIOS allows you to enter the correct date once without a controller in 2000, and in the future it will work quite normally. Therefore, in such computers, some confusion (absolutely not the end of the computer world!) Can be observed only a few days after the New Year.
The above applies to most computers, from 286 to 486. Therefore, we are not talking about a global catastrophe (at least due to the fault of hardware). However, in some cases, the logic of the computer has such serious deviations from normal logic that it can really cause serious problems in 2000. We show this with a few typical examples.
And sometimes it’s not so simple
If everything was so simple, as discussed above, then companies – manufacturers of “hardware” would probably not support the unrest of programmers. But, since some time (as a rule, this applies to class 386 computers), some BIOS manufacturers considered that until 1980 personal computers did not exist. Therefore, if the computer clock shows the year 1900 (in fact, it could be 2000 too!), Then without asking anyone, the BIOS sets the date for 1980. As a rule, not only the value of the year is adjusted, but also the day: the date is set on January 4, 1980. This “wise decision” of BIOS manufacturers is known to everyone who is developing the 2000 error correction tools. The software of almost any controller provides certain methods of error correction of the type in question. For example, in the algorithm of the AMI controller in general, all dates less than 1980 are considered as 2000. If on the night of January 1, 2000 the computer will rest, as well as its owner, then in the new year, when the computer is turned on, the controller of any of the types in question will correctly detect the catch and correctly correct the date.
But there is a certain part of computers that do not turn off around the clock. And here, slightly different game rules begin to work. After turning on the computer, the BIOS receives the current date and time from the real-time clock and then continues to live its own life. In particular, the BIOS independently maintains its countdown. However, this is a rather rough reference. Therefore, at midnight, the BIOS synchronizes its readings with the readings of the real-time clock. But in this case, she does this in a somewhat strange way. Having received the value of 1900 (the clock cannot change the readings of the century register on its own), the BIOS considers the obtained value incorrect and registers the value on January 4, 1980 in the clock. During operation, this will go unnoticed, since the operating system keeps track of its time. However, after a reboot (this may be due to a short-term power failure), both the BIOS and the operating system will begin to count down from 1980. This is a small time bomb. In such a situation, the possibility of manual date correction cannot be considered. You can only rely on some kind of controller. Unless, of course, this controller correctly understands what really happened. The situation is aggravated by the fact that the computer can be turned on both on the third and fifth, and on any day of January, and the BIOS sets the clock on January 4. Lost information about the current day! To correctly correct this error requires a significant complication of the logic of the controller. In practice, even such a brand as AMI, when switching to 2000 when the computer is on, is not able to correct the error that occurs. Does not correct the error and ProblemSolver. Of the considered controllers in a situation when the transition to 2000 occurs in the on state, only the SC2000 and E2000 controllers turned out to be operational.