Hi, I have uploaded an update for FDAPM: Version 2005 May 23 (as
suggested by Martin S., I renamed everything in my download area from
name-daymonthyear.zip to name-yearmonthday.zip, I hope you like the
new style... but do not ask me to use numeric months instead of named
months right now, I deliberately use names to avoid ambiguities...)
:-) .

The new version explicitly stops the floppy motor before entering any
of the standby variants (standby, suspend, flush, speed0...)  and
fixes an old bug which made the idle time percentage display tend to
show nonsense values.

The internal POWER interface to select which of the 4 hooked
interrupts may trigger CPU sleep during idleness is now supported. Not
that I would know ANY software which uses it, but it might be nice for
debugging in cases where FDAPM causes unwanted slowdowns (you can now
disable any of the sleep handler groups at runtime for testing, but
have to use DEBUG for that unless somebody writes a nice user
interface)...

Syntax errors are now flagged as such and the SPEEDn option family has
a new function: SPEED9 just reads out your current ACPI CPU throttle /
duty cycle setting without changing it. Note that some BIOSes boot up
with reserved settings which can cause displays like "0/8 of maximum
speed detected" (while you are actually running at 8/8 speed, in other
words at full normal speed). By the way, as the TSC (see RDTSC command
which is not supported in DEBUG yet but has opcode 0f 31 ;-)) count
keeps running while the CPU is periodically halted in "throttled
mode", I could find out that my mainboard decides 16k times per second
whether the CPU should be running or stopped. Quite often but not as
smooth as I had expected. So if your mainboard uses similar clocks,
you may want to combine ACPI throttle with other slowdown methods like
disabling L1 cache to smoothly slow down your super-fast PC until your
DOS games work okay :-) . Note that ACPI throttling can also reduce
power consumption a lot. When you are just idling at the DOS prompt
and FDAPM APMDOS is in resident mode (only 1kB TSR size), the CPU will
be in low power mode most of the time anyway, but you can do most of
your everyday DOS work with a forced maximum throttle of 50 or even
25% of your normal CPU speed without noticeable problems, saving
probably 30-75% of the CPU energy. Most CPUs consume very little power
in halted / low power idle state, and with the SPEEDn option you force
the CPU into that state for a certain percentage of all "mainboard
timeslices" :-) .

The SPEED0 (halt system CPU until power or standby button pressed)
function now explicitly enables the button and explicitly states that
the PC is not yet waking up. This should solve two problems: First, if
the button was not properly enabled, pressing the power button only
turned your PC off instead of waking it up, and if the waking-up flag
was not properly cleared, the PC could wake up again at once. Both
made the SPEED0 function not very useful in previous versions. Should
be a lot better with the new FDAPM version.

Finally, the VGAON / VGAOFF functions now check if you actually have a
VGA or at least EGA graphics card and whether you are running mono
mode.

Enjoy, and please report problems. If you have ACPI problems, please
use the SPEED9 option to get some status information and/or use
PCISLEEP ... and be warned that SPEEDn can guess / force values to get
control over CPU duty cycle settings. Many BIOSes report wrong values
here, but it CAN happen that they do so intentionally, because the
BIOS can use duty cycle throttling as automatic "cooling" method when
overheating is detected. So you might want to use SPEED9 to check
current speed before you use SPEEDn to set a new speed. Raising the
speed to higher-than- current values can override some BIOS decision,
so do it at your own risk.

You can get the new FDAPM at
http://www.coli.uni-sb.de/~eric/stuff/soft/fdapm-2005may23.zip


Thanks for testing  :-) .

Eric