THIS PAGE CONTAINS HOLMESFX, THE PUBLIC DOMAIN FIX FOR 

THE PC YEAR 2000 ANOMALY.



Legal Stuff -- Since HOLMESFX.COM is in the public domain, you are free to 

distribute it.  I ask that you not change the name.  The usual disclaimers 

apply, essentially that there is no warranty of any kind that the program does 

anything, and even if it does, the user assumes all risk for its application. 

If your locality does not allow these warranty conditions, you are not granted 

permission to use HolmesFx.com.



ABOUT HOLMESFX



WHAT I AM DOING -- Taking into account the widespread concern for the failure of 

many PCs to handle the transition from 1999 to 2000 properly, I wrote a little 

program which automatically corrects the Y2K anomaly if put in the PC's 

AUTOEXEC.BAT file. I am placing it in the public domain in the old-fashioned 

way, complete with source code and comments, so that it can be improved if 

necessary.  



WHAT CAUSED THE PROBLEM -- The way the PC's BIOS treats the Real Time 

Clock (RTC) is the heart of the problem in the Y2K anomaly. It is the RTC that 

has the battery and is where the computer gets the date as it boots. It appears 

that most BIOSs have a fault which prevents them from updating the Century Byte 

at the beginning of 2000. Therefore, when the BIOS adds Century Byte to the RTC 

year, it reports the date 01-01-2000 as 01-01-1900. Then MS-DOS picks up the 

date, recognizes it as too old, and uses its default date as its starting point 

(usually Jan 4, 1980) to set the system software clock. It is this second clock 

which the operating system and application programs use while the computer is 

running, and since the system software clock's century change mechanism does not 

suffer from the problem in the RTC, the anomaly appears only after the first 

reboot in 2000.



WHAT HOLMES FIX DOES -- HOLMESFX.COM checks the RTC year and changes it to 

"2000" if it registers exactly "1900". The program then reboots the computer so 

that MS-DOS can pick up the proper date during the new initialization. Note that 

HOLMESFX operates only at system boot time; so it would be best to use modern, 

intrinsically compliant, machines for clock-sensitive applications where the 

computer will be running at midnight, 31 December 1999 (such as LAN servers).



WHO NEEDS IT?



Who needs HolmesFx? 

o Most people who use PCs slower than 100 MHz Pentiums and want an automatic 

  rollover to 2000. 



Who does not need HolmesFx? 

o People willing to manually correct the date the first time they use the PC in 

  2000.

o Most people who use PCs faster than 100 MHz Pentiums.

o People using Version 4 of Windows NT (NT fixes it).

o People using the latest version of SCO UNIX (SCO fixes it).

o [Probably] People who will be using Windows 98 (MicroSoft has promised '98 

  will fix it).



TESTING RESULTS



OUR EXPERIENCE WITH TESTING -- We have tested HOLMESFX on machines 

ranging from a Leading Edge 8088 with Phenix BIOS 3.00 (1986) through a 1996 

Gateway 2000 Pentium-based machine. It has always fixed the problem in our 

testing, but exceptions have been reported.



GENERAL RULE FOR HOLMESFX -- If your PC can retain a given Year 2000 date 

when you set it to a date in 2000 and reboot, HolmesFx will provide an automatic 

fix for your PC.  If you have a PC which does not obey this rule, please report 

the make, model, year of manufacture, and BIOS version.



THE FIRST TESTING FAILURE -- Dave Knesovich, from RPS, Inc, Pittsburgh, 

Pennsylvania, reported the first test failure for HOLMESFX.COM. His report said, 

"HolmesFx.com nogo for Compaq Prolinea Net1/25s Mfg Dec 1993." We do not have a 

similar machine to test, so cannot confirm the report.



UPDATES



THE FIRST UPDATE -- Michael Moon, from Essex, England, suggested an improved 

operating system reboot method and that I should use the DOS Process Terminate 

service for the normal terminate. I made the changes and tested extensively. The 

changes work well and are in keeping with good practice, so I have issued this 

new Version 1.1. 



The entire HOLMESFX.COM Version 1.1 Assembly Code follows:



0100  B4 04     MOV      AH,04H    ;Set interrupt's read-date function

0102  CD 1A     INT      1AH       ;Call BIOS RTC date-time interrupt

0104  BB 1900   MOV      BX,1900H  ;Get ready to compare year with 1900

0107  3B CB     CMP      CX,BX     ;Compare

0109  75 0D     JNZ      NormTerm  ;Jump to NormTerm if year is not 1900

010B  B9 2000   MOV      CX,2000H  ;Year was 1900, make it 2000

010E  B4 05     MOV      AH,05H    ;Set interrupt's write-date function

0110  CD 1A     INT      1AH       ;Call BIOS RTC date-time interrupt

0112  B0 FE     MOV      AL,0FEH   ;SET FOR REBOOT

0114  E6 64     OUT      64H,AL    ;REBOOT FOR 80286 AND ABOVE

0116  CD 19     INT      19H       ;REBOOT FOR 8088

0118         NormTerm:

0118  B8 4C00   MOV      AX,4C00H  ;SET PROCESS TERMINATE, NO ERRORS

011B  CD 21     INT      21H       ;Normal termination, RTC not 1900

011D  56 31 2E 31+  CopyRightMsg DB 'V1.1, Copyright 1 Oct 1997, Lester C. 

Holmes placed in Public Domain'



DOWNLOAD



To download with Netscape Navigator, hold down the SHIFT key when you click on 

the link to the  HOLMESFX.COM Program.



To download with Microsoft Internet Explorer, click the right mouse button on 

the link to the HOLMESFX.COM Program, then click the left button on SAVE TARGET 

AS.



If you are using a browser other than Netscape or Microsoft Internet Explorer, 

you should determine your Web browser's "download to file" technique, then use 

it for the download.



Download the Text file the same way you did HolmesFx.com.



INSTALL HOLMESFX



There are two ways to install HolmesFx 



o Manually

  Copy it to your C:\ directory and put "HolmesFx" as the top line of your 

  AUTOEXEC.BAT file at least until after the first time you use your computer in 

  the Year 2000. The only time the program does anything, other than check the 

  date, is that first time you use the computer in 2000. The program is very 

  fast and little time will be lost by leaving it in AUTOEXEC.BAT forever.



o Use the Batch file installer

  I will add the batch file soon. 



IF YOU DECIDE TO TEST HOLMESFX: 



o Disconnect the PC under test from all LANs (be sure to reconnect after 

  resetting the date back to current).

o Be aware HolmesFx works only during reboot, so most Y2K Test Programs will 

  not detect its effectiveness.

o Be aware that some commercial software is distributed with a time-out date.

  It is possible to lose access to the software by setting the clock forward.

