THE Y2K BUG



It arrives faster than you thought, right? Everybody has an idea of what it is, but who knows it well? I'm not a specialist of the Y2K thing, but exactly because I'm not, I've made a lot of research and tests last week and I think I should share my findings, in case it could help someone to understand the problem without having him to spend hours on it like I did.

To start with the very basic, the problem is present in both hardware and software and not just one of the two like some people seem to think. Let's begin with the most important, the hardware.

THE BUG IN HARDWARE

No, you won't have to change your sound card or your tower case! The problem is in the system clock (RTC for Real Time Clock) and the BIOSes, which are small programs that we find on cards. I can't garantee you that the BIOS of video cards or network cards are all safe , but for sure, it's always about the BIOS of the motherboard that we talk. Many test programs for the RTC and the motherboard BIOS are available for free on the net in demo version, which tests the computer but doesn't fix the bugs it finds. Almost all those programs also promise to fix all those Y2K problems on your computer ... if you pay a 40$ or 50$US license!!

How software could fix hardware?! I'm not sure to have understand that all, but I guess they must all do like the Rosenthal Utilities, which simply installs itself in DOS/Windows startup (AUTOEXEC.BAT) and if it detects a Saturday, January 1st 1900 or Saturday, January 1st 1980 as system date, it knows it's impossible (because there were no PCs in 1900 and that in 1980 the January 1st wasn't a Saturdayi) so it interprets the correct date and change the date of DOS or Windows for it. So, it's not a bad technique, but it's nothing more than a virtual solution. The main disadvantage is that if a DOS program calls the BIOS directly and not the operating system to know the date, the error persists. Also, this requires that the version of DOS or Windows is compatible to year 2000, and also it slows down the booting forever. I know this works with MS-DOS 6.2 and Windows 95, but I can't say from which previous versions it won't work. Personnally, I wouldn't be too confident with a DOS version lower than 6.0, but on this point, if you're concerned, I let you verify by yourself.

Here are the best Y2K software I could recommand you:
Rosenthal Utilities
D8.exe
(to use the technique above mentioned)

Y2KTest (to make a very complete verification of your system under DOS or Windows 3.1 and up, gives precise and nicely presented results)

OnMark BIOS Test (to test the BIOS on several machines; although it doesn't check the RTC, it makes good job and as it's on a bootable floppy disk, it's very portable -you don't have to install the software on each computer to check, you only have to boot each computer once with the disk in the floppy drive-)

If, like me, you're not fully confident with software made with people who only thinks to make money with you by making you buy their fix, there are some little test programs distributed by some motherboard manufacturers on their sites. For example, Award/Phoenix has its own and American Megatrends Inc. has its own too.

Once those tests passed, you learn that your Pentium computer is not Y2K-compliant and you think that your machine will die in a couple of days. Be aware! First read exactly what gives you the Y2KTest; maybe that, like my Pentium 233 MMX with an Award motherboard of the end of 1997, your computer passes perfectly the year 2000 if your computer is turned off but not if it is turned on! I don't know if the invert is also possible, but anyway, it's a very small effort to turn on or turn off a computer for 2 minutes... However, if your BIOS dates from anything that's in 1998 or 1999, you can be almost sure that your hardware is 100% compatible.

Now, what happens if it really fails these tests? I'd like to be advised if it's not exact, but for what I read, the RTCs of about the end of the 80386 generation (1991) until today (depends on your manufacturer) are equiped with an extra memory space for millenium, it's just that the '19' doesn't automatically change for '20' when December 31st 1999 ends. In these particular (but numerous) cases, neither the RTC, neither the BIOS has an integrated function allowing to make the transition, but the user can use a very simple manual method: enter the BIOS program (usually the DEL key, sometimes it's F10 immediately when starting the computer) and change by himself the date on December 31st 1999. I can't garantee it's like that for everyone, but with an AMIBIOS (American Megatrends), the date will be changed correctly, but also, in the RTC, the '19' will be changed for '20' by the BIOS! The clock will then keep calculating its date correctly even when the computer is turned off, for as long as nobody later changes back the date in the BIOS or in the operating system. I have found this very unrealistic until I tested it on the AMIBIOS of a Pentium 100 MHz and the one of a 80386 SX /33 MHz to realize that it seems to be true!

These are good news! I know some people fear to go in their BIOS, but to them I say that there's absolutely nothing complicated in doing that and although the damages that bad modifications in BIOS can make, there is absolutely no risk in only changing its date and press  "Save Changes and Quit" and then "Y". The only danger is to modify things you don't know the signification! However, the news aren't so good for the owners of more ancient computers, for example the 80286. There are strong chances that the BIOS of a machine like that would just be unable to offer the possibility to up the date to more than 99 and there are also big chances that the RTC itself doesn't even have more than 2 numbers to represent the full year. There are two interesting solutions (replacing a motherboard or changing the date back in 1980 aren't interesting solutions!) for those people who are attached to their dinosaurs: use forever a program like Rosenthal Utilities or D8.exe, and use forever a BIOS patch card that will do almost the same thing than these little programs without having to modify the booting and to reinstall a small program after each hard disk format.

THE BUG IN SOFTWARE

The problem is simpler to understand with software. Each individual program can be or not Y2K compliant. When one is not, it's simply because the date variables it uses are declared in a way to let only 2 characters representing the year and/or that the code of the program is just not made to run perfectly with dates of more than 2 characters. This means software that is not using any date (for example a MP3 player) can't have problems with the bug and that it may be possible that a software dating of 1990 is compatible an another one written in 1998 is not (it all depends on the choices of the programers, for each program individually).

Will incompatible software completely stop running in year 2000? Of course not! It only risks to crash or to corrupt data when using it. This is still pretty much important: if, for example, a database system is not year 2000-compliant, it could corrupt the existing database data, which is particularly serious in an enterprise. In fact, databases is the most affected type of application, the most endangered kind of software is probably the operating system.

Of course, you should first verify that your OS is Y2K-compliant. This doesn't mean to change the date fromt he operating system and to verify it can goes to 2000, because there can still  be some programmation errors left in some modules of the OS. That's what happen with MS-DOS; even in 6.22, some specific files doesn't correctly manipulate the dates. In MS Windows 3.1 it's the same story, but except for the replacement file for WINFILE.EXE (available on Microsoft's site or even on Download.com), there aren't any update available.

Until now, I don't think I've chocked to much people. But what if I tell you that ALL of Microsoft 's operating systems are vulnerable? In fact, to fix know Y2K-related MS Windows 95 bugs, you have to download from  Microsoft's site a file of about 2,3 MB that will update the bad Win95 DLLs and EXEs. Be aware that you'll have to get the update in the same language than your version of Windows (for example, the update available on Download.com, so in English, won't even accept to install itself if you have Win95 in French). But be aware, this update won't update the Internet-related files. It's again an unfair practice from Microsoft who wants to make its Internet Explorer more popular; for a full compatibility with year 2000, you'll also have to go get  Internet Explorer 4.01 or above, so today 5.01. For Windows 98, it's the same thing, except that it comes with MS IE 4.01 so this one you don't have to download it, but there yet updates to go get on Microsoft's site, depending of your language. In both cases  (Win95 et Win98), my advice to you is to get the updates on the Internet, because the ones you could find in another way may be not the latest available. In both cases, two updates have been released, the first one being not complete and the second, more complete, having the role to replace the first one.

I really said ALL Microsoft products. This even includes the supposed-to-be-so-solid Windows NT 4.0!  In its case, it's not a year 2000 specific update that you need, what you have to get is the Service Pack 3. If you still don't have it, tell you that you very need it, and while updating your NT stations and servers why not, get the Service Pack 6a which was released recently!

If all Microsoft operating systems has problems, the others are OK in general. MacOS is still good for another 27 000 years (also note that every Macintosh computer doesn't have any problem before 2040) and the UNIX, BSDI and Linux operating systems can go up to 2038 without any trouble (which doesn't mean of course that each program for these platforms is correct). Unfortunately, I don't have this information for IBM OS/2 and BeOS, but I would say that OS/2 Warp (3.0 et +) and BeOS won't be affected by the millenium change.

For any non-OS program, you'll have to check with the manufacturer. In most cases of incompatibility, you have to replace the whole software for a new version (I'd recommand you to replace right now all your software that you think could be at risk). It's the case of Lotus 1-2-3 version 2.4 and less under DOS, of Quicken 1.0 to 4.0 for DOS and of Simply Accounting versions 1.0 to 3.0. In some other cases, it is possible to download updates. It's the case for the application suites Microsoft Office 95 and 97. To update Office 97, you have once again to go on Microsoft's site and, this time, be patient because it's a transfer a lot longer than only the update of Windows 95 or 98. First, you have to download the Service Release 1 (over 10 MB), then the Office Version Checker to ensure that the Service Release 1 is installed correctly (100 Kb) then the Service Release 2 (over 23 MB) and finally, if needed, a patch for the Jet Engine used by Access (1,3 MB) and a patch for Outlook (I didn't download it because I didn't even installed Outlook!). Ouf! That's when we recognize the best ones... so much things to do to update the Access database while every version of Paradox is fully Y2K-compliant...

CONCLUSION

Take the few days left before January 1st to do what you just read! After that, this could be too late... Why not prepare your PC right now? If you need help or that you have any corrections/additions to make to this article, you can, as usual, contact me at powhertz@email.com. If you want to know something more technical, probably the professionals of NoWonder should be a better source to consult.

To download the Y2K FAQ in PDF version, click here. It's not the article you just read and it's not even written by me, it comes from the American Megatrends web site. If you're interested by the Y2K thing, you could find it pretty much interesting. Note that you'll need Adobe Acrobat Reader to see it properly.

Powhertz
1999/12/26
 

Go back to PowHertz home page