               Whats new in LXSTAT version 2.0
             (This document is far from complete.)


"lxstat -v"		(all available information)
"lxstat Display"	(information about Display / video settings)
"lxstat Serial"		(information about Serial ports)
"lxstat Extended"	(EXtended information)
"lxstat help"		(all built-in examples)
"lxstat -?"		(general usage page)
"lxstat Battery"
"lxstat Battery Type"
"lxstat Battery Alkaline"
"lxstat Battery NiCd"
"lxstat Battery Type Alkaline"
"lxstat Battery Type NiCd"
"lxstat Battery Charge" 
"lxstat Charge"
"lxstat Charging"
"lxstat Charging Time"
"lxstat Timeout"
"lxstat Volume"
"lxstat Alarm"
"lxstat IRQ"
"lxstat Off"
"lxstat LiteSleep"
"lxstat Wait"
"lxstat Display +K"
"lxstat Display +K-C"
"lxstat Display Contrast"
"lxstat Display Inverse"
"lxstat Display GrayShade"
"lxstat Display FrameRate"
"lxstat Display Mode" = "lxstat Mode"
"lxstat Display Zoom Enable"
"lxstat Display Zoom Disable"
"lxstat Display Video"
"lxstat Power"
"lxstat Power Off"

................























"lxstat Display Contrast <0-31>"	(no effect on PC's)
"lxstat Display Contrast +n"
"lxstat Display Contrast -n"
=============================================================

This command displays or adjust the display contrast.  This is
equvalent to the key-combination [On]+[+] or [On]+[-].



"lxstat Display Framerate [rate in Hz]"	(no effect on PC, 95LX)
=============================================================

The display frame rate of 100/200/700LX can be varied in the
range of 23.304 to 5965.91 Hz. The BIOS sets an optimal rate it
thinks is for you each time the display mode is changed
(including changing the zoom modes. See "lxstat Display Mode").
The optimal frame rate, however, depends on the AC-frequency of
the light source in the area you're using the palmtop.

This command displays or adjusts the display frame rate. Using
this feature of LXSTAT, it is even possible to determine the
AC-frequency of your local energy supply.  It helps reducing
flickering of the display especially when the screen contrast is
adjusted to be in a dark area. A higher frequency, e.g. 120 Hz,
will have the effect of displaying rulers for every line in
text modes.

Try extreme values in the first place to explore the influence
of this frame rate to the display.  Don't type the implied unit
"Hz".  Decimal point and fractional part may be given. You may
like to experiment with this command a little to observe the
effect and to find out the optimal value of frame rate for your
own eyes under various display contrast and lightening
condition.  The 100/200LX Developer's Guide states that the
higher the frame rate, the more power is consumed.

This command manipulates the register value $b$ (00h-FFh) at
Hornet-22h using

	Freq (Hz) = 1193182 / (b+1) / 200

The register value $b$ from 0 to 255 is used as a divisor. It's
obvious that no "surjective" mapping from $b$ to the frequency
domain is intended. It has a better granularity at lower
frequencies. LXSTAT will prints the actual frequency set if the
option -q (quiet) is not used.  For example,

          Hornet-22h   Frequency (Hz)
        ----------------------------
              0         5965.910 
              1         2982.955 
              2         1988.636
            ...         ........
            253           23.487
            254           23.395
            255           23.304
        ----------------------------

The frequencies printed by LXSTAT is truncated (not rounded) to
the 3rd places after decimal point. The user-interface of LXSTAT
is capable of covering all values in [0,255] of the divisor.
A given frequency outside the legal range will be automatically
clipped to the upper or lower limit (5965.91 or 23.304 Hz).
Therefore, in order to set the display to the lowest possible
frame rate, you may simply type "lxstat d f 0". This will result
in a divisor of the value 255 (FFh) corresponding to the
frequency of 23.304 Hz. To set to the highest possible rate,
try any extreme value such as "lxstat d f 99999". It will be
clipped to 5965.910 Hz.





"lxstat IRQ 4 1" = "lxstat IRQ4 +"	(mask/disable IRQ4)
"lxstat IRQ 4 0" = "lxstat IRQ4 -"	(unmask/enable IRQ4)
=============================================================

These two commands are equivalent to the commands

	SERINT /D		(disable/mask IRQ4)
	SERINT /E		(enale/unmask IRQ4)

where SERINT.COM can be found on the HP95LX. Note that the
program SERINT.COM can be used in other PC's as well and
it solves a general problem. On my Compaq LTE ELITE there
is a program called MASKIRQ.EXE doing the same thing for
similar reasons. It is worth trying this command in case

	some communication program refuses to load.

On some computers, some IRQ's are enabled after POST.  For
example IRQ4 (Int 0Ch) for COM1 is enabled after reboot on the
HP95LX. However, some application program would require that
IRQ4 be masked (disabled) before they would take it over,
because they assume that COM1 is already in use by some other
program if the IRQ4 is "unmasked" (enable). This is exactly what
the built-in program SERINT.COM on the HP95LX is for. So,

  
	SERINT /D (disable) = LXSTAT I 4 1 (mask)
	SERINT /E (enable) = LXSTAT I 4 0 (unmask)
  
While the SERINT.COM manipulates only the bit4 (IRQ4) of port
0x21 (the IMR = Interrupt Mask Register), LXSTAT allows you to
manipulate any of this register, including IRQ3 (Int 0Bh) for
COM2. And it displays the current status too. This feature, of
source, if applicable on a non-hplx PC. The Compaq LTE ELITE
laptop also provide a utility similar to SERINT.COM on the
HP95LX for similar purpose.

**************************************************************
(Please note that you should be prepared for an initialization
before playing with IRQ masks other 3 & 4, i.e. COM2 & COM1).
**************************************************************

The IRQ2 (Int 0Ah) should not be masked (disabled) because
this is the major source of many critical hardware interrupts on
a HP100/200LX. The same to IRQ0 (Int 08 = Timer0 interrupt),
IRQ1 (Int 09 = Keyboard).

Note also that since this command manipulate the IMR = Interrupt
*Mask* Register, where setting a bit means masking (i.e.
disabling) the corresponding interrupt. Therefore, do not be
confused by the "negative logic".  The syntax of LXSTAT I 4 1
(or +) means to *set* b4 of port 0x21, which means to *mask*
an interrupt, which in turns means to *disable* an interrupt
which really means to tell the PIC (peripheral interrupt
controller) to *ignore* the IRQ (Interrupt ReQuest) number 4
that is wired to COM1 UART.

More examples:

	"lxstat IRQ34 toggle" = "lxstat IRQ 34 toggle" =
	"lxstat I34 tog" = "lxstat I 34 T"

means to toggle IRQ3 and IRQ4. Remember that only the first
letter is checked by LXSTAT. Ok, this command is one of the
exceptions since it checks also the "tail" of the argument.

	"lxstat IRQ7534 1" = "lxstat Irq 3457 +" =
	"lxstat I5437 High" = "lxstat I 3754 on"

means to set, or to mask, or to disable all of IRQ3, IRQ4,
IRQ5, and IRQ7. You must have noticed that the order of
bit-numbers does not matter; the case does not matter;
and there are many possibility for saying "0", or "low",
or "off" or "-".


"lxstat Serial Line DTR +"
"lxstat Serial Line RTS 1"
"lxstat Serial Txd low"
"lxstat Serial BreakA"
"lxstat Serial Help"
"lxstat Serial ?"
"lxstat Serial 9600,N,8,1"
"lxstat Serial 9600,No,8,1"
"lxstat Serial 9600,O,8,1" = "lxstat Serial 9600,Odd,5,1"
"lxstat Serial 9600,Even,5,2" = "lxstat Serial 9600,E,5,2"
"lxstat Serial 2,Space,5,2" = "lxstat Serial 2,Space,5,2"
"lxstat Serial 115200,Mark,5,2" = "lxstat Serial 2,m,5,2"
"lxstat Serial O" = "lxstat Serial Off" = "SERCTL /O"
"lxstat Serial W" = "lxstat Serial Wire" = "SERCTL /W"
"lxstat S /I" = "lxstat Serial IR" = "SERCTL /I"
"lxstat ser phone" = "lxstat S P" = "lxstat S /P" = "SERCTL /P" (700LX)
========================================================


"lxstat Keytypematic fast"
"lxstat Keytypematic slow"
"lxstat Keytypematic medium"
"lxstat Keytypematic (any_illegal_command)"
========================================================

"lxstat 8254 220"		(220 Hz, default mode 3, channel 2 = speaker)
"lxstat 8254 440,3,2"		(440 Hz, mode 3, channel 2 = speaker)
"lxstat 8254 0,2,0"		(18.2 Hz, mode 3, channel 0 = IRQ0)
========================================================




