DOD-Y2K Check 1.5 -- Written by FCC(SW) Dennis Fain, USN -------------------------------------------------------- Program Info --[ Released "as-is" to all DOD personnel, for systems at work or home. ]-- This program should be included in the AUTOEXEC.BAT file so that it runs automatically when the computer is booted. It checks the date to see if the year has a value of 1999-2030. In cases where the CMOS battery has died, the system boots up "zeroed," typically 01-01-1980. DOD-Y2K will see that date as an error, as it will for any date prior to 01-01-1999, a good reason to use this program even after January 1, 2000. If the current year is 2000 or greater, a date error is probably due to the Real Time Clock (RTC) rolling from 12-31-1999 to 01-01-1900 instead of the year 2000. This is a common error in '486 and older computers. DOD-Y2K will activate a screen showing the erroneous date, and allowing the correct date to be entered. The system date will then be set, and the computer will continue to boot up. This program is not a "TSR" or "Terminate and Stay Resident" program, so it does not use up any memory after the program has completed. It does not run in the background. Note: If the date does not come up correctly the next time this system boots up, the date may need to be set manually in the CMOS Setup. Contact your Computer Service Personnel. Some systems are completely unable to store date values in excess of 12-31-1999 without a new BIOS. Other systems are not upgradeable short of motherboard replacement. *Most* '586 or higher systems are not subject to this problem. DOD-Y2K will operate on DOS v3.x or higher, and Windows 95/98(tm). Not for use on Windows NT(tm). Has not been tested on IBM OS2 WARP(tm). To check your computer system for "year 2000 compliance" a program such as YMark2000 from NSTL (National Software Testing Laboratories, CMP Media Inc.) which is available free of charge, should be run. YMark2000 checks the BIOS and RTC to see whether or not they are Y2K compliant. If the only failure is the automatic progression from 12-31-1999 to 01-01-2000, then a program such as DOD-Y2K should remedy the problem. YMark2000 can be downloaded from the Internet at http://www.nstl.com/html/nstl_ymark2000.html and its accompanying readme.txt file gives more insight to the problem. Failures in leap year progression cannot be "fixed" by DOD-Y2K. -----------------------------[ WARNING! ]----------------------------------- A non-compliant computer system should not be operating in a critical role such as accounting systems or any software functions where the inability to automatically roll over to the year 2000 may cause data loss or a crash. Many systems running DOS or Windows(tm) may report the correct date while operating, and may continue to operate correctly as long as they remain energized. For some of these machines, even though the operating system knows what date it is, the RTC and BIOS may not be set correctly. In such cases, the next time the system is booted, the inaccurate BIOS date will trigger DOD-Y2K to prompt for a correction to the system date and store it. It is recommended to test this program on a system before relying on it. Set the system clock to a date such as 01-01-1985 and reboot while DOD-Y2K is in AUTOEXEC.BAT. At the error screen, set date to 01-01-2000 and reboot. When the system reboots, the date should hold the 2000 and boot normally. Since this program was compiled in 1999, any year less than 1999 is logically considered to be invalid. DOD-Y2K Check 1.5 -- Written by FCC(SW) Dennis Fain, USN -------------------------------------------------------- Program Info (Cont) --[ Command Line Options ]-- To run the program from AUTOEXEC.BAT (normal).....: DOD-Y2K For this program information, use command line....: DOD-Y2K /? To demonstrate program alert operation, type......: DOD-Y2K /D For a printout of the program information.........: DOD-Y2K /P > LPT1 - or LPT2, etc. as appropriate To "print" the information out to a text file.....: DOD-Y2K /P > filename - where the "filename" might be DOD-Y2K.TXT Override Lower Year Limit from *1999 to YYYY......: DOD-Y2K /L:YYYY Override Upper Year Limit from *2030 to YYYY......: DOD-Y2K /U:YYYY Suggested usage: Place near the beginning of the AUTOEXEC.BAT file, ensuring it is run prior to any programs which may be date-sensitive such as log files, schedulers, date reminder programs, etc. * Default Lower and Upper Year Limits are 2000 to 2030. The Lower Limit is the year this program was compiled. The absolute upper limit is 2079, today's computers will be ancient artifacts by then anyway. --[Use of Year Limit Overrides: /L:YYYY and /U:YYYY, YYYY=Year limit]-- The Lower Year Limit may be overriden by /L:YYYY on the command line. This feature is provided as a tool to prevent the computer from allowing a year known to be invalid from being used by the system. As an example, after the year 2001 begins, changing the command line to: DOD-Y2K /L:2001 in the AUTOEXEC.BAT will not allow the system to start up with any year prior to 2001, since any earlier year would logically not be correct. Since this program was compiled in 1999, it is the default Lower Limit. The Default Upper Year Limit is 2030. There is probably little chance that one of today's computers will still be in use then, but the Upper Limit can be extended past that year if needed, up to the Absolute Upper Year Limit of 2079. Many of today's computer BIOSs resolve the century for the date by assuming that any year between 00 and 79 must be 2000-2079 so they make the century value 20 instead of 19, hence the Absolute Limit. The Upper Year Limit can be lowered, however, if a narrower range of valid dates is desired. The command line would include /U:YYYY to change it. --[ Version History ]-- Version 1.0 through 1.2 - Experimental beta versions. Version 1.3 - First release version. Added command line options: Demo Mode (SEP 98) and program information features. Version 1.4 - Changed to reflect new WWW address of latest YMark2000 version. (MAR 99) Added Version History. Corrected info screen page numbering. Added Lower and Upper Year Limit Override features. Version 1.5 - Added opportunity to correct the System Time on program exit. (OCT 99) Added warning for Current Year equaling Upper Year Limit. --[ Authoring Information, Release and Disclaimer Notice ]-- Copyright (c)1998,1999 by Dennis Fain, all rights reserved. No government time or resources were used in development of this program. This program was written and compiled in Clarion for DOS, version 3.09 I am a licensed Clarion Developer, and I have released this program as-is into the public domain (freeware), although intended primarily for DOD use. All the usual disclaimers regarding use of software programs apply. NO WARRANTY OR GUARANTEE FOR USABILITY IS IMPLIED IN ANY WAY WHATSOEVER. THE AUTHOR ASSUMES NO LIABILITY FOR ANY LOSSES SUBSEQUENT TO USE OF PROGRAM. This is a free program. No licenses, registraton or fees are applicable, although donations would be a welcome surprise, and greatly appreciated! Just send me an e-mail for my current mailing address. My e-mail address is " y2k@fain.net " and if your organization decides to use this program, please let me know. Download the latest version from... http://www.fain.net/y2k