home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 1999 June
/
PCWorld_1999-06_cd.bin
/
Hardware
/
Drivers
/
BugFix
/
bugfix.exe
/
README.TXT
< prev
next >
Wrap
Text File
|
1999-03-01
|
16KB
|
372 lines
BugFix ver, 4.0
Please read the operating instructions and notes before using this product.
***************************************************************************
This program is intended to run on IBM or IBM compatible P.C.s with MS DOS
3.3 or above, Windows3.x, Windows95 or Windows98 operating systems.
BugFix will:
Test the BugFix executable file for infection by virus.
Test your P.C. for Millennium compliance by ensuring that the date provided
by the P.C. clock will automatically roll-over to the correct date at the
turn of the century, the 28th of February 2000 and the 28th of February 2040.
Test all years between 1999 and 2041 for date recognition and retrieval.
Ensure the system clock recognizes all leap years between 1999 and 2041.
Provide an optional power off/on date retention test for maximum security.
Install a permanent fix into non compliant P.C.s.
Record individual test results on the P.C.s hard disk. (MM?INFO.TXT)
Produce a millennium compliance certificate.
Displays the test result on your computer screen.
This document is divided into the following sections.
1: Operating instructions
2: Post installation messages
3: Power off/on date retention test.
4: General notes (including important reformat information)
5: Mm?info.txt file description
6: The meaning of time and how it all began.
7: BIOS patch information
8: BugFix test sequence
9: Virus protection
********************
[1] Operating Instructions.
This product consists of the following files GO.EXE, GO.PIF, README.TXT and
Y2kORDER.TXT, you can download them from a web site and copy them as often
as you like, you can even run BugFix and test any IBM compatible personal
computer free of charge if you adhere to the following conditions.
1: You must read and accept the licensing and disclaimer statement.
2: You may not re-sale or in any way profit from the re-sale of this product.
3: You must purchase a key for each and every computer you intend to repair
by installing the BIOS patch incorporated within this product.
This product can be installed on floppy disk, hard disk or network server.
To start the program, type "GO" from the directory containing the program
files or use the Windows RUN option.
You will be asked to accept the license conditions by entering the key.
Keys can be obtained from the web site and will allow you to run the
program as often as you like on one computer. If you would rather test
the computer prior to purchasing a key (recommended) enter 9999 and the
program will perform a test (but not a fix) free of charge.
The program will run, test and assuming you have purchased a fix, repair
non compliant computers.
********************
[2] Post installation messages.
When the P.C. is re-started it may display a message, informing the user
of the equipment's hardware compliance level. The message will appear in
one of two colors, and remain visible for three seconds.
Usually a green message indicating the P.C. is millennium compliant, will
be displayed. A red message will indicate a possible hardware compliance
problem.
Equipment that required the installation of a software patch to make it
millennium compliant will be tested to ensure the patch is installed and
operational. In the unlikely event that this proves not to be the case, the
normal compliance message will not be displayed.
Note:
The green compliance message will only be displayed if all tests (including
the power off/on date retention test) is successfully completed.
A yellow reminder label will be displayed during the power off/on test,
for more information refer to the following section.
********************
[3] Power off/on date retention test.
An optional test for date retention during the power off/on phase is
included with this product. This test will set the computer RTC date to the
same month and day in the year 2000 and then ask the computer user to switch
the computer off and then on again. The test program is re-run, the date is
checked for compliance and the correct date is restored.
This option will be offered if previous tests found the computer to be
compliant.
As a precautionary measure, if you have programs with license expiry dates
before the 1st of January 2001 please ensure they are not running and will
not be run during the power off/on re-boot cycle.
You are strongly advised to run this test as certain BIOS irregularities
cannot be detected by any other method. Please adhere to the sequence
shown in the five steps, failure to do so may produce erroneous results.
********************
[4] General notes.
If you are using a multiple application operating system such as windows
please ensure all other applications have terminated.
All printouts use standard ASCII characters and are formatted for 64 lines
per page with a carriage return at the end of each line and a form feed
on the 64th line.
WARNING!!!
REFORMATTING THE HARD DISK WILL DISABLE THE BUGFIX SOFTWARE ACTIVATION KEY.
You must make a backup copy of the following files C:\CONFIG.SYS,
C:\MM_INFO.TXT and C:\MM_PATCH.COM (the underscore in the file name may be
replaced with a number from 1 to 9) before you reformat the disk.
On completion of the disk format, restore these files.
********************
[5] MM_INFO.TXT file description
This file is written to the hard disk of the P.C. under test, and remains
there as a permanent record of the test results.
MM_INFO.TXT contains the following information.
P.C. ID number:
Test Date and time:
Power off/on test status:
BIOS creation date:
Test results:
********************
[6] The meaning of time and how it all began.
When the P.C. was first produced it did not contain a time of day clock,
instead, the user was required to enter the date and time when the P.C.
was switched on.
To provide the P.C. with date and time functions the date and time you
entered was converted to a number, which corresponded to the elapsed time
since time zero, which to a P.C., is the 1st of January 1980 at 00:00 hours
( try setting your P.C. date to 1979 ).
This number is regularly updated by an internal clock pulse as long as the
P.C. remains switched on.
When a program requires to know the date or time, it merely requests the
operating system to convert this number into the correct date/time format
and supply it to the calling program.
This clock is generally known as the System or DOS Clock and most, but not
all, programs derive their date and time from this source.
From the launch of the IBM PC/AT, P.C.s have been equipped with a time of
day clock, which is known as the Real Time Clock or RTC. This clock is
powered by an internal battery which maintains the date and time even when
the P.C, is switched of.
When the P.C. is switched on instead of asking you to enter the date and
time, it asks the RTC to provide it.
This is a somewhat simplified version, in actual fact the RTC regularly
updates specific locations in what is known as non volatile memory or
CMOS RAM, and these locations are read by instructions issued by BIOS,
which in turn may be answering a request from the operating system (DOS)
to provide this information.
The BIOS (Basic Input Output System) is a set of routines which convert
the commands issued by the operating system into commands that the hardware
can understand, you might consider BIOS as a translator between standard
operating system requests and the continually evolving P.C. hardware.
Most but not all BIOS routines reside in a chip or chips on the P.C.
mother board, and in modern P.C.s can be re-written to provide updates or
correct errors in previous versions.
So if that's how it works, what's the problem ?
There are lots of problems but they all stem from two basic facts.
1: The programmer has access to two sources of date and time which may or
may not be the same.
2: Software programmers, BIOS programmers and hardware designers have all
taken the century part of the date for granted and neglected to consider
the implications of getting it wrong.
Consider the following.
To the BIOS the initial source of date and time is actually the CMOS RAM,
which stores time and date as a set of binary coded decimal numbers in
various predefined locations. These locations can be read one at a time by
BIOS issuing in/out instructions. To save time the BIOS may not bother
reading byte 50 (the century byte) but instead assume it to be 19, or the
RTC may decide that this byte is always 19 and not update it, or the RTC may
update it but only at power on time (not so good for P.C.s that are never
switched off), or the BIOS may in fact read all information, but fail to
update the system clock correctly. Add to this the possibility that the
programmer may have decided to use the RTC as his source of date and time
instead of the system clock, (BugFix uses both) and you have some idea
of the possible sources of error.
Further complications arise from the fact that the year 2000 is actually a
leap year so the 29th of February 2000 must also be recognized as a valid
date.
Now on the practical side you might think that a P.C. of one manufacturer
and model will be the same as the next, so if one is millennium compliant
then so must the next ! Not so ! Manufacturers may use completely different
mother boards or BIOS in seemingly identical P.C.s and seemingly identical
board may use different chip vendors.
The only way to test a P.C. for millennium compliance is to test each and
every one of them with a program such as BugFix. Setting dates by hand,
switching them off, waiting a few minutes and them switching them on again
is both time consuming and inaccurate (RTCs that update the CMOS RAM century
byte only at power on time, would not be detected using this method and you
run the risk of immobilizing your P.C. by exceeding program expire dates).
********************
[7] BIOS patch information
Most non-compliant computers can be made compliant by installing the BIOS
patch supplied with this software.
WARNING !!!
The BIOS patch file MM_PATCH.COM is tailored to run on individual computers,
you must use BugFix to install this patch, do NOT copy this file to
another computer.
Technical information on BIOS patching (simplified):
MM_PATCH.COM is actually a Device Driver with a small memory resident portion
of approximately 400 bytes, which remains in memory and intercept system calls
to the RTC (Real Time Clock).
Date information returned by the RTC is examined by mm_patch. If the date is
between 1900 and 1979 the century is assumed to be wrong and is changed to
20 before returning it to the operating system.
The rational for this is any date prior to 1980 will be considered illegal by
DOS and the most likely explanation is the century byte has not been changed
by the RTC or that BIOS has failed to retrieve the century byte from CMOS RAM.
Patch installation notes and problems:
BugFix will add the "device=mm_patch.com" command to the end of the
config.sys file and save the original file as config.qct.
The patch will not be installed if:
1: It does not fix the problem.
2: It is already installed.
3: The computer has no hard disk (networked diskless P.C.s).
4: The 9999 key is used to test the computer.
********************
[8] BugFix test sequence:
Computers are checked in the following way using ROM and System BIOS
interrupts.
1: The Real Time Clock is set to one second before midnight on the
31/12/1999
2: Two seconds later the Real Time Clock is read and compared with
01/01/2000
These two steps ascertain whether the Real Time Clock is capable of
rolling over to the next century and whether BIOS is capable of setting
and retrieving the correct date.
If this test is OK then go to step 5: otherwise,
3: The Real Time Clock is set to 01/01/2000
4: The Real Time Clock is read and compared with 01/01/2000
This is to ascertain whether the Real Time Clock century byte can be
manually set and whether BIOS will report the change.
If this test fails then go to step 14: otherwise.
5: The Real Time Clock is set to one second before midnight on the
28/02/2000
6: Two seconds later the Real Time Clock is read and compared with
29/02/2000
These two steps ascertain whether the Real Time Clock is capable of
rolling over to the 29th of February 2000 and whether BIOS is capable
of setting and retrieving the correct date.
If this test is OK then go to step 9: otherwise.
7: The Real Time Clock is set to 29/02/2000
8: The Real Time Clock is read and compared with 29/02/2000
This is to ascertain whether the Real Time Clock can be manually set
to the 29th of February 2000 and whether BIOS will report the change.
Go to step 14:
9: The Real Time Clock is set to one second before midnight on the
28/02/2040
10: Two seconds later the Real Time Clock is read and compared with
29/02/2040
These two steps ascertain whether the Real Time Clock is capable of
rolling over to the 29th of February 2040 and whether BIOS is capable
of setting and retrieving the correct date.
If this test is ok then go to step 13: otherwise.
11: The Real Time Clock is set to 29/02/2040
12: The Real Time Clock is read and compared with 29/02/2040
This is to ascertain whether the Real Time Clock can be manually set
to the 29th of February 2040 and whether BIOS will report the change.
go to step 14:
13: If steps 2, 6 and 10 were OK then test the ability of RTC/CMOS memory
to save and retain century information, thus ensuring compatibility with
programs that use direct R.T.C. calls.
14: The System Clock Counter and the Real Time Clock are set to the same
day and month in the year 1999.
15: The System Clock and Real Time Clock are read and compared with the
reference date.
If this test is ok, the previous two steps are repeated for each year
from 2000 until 2041.
This ensures the System Clock and Real Time Clock can be set to, and
will return correct dates for each year in the range 1999 to 2041 and
the system clock will recognize all leap years within that range.
16: Depending on the results of the previous tests BugFix may install
a BIOS patch and re-test the computer. If so the previous fifteen steps
are repeated with the patch installed.
17: Update mm_info.txt and restore all times and dates to their correct
values.
18: Depending on certain conditions you may be given the option of running
an additional power off/on date retention test, please refer to section
[3] for more information.
********************
[9] Virus protection
The in-built virus detection software supplied with this product is
intended to reduce the possibility of spreading viruses by comparing the
BugFix executable file with a known good check code.
A message indicating no virus was found will be displayed prior to program
execution. Should the virus detection software detect a problem, a message
to that effect will be displayed and BugFix will be terminated.
Use a suitable virus removal program to clear the virus from BugFix, do
not attempt to re-run BugFix until the virus has been removed.
END.