home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 1999 Hardware / PCWExtra.iso / sharewar / pcproble / CMOSSV.EXE / CMOS.TXT < prev    next >
Encoding:
Text File  |  1997-09-18  |  27.2 KB  |  660 lines

  1. CMOS.TXT - Shareware to restore damaged CMOS
  2.  
  3. Last updated 1997 September 17 by Roedy Green
  4.  
  5. The most important fact you will want to know about this package is
  6. how to turn it off.  If the CHKCMOS.BAT has been installed in
  7. AUTOEXEC.BAT, you must delete the files C:\SAFE\CMOS.SAV and
  8. C:\SAFE\BOOT.SAV B_E_F_O_R_E making any changes to CMOS or to the
  9. partitions.  Otherwise, CHKCMOS will put CMOS back the way it was and
  10. BOOTREST will put back the partition table.  This is deliberate to
  11. keep naive users from experimenting with CMOS.  You may have
  12. installed CHGCMOS.BAT and CHGBOOT.BAT files to do this deleting for
  13. you.
  14.  
  15. The second most important fact is you must use CMOSSAVE BEFORE you
  16. have trouble.  If you have not done so, CMOSREST won't do you a lick
  17. if good once your CMOS is corrupted.
  18.  
  19. GETTING THE LATEST VERSION
  20. **************************
  21.  
  22. You can find the latest CMP utilities via my home page at:
  23. http://oberon.ark.com/~roedy/
  24.  
  25. PURPOSE
  26. *******
  27.  
  28. 1. Naive users sometimes fiddle with CMOS settings.  We need a fast
  29. way to put the scores of subtle CMOS configuration settings back the
  30. way they were.
  31.  
  32. 2. Power surges can corrupt CMOS.  We need a way for a naive user to
  33. quickly restore all the CMOS settings.
  34.  
  35. 3. If the battery fails, the contents will be lost.  We need a way to
  36. restore a known working CMOS configuration.
  37.  
  38. 4. You may want to alter some obscure CMOS setting and you don't have
  39. a program to set it.
  40.  
  41. 5. CMOSRest can also be used to toggle between two CMOS
  42. configurations, for example with and without a removable hard drive
  43. installed.  If you had removable hard disks, you could rapidly switch
  44. between the various disks.
  45.  
  46. 6. CMOSChk can detect subtle corruption to CMOS, as might be caused
  47. by a rogue program or a virus, something that might slow your machine
  48. or make it unreliable.
  49.  
  50. 7. CMOSSave can create a backup of your CMOS on floppy.  This way you
  51. may safely experiment with CMOS settings.  You can always get back to
  52. where you started by using CMOSRest to restore the original settings.
  53. Any time you fiddle with the computer innards, you might accidentally
  54. disconnect the battery, losing CMOS.  CMOSSAVE lets you put it back
  55. the way it was.
  56.  
  57. 8. Testing your machine for year Y2K 2000 compliance, to make sure
  58. the BIOS will kick the date over properly in the year 2000.
  59.  
  60. WHAT IS CMOS
  61. ************
  62.  
  63. Your computer has three kinds of memory, RAM, CMOS and hard disk.
  64. When the power turns off, your computer forgets everything in RAM.
  65. Your much slower hard disk retains its magnetic memory.  When the
  66. power is off, your tiny CMOS memory is kept alive by battery backup
  67. (ideally a lithium battery, sometimes a rechargeable nicad battery,
  68. or worst of all a pack of ordinary alkaline batteries.) In the CMOS
  69. is recorded basic facts about your configuration -- the size and
  70. geometry of your hard disk, how many floppy drives you have and what
  71. type, how much RAM you have, how many wait states need to be added to
  72. slow down the CPU enough to work with your RAM, etc. etc.
  73.  
  74. The data in CMOS RAM can only be examined or changed with a special
  75. program such as CMOSSAVE.  It is not a file. If you are curious about
  76. how CMOSSAVE does the access, have a look at the notes in the source
  77. code in CMOS.ASM.
  78.  
  79.  
  80. When the battery dies, or does when a recharegeable battery not get
  81. sufficient on time to recharge, the CMOS fails, and it forgets all it
  82. knows about your configuration.
  83.  
  84. CMOSSAVE is designed to restore this lost information by storing
  85. copies of it on floppy and/or hard disk.
  86.  
  87. SYNTAX
  88. ******
  89.  
  90. There are three utilities in the CMOS suite:
  91.  
  92. CMOSSAVE.COM  A:Myfile.Sav
  93. IF ERRORLEVEL 1 GO TO Trouble
  94.  
  95.         - saves a copy of CMOS in a file on hard disk or floppy.
  96.  
  97. CMOSREST.COM  A:MyFile.Sav
  98. IF ERRORLEVEL 1 GO TO Trouble
  99.  
  100.         - restores CMOS from a file on hard disk or floppy.
  101.  
  102. CMOSCHK.COM   A:MyFile.Sav /Q
  103. IF ERRORLEVEL 1 GO TO FixIt
  104.  
  105.          - checks that CMOS has not been fiddled with since the
  106.            last CMOSSAVE.  Compares CMOS with a file on hard disk
  107.            or floppy.
  108.  
  109.         - /Q suppresses unnecessary banner messages.
  110.  
  111. HINTS ON USE
  112. ************
  113.  
  114. There are three ways you can use the suite manually,
  115. automatically, and with a rescue diskette.
  116.  
  117. 1.  Manually.
  118.     Prepare a bootable floppy with the command:
  119.     Format A: /S /V /U /F:1.44MB
  120.     Install CMOSSAVE.com and CMOSREST.com on your hard disk
  121.     into C:\CMP
  122.     You can create such a directory with:
  123.     MD C:\CMP
  124.     This directory need not be on the path, but if it is not, you
  125.     will have to type C:\CMP\CMOSSAVE instead of just CMOSSAVE.
  126.     Backup your CMOS to the bootable floppy with:
  127.        CMOSSAVE.com A:\CMOS.SAV
  128.        COPY C:\CMP\CMOS*.com A:
  129.     If ever your cmos becomes corrupted, correct it by booting
  130.     from floppy and typing:
  131.         CMOSREST.com A:\CMOS.SAV
  132.     Then reboot.  In this case you don't bother with CMOSCHK.com at all.
  133.  
  134. 2.  With a rescue diskette.  Prepare a bootable floppy with an
  135.     autoexec.bat that invokes the following commands to correct
  136.     most CMOS and hard disk problems:
  137.     CMOSREST A:\CMOS.SAV
  138.     BOOTREST A:\BOOT.SAV
  139.     CHKDSK C:/F
  140.     SYS C:
  141.     COPY A:\COMMAND.COM  C:\
  142.     COPY A:\COMMAND.COM  C:\DOS
  143.     (BootRest.com shareware is separately available.
  144.     It is part of the package we send when you register.)
  145.     You need to make a separate rescue disk for each machine unless
  146.     the machines are absolutely identical including hard disk size.
  147.  
  148. 3.  Automatically. Insert the line:
  149.     CALL C:\CMP\CHKCMOS.BAT
  150.     in your autoexec.bat.   This bat file uses CMOSCHK.com to
  151.     compare the contents of CMOS with what it should be.
  152.     If there is a mismatch, it will invoke
  153.     CMOSREST.com to put it back. then REBOOT.com to try again.
  154.     Note this method will not be able to recover if the CMOS
  155.     is badly damaged.  You will have to revert to method 1 or 2.
  156.     Note that CHKCMOS.BAT needs to be configured with a text
  157.     editor before use.
  158.     Need.com and Reboot.com are shareware available separately.
  159.     They are included in the package we send when you register.
  160.     You may also find the latest versions on uwasa.garbo.fi or
  161.     on BIX in IBM.UTILITIES/LISTINGS under the name
  162.     cmossv??.zip.
  163.  
  164.     NOTE THE NAMES: CHKCMOS.BAT but CMOSCHK.com!!!
  165.  
  166.  
  167. BELT AND SUSPENDERS
  168. *******************
  169.  
  170. Do a CMOSSAVE both to hard disk and to floppy.  The hard disk copy
  171. can be used for quick restores with the following two lines added to
  172. your AUTOEXEC.BAT file.  Use a text editor to add these lines.
  173.  
  174. CMOSCHK.COM  C:\CMP\CMOS.Sav
  175. IF ERRORLEVEL 1 CMOSREST.COM  C:\CMP\CMOS.Sav
  176.  
  177. At that point you must reboot before the restored cmos settings take
  178. effect.  See CHKCMOS.BAT for a realistic way to handle this.  You
  179. will will have to tune that BAT file a little to suit your machine,
  180. either by replacing the %XXX% or inserting SET commands.
  181.  
  182. Sometimes CMOS will be so badly damaged the hard disk parameters will
  183. be corrupt and your hard disk will stop working.  In that case you
  184. will have to revert to using the floppy copy.
  185.  
  186. Whenever you change your CMOS setting deliberately, you need to redo
  187. the CMOSSAV.COM.  However USE A NEW FILENAME, so that you can easily
  188. revert to the old version if your new settings do not pan out.
  189.  
  190. If you are just making a minor change, you can simply delete the
  191. existing *.SAV files, and CHKCMOS.BAT will recreate them.  If you
  192. fail to do this, CHKCMOS.BAT will presume the changes were
  193. unintentional and will undo them.  To someone unfamiliar with
  194. CMOSSAVE, having his deliberate CMOS changes undone can be very
  195. disconcerting.
  196.  
  197. HOW IT WORKS
  198. ************
  199.  
  200. CMOSSAVE.COM simply copies the 128 byte contents of the CMOS bytes to
  201. a file.  CMOSREST.COM copies them back.  CMOSCHK compares them with
  202. the file contents.  If they are not equal it sets ERRORLEVEL 1.
  203.  
  204. CMOSREST does not touch bytes 0 to 09 and 32h because these are
  205. volatile -- they contain the date and time.  Similarly CMOSCHK, does
  206. not panic if any of these volatile bytes differ.  However, CMOSSAVE
  207. saves all 128 bytes, so that you can browse the generated file with a
  208. hex editor to learn more about how CMOS works. 
  209.  
  210. You need some sort of hex viewer to see the contents of the CMOS.SAV
  211. file.  I use a free one called Hexview I got from
  212. www.sprynet.com/sprynet/funduc.  There is one built into QDOS.  The
  213. old DOS version of the Norton utilities DE (DiskEdit) had a hex
  214. viewer.  The hex list of bytes is not that meaningful if you are not
  215. a computer programmer.
  216.  
  217. Daring users could even patch the CMOS.SAV file with a hex editor and
  218. restore to get special effects, e.g.  to switch between two different
  219. CMOS configurations e.g.  one with and one without some hard disk.
  220. Don't attempt to edit the file with a non-hex viewer such as NotePad,
  221. WordPad, Write or Word For Windows.  If you do, you will scramble
  222. the file beyond recognition.
  223.  
  224. Because CMOSSave also saves the extended CMOS bytes, CMOSRest will
  225. restore the esoteric options like shadow RAM, wait states, processor
  226. clock speed, HMA enable etc.  It works on ISA, EISA and PCI machines.
  227.  
  228. These is no need to calculate checksums, since the checksum is saved
  229. and restored just like any other CMOS byte.
  230.  
  231. I have included a sample file called CHKCMOS.BAT.  You can insert a
  232. CALL to it in your AUTOEXEC.BAT.  It uses all three utilities in a
  233. fairly sophisticated way.  Using CHKCMOS.BAT requires fairly good
  234. knowledge of BAT files to customize it for your needs.  Don't worry
  235. if this technique is beyond your current skill.  Just use the the
  236. simpler manual floppy disk method described above.
  237.  
  238.  
  239. HOW CMOS IS USED
  240. ****************
  241.  
  242. CMOS is battery backed RAM that stores configuration information when
  243. the power is off.  It is on my top ten worst ideas list of all time.
  244. The problem is, CMOS is far too easily corrupted, by programs, power
  245. or naive users experimenting.
  246.  
  247. See CMOS.OFS for a detailed list of what each byte in the CMOS is
  248. used for.  This is usually of interests to technophiles only.
  249.  
  250. TROUBLESHOOTING
  251. ***************
  252.  
  253. CMOSSAVE is compatible with every machine I have so far encountered.
  254. There are a few that have additional proprietary CMOS that CMOSSAVE
  255. does not see, but CMOSSAVE saves the crucial areas.  Because
  256. different vendors use CMOS in different ways, CMOSCHK can give false
  257. alarms when bits of CMOS change legitimately.
  258.  
  259. What is considered volatile and what is not, might vary for different
  260. motherboards.  If you have trouble restoring, DO NOT DESPAIR.  All is
  261. recorded.  A variant of the CMOSREST program could get you back.  All
  262. you need do in make a slight modification to the assembler source
  263. VOLATILE routine that decides which bytes to consider volatile.  Even
  264. a very junior MASM programmer could make that modification for you if
  265. you have registered and have the assembler source.
  266.  
  267. Sometimes your CMOS will be so wrecked you cannot even get your
  268. machine limping enough to run CMOSREST from floppy.  In that case you
  269. must clear CMOS.  Do this on AMI BIOSes by holding down the INS key,
  270. powering off, powering on, then releasing the INS key.  In the worst
  271. case, remove the battery and let the capacitance on the board drain
  272. overnight to clear it. On some CMOSes you can clear CMOS by selecting
  273. universal default settings from the normal CMOS setting menu.
  274.  
  275. You can then get a bare bones CMOS configured -- that just has the
  276. floppies right. Nothing else much matters.  From there you can run
  277. CMOSREST.COM.
  278.  
  279. The SSTOR disk formatting utility from Storage Dimensions makes it
  280. look as though it had modified CMOS.  If you boot without the SSTOR
  281. driver, CMOS will appear to have changed because SSTOR is not doing
  282. its standard trickery.
  283.  
  284. The NCR CMOSDR6X program interferes with CMOSSAVE and CMOSREST.  Make
  285. sure you do your CMOSSAVE CMOSREST work before loading this program.
  286.  
  287. The TURBO setting is part of CMOS.  If you accidentally turn turbo
  288. mode off, CMOS will appear to be changed, and CMOSCHK will complain.
  289. To clear the problem, set turbo back on and allow the CMOSCHK to
  290. restore CMOS. This way CMOSCHK will remind you if you have
  291. accidentally turned off turbo mode.  This feature can be turned off
  292. by making the byte where your turbo info is stored volatile.  If you
  293. want this feature, just send the CMOSCHK listing that complains about
  294. CMOS being changed when you register.
  295.  
  296. ***************************************************************
  297. ***************************************************************
  298. I repeat: CMOSREST won't do you a lick of good unless you run
  299. CMOSSAVE BEFORE you have trouble.  Make sure you have copies of
  300. CMOS.SAV both on hard disk and on floppy.
  301. ***************************************************************
  302. ***************************************************************
  303.  
  304. There is a companion program called BOOTSAVE that works in a similar
  305. way to protects your boot track from damage by rogue programs or
  306. viruses.  Again, you must use it BEFORE you have trouble.  When you
  307. register, I will send you a copy of BOOTSAVE, and REBOOT, which are
  308. useful adjuncts to CMOSSAVE. These should be available on the same
  309. site you found CMOSSAVE.
  310.  
  311. CMOSREST does not take effect until you REBOOT!!
  312.  
  313. VERIFICATION FIRE DRILL
  314. ***********************
  315.  
  316. CMOSSave and CMOSTRest have internal checks to warn you if they are
  317. not functioning.  However, you can assure yourself they are working
  318. properly by using CMOSSave, then changing some minor setting in CMOS
  319. (e.g. to add an extra unneeded wait state), then use CMOSChk to
  320. detect the "damage" then CMOSRest to restore the CMOS back the way it
  321. was.  If all is working correctly, the minor change should be undone.
  322.  
  323. FALSE ALARM CMOSCHK CORRUPTION MESSAGES
  324. ***************************************
  325.  
  326. Some non-standard BIOSes have additional volatile portions that
  327. CMOSCHK does not know about.  It will report false corruptions.
  328. There are three ways you can handle the problem:
  329.  
  330. 1. Send me a screen print of what CMOSCHK is saying.  I will send you
  331. a custom version with those false mismatches considered as volatile
  332. bytes.  You must register if you want this service.
  333.  
  334. 2. Modify the "VolatileList" line in CMOS.ASM yourself to include the
  335. extra offsets your BIOS is treating as volatile.  Then reassemble.
  336. CmosChk.com will give you a list of offsets where it thinks there are
  337. mismatches.  It is up to you to determine which ones you think are
  338. false alarms.
  339.  
  340. 3. Simply avoid using CMOSChk.  Just use CMOSSAVE and CMOSREST.  Most
  341. of the time damaged CMOS is fairly obvious.
  342.  
  343. WHAT IF YOU HAVE ALREADY CRASHED?
  344. *********************************
  345.  
  346. CMOSSAVE is prophylaxis, not a cure.  You have to use it BEFORE you
  347. have trouble. (Hmm. Is there is an echo in here?) However, what can
  348. you do if your CMOS is wrecked and you have no CMOS.SAV backup of it?
  349.  
  350. You had best get an expert to help you set the CMOS back to defaults
  351. and guess the fine tuning for the parameters.  The dealer who sold
  352. you the machine is the best person to help. He may be able to contact
  353. the disk manufacturer to find out how many heads and cylinders it
  354. has.  He may be able to find hints in the motherboard manual.
  355.  
  356. If your machine has an EXACT TWIN, you may still be in luck.  You can
  357. make a backup of the CMOS on that machine, then restore it into the
  358. ruined one.  Don't try this unless the machines are ABSOLUTELY
  359. identical.  There is a good chance you will destroy your hard disk
  360. data if you transplant a CMOS from a different sized disk.
  361.  
  362. You can manually set CMOS back if you hit the magic keys during hard
  363. boot, often DEL, F2, or Ctrl-Alt-Esc.  Sometimes you need a diskette
  364. to set up CMOS.  Check the manual that came with your motherboard, or
  365. check with the company that sold it to you.
  366.  
  367. Usually there is a way to set CMOS settings to default.  In a pinch
  368. you can do it by removing the battery for a day or two.
  369.  
  370. WINDOWS 95
  371. **********
  372.  
  373. CMOSSAVE is a DOS program that gets its data from the command line.
  374. The most common mistake is to try to run CMOSSAVE directly from
  375. Windows 95 Explorer, rather than by first starting a DOS box or
  376. setting up the CMOSSAVE command line in the properties for the icon.
  377.  
  378. Windows 95 still has a C:\autoexec.bat just as under DOS.
  379. Alternatively go into a DOS box and use the CMOSSSAVE utilities just
  380. as you would under DOS to add the call to CHKCMOS.BAT or to directly
  381. invoke CHKCMOS.COM.  still use CMOSSAVE and CMOSREST just as under
  382. previous versions of DOS and Windows.  Putting cmoschk.com in your
  383. autoexec just helps you detect cmos corruption the instant it occurs.
  384.  
  385. Windows 95 users often have no understanding of the DOS CD, MD and
  386. path commands, how to edit autoexec.bat or even how to run a DOS
  387. program.  If you are one of this new breed, your best bet is to get
  388. help from someone who is familiar with DOS, since if CMOS is corrupt
  389. you will need to revert to DOS to get Windows going again.
  390.  
  391. You can run the utilities either in autoexec.bat, in DOS or 4DOS box,
  392. in a BAT file, or by creating a shortcut, complete with parameters on
  393. the command line.
  394.  
  395. However, here is a crude, but fool-proof recipe to use cmossave
  396. manually under Windows 95.
  397.  
  398. Copy the files cmossave.com, cmoschk.com and cmosrest.com to a
  399. freshly formatted floppy in your A: drive.
  400.  
  401. In Win 95, select Start, Programs, MS DOS Prompt to get you to the
  402. Win 95 DOS box.  Type:
  403.  
  404.         c:
  405.         sys a:
  406.         a:
  407.         cmossave cmos.sav
  408.         exit
  409.  
  410. If later suspect your CMOS is corrupted boot from that floppy. Then
  411. type:
  412.  
  413.         A:
  414.         cmoschk cmos.sav
  415.  
  416. If it turns out it is indeed corrupt, then type
  417.  
  418.         cmosrest cmos.sav
  419.  
  420. Then remove the floppy and reboot by hitting either Ctrl-Alt-Del, the
  421. reset button, or if all else fails, power off/power on.
  422.  
  423.  
  424. Y2K Year 2000 Compliance
  425. ************************
  426.  
  427. Some older machines will not work properly in the year 2000 because
  428. the BIOS will not handle dates past 1999.  You would probably want to
  429. know if your machine will have this problem.  Unfortunately, if you
  430. perform an experiment by setting the date to 2000 Jan 01, some BIOSes
  431. forget EVERYTHING. If you make a backup first with CMOSSAVE, you can
  432. easily restore CMOS to its orginal settings.
  433.  
  434. If you are testing a number of machines, make sure you erase the
  435. CMOS.SAV file on floppy between tests.  You don't want to
  436. accidentally restore the CMOS.SAV file from one machine into another
  437. (unless they were absolutely identical, including hard disk size.)
  438.  
  439.  
  440. XT COMPUTERS
  441. ************
  442.  
  443. You will find that XT computers don't HAVE a CMOS, so CMOSSAVE will
  444. not do you much good.
  445.  
  446. You can configure XT floppies using DOS's DRIVPARM.
  447.  
  448. Back in the good old days of the XT you had to use proprietary
  449. methods to format hard disks and tell DOS how big they are.
  450. Typically you fired them up with debug g=c800:5 and talked with a
  451. proprietary ram-based low level formatting program. Then you later
  452. used DOS format.  HDSNIFF goes into this in much more detail.
  453. Briefly:
  454.  
  455.   Brand      Debug Init Step byte code interpreted as step pulse rate
  456.   ═════      ══════════ ═════════════════════════════════════════════
  457.   Adaptec    g=c800:ccc 3=13 µs, 2=30 µs, 5=70 µs, 4=200 µs, 0=3 ms
  458.   DTC5150CRH g=c800:5   2=12 µs, 5=70 µs, 4=200 µs, 0,1,6,7=3 ms
  459.   DTC5150XL  g=c800:5   0=5,10,20,30,40,50,60,70 µs (cannot tell which!)
  460.   IBM/Xebec             5=70 µs, 4=200 µs, 0,6,7=3 ms
  461.   Omti       g=c800:6   1=10 µs, 2=25 µs, 3=40 µs, 5=70 µs, 4=200 µs,
  462.                         0,6,7=3 ms
  463.   WD-old     g=c800:5   5=70 µs, 4=200 µs, 0,6,7=3 ms
  464.   WD1002-WX1 g=c800:5   3,7=10.5 µs, 2=22.5 µs, 6=28.5 µs, 1=46.5 µs,
  465.                         5=70.5 µs, 4=202.5 µs, 0=3.1 ms
  466.   WD10025WX2 g=c800:5   3,7=18 µs, 6=30 µs, 1=45 µs, 2=60 µs, 5=75 µs,
  467.                         4=210 µs, 0=3ms
  468.   WD1002-27X g=c800:5   3,7=8 µs, 1,2,4,5,6=24 µs, 0=3 ms
  469.   WD1004-WX1 g=c800:5   3,7=12 µs, 6=27 µs, 1=51 µs, 2=63 µs, 5=75 µs,
  470.                         4=207 µs, 0=3 ms
  471.   WD1004-27X g=c800:5   3,7=8 µs, 1,2,4,5,6=24 µs, 0=3 ms
  472.   WD1004A27X g=c800:5   3,7=11 µs, 1,2,4,5,6=24 µs, 0=3.3 ms
  473.   WD-XT-GEN1 g=c800:5   3,7=18 µs, 6=30 µs, 1=45 µs, 2=60 µs, 5=75 µs,
  474.                         4=210 µs, 0=3ms
  475.   WD-XT-GEN2 g=c800:5   3,7=18 µs, 6=30 µs, 1=45 µs, 2=60 µs, 5=75 µs,
  476.                         4=210 µs, 0=3ms
  477.  
  478. REPEATED FAILURES
  479. *****************
  480.  
  481. What happens if your machine routinely loses CMOS.  What are the
  482. causes:
  483.  
  484. 1. a poor battery.  Replace it with a lithium battery.  (You will
  485. need the motherboard manual, because sometimes you need to change a
  486. jumper when you do this. If you have a nicad rechargeable battery,
  487. leave the machine on all the time to give it time to recharge.
  488.  
  489. 2. a roque program.  A program going nuts can accidentally write
  490. garbage into CMOS.  I have found this is less likely to happen with
  491. Windows 95.
  492.  
  493. Author
  494. ******
  495.  
  496. Roedy Green of Canadian Mind Products wrote this suite.  CMOSSAVE,
  497. CMOSREST and CMOSCHK are copyrighted but may be freely used for any
  498. purpose except military with the exception of U.N. Sanctioned
  499. Peacekeeping Missions.  If you pass the files on, PLEASE PASS ON THIS
  500. DOCUMENTATION TOO.
  501.  
  502. Please report bugs and problems.
  503.  
  504. Harvey Fishman wrote a pair of programs similar to CMOSSAVE and
  505. CMOSREST, but to the best of my knowledge, never released them.
  506.  
  507. WARRANTY and SUPPORT
  508. ********************
  509.  
  510. CMOSSAVE is warrantied to work 100% bug free.  However, I will not
  511. compensate you for loss of data, or other damage caused by a bug or
  512. misuse of the program. If you don't register, you use CMOSSAVE
  513. totally at your own risk.
  514.  
  515. Support is available only to registered users.
  516.  
  517. I will do whatever it takes to get CMOSSAVE working on your machine
  518. AFTER you register.  If for any reason I can't get it to work within
  519. 30 days, I will refund your registration fee. If you ask for help
  520. without registering first, I might be cranky with you since I am
  521. involved in so many exciting other projects and resent being pulled
  522. away from them.  Believe it or not about 95% of the time reported
  523. bugs are not bugs, but just failure to read the documentation.  I
  524. usually start from the premis there is no bug since this program has
  525. been tested by tens of thousands of people without incident -- not
  526. that they all registered.
  527.  
  528. Keep in mind, CMOSSAVE won't do you any good unless you have used it
  529. BEFORE you have trouble.  I have no magic to bail you out after the
  530. fact.  Pleading with me won't help.
  531.  
  532. Happily, so long as you have done a CMOSSAVE, and have not
  533. overwritten it, almost any problem can be recitified even if CMOSREST
  534. or CMOSCHK should fail.
  535.  
  536. Shareware Status
  537. ****************
  538.  
  539. CMOSSAVE CMOSREST and CMOSCHK are shareware.  To register your copy
  540. please mail $10 US or Canadian cheque payable to Canadian Mind
  541. Products, money order payable to Canadian Mind Products.
  542.  
  543. CMOSSAVE
  544. Roedy Green
  545. Canadian Mind Products
  546. POB 707 Quathiaski Cove
  547. Quadra Island BC Canada
  548. V0P 1N0
  549. Telephone (250) 285-2954
  550. internet Roedy@bix.com
  551.  
  552. I don't currently accept credit cards.  Personal cheques are fine.
  553. Please make them payable to Canadian Mind Products.
  554.  
  555. Please mention the program title since I sell many other products.
  556. It would also be helpful if you mentioned the URL or source of where
  557. you got your shareware copy.  I want to make sure that site is kept
  558. kept up to date.
  559.  
  560. I, in return, will send you the latest version complete with MASM
  561. source for CMOSSAVE, CMOSREST, CMOSCHK, REBOOT, NEED, BOOTSAVE,
  562. BOOTREST and BOOTCHK.  I will also include a 1.44 diskette full of
  563. the source code for the complete CMP suite of 70 other DOS utilities.
  564.  
  565. If you don't register, and continue to use CMOSSAVE, I will not do
  566. anything mean to you.  It pleases me to think that I may be
  567. safeguarding thousands upon thousands of computers with my little
  568. program.  I would far, far sooner that you use my progam without
  569. paying for it, than have it lie wasted.
  570.  
  571. I still can't get over the modern miracle that I can do something
  572. useful for you with _no_ additional effort on my part. 
  573.  
  574. CMOSSAVE was a very easy program to write, unlike some of my other
  575. utilities. Ironically it is by far my most popular.
  576.  
  577. I would love to spend considerable effort writing a DECENT Windows-95
  578. install program for it, one that will serve as a model to educate
  579. junior shareware and commercial authors on the etiquette of treating
  580. naive users. I spend so much time writing about how other author's
  581. install programs should work, my lack of any at all for CMOSSAVE is
  582. quite a plank in my eye. 
  583.  
  584. I confess, I still have not registered my copies of WinZip, WinFTP
  585. and Paint Shop Pro, even though I have being using them for over a
  586. year.  I have been known to upgrade my commercial software without
  587. paying.  I sometimes rationalise this by saying I upgraded only to
  588. avoid bugs or obvious shortcomings in the earlier version, or that I
  589. use the program only rarely, or that I simply can't afford to pay
  590. right now.  This is not theft in the strict sense of stealing some
  591. material thing away from another.  It is more like going to a banquet
  592. without paying any of the group tab.  This sticks the other guests
  593. with a higher than normal share of the bill. If too many people do
  594. it, it means fewer future banquets.
  595.  
  596. Consider that if you DO register, that supports the creation of more
  597. shareware software such as this.  As of 1997 September, 134 people
  598. have registered one of my utilities.  You can tell they are good
  599. people, not only for registering when there was no chance of penalty
  600. for not doing so, but also for their encouraging notes, emails and
  601. phone calls. They are the sort of people who quietly every day go
  602. about brightening other people's lives in thousands of ways.
  603.  
  604. This is one of the great perks of being a shareware author.  You only
  605. have to deal with the cream of the world's customers.
  606.  
  607. SITE LICENSES
  608. *************
  609.  
  610. If you wish a site license to use combined CMOSSAVE/BOOTSAVE on
  611. multiple machines you can compute the cost using the following
  612. formula:
  613.  
  614. Unit cost = $10 * sqrt( 1/n ) where n is the number of copies.
  615.  
  616. Total cost = $10 * n * sqrt( 1/n ) rounded the nearest dollar if
  617. you wish.
  618.  
  619. count    unit  total cost
  620. 1      $10.00  $10.00
  621. 2       $7.07  $14.14
  622. 3       $5.77  $17.32
  623. 4       $5.00  $20.00
  624. 5       $4.47  $22.36
  625. 6       $4.08  $24.49
  626. 7       $3.78  $26.46
  627. 8       $3.54  $28.28
  628. 9       $3.33  $30.00
  629. 10      $3.16  $31.62
  630. 15      $2.58  $38.73
  631. 20      $2.24  $44.72
  632. 25      $2.00  $50.00
  633. 30      $1.83  $54.77
  634. 40      $1.58  $63.25
  635. 50      $1.41  $70.71
  636. 75      $1.15  $86.60
  637. 100     $1.00  $100.00
  638. 200     $0.71  $141.42
  639. 250     $0.63  $158.11
  640. 500     $0.45  $223.61
  641.  
  642. 500 copies is considered an unlimited site license for $223.61
  643.  
  644. Unlimited licence would entitle you to a non-exclusive irrevocable
  645. worldwide licence to use, copy and distribute BOOSTAVE/CMOSSAVE
  646. within your own organization.  You would not have the right to sell
  647. it to other parties. However, if you were a retailer, or
  648. manufacturer, it would give you the right to install it on any
  649. machines you sell.  If you were a consultant, it would give you the
  650. right to install it on any machines you service.
  651.  
  652. You may modify the source code to your own requirements, but the name
  653. and address of Canadian Mind Products must not be removed from the
  654. executable code COM file.  However, our name and address need not
  655. display when BOOTSAVE/CMOSSAVE is run. BOOTSAVE/CMOSSAVE must be used
  656. for non-military purposes only with the exception of U.N. sanctioned
  657. peace keeping missions.
  658.  
  659. -30-
  660.