home *** CD-ROM | disk | FTP | other *** search
/ Computer Buyer 1997 September / RADEMO.iso / editor / year2000 / YEAR2000.TXT < prev   
Text File  |  1997-03-16  |  14KB  |  327 lines

  1. Year2000.Com v2.16  1997-03-17  (AMIBIOS information)
  2. The executable file name of previous versions was Year2000.Exe.
  3.  
  4.  
  5. Tom Becker
  6. The RighTime Company, Miami, USA
  7. Voice: (305)644-6500
  8. Email: GTBecker@RighTime.com
  9. Web:   www.RighTime.com
  10. BBS:   (305)644-6185
  11.  
  12.  
  13. Year2000.Com (formerly Year2000.Exe) is a small resident program for
  14. DOS, OS/2 and Windows that fixes the year 1999 to 2000 date change
  15. flaw of the CMOS RTC in AT-class PCs and PS/2s, 286 through Pentium
  16. and its clones.  It works, and it's free for personal, non-business
  17. use (a licensed business version is available; see below).
  18.  
  19. This program or its documentation can change from time to time.  If
  20. you did not get this from
  21.  
  22.      www.RighTime.com
  23.  
  24. it's worth a visit to see if there's been a more recent version made
  25. available.  Our BBS at (305)644-6185 is another source.
  26.  
  27.  
  28.      Introduction:
  29.  
  30. A serious problem was designed into the PC in 1984 (and into many
  31. applications since) and remains a problem today: most computer
  32. systems will not gracefully enter the next century, only a few years
  33. away.  The system date will probably be incorrect - without
  34. assistance, anyway - on 2000-01-01 or later because of a hardware
  35. design flaw.  Similarly, many software applications will misbehave
  36. as the year 2000 is approached and passed, too, even if the system
  37. date is correct.
  38.  
  39. As this is written, machines are being produced that contain a BIOS
  40. that exerts measures intended to cure the CMOS RTC century problem;
  41. it's probably safe to expect that these will become the norm
  42. eventually.  None of these new BIOSs that we've seen solve the
  43. entire problem, however, since they make no attempt to correct the
  44. CMOS RTC century byte in real time, some only correct it at boot,
  45. and some simply misreport the hardware date and make no effort to
  46. correct it at all.
  47.  
  48. Some BIOSs will supply 2000 to the operating system, even though the
  49. hardware date is really 1900.  Any application that uses the CMOS
  50. RTC date (rather than the operating system date) will still fail at
  51. the moment of the century change, even on machines that sport a
  52. 'year 2000 compliant' BIOS.  Many time-and-attendance packages,
  53. machine automation, data acquisition, and instrumentation and
  54. process control applications are susceptible since their developers
  55. long ago learned to distrust the operating system clock/calendar,
  56. opting instead for the relative stability of the hardware clock.
  57.  
  58. Excepting these recent BIOS-equipped machines, virtually 100% of the
  59. PCs in use today will fail to advance the date to year 2000 under
  60. any circumstance; this program will help those machines that are
  61. still in service then.
  62.  
  63. We suggest that you install Year2000 now to be certain that your
  64. machine is corrected automatically.
  65.  
  66.  
  67.      It's a Hardware Design Problem:
  68.  
  69. The standard PC computer system maintains two system dates; one is
  70. in the CMOS Real Time Clock chip - a hardware component that is
  71. normally on the machine's motherboard - and one is in the DOS (and
  72. Windows) operating system software.
  73.  
  74. These two dates are represented differently.  The CMOS RTC date is
  75. kept as century/two-digit-year/month/day and the DOS date is kept as
  76. days-since-1980/01/01 which is converted to
  77. four-digit-year/month/day when any program asks for it.  When DOS
  78. boots, it normally initializes its current date by reading the date
  79. in the CMOS RTC and converting it to days-since-1980/01/01.  DOS
  80. maintains its date as long as the system is running; the CMOS RTC
  81. hardware maintains its date whether the system is running or not,
  82. but it does not maintain the century.  In the CMOS RTC, year 99
  83. overflows to 00 and the century remains unchanged so the effective
  84. year becomes 1900; in DOS, year 1999 overflows to 2000.  So until
  85. the system is rebooted, there will appear to be no problem with the
  86. transition from year 1999 to 2000; but trouble lurks in the CMOS RTC
  87. date, which has become year 1900.
  88.  
  89. If, when DOS boots, it reads an out-of-range date from the CMOS RTC,
  90. as 1900 is, the date conversion algorithm (to days-since-1980/01/01)
  91. calculates an erroneous 1980-01-04; that's what the DOS date will
  92. become after rebooting the system after the year 2000 transition if
  93. the CMOS RTC exhibits the standard flaw.
  94.  
  95. A few specific BIOSs cause behavior other than the standard flaw.
  96. Importantly, the Award v4.50 series BIOS might not allow any date
  97. after 1999 and the Award v4.51PG BIOS - currently common among
  98. Pentium- and 486-based machines reports 2096 under some
  99. circumstances.  Some AMI BIOSs will force the CMOS RTC date to
  100. 1980-01-01 at boot.  These BIOSs can not be corrected by software;
  101. they must be upgraded.  See references, below.
  102.  
  103.  
  104.      A Test:
  105.  
  106. [The following tests require that you simulate December 31, 1999 and
  107. January 1, 2000 dates in your machine.  Before you change your
  108. system date to the future, consider whether your system software
  109. might automatically do something that you'd rather avoid.  For
  110. example, if you run a scheduler that will automatically delete
  111. events in the past it might discard your appointments for next week
  112. if you set the date beyond next week.  To avoid such effects, either
  113. temporarily disable the susceptible software or temporarily remove
  114. it from the Startup group or folder.  If you run no software that
  115. runs automatically and is triggered by date, you need not take any
  116. special precautions.  Alternatively, you might consider booting from
  117. a bootable diskette to avoid your main applications altogether.]
  118.  
  119. You can easily determine if your system suffers the year 2000 CMOS
  120. RTC flaw.  From a DOS prompt (ideally with no CONFIG.SYS or
  121. AUTOEXEC.BAT) perform the following steps:
  122.  
  123. Power off test:
  124.      C:>DATE 12-31-1999
  125.      C:>TIME 23:59
  126. - Power off for more than one minute,
  127. - Power on.  Allow the system to boot.
  128. - Check the DOS date.  It should be 01-01-2000.  If it's not
  129.      (it's usually 01-04-1980), the machine exhibits the
  130.      year 2000 flaw.
  131.  
  132. Power on test:
  133.      C:>DATE 12-31-1999
  134.      C:>TIME 23:59
  135. - Wait for more than one minute; you can watch an on-screen
  136.      clock if you like (but not the BIOS Setup clock screen).
  137. - Check that the DOS year has changed to 2000.
  138. - Reboot.  The DOS year should still be 2000.
  139.  
  140. While you're at it, check to see if your year 2000 is a leap
  141. year (see references below):
  142.      C:>DATE 02-29-2000
  143. - If you get an error, the BIOS is incorrect.  Year 2000 will
  144.      be a leap year, so this set should be valid.
  145.  
  146. Don't try to do these tests from the BIOS Setup screen.  The BIOS
  147. will likely wrap the date from 12-31-1999 to 01-01-1980 (or 1994),
  148. not to the normal 01-01-1900, invalidating the test.
  149.  
  150. If you try these tests with Year2000.Com installed, you should see
  151. correct results.  [If you do not see correct results, please report
  152. it so we can investigate your machine type.]
  153.  
  154.  
  155.      A Solution:
  156.  
  157. Assuming the user remembers to do so - a critically important detail
  158. - this erroneous DOS date can usually be corrected by simply setting
  159. the date to what it should be; DOS will (via the BIOS) set the CMOS
  160. RTC century correctly so subsequent boots will yield the correct
  161. date.  The date will be incorrect, though, until the correct date is
  162. set (a network login will usually set the date).  Or, if
  163. Year2000.Com is installed, the century correction will happen
  164. automatically.
  165.  
  166. Year2000.Com applies a simple rule: if the CMOS RTC two-digit year
  167. (in CMOS address 9) is less than 80 the century (in CMOS address
  168. 50d, or 55d for PS/2 machines) is assumed to be 20, otherwise the
  169. century is assumed to be 19.  This makes the resulting year range
  170. 1980 through 2079 rather than 1980 through 2099, the usually
  171. expressed limits, but in 2079 these machines will be relics at best,
  172. so it's doubtful that this will be a practical detriment.  The
  173. century change rule must be applied at two times: at boot, to cover
  174. the likelihood that the year change has occurred while powered off,
  175. and, when powered on, at each time the CMOS RTC two-digit year
  176. changes (which only occurs once each year at New Year's Eve
  177. midnight). Year2000.Com uses standard periodic interrupts to test
  178. for this occasion. If, when Year2000.Com loads, the year is already
  179. 2000 or greater, it will not remain resident since the program then
  180. serves no purpose.  When it is resident, though, it occupies less
  181. than 700 bytes, uses trivial processor time, and should exhibit no
  182. compatibility problems.
  183.  
  184.  
  185.      Installation:
  186.  
  187. For DOS and Windows:
  188.     Simply execute Year2000.Com early in AUTOEXEC.BAT.
  189.  
  190.     For example, if you choose to put Year2000.Com in a directory
  191.     you've named Y2K on your C: disk drive, you must place this
  192.     statement in your AUTOEXEC.BAT file:
  193.         C:\Y2K\Year2000.Com
  194.  
  195.     The program will work properly under DOS through Windows
  196.     95.
  197.  
  198. For OS/2:
  199.     Drop the Year2000.Com program object in the Startup folder.
  200.     You may select Session options to run in a minimized DOS
  201.     window if you wish; no other settings are required.
  202.  
  203.  
  204.     Business licensing:
  205.  
  206. The RighTime Company offers four types of license for business use
  207. of Y2KPCPro, the licensed version of Year2000.Com.  Licensing is
  208. inexpensive.  Please contact us for details.
  209.  
  210. The RighTime Company
  211. 590 Southwest 23 Avenue
  212. Miami, Florida 33135-3123 USA
  213.  
  214. Email:     RighTime@RighTime.Com
  215. Web page:  www.RighTime.Com
  216.  
  217. Fax:       (305)644-6515 or (500)448-9661
  218. BBS:       (305)644-6185 or (500)673-4625
  219. Voice:     (305)644-6500 or (500)448-9660
  220.  
  221.  
  222.      A Suggestion:
  223.  
  224. Year2000.Com is an extract of RighTime - the learning high precision
  225. system clock manager.  RighTime solves all of the system clock
  226. problems that are inherent in the AT-class PC and produces a clock
  227. that is reliable, highly accurate and secure.  Reliably correct
  228. system time is important; RighTime should be running on your
  229. machines to be certain that yours is correct.
  230.  
  231.  
  232.      Copyright notice:
  233.  
  234. Y2KPCPro, Year2000.Com, Year2000.Exe and this file (Year2000.Txt)
  235. are Copyright 1995-1997, GTBecker, Miami.  All rights are reserved.
  236.  
  237. For personal use, permission is granted to freely copy, distribute
  238. and use this program in its complete, unmodified form including this
  239. text file.  In business service, this program may be used only for
  240. evaluation; a low-cost, licensed version of this program (Y2KPCPro)
  241. is available.  Contact us for details.
  242.  
  243. No warranty of performance or suitability is expressed or implied.
  244. Every effort has been made to make this software program deliver as
  245. this documentation describes, but the correctness for your
  246. application or environment cannot be assured.  The RighTime Company
  247. cannot assume responsibility for the failure of this software
  248. program, nor for any consequence of its use.  You are encouraged to
  249. test the applicability of this program to your requirements.
  250.  
  251.  
  252.      References:
  253.  
  254. Is the year 2000 a leap year?
  255.           "The year 2000 will be a leap year.  Century years
  256.      (like 1900 and 2000) are only considered leap years if
  257.      they are evenly divisible by 400.  Therefore, 1700,
  258.      1800 and 1900 were not leap years, but the year 2000
  259.      will be a leap year."
  260.           "To understand this, you need to know why leap
  261.      years are necessary in the first place.  Leap years are
  262.      necessary because the actual length of a year is [about]
  263.      365.242 days, not 365 days, as commonly stated.
  264.      Therefore, on years that are evenly divisible by four
  265.      (like 1992, for example) an extra day is added to the
  266.      calendar on Feb. 29.  However, since the year is
  267.      slightly less than 365.25 days long, adding an extra
  268.      day every four years results in about three extra days
  269.      being added over a period of 400 years.  For this
  270.      reason, only one out of every four century years is
  271.      considered as a leap year."
  272.  
  273.      from NIST:
  274.      http://www.bldrdoc.gov/timefreq/faq/faq.htm
  275.  
  276.  
  277. AMIBIOS information:
  278.  
  279.      Some AMI BIOSs will reset the CMOS RTC date to 1980-01-01 at
  280.      boot; these BIOSs must be upgraded.  AMI will support the AMI
  281.      BIOS on AMI motherboards, but AMI will not support AMIBIOS
  282.      problems on non-AMI motherboards; you must contact the OEM or
  283.      motherboard manufacturer.
  284.  
  285.      According to AMI, "All current versions of AMIBIOS 95, core 
  286.      date 7-15-95, and future versions of AMIBIOS are year 2000
  287.      compliant.  All previous OEM versions of AMIBIOS can be changed
  288.      only by the system OEM to support the year 2000 feature.  This
  289.      change can be given directly to the system OEM from American
  290.      Megatrends."
  291.  
  292.      from AMI:
  293.      http://www.amibios.com/2000.html
  294.  
  295.           American Megatrends, Inc.
  296.           6146-F Northbelt Parkway
  297.           Norcross, GA 30071-2976 USA
  298.           770-246-8600 (Voice)
  299.           770-246-8645 (AMIBIOS Technical Problems)
  300.           http://www.megatrends.com
  301.           http://www.amibios.com
  302.  
  303.  
  304. Award v4.50G and Award v4.51PG BIOS information:
  305.  
  306.      If you have a machine that uses the Award v4.50 series
  307.      BIOS (most commonly v4.50G), you might find that the
  308.      BIOS (and therefore the CMOS RTC) will not accept any
  309.      dates after 1999 nor prior to 1994.  Also, the Award
  310.      v4.51PG BIOS apparently yields year 2096 under some
  311.      circumstances.  Award tells us that you should be able
  312.      to get a BIOS upgrade from the OEM (the machine or
  313.      motherboard's supplier or manufacturer).  If you are
  314.      unable to determine the OEM or can't contact them, get
  315.      the BIOS part number from the top of the CMOS Setup
  316.      screen and contact Award directly.
  317.  
  318.           Award Software International Inc.
  319.           777 East Middlefield Road
  320.           Mountain View, CA 94043-4023 USA
  321.           415-968-4433 (Voice)
  322.           415-968-0274 (Fax)
  323.           support@award.com
  324.           http://www.award.com
  325.  
  326.  
  327.