home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 1998 July & August
/
Pcwk78a98.iso
/
Sharewar
/
Cpucool
/
Cpuidle
/
DOSIDLE2.ZIP
/
DOSIDLE.TXT
< prev
next >
Wrap
Text File
|
1998-03-22
|
23KB
|
593 lines
──────────────────────────────────────────────────────────────────────────────
░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒ <<<* E-Mail: dosidle@usa.net *>>> ▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░
──────────────────────────────────────────────────────────────────────────────
DOSidle: FULL Documentation
─────────────────────────────────
Written by Marton Balog
Version 2.00 [Build 0586]
Copyright (C) by Marton Balog, 1998.
All rights reserved.
──────────────────────────────────────────────────────────────────────────────
░░░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒ TABLE OF CONTENTS ▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░░░░
──────────────────────────────────────────────────────────────────────────────
1.0 - What is DOSidle?
2.0 - Highlights of DOSidle!
3.0 - Usage and Installation.
4.0 - Command-line Options.
5.0 - CPU Detection and Optimization.
6.0 - History.
7.0 - Frequently Asked Questions.
8.0 - Final word(s).
9.0 - Legal and Disclaimer.
──────────────────────────────────────────────────────────────────────────────
░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒ 1.0 - WHAT IS DOSIDLE? ▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░
──────────────────────────────────────────────────────────────────────────────
CPUidle for DOS (nicknamed DOSidle) is an MS-DOS based program that will
take advantage of the power saving features of the microprocessor so as to
minimize power consumption and lower CPU temperature. This not only expands
the lifetime of the processor, but creates a more stable system and helps
greatly in successful OVERCLOCKING!
Modern microprocessors (Intel's 486DX, Pentium, Pentium/MMX, Pentium II;
AMD's Enhanced 486DX, K5, K6/MMX, K6Plus; Cyrix/IBM/SGS Thomson's 5x86, 6x86,
6x86L, 6x86MX, to name a few) have power saving capabilities integrated in
the processor, but the operating system (like Windows95/98, MS-DOS) usually
does not take advantage of these features.
To resolve this problem, DOSidle executes the HLT instruction when the
system is idle (example: waiting for a keypress, mouse movement or any user
input), which is actually true about 90% of the time. This way, the processor
will enter Suspend-Mode when it is not being used. This reduces heat buildup
without slowing the system.
This program is based on the idea of CPUIdle, written by Andreas Goetz.
CPUIdle is a program with the same goal, but is designed to run exclusively
under Windows95/98. I owe Andi many thanks, as he was great help in
developing and spreading DOSidle.
──────────────────────────────────────────────────────────────────────────────
░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒ 2.0 - HIGHLIGHTS OF DOSIDLE. ▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░
──────────────────────────────────────────────────────────────────────────────
- 100% ASSEMBLY coded, therefore program should be both small and fast.
- Uses less than 4K of the valuable 640K conventional memory.
- Detects and optimizes processors from Cyrix/IBM/SGS Thomson, AMD, Intel
IDT, NexGen and UMC. This can yield up to 15% of performance gain.
- Automatically detects Cyrix/IBM/SGS Thomson 5x86, 6x86, 6x86L and
6x86MX processors and enables their "Suspend on HLT" feature for
maximum power saving.
- Automatically detects Intel Pentium (P54C), Pentium-MMX (P55C) and IDT
WinChip C6 processors and enables their "Auto HLT" feature for maximum
power saving.
- Automatically detects Intel Pentium-MMX (P55C) processors and enables
their "Low Power on Auto HLT" feature for even more power saving than
the P54C.
- Powerful and flexible command-line interface allowing control of many
features of DOSidle, including more aggressive cooling routines,
self-debugging routines and more...
- Can be suspended and activated any time after installation for maximum
compatibility with other software.
- Works with a wide range of program's and thus it cools the CPU reliably.
This results in a more stable system and it expands CPU lifetime.
- It's A MUST HAVE for overclockers! Stop thinking big fans, huge heat
sinks and Peltiers, just think DOSidle! ;-)
* DOSidle V2.00 is a major advance to V1.32 [Beta], the whole kernel has
been recoded and optimized resulting in MUCH MORE EFFICIENT cooling
capabilities!!!
* To find out more about the differences between V2.00 and V1.32, please
read the History section (and then the whole file :-).
──────────────────────────────────────────────────────────────────────────────
░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒ 3.0 - USAGE AND INSTALLATION. ▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░
──────────────────────────────────────────────────────────────────────────────
DOSidle is designed to operate under MS-DOS. This applies to the
following areas:
- MS-DOS 6.22 and earlier. The good old DOS...
- MS-DOS 7.00 and later. This is the DOS that Windows95/98 uses. If you
have Windows95/98 installed and restart in MS-DOS mode from the Start
menu, you will enter into this MS-DOS mode.
- Windows95/98 MS-DOS Box. If you open an MS-DOS Box from Windows95/98,
you will enter into this MS-DOS mode.
DOSidle should be used in all of the above cases. When using only
Windows95/98 you should use Andreas Goetz's CPUIdle. As you may already have
realized, the programs CAN AND SHOULD be used together as the ultimate
solution for the standard Windows + DOS platforms.
DOSidle will NOT conflict with CPUIdle, so if you have CPUIdle loaded in
Windows95/98 and open an MS-DOS Box with DOSidle loaded, you are doing
exactly what you should do!!
NOTE: DOSidle will perform best under Real-mode CPU operation, or in other
words, when no Memory Manager (such as EMM386) is active. But V86-mode
should be about as good...
INSTALLATION:
─────────────
Setup: Unzip the DOSIDLE.ZIP package into a directory of your choice. Place
a line in the AUTOEXEC.BAT file that will load DOSidle with the
switches you prefer and reboot your computer.
If you have multiple Operating Systems installed (Windows 3.1,
Windows95/98, Windows NT, MS-DOS), then make sure the above line is
placed in ALL AUTOEXEC files.
If you are not exactly sure what the paragraph above means, please
read on...
Step 1: Unzip the DOSIDLE.ZIP package into a directory you prefer. In the
later examples, I will assume you have chosen the C:\DOSIDLE
directory.
Step 2: If you know DOSidle well and/or decided to use it regularly, please
go to Step 4.
If you are completely new to DOSidle and haven't read this document
then I strongly suggest doing so. Once you are finished, come back
here.
Step 3: You are new to DOSidle. Experiment with it. You can install DOSidle
anytime by typing "DOSidle" at the DOS command prompt (even in a
Windows MS-DOS Box).
NOTE: If you try to load DOSidle from a Windows95/98 DOS Box, then
Windows95/98 displays a warning message saying that DOSidle may not
run well, unless in MS-DOS mode. Answer NO to the question and you
are done.
Step 4: You have decided to use DOSidle regularly. DOSidle should be loaded
from your Autoexec.bat, this way, you won't have to bother with it
each time you restart your computer.
Windows95/98 has it's own Autoexec.bat file. Also, MS-DOS 6.22 and
earlier has it's Autoexec.bat. If you have BOTH of these Operating
Systems installed, then you will need to include a line in both of
them that will load DOSidle (later example: C:\DOSIDLE\DOSIDLE).
Step 5: If you are using some sort of a boot manager (like System Commander),
I assume you know how to find and edit your Autoexec.bat file(s) -
please go to Step 7.
If you are unsure about these files, I would suggest the following
steps:
Step 6: Locate the Autoexec.bat file(s). They should reside in the root
directory of drive C. That is C:\
Look for the following files: AUTOEXEC.BAT, AUTOEXEC.DOS,
AUTOEXEC.W40, AUTOEXEC.W41 If you find any of these files, just
include a line somewhere at the end like this (Optionally specifying
command-line parameters. They are described in detail in the next
section.):
C:\DOSIDLE\DOSIDLE
Step 7: Restart your computer, and voila:
DOSidle is resident now. You can check it to make sure using the
"mem /c /p" command at the DOS prompt. If you find DOSidle in the
list of resident drivers, it's installed!
──────────────────────────────────────────────────────────────────────────────
░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒ 4.0 - THE COMMAND-LINE. ▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░
──────────────────────────────────────────────────────────────────────────────
DOSidle supports various command-line switches that control how the
program behaves. All switches are case-insensitive (so "-tm" = "-TM").
Please note that the switch character has changed from "/" (as in DOSidle
V1.32 and earlier) to "-" (as in DOSidle V2.00 and later).
SWITCHES:
─────────
-H, -?:
Displays a help message about command-line options, as well, as some examples.
-U:
Uninstalls DOSidle (removes it from memory).
Of course, this is only possible, if it has been installed already. If not,
DOSidle will fail with an error message. Also, if some other program altered
the interrupt vectors that DOSidle uses it won't be able to uninstall.
-Off:
Suspends DOSidle.
Use this switch if DOSidle conflicts with a certain application you are using.
All features of DOSidle will be turned off as well as the program itself, but
it will remain installed (in memory). Then when you finish using that
application you can reactivate DOSidle with the -On switch.
-On:
Reactivates DOSidle after it has been suspended with the -Off switch.
Read the paragraph above to find out why this is useful.
-Cpu:
Detects and optimizes the processor in the system.
Currently, processors from Cyrix/IBM/SGS Thomson are optimized, but AMD and
IDT processors will be supported in the near future as well (Intel processors
don't have any special settings that can be tampered with :).
Please read the CPU Detection and Optimization section for more information.
-Fm2:
Sets Strong Force Mode.
This is one of the brand new features of DOSidle V2.00! It will install more
aggressive idle loops resulting in MUCH MORE POWERFUL cooling. Of course,
enabling this switch might cause some incompatibilities, but it is highly
unlikely.
This switch is enabled by default and I definately recommend using it!
-Fm1:
Sets Normal Force Mode.
This is the idle loop that was used in V1.32 [Beta] of DOSidle. It yields
worse cooling than Strong Force Mode (above paragraph), but should be more
compatible. Only use it if Strong Force Mode is causing strange behaviour.
-Fm0:
Disables ALL Force Modes.
Don't use this switch unless all other Force Modes fail (which surely should
not happen).
-Tm:
Runs DOSidle in Test Mode.
This makes the program display valuable information about interrupts and
the number of HLT instructions executed at runtime. This switch is especially
developed for Alpha and Beta testers, general users should avoid it.
This switch is disabled by default.
EXAMPLES:
─────────
DOSidle
Installs and activates DOSidle using to most powerful cooling routines (so
-On and -Fm2 switches are selected by default).
DOSidle -cpu
Same as above except that the CPU of the system will be optimized for speed
as well (this can actually cause a 10% - 15% overall performance gain).
I recommend loading DOSidle this way.
DOSidle -off
Suspends DOSidle temporarily, until you type: DOSidle -on
DOSidle -cpu -fm1 -tm
Installs and activates DOSidle using the standard cooling routines. Detects
and optimizes the CPU and runs DOSidle in Test Mode to display information
about program performance.
──────────────────────────────────────────────────────────────────────────────
░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒ 5.0 - CPU DETECTION & OPTIMIZATION. ▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░
──────────────────────────────────────────────────────────────────────────────
With V2.00, CPU detecting and optimizing features have been added to
DOSidle. DOSidle will now automatically detect to CPU in the system and
optionally (if you select it with the -cpu switch) optimize it.
CPU optimization may cause some system instabilities, only experiment
with it once you are sure that everything else is stable. If something goes
wrong afterwards, you can be sure that the CPU optimization is the cause.
Please note that if DOSidle misidentifies your CPU it will still operate
at full performance (that is, the cooling achievements won't alter), EXCEPT
for the CPU optimization routines. So CPU misidentification is ONLY A
COSMETIC issue, it has nothing to do with the program's cooling performance.
The following CPUs are detected:
CPUs from Cyrix CPUs from AMD CPUs from Intel
─────────────── ───────────── ───────────────
Cyrix 486S A-Step AMD 486DX2 Intel 486DX at 25/33 Mhz
Cyrix 486SLC AMD 486DX2-WB Intel 486DX at 50 Mhz
Cyrix 486DLC AMD 486DX4 Intel 486SX
Cyrix 486SLC2 AMD 486DX4-WB Intel 486DX2
Cyrix 486DLC2 AMD 5x86 Intel 486SL
Cyrix 486SRx AMD 5x86-WB Intel 486SX2
Cyrix 486DRx AMD K5-SS/A Intel 486DX2-WB
Cyrix 486SRx2 AMD K5 Intel 486DX4
Cyrix 486DRx2 AMD K6-MMX Intel 486DX4-WB
Cyrix 486SRu AMD K6-MMX/3D Intel Pentium A-Step
Cyrix 486DRu AMD K6Plus-3D Intel Pentium
Cyrix 486SRu2 Intel Pentium OverDrive
Cyrix 486DRu2 Intel Pentium-MMX
Cyrix 486S Intel Pentium Pro A-Step
Cyrix 486S2 CPUs from NexGen Intel Pentium Pro
Cyrix 486Se ──────────────── Intel Pentium II
Cyrix 486S2e NexGen Nx586
Cyrix 486DX NexGen Nx586 & Nx587
Cyrix 486DX2 NexGen Nx686
Cyrix 486DX4
Cyrix 5x86
Cyrix 6x86
Cyrix 6x86L CPUs from UMC CPUs from IDT
Cyrix 6x86MX ───────────── ─────────────
Cyrix MediaGX UMC U5D IDT WinChip C6
Cyrix GXm UMC U5S IDT WinChip C6Plus
All future Cyrix and AMD processors will be detected due to their support
for the extended CPUID instruction! The Cyrix/IBM/SGS Thomson CPUs that
support the "Suspend on HLT" feature will be set up to use it automatically,
regardless of the -cpu switch!!
The following CPUs are optimized:
CPUs from Cyrix
───────────────
Cyrix 5x86 - Suspend on HLT, CPUID.
Cyrix 6x86 - Suspend on HLT, CPUID, Weak Locking, Write Allocate.
Cyrix 6x86L - Suspend on HLT, CPUID, Weak Locking, Write Allocate.
Cyrix 6x86MX - Suspend on HLT, CPUID, Weak Locking, Write Allocate.
Although DOSidle V2.00 supports many CPUs and their features, this is not
an original goal of the program. If you think this is a useful feature
DOSidle should definately have, please notify me of it. If I get enough
feedback, I will add the following enhancements:
Cyrix 5x86: Branch prediction, Out-of-order execution, cache policies and
more...
Cyrix 6x86, 6x86L, 6x86MX: Optimized ARRs/RCRs, Write Gathering, Extended MMX
and more...
AMD K5, K6: Write Allocate.
IDT C6, C6+: Write Combining.
──────────────────────────────────────────────────────────────────────────────
░░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ 6.0 - HISTORY. ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░░
──────────────────────────────────────────────────────────────────────────────
DOSidle V2.00
─────────────
- Recoded and optimized the WHOLE kernel for better performance, more
features and easy future development (this is actually much more
important than it sounds)!!
- Added more powerful cooling routines to GREATLY ENHANCE performance!!
Using the -Fm2, -Fm1, -Fm0 command-line switches you can now control
DOSidle's cooling strategy directly!!
- Added -On, -Off command-line switches to Activate and Suspend DOSidle
at any time for a while, without removing it from memory!!
- Added -Cpu command-line switch to Optimize the CPU!!
- Added automatic CPU, Operating System and Protected Mode detection!!
- Added automatic Cyrix/IBM/SGS Thomson 5x86, 6x86, 6x86L and 6x86MX
"Suspend on HLT" feature enable!!
- Added automatic Intel Pentium, Pentium-MMX and IDT WinChip C6 "Auto HLT"
feature enable (Real-mode only)!!
- Added automatic Intel Pentium-MMX "Low Power on Auto HLT" feature
enable (Real-mode only)!!
- Changed the command-line switch character from "/" to "-"!!
- Fixed Modem and Mouse slowdown problem with DOSidle V1.32 [Beta]!!
- Fixed at least five other bugs found in DOSidle V1.32 [Beta]!!
DOSidle V1.32 [Beta]
────────────────────
- First release of the DOSidle kernel, together with CPUIdle V2.40.
- Added some cooling routines to the basic ones.
- Added /TM switch for Test Mode, so DOSidle can display information
about program performance.
- Added /NF switch to disable Force Mode for compatibility with software
that might not work correctly with the new cooling routines.
DOSidle V1.10
─────────────
- The first usable version of DOSidle, which was never released. I have
coded it together with Andreas Goetz. Thanks Andi!
──────────────────────────────────────────────────────────────────────────────
░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒ 7.0 - FREQUENTLY ASKED QUESTIONS. ▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░
──────────────────────────────────────────────────────────────────────────────
Q: So what the heck is this program??
A: DOSidle is a program that will take advantage of the power management
features of your microprocessor so as to reduce heat buildup.
Windows95/98 and MS-DOS does not support these features, therefore a lot
of heat is generated unnecessarily when the system is idle (waiting for
user input).
Several measurements indicate that DOSidle can even cause a 10 C degrees
(18 F degrees) temperature drop. Many good heatsinks and fans would envy
this :)
Q: I already have CPUIdle from Andreas Goetz, why would I want to use DOSidle?
A: Simple. CPUIdle does a superb job in cooling the system under Windows95/98.
On the other hand, DOSidle does a great job (hopefully) in cooling the
system under MS-DOS 6.22 and earlier, MS-DOS 7.00 and later (Windows95/98
MS-DOS) AND in a Window95/98 MS-DOS Box.
Since users of Windows95/98 generally use MS-DOS in one of the above ways,
DOSidle is needed to reduce heat just as CPUIdle does in pure Windows95/98.
Q: I know CPUIdle quite well and I have observed that it can cause a
temperature drop of 15 C degrees. How come DOSidle can't always achieve
this performance?
A: MS-DOS is a lot different story from Windows95/98. Whereas the Windows
operating system handles idle threads quite naturally (and thus it's easier
to know when the system is idle), MS-DOS is a place of total chaos. There
is NO standard way of user I/O, therefore DOSidle must make a lot of
assumptions.
And of course, if a program manages its I/O in a quirky behaviour, DOSidle
is tricked and it won't be able to cool effectively. Believe me, DOSidle
does EVERYTHING that is possible under MS-DOS!
Q: Will DOSidle slow my system in some way?
A: No, no and NO! It definately shouldn't. If you notice program slowdown
that is caused by DOSidle, please report it to me immediately!
Q: Can DOSidle damage my CPU?
A: NO!!
Q: Do I have any financial obligations regarding DOSidle?
A: No. On the other hand, I would greatly appreciate any donations that you
may offer. And it would give me a great push to continue enhancing this
program...
Q: Can I have the assembly source code of DOSidle?
A: If you pay for it... maybe. Otherwise no.
──────────────────────────────────────────────────────────────────────────────
░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒ 8.0 - FINAL WORDS. ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░
──────────────────────────────────────────────────────────────────────────────
If anybody knows how to execute CPL0 (Ring 0) instructions under DPMI 0.9
or DPMI 1.0, please let me know right away!! Also, I would greatly appreciate
any feedback regarding DOSidle: notes, ideas, comments, bugs or any E-mail
for any reason. Your opinion is the most important to me, but I will never
know it unless I hear (or read) it :).
I would like to thank Andi (Andreas Goetz) for his help and support, and
Zsuzsi (Zsuzsa Petro) for her patience in first place.
Many thanks go to the Beta testers of DOSidle as well. They are:
- David Szots
- Calvin Chan
- Vito DeFilippo
- Khediri Mourad
- and finally, Andi and myself...
Enjoy,
Marton Balog
------------------------------------------------------------------------------
Address: Zsolt Fejedelem u.6
Budapest, 1029
Hungary, Europe.
E-Mail: dosidle@usa.net
──────────────────────────────────────────────────────────────────────────────
░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒ 9.0 - LEGAL AND DISCLAIMER. ▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░
──────────────────────────────────────────────────────────────────────────────
This software can be used freely without any obligations to the author in
non-commercial enviroments. For use of commercial purposes, you have to
contact the author, Marton Balog, and receive explicit permission. Commercial
purposes include CD-ROMs with bundled free software as well as integration
of this software into other programs.
THIS SOFTWARE PACKAGE (DOSIDLE.ZIP) INCLUDING ALL ACCOMPANYING FILES ARE
DISTRIBUTED "AS IS", WITHOUT ANY WARRANTIES, EIGHTER EXPRESSED OR IMPLIED.
THE AUTHOR (MARTON BALOG) DOES NOT TAKE ANY RESPONSIBILITIES FOR POSSIBLE
DAMAGES OR FUNCTIONALITY AND CAN NOT BE HELD LIABLE FOR ANY DAMAGE CAUSED
DIRECTLY OR INDIRECTLY BY THIS SOFTWARE.
USE EVERYTHING AT YOUR OWN RISK!
ALL TRADMARKS MENTIONED IN THIS DOCUMENTATION ARE PROPERTIES OF THEIR
RESPECTIVE OWNERS.
──────────────────────────────────────────────────────────────────────────────
░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒ <<<* E-Mail: dosidle@usa.net *>>> ▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░
──────────────────────────────────────────────────────────────────────────────