### This file is part of FDAPM, a tool for APM power management and
### energy saving. (c) by Eric Auer <eric #@# coli.uni-sb.de> 2003.

FDAPM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
by the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.

### FDAPM is distributed in the hope that it will be useful, but
### WITHOUT ANY WARRANTY; without even the implied warranty of
### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
### GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with FDAPM; if not, write to the Free Software Foundation,
Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
(or try http://www.gnu.org/licenses/ at http://www.gnu.org).

This is the command line option list ...

>>> >>> >>> Run FDAPM with the HELP option to get a less   <<< <<< <<<
>>> >>> >>> technical and more human readable help screen! <<< <<< <<<

APMOFF ->   call connectAPM, then int 15.5306, then disableAPM.
            Also configure POWER, IF already TSR, to savingstrat 0
            (using the int 2f POWER API).
APMBIOS ->  call connectAPM, then enableAPM. Configure POWER, IF
            already TSR, appropriately (using the int 2f API).
            Finally, call statusPOWER / statusAPM?
APMDOS ->   between the hookhandler call and the going TSR code,
            insert configuration through POWER API on int 2f.
            Finally, call statusPOWER / statusAPM?
            Should also configure savingstrat (whether to use HLT,
            whether to use APM CPU IDLE)...
            This should give you maximum energy savings. It is the
            only mode that causes FDAPM to stay resident in RAM.

INFO ->     call statusDisplay (combining with other options
            might be allowed in the future)
STATS ->    (optional) get statistics through POWER API and show
            them (see APMStatBuf and IdleStatBuf data area!)...
HELP ->     shows an human readable help screen

STANDBY ->  call shutDownHandler with AX=3
SUSPEND ->  call shutDownHandler with AX=4
POWEROFF -> call shutDownHandler with AX=5

HOTBOOT ->  call shutDownHandler with AX=0
WARMBOOT -> call shutDownHandler with AX=1
COLDBOOT -> call shutDownHandler with AX=2

VGAON ->    enable EGA/VGA video
VGAOFF ->   disable EGA/VGA video: this should stop the CRTC and stop
            basically all signals, especially refresh. Screens with
            DPMS support will react by entering stand by mode, while
            other screens will just lose sync (not very good for them,
            so do not stay in this mode for longer time in that case).

UNLOAD ->   (optional) allow un-hooking - NOT YET IMPLEMENTED

Hidden options: SPINDOWN and SPINUP - to put your harddisk to sleep
and wake it up again. All harddisk sleep related options automatically
add a delay to give the harddisk time to change state.

POWER compatibility: You can use FDAPM and POWER to configure each
other, but FDAPM makes no difference between the various ADV:xxx
levels. The "percentage of idle CPU time" value is not set by FDAPM,
but (new 11/2003 to avoid a division by zero in POWER) instead set
to a dummy value. The "on" ticks are kind of an uptime, and the "off"
ticks count how much of the time the CPU invoked HLT.

More POWER compatibility: Running FDAPM without command line options
will trigger "INFO" and "STATS" if PATH is set, but will load in
APMDOS mode if COMSPEC is not set (useful for INSTALL=FDAPM... lines
in config.sys). Introduced 27 Nov 2003. Older FDAPM versions just
display the help screen if no command line options are given.

... and this is the TODO LIST ...

handlers.asm some POWER API "set" functions are only dummies, you
             may want to change that.
             Hooked interrupts are roughly complete, the main work
             should be done in "working" and "idling".

UNIDLECHECK  if you want to define this (activate it at compile
             time), you must fill in: 1. i08: timer tick handler,
             count down and call idling if zero reached.
             2. working: count up general busy-ness count which
             i08 counts down - the rest is there since Nov 2003.
             (in handlers.asm and hooktsr.asm)...
