DOC 1.1 -- HP directory documentation

NOTE!  This is a plain ASCII text file containing multiple
documents. You may find it most convenient to view or print this file
by running the DOC.EXE program (supplied on this disk) on your PC.
This is the first Goodies Disk to do it this way.  Hope you like it.

:GD9
:Hewlett-Packard Programs
:-jkh-
@@EPSPRINT   SG
                    EPSPRINT.TXT File
                                     
           (c)  Hewlett-Packard Company, 1992.


Overview


The EPSPRINT library enables you to print a graphics
object on an Epson serial printer, such as the FX-80 and
FX-85 printers.  When attached to the HOME directory, the
library is named EPPRT.  (An |EPPRT| menu label is
visible in the LIBRARY menu.)  Two commands in the
library, EPON and MAG, add an extra sublist of parameters
as the fifth element in the HP 48 reserved variable
PRTPAR.  These parameters store information needed by
your HP 48 to print graphics objects to the Epson
printer.  In order of occurrence in the sublist, they are
as follows:

 o The real number 1, which indicates Epson printer type.

 o A real number (1, 2, or 4), which represents the
   magnification.  This is controlled by the MAG command
   and has a default setting of 2, which tells the
   library to expand each pixel in the graphics object to
   a 2x2 square on the printer.

 o A string containing the escape sequence sent before a
   graphics object is printed.  The default begin
   sequence is "<esc>A<08>", which tells the printer to
   set its line spacing to 8 dot rows.  The only way to
   change this is to edit PRTPAR.

 o A string containing the escape sequence sent after a
   graphics object is printed.  The default end sequence
   is "<esc>2", which sets the printer to its default
   state of 6 lines per inch.  The only way to change
   this is to edit PRTPAR.

 o A string containing the escape sequence sent before
   each line of graphics data.  This sequence, which
   specifies the density of the graphics, defaults to
   "<esc>K", telling the printer to do single-density
   graphics.  The possible density sequences are as
   follows:
          
          <esc>K    Single density (60 DPI) graphics.
          
          <esc>L    Double density (120 DPI) graphics.
          
          <esc>Y    High-speed, double density (120 DPI)
                    graphics. This setting has some
                    restriction on the data printed.
          
          <esc>Z    Quadruple density (240 DPI) graphics.
                    This setting has some restrictions on
                    the data printed.

   The only way to change the default sequence of <esc>K
   is to edit PRTPAR.


Installation


1.  Transfer the EPSPRINT.LIB file from the computer to
    your calculator. The menu label |EPSPR| will appear
    in your HP 48 VAR menu.

2.  Attach the library to your HOME directory:
    
    A.  Press the VAR menu label |EPSPR| to recall the
        library to the stack.
    
    B.  Enter the port number where you want the library
        to reside.
    
    C.  Execute STO.
    
    D.  Turn the HP 48 off and then on again.  |EPPRT|
        attaches itself and appears as a library in the
        LIBRARY menu.
    
    E.  Purge the original copy of EPSPR in the VAR menu.


Operation


Here are the steps to follow to print an HP 48 graphics
object on an Epson compatible printer:

1.  Using the serial cable 25-pin adapter and a male/male
    converter (not included), connect the HP 48 to the
    Epson printer.

2.  Set the HP 48 baud (using the I/O SETUP menu) and the
    printer baud to match each other. Set the printer to
    use XON/XOFF handshaking.

3.  Execute EPON (press [RS]-[LIBRARY] |EPPRT| |EPON|).

4.  Optionally execute MAG.  (See the description of MAG
    below.)

5.  Execute one of the HP 48 print commands for printing
    graphics objects PRLCD, PR1, or PRVAR.  ([ON]-[PRINT]
    does not work and should be avoided.)

6.  If you wish to switch back to printing on the HP
    82240 Infrared Printer, execute EPOFF (press
    [RS]-[LIBRARY] |EPPRT| |EPOFF|).


Command Summary


These commands are contained in the PCL library:

 o EPON:  Enables special graphics printing and adds the
   previously explained sublist to PRTPAR.  Also sets
   flag -34 and clears flag -33 so that printing is
   directed to the wired serial port, and modifies IOPAR
   to enable transmit pacing (XON/XOFF) and to set parity
   to "none."

 o EPOFF:  Disables special graphics printing and clears
   flag -34 (so that printing will be directed to an HP
   82240B printer).  EPOFF does not change the sublist in
   PRTPAR--the magnification setting and other changes
   are preserved for the next time you execute EPON.

 o MAG:  Takes a real number from level 1 and puts it in
   the magnification position in the sublist in PRTPAR.
   Allowable arguments are 1, 2, or 4 (the sign is
   ignored).  A magnification of N causes one pixel in
   the graphics object to be expanded to an NxN square on
   the printer.
@@FXRECV     -G
(Hp.programs)
Item: 100 by sysop@hpcvbbs.external.hp.com
      [Cary McCallister]
Subj: xmodem code fix
Date: 15 Sep 1993

In HP48G/GX versions L-P the largest object that XRECV
can receive is about half the size of available memory.
FXRECV allows larger objects to be recieved,
approximately up to available memory minus 2000 bytes.

FXRECV can be used like XRECV would be used (same
argument), and also allows objects to be received into a
port. If the object to be received is a library, just
place the port number on the stack and execute FXRECV.
For example, enter 0 FXRECV to receive a library to port
0.

If the object is not a library then place the usual
:<port number>:<object name> on the stack and execute
FXRECV. For example, :1:ABC FXRECV will store the object
in port 1 under the name ABC.
@@INPRT      SG
                      INPRT.TXT File
                                     
           (c)  Hewlett-Packard Company, 1992.


Overview


The INPRT application reads infrared (IR) printer output
from different Hewlett-Packard calculators into the HP 48
stack. INPRT assumes that the incoming bytes would print
with the Roman 8 character set on an HP 82240 printer,
and it remaps these bytes to the HP 48 character set (ISO
8859 Latin 1).


Installation


Transfer the INPRT file from your computer to the HP 48.
(Use binary if you're transferring INPRT from the HP 48.)
The |INPRT| menu label will show up in your HP 48 VAR
menu. (If your calculator has a double-spaced print
mode, set it to single-spaced print.)


Procedure


These are the steps for transferring IR printer output to
the HP 48:

1.  Line up the calculators. (See "Alignment
    Instructions" below.)

2.  Press |INPRT| on the HP 48. (INPRT terminates in 10
    seconds if no IR output is received.)

3.  Execute the print command on the other calculator.

4.  Repeat steps 2 through 4 as needed to transfer
    additional output.


Results


When the transfer is complete, the HP 48 returns the
received data to the stack in the form of a string to
level 2 and a flag to level 1. If the flag is 0,
uncorrectable transfer errors were detected; if the flag
is 1, there still may be missing bytes. The 1 means that
each byte that was detected was received correctly. You
should still check the received data since there may be a
linefeed in strings, names, expressions, etc. more than
24 characters long. If the flag is 0, each byte that was
not correctable is a gray blot (character number 127) in
the level 2 string.


Alignment Instructions


The calculators should be no more than 0.5 inches (1.3
cm) apart for the transmission. Also, other alignment
issues apply to several calculators:

 o For the HP 41:  The IR printer module should be in one
   of the top ports, and the shiny "IR cone" in the
   center of the module should be aligned between the E
   and T of HEWLETT on the HP 48's Hewlett-Packard logo.

 o For the HP 27S, HP 17B, and HP 42S:  The calculator
   must be raised 0.3 inches (0.75 cm). The center of the
   LED (which is located at the top end of the calculator
   in line between the E and W of HEWLETT) should be
   aligned between the E and T of HEWLETT on the HP 48's
   Hewlett-Packard logo.

 o For the HP 28, HP 18C, and HP 19B:  Just line up the
   calculator's LED between the E and T of HEWLETT on the
   HP 48's Hewlett-Packard logo.
@@OBJFIX     SG
OBJFIX by HP.

When a binary object received by Kermit on the HP-48 is
left as a string beginning with HPHP48, OBJFIX will
extract the HP-48 object if the only problem is that
extra bytes got appended to the end.

OBJFIX takes a variable name in stack level 1 and
modifies the contents of the variable if no other
problems are detected.

[Note: This is like FIXIT by Horn & Heiskanen on Goodies
 Disk #8, but this one is by HP and so I suppose it's
 more reliable. Although it fails the test cases
 included with FIXIT, that may be because they were
 artifically contrived cases. Try both on real-world
 downloads that need fixing. Which do you like better?
 -jkh-]
@@PCLPRINT   SG
                    PCLPRINT.TXT File

           (c)  Hewlett-Packard Company, 1992.


Overview


The PCLPRINT library enables you to print a graphics
object on a PCL printer, such as the HP ThinkJet, HP
DeskJet, and HP LaserJet printers. When attached to the
HOME directory, the library is named HPPRT.  (An |HPPRT|
menu label is visible in the LIBRARY menu).  Two commands
in the library, HPON and MAG, add an extra sublist of
parameters as the fifth element in the HP 48 reserved
variable PRTPAR.  These parameters store information
needed by your HP 48 to print graphics objects to the PCL
printer.  In order of occurrence in the sublist, the
parameters are as follows:

 o The real number 0, which indicates PCL printer type.

 o A real number, which represents the magnification.
   This is controlled by the MAG command and has a
   default setting of 2, which tells the library to
   expand each pixel in the graphics object to a 2x2
   square on the printer.

 o A string containing the escape sequence sent before a
   graphics object is printed.  The default begin
   sequence is "<esc>*r0A", which tells the printer to
   start printing raster graphics at the left margin.
   The only way to change this is to edit PRTPAR.

 o A string containing the escape sequence sent after a
   graphics object is printed.  The default end sequence
   is "<esc>*rB<cr><lf>", which tells the printer to end
   raster graphics and execute a carriage-return and
   linefeed.  The only way to change this is to edit
   PRTPAR.


Installation


1.  Transfer the PCLPRINT.LIB file from the computer to
    your calculator. The menu label |PCLPR| will appear
    in your HP 48 VAR menu.

2.  Attach the library to your HOME directory:
    
    A.  Press the VAR menu label |PCLPR| to recall the
        library to the stack.
    
    B.  Enter the port number where you want the library
        to reside.
    
    C.  Execute STO.
    
    D.  Turn the HP 48 off and then on again.  |HPPRT|
        attaches itself and appears as a library in the
        LIBRARY menu.
    
    E.  Purge the original copy of PCLPR in the VAR menu.


Operation


Here are the steps to follow to print an HP 48 graphics
object on a PCL printer:

1.  Using the serial cable 25-pin adapter and a male-male
    gender converter (not included), connect the HP 48 to
    the PCL printer.

2.  Set the HP 48 baud (using the I/O SETUP menu) and the
    printer baud to match each other. Set the printer to
    use XON/XOFF handshaking.

3.  Execute HPON (press [RS]-[LIBRARY] |HPPRT| |HPON|).

4.  Optionally execute MAG and DPI. (See descriptions of
    these commands below.)

5.  Execute one of the HP 48 print commands for printing
    graphics objects-- PRLCD, PR1, or PRVAR.
    ([ON]-[PRINT] does not work and should be avoided.)

6.  If you wish to switch back to printing on the HP
    82240 Infrared Printer, execute HPOFF (press
    [RS]-[LIBRARY] |HPPRT| |HPOFF|).


Command Summary


These commands are contained in the PCL library:

HPON      Enables special graphics printing and adds the
          previously explained sublist to PRTPAR.  Also
          sets flag -34 and clears flag -33 so that
          printing is directed to the wired serial port,
          and modifies IOPAR to enable transmit pacing
          (XON/XOFF) and to set parity to "none."

HPOFF     Disables special graphics printing and clears
          flag -34 (so that printing will be directed to
          an HP 82240B printer).  HPOFF does not change
          the sublist in PRTPAR--the magnification
          setting and other changes are preserved for the
          next time you execute HPON.

MAG       Takes a real number from level 1 and puts it in
          the magnification position in the sublist in
          PRTPAR.  A magnification of N causes one pixel
          in the graphics object to be expanded to an NxN
          square on the printer.

          (MAG 0 effectively disables printing.)

DPI       Takes a real number from level one and sends an
          escape sequence to set the printer to that
          number of dots per inch.  This command only
          works for the HP DeskJet and HP LaserJet
          printers.  [To set a ThinkJet's graphic dot
          density, you must send the appropriate escape
          codes yourself; PCLPRINT.LIB won't do it.
          -jkh-]


Special Note For The HP LaserJet Printer


Since the HP LaserJet printer won't print until it gets a
whole page of data, you need to send a formfeed character
(character number 12) to print a graphics object of less
than one page.  You can do this by putting a string
containing a formfeed character in level 1 and executing
PR1.  (You can also edit the sublist in PRTPAR so that
the end-sequence string contains a formfeed.  This would
cause each graphics object to be printed on its own
page.)
@@PTLIB      -G
          HP 48 G Series Periodic Table Library

         Copyright (c) Hewlett-Packard 1989-1993


1.  Introduction

The HP 48 Periodic Table Library is a RAM-based version
of the Periodic Table application that was originally
distributed in the HP 82211A HP Solve Equation Library
Card. This application is freeware, and may be
distributed freely as long as this copyright notice is
retained.


2.  Keystroke Identification

Text items that you enter, such as a name, number, or
molecular formula are written as you would type them.
Primary keys are enclosed in brackets ([]), such as
[ALPHA] or [ENTER]. Menu keys are enclosed in braces
({}), such as {PERTB}. The shift keys are written as
[leftshift] and [rightshift]. The arrow keys are written
as [v] (downarrow), [^] (leftarrow), [<] (leftarrow), and
[>] (rightarrow).


3.  Installing the Periodic Table

The Periodic Table is implemented as a library object,
with library ID number 703. To install the library,
perform the following steps:

   + Download the library ptlib to the HP 48 in binary
     mode.

   + Recall the library to the stack.

   + Purge the variable that the library was stored in.

   + Store the library in a port, such as port 0. For
     instance, when the library object is in level one of
     the stack, execute 0 [STO].

   + Turn the calculator off, then on again. The
     calculator will perform a system halt, which updates
     the system configuration to recognize the new
     library. The Periodic Table library will
     automatically attach itself to the HOME directory.

   + NOTE: This library will NOT work on the S Series.


4.  Removing the Periodic Table Library

To remove the Periodic Table library, perform the
following steps:

   + Ensure that the library does not appear on the stack
     as "Library 703:...". Either store the library in a
     variable or execute NEWOB to create a unique copy.

   + Switch to the HOME directory.

   + Enter the port-tagged library number. For instance,
     if the Periodic Table Library is stored in port 0
     enter :0:703, or if the library is store in port 2
     enter :2:703.

   + Duplicate the library number, execute DETACH
     ([leftshift] [LIBRARY] {DETAC}), then execute PURGE.

   + You may also wish to purge any instances of the
     reserved variable PTpar (described below).


5.  The Reserved Variable PTpar

The Periodic Table application saves information in a
variable named PTpar. This information includes the last
element viewed, the last property viewed, and the order
of properties in the property catalog.

When the Periodic Table is started, the current directory
is searched for the existence of PTpar. If this variable
does not exist, a new copy will be created.


6.  Periodic Table Version

Press [rightshift] [LIBRARY] {PRTBL} {PTVER} to display
the version number of the Periodic Table Library.


7.  Using the Periodic Table

To start the Periodic Table, execute PERTBL (press
[rightshift] [LIBRARY] {PRTBL} {PERTB}). The main
Periodic Table display shows a picture of the periodic
table. Each square represents one element. The black
pointer (1) marks the location of the current element.
For the current element, the display also shows the
element name (2), mass number (3), symbol (4), atomic
number (5), atomic weight (6), density (7), and physical
state (9) - solid, liquid, gas, or synthetic - at
standard temperature for gases and at room temperature
for others.

 ͻ
                SODIUM                                
  Ŀ             (2)               Ŀ               
                                                  
  Ŀ                   Ĵ (3) N   N     
                               23 NN  N (4) 
  Ĵ                   Ĵ     N N N     
  ۳ (1)                        11 N  NN aa  
  Ĵ (5) N   N aaa 
                                   
  Ĵ               
                                   
  Ĵ AT WT: (6)    
                     22.98977      
                 
                                               
                                         
                                                      
        Ŀ   DENSITY (7)   
                         0.97          
        Ĵ                 
 (8)SOL                                
                         
                                                      
 ͹
   TABLE    NAME    SYMB    ATWT    DENS    QUIT 
 ͼ

Each of these properties is listed fully with units in
the catalog of properties - see "Finding Element
Properties".

The Periodic Table is a special environment in which you
can find information about elements and molecules. The
following diagram shows how to switch among the displays
and catalogs.


      {TABLE}            {NAME}              {SYMB}
                                              
                                              
 ͻ   ͻ   ͻ
                                                   
  Grid Display     Name Catalog     Symbol Catalog 
                                                   
 ͼ   ͼ   ͼ
       
        [ENTER]        [ENTER]             [ENTER]
                                            
                                            
                                            
[ENTER]                                      
                 ͻ           
                          
                   Property List 
                                 
     {EXIT}        ͼ
                             
                 
                      {PLOT}  [ATTN]
                               
                               
                   ͻ
                                  
   Ķ Property Plot 
                                   
                    ͼ

In the main Periodic Table display, you can perform the
operations listed in the following table.


[v][^][<][>]  Moves the pointer in the table, wrapping
              around rows or columns. With [rightshift],
              moves the pointer to the extreme of the
              current row or column. [<] or [>] wraps to
              the adjacent row. [^] or [v] moves to or
              from the rare-earth area.

[alpha]       Enter the characters for a symbol or
              molecular formula, then press [ENTER].
              This moves the pointer to the element
              having the symbol entered, or calculates
              molecular weights. Multiple character entry
              is allowed.

{ATWT}        Puts the atomic weight of the current
              element on the stack.

{DENS}        Puts the density of the current element on
              the stack.

{QUIT}        Exits from the application.

[ATTN]        Exits from the application.


7.1  Using Catalogs

The Periodic Table uses catalogs to display lists of
names, symbols, or properties. These catalogs share a
common set of procedures for moving around, and are
similar to those built into the Equation Library and the
Constants Library.

The following table lists the operations you can perform.


[^]      Moves the highlight up through the catalog.
         (The highlight can wrap around to the bottom.)
         [leftshift][^] moves the highlight to the top of
         the display or up one display. [rightshift][^]
         moves the highlight to the top of the catalog.

[v]      Moves the highlight down through the catalog.
         (The highlight can wrap around to the top.)
         [leftshift][v] moves the highlight to the bottom
         of the display or down one display.
         [rightshift][v] moves the highlight to the
         bottom of the catalog.

[alpha]  Moves the highlight to the next line starting
         with the alpha character you type. (The
         highlight can wrap around to the top.)


7.2  Finding Element Names and Symbols

The Periodic Table provides two catalogs containing names
and symbols of elements in alphabetical order. You can
use these catalogs to find names or symbols or to make a
certain element the current element:


   + To find the symbol for a certain element name, press
     {NAME}. Use [^] and [v] to move to the element, or
     use [alpha] to enter the first letter of the name.

   + To find the name for a certain element symbol, press
     {SYMB}. Use [^] and [v] to move to the element, or
     use [alpha] to enter the first letter of the symbol.

   + To make a certain element the current element, do
     either of the previous steps, then press {TABLE}.

You can also find element properties from the name and
symbol catalogs - see the next topic.


7.3  Finding Element Properties

The Periodic Table contains a collection of physical
properties of elements, such as melting-point temperature
and heat of vaporization. Values are based on the
"Periodic Table of the Elements" published by the
Sargent-Welch Scientific Company - they may differ from
values from other sources.

To display the catalog of properties for a certain
element, follow these steps:


  1.  Select the element in one of these ways:

       + Move the pointer to the element in the Periodic
         Table display.

       + Press [alpha], type the symbol for the element,
         then press [ENTER].

       + Get the name or symbol catalog, then move the
         highlight to the element.

  2.  Press [ENTER].

The catalog shows each property name and value, including
units (if units are used).

The property catalog provides the operations listed in
the following table (including the operations common to
all catalogs). The property you point to last is the one
that's highlighted in the next property catalog.


[^][v]       Moves the highlight up or down the catalog.

[alpha]      Moves the highlight to specified alpha line.

[ENTER]      Shows a wide (...) item completely - press
             [ENTER] or [ATTN] to return to the catalog.

{PLOT}       Plots the highlighted property as a function
             of atomic number. (See "Plotting
             Properties".)

{UNIT*}      Indicates units used.

{UNIT}       Indicates units not used.

{MOVE}       Moves the highlighted property to the top of
             the catalog for this and future catalogs.

{->STK}      Puts the highlighted property in level 1 of
             the stack.

{EXIT}       Returns to the Periodic Table display at
             this element.

[ATTN]       Exits the Periodic Table application.

The following table lists the properties in the order
they're included in the Periodic Table, plus the type of
object associated with each property. Certain properties
are not numeric - they're represented as string objects.

                  Properties of Elements

ͻ
                Property            Object  Property 
                                     Type    Number  
Ķ
 Atomic Number                      Real        1    
 Mass Number*                       Real        2    
 Atomic Weight                      Unit        3    
 Density*                           Unit        4    
 Oxidation States*                  String      5    
 Electronic Configuration           String      6    
 State                              String      7    
 Melting Point                      Unit        8    
 Boiling Point                      Unit        9    
 Heat of Vaporization               Unit       10    
 Heat of Fusion                     Unit       11    
 Specific Heat                      Unit       12    
 Group (U.S. customary)             String     13    
 Family                             String     14    
 Crystal Structure                  String     15    
 Atomic Volume*                     Unit       16    
 Atomic Radius                      Unit       17    
 Covalent Radius                    Unit       18    
 Thermal Conductivity*              Unit       19    
 Electrical Conductivity*           Unit       20    
 First Ionization Potential         Unit       21    
 Electronegativity (Pauling's nbr.) Unit       22    
 Oxide Behavior                     String     23    
 Element Name**                     String     24    
 Element Symbol**                   Name       25    
ͼ
  * See the notes that follow this table.
 ** Not included in the property catalog, but listed in
    the title of the catalog.

Notes about properties: Mass number for a stable element
is based on the isotope with the highest percent
abundance; for a radioactive element, it's based on the
longest half-life. Density for a gas is at 273 K with
units of g/l; for others, it's at 300 K with units
g/cm^3. Oxidation states are in order of most stable to
least stable. Atomic volume for a gas is for its liquid
state at the boiling point; for others, it's derived from
the density at 300 K. Thermal conductivity is measured
at 300 K. Electrical conductivity is measured at 293 K.

Some properties for certain elements are annotated with
special information, such as indicating estimated values
or special conditions. For example, the note for the
atomic weight of francium indicates that the value is for
francium's most stable form. Such properties appear in
the catalog with * as the first character - you can
search for this annotation by pressing [alpha] [X]
(multiply). To see the property and annotation,
highlight it and press [ENTER].

If you have one or more properties that you use
frequently, you can change the catalog to make these
properties always appear at the top of the catalog. To
move a property to the top of the catalog (for this and
future catalogs), highlight the property you want at the
top, then press {MOVE}. (Note that this does not affect
the property numbers listed in the previous table.)  To
restore all properties to their original order, purge the
variable PTpar.


7.4  Plotting Properties

You can plot any numeric-valued property as a function of
atomic number for all elements. (You can't plot
non-numeric properties.)  This is useful for finding
elements with certain characteristics and for observing
the periodic nature of many properties.

To plot a property, follow these steps:

  1.  Get a property catalog for any element.

  2.  Highlight the property you want to plot.

  3.  Press {PLOT}.

The plot includes a pointer just below the plot marking
the current element. The bottom line gives the name,
symbol, and property value for the current element.

You can scale the plot to find certain elements or
values. You can return to the property catalog for the
original element or to the Periodic Table display for
another element.


[<][>]       Moves the pointer to the left or right.
             With [leftshift], moves the pointer 10
             elements left or right. With [rightshift]
             moves the pointer to the first or last
             element.

[ENTER]      Returns to the Periodic Table display at the
             element marked by the plot pointer.

[ATTN]       Returns to the previous property catalog.


7.5  Putting Information on the Stack

You can put information on the stack from the Periodic
Table display, from a catalog of properties, or from a
command:


   + From the Periodic Table display, press {ATWT} to put
     the atomic weight of the current element on the
     stack, or press {DENS} to put its density on the
     stack.

   + In a property catalog, press {->STK} to put any
     highlighted property on the stack.

   + From outside the Periodic Table, use the PTPROP
     command to put its density on the stack. (See
     "Using Periodic Table Commands" later in this
     document.)


7.6  Choosing Unit Options

The Periodic Table properties and commands have two
choices for units: SI units or no units (implied SI
units). The numeric values don't change for these
choices, but the type of objects put on the stack does
depend on your choice.

The choice of units usage is represented by the state of
flag 61. If flag 61 is clear, units are used; units are
used if the flag is set.

In any catalog of properties, you can choose SI units or
no units by pressing the {UNITS} menu key. {UNIT*} means
SI units are used, {UNITS} means units are not used.


7.7  Calculating Molecular Weights

You can calculate the molecular weight of any compound
using the Periodic Table:

   + From the Periodic Table display, press [alpha],
     enter the formula for the compound, then press
     [ENTER]. Use [<-] to correct typing mistakes. The
     operation is described below.

   + From outside the Periodic Table, use the MOLWT
     command. (See "Using Periodic Table Commands" later
     in this document.)

When you press [alpha] in the Periodic Table display, the
application prompts for the molecular formula and
automatically locks the alpha keyboard on. The
application accepts any formula containing combinations
of items listed below. (If you enter only an element
symbol, the pointer moves to that element instead.)


   + Element symbols (letters). Only the first letter of
     a two- or three- letter symbol is uppercase (use
     [leftshift] to enter lowercase letters) - NiN and
     NIN are different compounds. Letters that don't
     form valid symbols aren't accepted.

   + Subscripts (numbers). Indicate multiples of the
     preceding element or group. Decimal numbers are
     allowed.

   + Groups (parentheses). Join elements, subscripts, and
     groups. Use [leftshift][()] for (. Use
     [rightshift][()] for ), or unlock alpha and press
     [>].

These are samples of valid molecular formulas:


INPUT:          MEANING:
   
NaF             NaF

H2SO4           H SO
                 2  4

Mg(OH)2         Mg(OH)
                      2

Zn3(Fe(CN)6)2   Zn [Fe(CN) ]
                  3       6 2


Press [ENTER] to calculate the molecular weight. Then


   + To put the molecular weight and formula on the stack
     (and return to the Periodic Table display), press
     [ENTER].

   + To just return to the Periodic Table display, press
     [ATTN].

The molecular weight contains SI units if you're using
units - otherwise, no units are included. You can change
this option in the property catalog for any element - see
"Choosing Unit Options" earlier in this document.


8.  Using Periodic Table Commands


The Periodic Table Library includes four commands that
you can execute from the menu, in the command line, and
in programs. You can view the command names by pressing
[rightshift] [LIBRARY] {PRTBL} [rightshift] [VIEW].


ͻ
   Key   Programmable          Description           
           Command                                   
Ķ
 {PERTB}    PERTBL    Starts the Periodic Table.  It 
                      doesn't affect the stack.      
                                                     
 {PTPRO}    PTPROP    Returns the specified property 
                      for the specified element.     
                                                     
 {MOLW}     MOLWT     Returns the molecular weight   
                      for the specified molecular    
                      formula.                       
                                                     
 {PTVER}    PTVER     Displays the version number of 
                      the Periodic Table Library.    
ͼ



8.1  Getting Properties with a Command

You can get element properties using the PTPROP command
instead of using the Periodic Table display. PTPROP
takes the element's symbol or atomic number from level 2,
and the property number from level 1. Define the element
using either its symbol (a name, such as 'Si') or its
atomic number (such as 14). Define the property using
the property number (such as 9 for the boiling point
temperature). Property numbers are listed in the
"Properties of Elements" table under "Finding Element
Properties" earlier in this document.

For example, both of these program segments return the
boiling-point temperature for silicon:

                << ... 'Si' 9 PTPROP ... >>
                 << ... 14 9 PTPROP ... >>

If you use PTPROP as an algebraic function, you must use
the symbol to define the element - you can't use its
atomic number. For example, this program segment is
valid:

             << ... 'PTPROP(Si,9)' EVAL ... >>

Note that if units are not used (flag 61 set) a real
number is returned instead of a unit object.


8.2  Calculating Molecular Weights with a Command

You can calculate molecular weights using the MOLWT
command instead of using the Periodc Table display. With
certain restrictions, you can define the molecular
formula in either of two forms:


   + A string, such as "H2O". Valid for any formula.

   + A name, such as 'H2O'. Valid only for formulas
     without parentheses.

You can store a molecular formula in a variable, then use
the variable name with MOLWT. You should do this when
you want to use MOLWT in an expression and the formula
contains parentheses or matches an HP 48 command name.

You must use care when naming a variable that contains a
formula string or name. Make sure the variable name
itself isn't a valid formula - for example, start the
variable name with a lowercase letter. (If the variable
name is a valid formula, using MOLWT with the variable
name returns the molecular weight for the variable name,
not for the formula it contains.)

For example, if you store the formula for ethyl alcohol
("C2H6O") in variables SUDS and HOPS, 'MOLWT(SUDS)'
[EVAL] gives the molecular weight for ethyl alcohol, but
'MOLWT(HOPS)' gives the weight for hydrogen-oxygen-
phosphorus-sulfur. ("SUDS isn't a valid molecular
formula, but "HOPS" is.)

If your formula is the same as an HP 48 reserved word,
such as SIN, you must supply it as a string.
@@STPWATCH   SG
                    STPWATCH.TXT File

            (c) Hewlett-Packard Company, 1992.


Overview


The STPWATCH application provides stopwatch functionality
for the HP 48:

 o Real-time, menu-driven "ticking" stopwatch (to 100
   hours).

 o Stopwatch reset.

 o Split recall and storage (memory limited only).

 o Split display and print (absolute and relative) in
   H.MS format.

 o Programmable stopwatch commands.

The program creates a list in a user variable named
SWDAT:

   SWDAT -->  {  n   array(mx2)   d  }

where:

          n =  Real non-negative integer (number of
               stored splits). Default for n is 0.

 array(mx2) =  Real two-dimensional array (mx2)
               permitting m stored splits. Default for m
               is 25.

          d =  Real delay (seconds) between display of
               splits. Default is 0.4.

For example, the following command sequence creates a
SWDAT that permits storage of 100 splits and provides a
delay of 0.5 seconds between display of stored splits.

   0  { 100 2 }  0  [MTH] |MATR| |MAKE| |CON|  0.5  3
   |PRG| |LIST| |->LIST| 'SWDAT  [STO]


Procedure


1.  Transfer the STPWATCH.LIB file from the computer to
    the calculator. The menu label |STPW| will appear in
    your HP 48 VAR menu.

2.  Attach the library to your HOME directory:

    A.  Press the VAR menu key |STPW| to recall the
        library to the stack.

    B.  Enter the port number where you want the library
        to reside.

    C.  Execute STO.

    D.  Turn the HP 48 off and then on again. |SW-B|
        attaches itself and appears as a library in the
        LIBRARY menu.

    E.  Purge the original copy of STPW in the VAR menu.


Operation


1.  Press [RS]-[LIBRARY] |SW-B| to display the stopwatch
    program menu keys.

2.  Press |DOSW| to enter the stopwatch environment. Use
    the |START|, |STOP|, and |RESET| menu keys to operate
    the stopwatch; use [ENTER] to record splits without
    stopping the stopwatch.

3.  Press [ATTN] to exit the stopwatch application.


Menu Keys


|DOSW|    Enters the stopwatch environment; displays
          stopwatch menu.

          |START|   Activates stopwatch.

          |STOP|    Halts stopwatch.

          |RESET|   Resets stopwatch time and number of
                    stored splits to zero.

                    (Press [ENTER] to record splits while
                    the stopwatch continues running.)

|VSP+|    Views split specified by level 1 argument n;
          successive presses increment (n+1) and view
          remaining splits.

|VSP-|    Views split specified by level 1 argument n;
          successive presses decrement (n-1) and view
          remaining splits.

|VALL|    Views all splits (once) with specified delay.

|PSP+|    Prints split specified by level 1 argument n;
          returns n+1 to stack.

|PALL|    Prints all stored splits.

|RCLSP|   Returns the absolute (level 2) and relative
          (level 1) values of split specified by level 1
          argument. (|RCLSP| is found on page 2 of the
          menu.)

|RESET|   Resets stopwatch time and number of stored
          splits to zero. (|RESET| is found on page 2 of
          the menu.)


Stopwatch Display


            ͻ
 00025           00:00:12:34  Stopwatch time
   00003           00:00:09:82  Last key press
                                      
   
   Number of stored splits.
 
 Number of splits that can be stored.

 Note:  As with any program, leaving the stopwatch
        running for extended periods will drain the
        batteries and could result in loss of all data
        stored in the calculator.  Also, while the
        stopwatch is running, alarms are disabled.
@@USAG       SG
                      USAG.TXT File
                     V 1.0  07/06/93
           (c)  Hewlett-Packard Company, 1992.


Overview


The USAG (usage) application enables you to review the
stack argument object type usage for any command built
into the HP 48 or any library command.


Installation


Transfer the USAG file from your computer to the HP 48.
The |USAG| menu label will show up in your HP 48 VAR
menu.


Procedure


1.  Enter on stack level 1 a list containing a command
    name.

2.  Press the |USAG| menu key. The HP 48 displays a
    screen with usage information for the command you
    specified in step 1.


Example


Assuming that you transferred the USAG program to your HP
48, that you entered a list containing the COS command in
level 1, and that you pressed |USAG| in the VAR menu,
here's the screen you get:

                Command or function identifier
Command or      
function     Ŀ
 name COS (Funct.)  S          Special
           #1 of 4                       function
                                           attributes
Argument                              
type set                                 
number    1: Real Number              
            Ĵ
Argument  NEXT PREV  PRINT  EXITMenu labels
type set     




This screen first tells you that COS is a function (all
commands are either RPN commands or functions). Also,
following the "(Funct.)" in your display (indicated here
by "S" ) there are three additional special function
attribute characters: (1) a down arrow, which indicates
the function has an inverse (for ISOL), (2) a derivative
symbol, which indicates the function has a derivative,
and (3) an integral symbol, which indicates that you can
integrate the function. These characters do not appear
when the displayed command does not have the
corresponding properties.

The second line of the screen, showing "#1 of 4," tells
you that there are four possible combinations of argument
types for COS, and that the first one is currently
displayed. Like COS, some commands have only a few
acceptable combinations of argument types; others may
have many more.

The next several lines of the USAG screen show the
argument types accepted by the command and their
corresponding stack levels. For COS you are first shown
that it can operate on a real number in level 1. COS
takes just one argument, but for commands that require
more, all the arguments are shown on their appropriate
stack levels. Argument names match specific HP 48 object
types. (The exceptions are "Any," which means that all
object types are acceptable; "Symbolic," which means that
the argument can be an algebraic, a global name, or a
local name; and "PICT".)

The menu keys at the bottom of the screen enable you to
cycle forward (|NEXT|) and backward (|PREV|) through the
argument type combinations. As you press |NEXT| and
|PREV|, the second line of the display is updated, for
instance, to "#2 of 4", then "#3 of 4", and so on. The
calculator beeps when you step past the last argument
type combination (back to the first), or step backwards
from first to last. When you want to exit the
application, press |EXIT| to return to the normal stack
display. (Pressing the [ON] key also exits the
application.)

The |PRINT| key prints all of the argument combinations
to the current printer port.

If you use USAG to check the usage of a command that
takes no arguments or has just one argument combination,
the USAG menu labels don't appear, and the display
disappears at the next keystroke.

USAG operation depends on a common structure shared by
most HP48 and library commands. If a command deviates
from the common structure, USAG displays may be
incomplete. For example, USAG applied to ->Q shows only
the single argument "Any", which is not very helpful. In
the great majority of cases, USAG will be accurate, but
you may need to refer to the Advanced User's Reference
Manual.
