

                                $$$$$$$$$$$
               ,gS$$$$ $$$$$Sg.    $$$      ,gS$$$$   ,gS$$$g.
              $$$   $$ $$$   $$$   $$$     $$$   $$  $$$   $$$
         ;:: $$$$ :::: $$$ : $$$ : $$$$ : $$$$ :::: $$$$ ,$$" ::;
             $$$$$     $$$  g$$   ,$$$$   $$$$$     $$$$$$"
              "$$$$$$$ $$$$$$" $$$$$$$$$$$$"$$$$$$$  "$$$$$$AnG
                       $$$
                       $$$

                    cpIce -- HLT based CPU cooling VxD

    Copyright (c) 2000-2002 by Joergen Ibsen / Jibz, All Rights Reserved


                    ...ABOUT.........................
                    ...LICENSE.......................
                    ...USAGE.........................
                    ...GREETINGS AND THANKS..........
                    ...HOW TO REACH ME...............


--- ABOUT -------------------------------------------------------------------

 I found out the other day that I could cool down my cpu approximately
 10 degrees celsius by running one of the many software cpu coolers around.
 The only thing that bugged me was that most of these programs are shareware
 (or freeware but not very useful), and none of them came with source code.

 So I set out to write my own software cpu cooler -- cpIce!

 cpIce works by using a vxd to set a system idle callback which issues the
 hlt instruction. The vxd is needed because hlt is a privileged instruction
 (I know there are other ways to allow your program to execute privileged
 instructions, but this seems to be the 'nice' way).

 cpIce can also use an idle priority thread to call the vxd cooling
 function. This uses a little more cpu power, but works during some types
 of i/o.

 Please note that cpIce has ONLY been tested on my own computer (Intel
 Celeron 466mHz running Win98 SE), and I have NO idea how it works on other
 computers with other processors!!!

 Also note that cpIce will ONLY work on Win9x / ME systems.

 Feel free to send me an e-mail telling me how (if) it runs on your system.

 cpIce has been reported to work on:

    CPU              OS
   ----------------------------------
    Intel Celeron    Win98 SE
    Intel PII        Win98 SE
    AMD k6-2         Win98 SE
    AMD k6-2+        Win98 SE

 For information on why to use a software cpu cooler (and why not), check
 out some of the following sites:

   http://www-student.informatik.uni-bonn.de/~canavan/wateridle.html
   http://www.benchtest.com/
   http://www.cpuidle.de/
   http://www.podien.onlinehome.de/CPUCOOL.HTM

 For a good free program to get the temperature of your cpu:

   http://mbm.livewiredev.com/


--- LICENSE -----------------------------------------------------------------

 cpIce is FREEWARE, released with source under the following conditions:

 You may not distribute cpIce without all of the files. Especially, any
 binary file must always be accompanied by the corresponding source. I.e.
 if you make any changes to the source code and release an executable,
 a library or other type of binary, you have to distribute the modified
 source together with it. You have to clearly state that it is a modified
 version and what changes have been made.

 If you make any improvements / changes to the code you are encouraged to
 send them to me (to the e-mail address at the bottom of this text), so I
 am able to add them to the official release.

 You are not allowed to remove my original copyright notice from any of the
 files (including the source files).

 You may NOT sell cpIce, or any part of it, for money (except for charging
 for the media).

 #ifndef _COMMON_SENSE

   *** This software is provided "as is". In no event shall I, the author,
   *** be liable for any kind of loss or damage arising out of the use,
   *** abuse or the inability to use this software. USE IT ENTIRELY AT
   *** YOUR OWN RISK!

   *** This software comes without any kind of warranty, either expressed
   *** or implied, including, but not limited to the implied warranties of
   *** merchantability or fitness for any particular purpose.

   *** If you don't agree with these terms or if your jurisdiction does
   *** not allow the exclusion of warranty and liability as stated above
   *** you are NOT allowed to use this software at all.

 #else

   Bla bla bla .. the usual stuff - you know it anyway:

     If anything goes even remotely wrong - blame _yourself_, NOT me!

 #endif


--- USAGE -------------------------------------------------------------------

 There are two ways to use cpIce:

 1) Run cpIce.exe

    This is the recommended way to use cpIce.

    cpIce.exe loads cpIce.vxd as a dynamic vxd and puts an icon into
    the system tray from which you can turn the cooling on and off.

    You can right-click the icon to get a menu, or double-click the
    icon to turn cooling on / off.

    While cooling is turned off, it is possible to switch between using
    a thread to perform the cooling or the default system idle callback.

    If cpIce.exe is run with the command line argument '-c', it will
    start with cooling on. This means you can add a shortcut to

      cpIce.exe -c

    to the startup folder to have it run automatically at windows start.

    If cpIce.exe is run with the command line argument '-t', it will
    start with 'Use Thread' turned on.

    When you exit cpIce.exe the cooling stops, and the vxd is unloaded.

 2) Load cpIce.vxd at windows start

    !!! ONLY DO THIS IF YOU KNOW WHAT YOU ARE DOING !!!

    cpIce.vxd can also be used as a static vxd by adding a line

      device=pathname

    under the [386enh] section of the system.ini, or by adding a registry
    key:

    KEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\CPICE\StaticVxD=pathname

    This will give you cooling without taking up any system resources (other
    than the time the cooling callback takes).

    If you run cpIce.exe, the program will detect the static vxd and use it.
    This means you can use cpIce.exe to turn the cooling in the statically
    loaded vxd on / off.


--- GREETINGS AND THANKS ----------------------------------------------------

 .. go out to the following people:

  * Steve Hutchesson for the masm32 package
  * Iczelion for his win32 assembly tutorials
  * EliCZ for his coder's corner
  * Oleg Prokhorov for making 32LiTE .. brilliant!
  * RIT Research Labs for making Dos Navigator .. it's the BEST!
  * Eugene Suslikov (SEN) for making HIEW .. invaluable!
  * F. Fiore for excellent test reports
  * All other people who make good software freely available for non-
    commercial use!


--- HOW TO REACH ME ---------------------------------------------------------

 If you have any questions, suggestions or bug-reports about cpIce (or you
 just like chatting), this e-mail address should work:  jibz@hotmail.com
