Y2K: Cinderella: BIOS Myth again! - Topic 010

While browsing the McGraw-Hill Beta Books section I was horrified to see the good 'ol BIOS Tick-over problem rearing its ugly head again.

Let me quote from the comp.software.year-2000 Minifaq:

"Most PC BIOS's will fail on the transition between 1999/12/31 an 2000/01/01 and reset to 1980. However, this generally only applies to that one day. Most BIOS's will accept a manually set date of 01/01/2000 and store that date, so that on poweroff and reset the system should work correctly into 2000."

Quote from "Year 2000 Problem solved" - Ragland

"Warning: If you have any time limited licensed software on your system, don't run this test. It will cause your licenses to expire when you set your clock ahead."

Guys, We are perpetuating FUD again. (Fear, Uncertainty and Doubt) Not DUF.

This is what I refer to as the "Deliberately Scary BIOS Myth".

It is based on a quirk that occurs once in 119 years.
It is also called the "Tick-over problem".
It can only happen once between 1980 and 2099.
It just happens to occur on the psychological date.
At midnight on 1999/12/31 Bios derived dates will corrupt by resetting to zero and will reboot as 1980. This only happens once, on this one particular date.

If you start up your machine and enter a 4 digit year (01-01-2000 if you are using the "default" Country options or 2000-01-01 if you using the YMD format country options), the BIOS will be correctly reset and will function correctly for the next 99 years. Until 2099/12/31 to be precise.

I was originally taken in by this little trick. There is a TSR program available. You put it in your Autoexec and the Tickover problem goes away. I dashed around sending copies of it to all my friends. Until I received a grumpy call from one of them saying "Even I don't need a TSR to set the date once". Duly embarrassed I did some somewhat more extensive testing. My grumpy friend was right.

Some BIOS chips DO NOT HAVE the Tickover problem. Mine do, but reset quite happily using DATE. There are now extensive lists of BIOS chips that suffer from the Tickover problem.

There is a move afoot to replace all these chips. For heavens sake Why?

If you use the correct 4 digit year, the problems disappear. It is this business of trying to fiddle two digits into four that causes problems.

I personally have yet to find a BIOS with the Tickover problem in it which will NOT be set correctly by the DATE command, but I don't claim to absolute authority on this.

Even in the unlikely event that the BIOS will not reset for automatic date storage between bootings, all that is necessary is a DATE command in the AUTOEXEC.BAT to force manual date entry at startup.

The only way to see if YOUR machine has a problem is to do the following test.

For some reason people now say "Dont do this test, you will destroy your data and registry and all your software and data will be unusable".

Everybody tells you how to hit the "once only" problem. But they object if you actually test to see if you can survive into the 21st Century. By the way that's 2001. Here is a set of tests to see if it really is a problem for you.

And to further relieve the tensions of those panicked by the thought that doing this test will destroy their system and data let us adopt a slightly variant approach, using a temporary Bootable Diskette.

PROCEDURE

(This procedure has been tested using MSDOS 3.2 thru MSDOS 6.22.)

Create a Bootable Floppy or Stiffy. Use only this medium for the test. The data and programs on your hard disks will therefore be unaffected. Once created, leave the diskette in the drive.

1. Create the test diskette. It must be in a bootable drive, usually A:. The format command will wipe all data off the diskette.

From DOS:

FORMAT a: /s

From Windows File Manager:

Click on Disk, Format, check Make system disk, Label
"Y2ktest"
2. Shutdown your System. Switch off the power. Don't just hit Reset.

3. Switch the power on, the system will boot from the diskette.

4. System should display today's date. (Otherwise your BIOS was not correctly set to start with.)

5. Enter a 4 digit year when asked for input. Don't be fooled by the 2 digit mm-dd-yy prompt.

The First date to test is January the First, 2000.

Type 01-01-2000
6. Switch off the power again.

7. Switch on and wait for reboot.

8. If Sat January 1 2000 displays, your BIOS is OK.

9. use 29th February 2000 as the next test date.

Type 02-29-2000.
10. Switch off, switch on.

If the System displays Tue 29th February 2000, your BIOS is still OK.

11. Final Step. Very Important. Use DATE to set today's date. This will bring your BIOS back through time.

12. type DATE

Enter Today's date

END OF PROCEDURE

If you have the opportunity, set the date somewhere in 2000 and leave the machine switched off for a couple of days. Don't take the diskette out. And don't forget to eventually change the date back to Todays date. Once set to 4 digit years, the BIOS keeps running and keeps the correct time and date. (Obviously the Battery must be in working order!).

If the machine does not recognise that it is in the Year 2000 when you switch it on again after actually setting a 4 digit year, then AND ONLY THEN have you proved that your machine has a BIOS problem. An unlikely event in my humble opinion.

This is also the "safe" way to do the "Tickover Test". Think of it as letting your machine wear "protection".

You can now take the floppy or stiffy out of the drive, and relax. BIOS Test Over.

HARDER HOMEWORK

As the entire Y2K issue involves somewhat belatedly conforming to a ten year old American National Standard, the following demonstrates that MSDOS can actually conform reasonably to the ISO, ANSI and FIPS standards by using the following wriggle.

If you use the default (US keyboard and display) then after creating the diskette, go to DOS and type the following:

1. md a:\dos

2. copy \dos\country.sys a:\dos

3. edit a:\config.sys

(to create a one line file containing:)

   country=002,,a:\dos\country.sys

   Alt-F, Quit , and type Y to save file.
4. When booting from the diskette, you will notice that the system requests the date in yy-mm-dd form. A DIR command will list the files on the diskette showing a YY-MM-DD date format.

Interestingly the internal Binary dates are always correct. e.g. 2020/01/02 will display as 20/02/02 even though only the last two digits of the year are displayed.

The simple fact that MSDOS uses internal binary dates for all its file creation, copy and move operations means that by careful use of parameters the Y2K problem for MSDOS and Windows based machines is far less severe than previously thought, and is generally a Paper Tiger.

(There is one slight display glitch in Windows 3.1 File Manager. Nothing we cannot live with).

Provided Windows is set up using the International option within Configuration as YMD, Century date, leading zero month, leading zero day, the system conforms reasonably closely to Y2K requirements.

New systems should be set up this way from day one. That means today. Now. Not Manana.

Otherwise data problems caused by sloppy programmers not RTFM'ing will creep in over the next three years. Do it now and be done with it. Back up. Change to the new format and test your data. This is not rocket science. This is precise, accurate and predictable.

If you do not know how to do a backup, let me know and I will send you detailed intructions.

This problem can be handled by a plain, ordinary, vanilla Users. You do not have to be a guru or a whizzkid. Common sense will suffice.

All modern integrated Windows systems allow YMD (or Windows default dating). But you have to set them. If you don't set them, little errors will creep into the data. Fix it now and save yourself the hassle of fixing three years backlog, come the day.

Certainly the problem does not deserve the current doom and gloom attitude nutured by certain people. I can only assume they have some hidden agenda.

Can we now put this Topic to bed and turn out the light.


Usual Disclaimers (Various replies were received, leading to this modification) BIOS1

Re: BIOS Myth Again! and Again!

I am trying to complete just one section of the comp.software.year-2000 FAQ. I foolishly chose the BIOS problem as being a specific problem with absolutely known parameters. In theory we should be able to document the problem, propose solutions, publish the FAQ and forget about it for three years.

Oh no. Now everybody and his dog is trying to shoot me down. Well, I'm a duck with body armour.

Could we please try something new. Can I request some cooperative effort. If you personally have a problem with the procedure below, constructive criticism is welcomed. If you find something you don't like please supply an alternative. We have no shortage of problem detectors, we are a little short on solution providers just now.

The procedure is based on Ternary Logic and should be Idiot Proof.

NOTE: to avoid problems perform date testing using a diskette.

START OF PROCEDURE.

1. Does your system have a BIOS problem.
   Either a) the Tickover Problem or
        b) will not store a date set in 2000  (Yes/No/Dont Know)

If No, goto Step 9.

If "Don't Know" perform the diskette test. Once.
If you need to reset your BIOS boot order to allow a
floppy boot, then do it, once, test, and reset it again.

If you don't have a diskette drive, call your network
Administrator, dump the problem in his/her lap and go to Step 9.

If "Yes", Continue.

1a. Do you have Cash to Burn?  (Yes/No/Don't Know)

If "Yes", order and install replacement chips, goto Step 1.

If "No", continue.

If "Don't Know" inspect pockets for credit cards, money
etc. If in doubt, go to Step 2, otherwise recognise the
fact that you need help (probably for substance abuse) and
go to Step 9. Perhaps you'll feel better in the morning.

2. Do you know how to do this test?  (Yes/No/Don't Know)

If "Yes" then do it. You will then know if
you have a problem or not. Go to Step 3.

If "No" then find the other items in this thread,
read them, and do the test.

If "Don't Know" then wake up, concentrate on the task in
hand, find out and go to Step 1.

3. Will you remember to set the date to 2000/01/01
        on 1999/12/31?   (Yes/No/Don't Know)

If "Yes" then goto Step 5.

If "No" or "Don't Know" then goto step 4

4. Install "year2000.com" from RightTime
    in your autoexec.bat.

    If your machine is one of the so-called "many"
    which will not store a 2000 date, then
    year2000.com will not work either, goto step 5.
    Otherwise, Goto step 6.

5. On Friday 1999/12/31 manually type "DATE" and
   set your date to 2000-01-01.

6. Does the system store dates set in 2000? (Yes/No/Don't Know)

If "Yes" go to Step 7.

If "No" or "Don't Know", add "DATE" to the autoexec.bat file on
your diskette, and redo the date test. Goto Step 1.

7. Does this now work for the year 2000?  (Yes/No/Don't Know)

If "Yes" go to step 9.

If "Don't Know" then you will have to test. Copy
"year2000.com" to your diskette, add "year2000" to the
autoexec.bat on the diskette, boot the diskette and
do the tests. Go to step 1.

If "No" go to Step 8.

8. Problem insoluble. A Japanese person would commit
 Seppuko at this point. Lemmings prefer high cliffs.
 Your decision. Do not go to Step 9. Go to Step 10.

9. Problem Over. Relax. Go to Step 10.

10. END OF PROCEDURE.

Useful suggestions and pertinent critique welcome.


Usual Disclaimers. (And a further explanation went out)

BIOS2 slug@fast.co.za (Chris Anderson) wrote:

>Y2K: Cinderella: BIOS Myth again! - Topic 010

From the replies I am receiving, it seems that I failed totally to get my message across.

In dealing with this BIOS thing we have two scenarios.

Phase A. Today in 1997 we need to establish if we are going to have future problems with our machine. So we need to do a test to find out if our BIOS is flawed or not.

We do not want to mess up the machine we are using now, and will hopefully still be using for the next three years. That is why I say, use a diskette for Tickover testing and proving that 4 digit dates in 2000+ work correctly with the BIOS.

End of Phase A. Our BIOS either has a problem or we have a recent one and there is no problem. But we KNOW absolutely what the situation is. Objective achieved.

Because the diskette method is safe and will not harm our existing machine there is now no excuse for not doing this test.

Phase B. Come the 1st January 2000 we need to take avoiding action. Totally different problem. By then we will have worked out our action plans, tested them and will be ready for the change.

I will do the following. Because my BIOS' have Tickover problems.

On the Friday (31st December 1999) I will set my date forward to 2000/01/01 (because I use YMD "country" format). I will use the TIME command to set the time to 00:00:01. So, BEFORE midnight my machine will be set up with a 4 digit year. I will then switch it off and go and join the party.

On Saturday morning when I boot up, the machine will quite happily recognise that it is 2000. However, looking at my watch I will see that the clock is running a bit fast and will then do a TIME command to set the right time. I will not allow the Tickover problem to happen. Because the resetting to 1980 causes the damage to registry etc. NOT the adoption of the 4 digit year.

4 digits good, two digits bad.

Or maybe I will use the Year2000.com TSR from RighTime to get me into the New Year. But whatever happens I will not be installing new BIOS chips.

Do we have consensus yet? We need to finalise this thing, document it and wrap it up. We cannot afford to waste time going over the same ground again and again and again.




Sponsored in part by

Try Me?