Subject: comp.sys.hp48 FAQ : 1 of 4 - Common Questions
Summary: Answers to Frequently Asked Questions about HP48 calculators
Supersedes: <HP48_FAQ_v404_1_010596@sol.UVic.CA>
Nntp-Posting-Host: uglz.uvic.ca
Date: 19 January 1996 16:00:00 GMT
Expires: 31 February 1996 22:00:00 GMT

Archive-name: hp/hp48-faq/part1
Version: 4.05
Posting-Frequency: Every 14 days or so


New in v4.05

  o  New Q/A: Can I print to a LaserJet printer with an HP48?

  o  Removed a mistake from LIBEVAL list in Appendix B-3


-----BEGIN PGP SIGNED MESSAGE-----

  HP48 Frequently Asked Questions List (FAQ)
  Andre Schoorl <aschoorl@engr.uvic.ca>
  v4.05, 19 January 1996

  ------------------------------------------------------------
  Answers to Frequently Asked Questions about HP48 calculators
  ------------------------------------------------------------

  1. Introduction

     * 1.1 Overview
     * 1.2 This FAQ in Other Formats

  2. Miscellaneous Questions

     * 2.1 I'm a novice, and I have some questions. Where should I start?
     * 2.2 What Usenet Newsgroups are there for the HP48?
     * 2.3 What are some good FTP sites for the HP48?
     * 2.4 Are there any good WWW links for HP48 stuff?
     * 2.5 Is there an HP48 IRC Channel?
     * 2.6 How can I search for a specific HP48 file?
     * 2.7 What are good places to buy HP48's and accessories?
     * 2.8 Is there an HP48 Emulator?
     * 2.9 Is the HP48 Allowed on SATs or AP Tests? (US)

  3. Questions about ROM versions

     * 3.1 What does the SX/GX have that the S/G doesn't?
     * 3.2 What is the difference between the HP48 G/GX and the HP48 S/SX?
     * 3.3 How can I tell what ROM revision I have?
     * 3.4 What bugs exist in the various versions of the HP48?
     * 3.5 What is new with the revision "J" ROM? (S/SX)
     * 3.6 What happened to ROM revisions G, H, I, O, and Q?
     * 3.7 Can I upgrade my HP48 S/SX?
     * 3.8 Can I upgrade my buggy GX to the latest ROM revision?
     * 3.9 What's the latest ROM version?
     * 3.10 Why would I buy a S/SX rather than a G/GX?

  4. Questions about the Operating System and Using the HP

     * 4.1 I typed RULES on my G/GX and got a crossword puzzle!
     * 4.2 Why does my HP48 occasionally "freeze" for a moment?
     * 4.3 What do I do if my HP48 locks up?
     * 4.4 My HP48 seems to take longer to turn on and off.
     * 4.5 What are all the different ON-KEY combinations?
     * 4.6 What are the different interactive self-tests?
     * 4.7 I can't account for some of the RAM in the HP48!
     * 4.8 What are the best methods for installing and removing libraries?
     * 4.9 How can I attach large libraries?
     * 4.10 Why does (1/3)*3 equal 0.999999999999?
     * 4.11 Why does my HP say that 0 to the power of 0 equals 1?
     * 4.12 Is there an Alternative to Calculating in RPN?
     * 4.13 Why do I get unexpected values when I add temperatures?
     * 4.14 How can I add my own units? What's the 1_? unit for?
     * 4.15 I want `pi' to be a numeric value, not a symbol.
     * 4.16 What are those little numbers near the top of my screen?
     * 4.17 What tricks are there for manipulating matrices?
     * 4.18 Can I use my HP48 as a remote or phone dialer?
     * 4.19 I could speed up my HP-28S. How can I speed up my HP48?
     * 4.20 Can I make my HP graph any faster?
     * 4.21 What is the hidden directory and how do I access it?
     * 4.22 How can I recall one object from a memory archive?
     * 4.23 How do I take the logarithm of a base other than 10 or e?

  5. Questions about cards, data transfers, batteries, and hardware

     * 5.1 Can I upgrade my S or G to more than 32K ram?
     * 5.2 How can I get/build a cable for my HP48?
     * 5.3 Why doesn't the I/R port work farther than a few inches?
     * 5.4 Can my HP48 talk to my HP100LX via Infrared?
     * 5.5 Can I print to a LaserJet printer with an HP48?
     * 5.6 Can I use the IR port on my HP with LaserJet 5 Printers?
     * 5.7 I downloaded a program but all I get is "HPHP48-..."!
     * 5.8 Why does XRECV not work sometimes? (GX)
     * 5.9 What do the funny symbols in this document mean?
     * 5.10 What are the pinouts for the HP48 serial connector?
     * 5.11 Is there any information on interfacing to the HP48?
     * 5.12 How can I transfer programs/data from my HP-28S to my HP48?
     * 5.13 Can I use rechargeable batteries with the HP48?
     * 5.14 How can I tell, from within a program, if the battery is low?
     * 5.15 I lost the information on my RAM Card when I changed the battery!
     * 5.16 Why do I get an "Invalid card data" error when I merge a RAM card?
     * 5.17 I've heard about other manufacturer's RAM cards. Will they work?
     * 5.18 Why does the HP48 SX display flicker slightly?
     * 5.19 I broke the LCD screen is there an easy way to get another?
     * 5.20 How can I protect my LCD?
     * 5.21 Can I use my Amateur Radio with my HP48?

  6. Questions about programs

     * 6.1 Where can I get programs and information for the HP48 SX?
     * 6.2 What are the Goodies Disks and where do I get them?
     * 6.3 How do I get access to the HP Calculator BBS?
     * 6.4 What are files that end with ".zip", ".Z" or ".gz"?
     * 6.5 What is a "ship" file?
     * 6.6 What is the ASC format and how can I use it?
     * 6.7 What is the HYDE library, and how do I get rid of it?
     * 6.8 What is the Minehunt game, and how do I use it?

  7. Questions about programming and advanced user functions

     * 7.1 I've heard the names RPL, Saturn, STAR, GL etc... What are they?
     * 7.2 Is there a C compiler for the HP48?
     * 7.3 Why do SysRPL programs run faster than UserRPL programs?
     * 7.4 What is a good reference for learning SysRPL and ML?
     * 7.5 Can I make my own Libraries? Can I Split Others?
     * 7.6 How do I know what library ID number to use for my program?
     * 7.7 What information is there on the internals of the HP48?
     * 7.8 Where can I get some programming development tools?
     * 7.9 Are there any viruses for the HP48?
     * 7.10 How do I store fields of variable length effectively?
     * 7.11 What is "Vectored Enter", and how do I use it?
     * 7.12 What is "WSLOG"?
     * 7.13 What are SYSEVALs?
     * 7.14 What are some useful SYSEVALs?
     * 7.15 What are LIBEVALs?
     * 7.16 What are some useful LIBEVALs? (GX)
     * 7.17 What is the format of a GROB object?
     * 7.18 What is the AUR and what information does it contain?
     * 7.19 What is the syntax for INFORM, CHOOSE, and MSGBOX? (GX)
     * 7.20 How do I put checkfields in my INFORM menus?

  8. Appendix A: Various Useful Functions

     * 8.1 ASC-> and ->ASC
     * 8.2 OBJFIX
     * 8.3 FIXIT
     * 8.4 LASTX
     * 8.5 Compact Data Storage

  9. Appendix B: GX Specific Information

     * 9.1 What's new in the HP48 G/GX?
     * 9.2 Examples of INFORM, CHOOSE, and MSGBOX
     * 9.3 Some useful LIBEVALs

  10. Appendix C: Details of Bugs

     * 10.1 The EquationWriter Bug
     * 10.2 Rotation Rate to Angular Frequency Conversion Bug

  11. Appendix D: Hardware Additions

     * 11.1 How to Make a Serial Cable
     * 11.2 Using Non-HP RAM Cards

  12. Appendix E: Where to get HP48 Programs

     * 12.1 Best Programs and Where to Get Them List
     * 12.2 Other FTP Sites
     * 12.3 FTP by Electronic Mail
     * 12.4 Bulletin Boards with HP48 Programs
     * 12.5 HP Goodies Disks

  13. Contributors

  ------------------------------------------------------------

  1.  Introduction

  This FAQ is now maintained by: Andre Schoorl <aschoorl@engr.uvic.ca>

  It was until recently maintained by Keith Maddock, and was originally
  compiled by Darryl Okahata.  Many thanks to both for their time and
  contributions!


  1.1.  Overview

  The purpose of this FAQ is to provide answers to commonly asked
  questions about the Hewlett Packard 48 family of scientific
  calculators.  This list contains information which has not necessarily
  been verified, and is not guaranteed to be correct.  It has been
  compiled from various postings in the newsgroups comp.sys.hp48 and
  comp.sys.handhelds, as well as other sources.  In particular, some
  parts were taken from older HP48 SX "FAQ Lists".

  For some questions, there may be different answers for each calculator
  (G/GX vs. S/SX).  In this case S/SX specific information is preceeded
  by an "SX:" on the left margin of the first line of each S/SX specific
  paragraph.  G/GX information is denoted by a "GX:" in the same place.
  If a paragraph has no notation, then it is valid for all versions.


  1.2.  This FAQ in Other Formats

  This document was made using the Linux-DOC SGML (Standard Generalized
  Markup Language) package and is available in ASCII, HTML, and
  PostScript versions.  All versions come from the same source, and are
  thus updated simultaneously.

  The URL for the HTML version is
  <http://www.engr.uvic.ca/~aschoorl/faq/>.  The other formats are also
  available here in separate zip files.

  Text only versions of the FAQ will be posted to the newsgroup
  comp.sys.hp48 as needed.

  I will sign all text versions with PGP (Pretty Good Privacy) using the
  following key for authenticity, and provide MD5 Checksums for the
  remaining files.  You can get a copy of this public key through the
  URL above.


  Type bits/keyID    Date       User ID
  pub  2048/3CD1B675 1995/01/19 Andre P. Schoorl <aschoorl@engr.uvic.ca>
            Key fingerprint =  33 BF 8C EC A1 2B 13 11  AE A3 FE 3E 00 A1 31 4D


  Alternatively, you can download the FAQ at the following locations,
  under a filename such as "48faq???.zip":


     North America:

     o  <ftp://ftp.cis.com/pub/hp48g/uploads/>

     o  <ftp://ftp.cis.com/pub/hp48g/documentation/>

     Europe:

     o  <ftp://ftp.stud.fh-heilbronn.de/pub/incoming/>

     o  <ftp://ftp.stud.fh-heilbronn.de/pub/hp48/info/FAQ/>


  2.  Miscellaneous Questions

  2.1.  I'm a novice, and I have some questions.  Where should I start?

  Start by perusing the HP48 manuals.  You'd be amazed how many
  questions can be answered if you read the manuals.


     SX:
        Earlier HP48 S/SX manuals came in two volumes. The first volume
        dealt with operating instructions, and the second volume dealt
        with programming.  Later HP48 S/SX manuals combined these two
        volumes into one.

     GX:
        HP48 G/GX models come with a one-volume owners manual that
        covers all of the non-programming aspects of the calculator.  An
        Advanced User's Reference (AUR) is available that covers
        programming aspects.  It is highly recommended.  They also come
        with a Quick Start Guide, a guided tour of some of the HP48's
        capabilities.

  Also, look over the section "Answers to Common Questions", in Appendix
  A of the manual.  If you have a two-volume manual, it will be in
  volume II.


  2.2.  What Usenet Newsgroups are there for the HP48?


     comp.sys.hp48
        Primary newsgroup

     comp.sys.handhelds
        Occasionally, HP48 information is posted to this newsgroup.

     comp.sources.hp48
        This newsgroup has been dead for years, but was once a moderated
        group for HP48 Programs.


  2.3.  What are some good FTP sites for the HP48?

  Many HP48 programs can be found on the following FTP sites:

  o  <ftp://ftp.cis.com/pub/hp48g/>

  o  <ftp://hpcvbbs.external.hp.com/dist/>

  o  <ftp://wuarchive.wustl.edu/systems/hp/hp48/>

     For a list of other HP48 FTP sites, see Appendix E-2.


  2.4.  Are there any good WWW links for HP48 stuff?

  Rather than list out a long list of HP48 related WWW resources, here
  is a single HP48 Page which contains links to other HP48 pages:

  o  <http://www.gmi.edu/~madd0118/hp48/>


  2.5.  Is there an HP48 IRC Channel?

  Yes, try joining channel #hp48.  Many of the most knowledgeable HP48
  users frequent it, making it a nice place to get your questions
  answered.  There is even an IRC robot "BeeFbot" which can send you
  some of the latest versions of HP48 programs.


  2.6.  How can I search for a specific HP48 file?

  If you know the all or part of the filename of an HP48 program, you
  can use the proper InterNET search services instead of bothering all
  the readers of the newsgroup.  The following server is especially
  good, it seems to find HP48 files from just about anywhere.


       <http://ftpsearch.unit.no/ftpsearch>


  2.7.  What are good places to buy HP48's and accessories?


     Educalc:
        Educalc carries a complete line of HP calculators and
        accessories.  They also sell used HP48's, and buy them as trade
        ins.  To get a free catalog, call them.


          Toll Free Order:    (800)-677-7001  \___ Orders and Customer Service
          Toll Order:         (714)-582-2637  /    8-5, M-F, West Coast Time
          Credit Card Order:  (800)-535-9650 ext. 9162 (all hours, all days)
          FAX orders:         (714)-582-1445
          Technical Support:  (714)-582-2637
          "Para ayuda en Espanol - pregunte por Irma"


     Elek-Tek:
        Elek-Tek seems to only carry HP name brand products.  Their
        prices may be slightly cheaper than EduCalc, but they don't
        carry non "HP brand" products (such as RAM cards), that are much
        cheaper than HP brand ones.


          Toll Free: (800)-395-1000      Order: (708)-677-7660
          Fax: (708)-677-7168            Fax Orders: (708)-677-1081


     HP48 Head Quarters:
        You can order HP48's and accessories online at
        <http://www.hp48.com/>

     Office Max:

     Toll Free: (800) 788-8080


     Others:


          Office Depot

          Executive Photo and Electronics
          120 West 31st St., New York, NY 10001-3485
          Tel: 800-223-7323 or 212-947-5295
          Fax: 212-239-7157

          Calculators Inc., Minneapolis, MN (612) 866-8908

          Carrington, (800) 982-3731

          Global Connections Incorporated (formerly Connection Point, Inc.)
          50 South River Street, Suite 105, Janesville, WI 53545
          Tel: (608)-752-9548 or (608)-752-1537

          Spectrum Office Equipment
          22 Stokes Croft Bristol.
          0117 9428278


  2.8.  Is there an HP48 Emulator?

  A fully functional HP48 emulator by Eddie Dost called "x48" is
  available.  It runs in X-Windows on any Unix based operating system
  like Linux or SunOS.  However, it requires a ROM dump of an HP48 to
  run.  Of course, due to copyright laws such a ROM dump cannot be
  distributed with the x48 package.

  Therefore, you must be the proud owner of an HP48 (S/SX or G/GX) in
  order to create your own ROM dump.  The emulator will look and act
  either like a S/SX or a G/GX, depending on what type of ROM dump you
  give it.  Further instructions are contained in the x48 package
  itself.  The latest version of x48 is available at
  <ftp://ftp.cis.com/pub/hp48g/uploads/x48-040.zip>

  In order to encompass a more general user base, other emulators are
  currently under development for DOS, Windows, and OS/2.  However as of
  yet none compare to the full functionality of x48.  You can try
  looking for emu48 at  <ftp://oprfhs.org/pub/hp48/>


  2.9.  Is the HP48 Allowed on SATs or AP Tests? (US)

  From: Jack Levy

  The S/SX/G/GX are allowed on the SAT's.  The S/SX/G/GX are allowed on
  the SAT II Math IIc test, but no calculators are allowed on any of the
  others.  The S/SX/G/GX are allowed on the AP Calculus exam.  However,
  only the S/SX are allowed on the AP Chem and AP Physics exams because
  the G/GX has the built in equation library.


  3.  Questions about ROM versions

  3.1.  What does the SX/GX have that the S/G doesn't?


     SX:
        The HP48 S is the same as the HP48 SX except that the HP48 S
        does not have the two expansion slots of the HP48 SX.  This
        means that the HP48 S cannot be expanded and can only access 32K
        of memory, versus 288K for the HP48 SX (two 128K RAM cards).
        (Actually, there are third-party RAM cards that contain 256K or
        512K on a single card -- this memory is accessed via a bank-
        switching mechanism.)


     GX:
        The HP48 G is the same as the GX except for two differences.
        The GX has the 2 expansion ports, and also has 128K RAM built
        in, whereas the G only has 32K.

        If you plan on heavily using your calculator, you will probably
        find that 32K is not enough memory.  In fact, some of the best
        HP48 Programs will not even fit in this memory!


  3.2.  What is the difference between the HP48 G/GX and the HP48 S/SX?

  The HP48 G/GX calculators are, basically, slightly faster (by 40%)
  versions of the HP48 S and HP48 SX calculators, with more features,
  such as 3D-plotting and a new forms-based interface.  Much of the HP
  Solve Equation Library card is now built-in.  See Appendix B-1 for a
  detailed list of GX features.

  Note, however, that the HP48 G/GX is different from the HP48 S/SX in a
  number of significant areas:


  1. The HP48 GX comes with 128KB RAM, as opposed to 32KB RAM in the
     HP48 SX.  The HP48 G still has 32KB RAM, however.  The HP48 G/GX
     also has twice the ROM (512K), compared the HP48 S/SX (256K).

  2. Much of the HP48 G/GX internals have changed, compared with the
     HP48 S/SX.  Unfortunately, this means that many programs written in
     assembly language or System RPL won't work on the HP48 G/GX.  This
     is especially true of any program that tried to access the display
     memory directly.

  3. The HP48 G/GX CPU runs at 4 MHz, instead of the 2 MHz used with the
     HP48 S/SX CPUs.  However, due to various overheads (memory bank
     switching, etc.), the speed increase between the S/SX and G/GX is
     less than 2 times.  G/GX throughput is approximately 40% faster.

  4. Slot 2 of the HP48 GX can access up to 32 ports (ports 2-33) by
     bank switching.  Each port is 128KB, for a maximum total of 4 MB in
     slot 2.


  3.3.  How can I tell what ROM revision I have?


     GX:
        Type the command "VERSION".  Note that this command is not part
        of any key or menu, and so you must spell it out.

        Type #30794h SYSEVAL.  It returns a string, "HPHP48-x", where x
        is your ROM revision.  This works for both SX and GX.
     SX:

        1. Turn the calculator on (press ON and then release).

        2. Press ON again, and hold it down.

        3. While holding down the ON key, press and hold down the "D"
           key (the fourth white key in the top row).

        4. While holding down the "D" key, release the ON key.

        5. Release the "D" key.  The display should be blank, with the
           exception of three vertical lines (one down the centre, and
           one down each of the right and left sides).

        6. Press the backspace key (it says DROP and CLR over it).  A
           meaningless string of digits should appear in the top line of
           the display (mine says "705D9:1B8DA178E5A111B6" -- yours may
           be different).

        7. Press and hold down the EVAL key.  It should say something
           like the following, where the ? is an uppercase letter
           indicating the ROM version:


             Version HP48-?
             Copyright HP 1989


        8. Release the EVAL key.  Hold down ON and hit "C" (the third
           white key in the top row.  This is a general reset operation
           that returns the calculator to normal from the diagnostic
           stuff (which is where ON-D puts you).


  3.4.  What bugs exist in the various versions of the HP48?


     Rom: A

     o  DEFINE rounds numbers in user-defined functions if STD is not
        the current display mode.

     o  KGET on a zero length file from another machine will cause the
        calculator memory to be cleared.

     o  NXEQ from the Graphics Environment with flag -3 set (SYM off in
        Modes) can overwrite the current equation with a number.

     o  Displaying the clock in 24-hour format causes the one-digits for
        minutes to be incorrect in the alarm catalog.

     Roms: A-C

     o  INV returns an incorrect result if used on an 8x8 or larger
        matrix.  To get around this problem, divide the identity matrix
        with the matrix to invert.

     Roms: A-D

     o  Entering a symbolic complex number in polar form like (A,<B)
        (where < is really the funny little angle symbol), gives an
        expression in A and B that is wrong (the A and B are
        interchanged so A is the angle and B is the magnitude).
     o  If the clock is displayed during an ARCHIVE via RS-232, there is
        a chance (not 100%) that calculator memory will be cleared,
        after the transfer.  The work-around is to turn the clock
        display off before doing the transfer.  Should memory be
        cleared, you will have to restore the contents of memory from
        the archive.

     o  TRNC and RND allow for an array in level 2 and a symbolic in
        level 1 of the stack. This allows you to put an array in a
        symbolic.  Example:  2 3  '7/8' RND returns 'RND(UNKNOWN,7/8'.

     Roms: A-E

     o  There's a bug in the EquationWriter that is "fixed" in the Rev J
        ROM.  See Appendix C-1 for details.

     Roms: E, J

     o  BESTFIT: Occurs when a two dimensional array is stored in \GSDAT
        (SigmaDAT).  Pressing the BESTFIT softkey multiple times will
        leave a lot of useless reals on the stack.

     Rom: K

     o  First HP48 G/GX released; includes various bugs affecting ports.
        Therefore, version K was built only into HP48 G units.

     Roms: K, L, M, P

     o  XROOT Function fails when used with list processing unless X=Y.
        It does not corrupt memory.  Fix: Preced any XROOT which will
        use list processing with a SWAP

     Rom: L

     o  Second HP48 G/GX released; fixed the port bugs.  This ROM
        version is that present in the 2,000 HP48 GXs sold at the ASEE
        conference for $90 apiece.

     Roms: L, M

     o  HP48 GX may lose all of user memory when: clock is displayed, a
        library object is be stored in user memory, and a RAM card is
        lugged in to port one and merged with User Memory. If all four
        of these conditions are present and the calculator is turned on
        when the clock is being updated by the system, a loss of all
        User Memory may occur.

        FIX: Just type the following in on your calc:


          << RCLF -> f << -40 CF OFF f STOF >> >> 91.3 ASN

          Then turn on USER mode


     o  EquationWriter/Character Picker Bug: If the size of the equation
        is greater than the regular size of the screen, calling the
        Character Picker in Equation Writer will garble the screen.

     Rom: M

     o  Evaluating a tagged object which contains an operator (+, -, *,
        /, etc) as the second or subsequent character will leave an
        External and System Binary on the stack, as well as the original
        object.

     Roms: L, M, P

     o  SigmaDAT: Put a NON-MATRIX in \GSDAT (SigmaDAT), run STAT
        graphical apps, edit \GSDAT.  Causes a crash.

     o  XRECV will fail or cause memory lost if the amount of free RAM
        left is not about twice the size of the expected file.  Fix: See
        FXRECV on GD 9.  Note that FXRECV is not necessary for Rom R,
        and in fact will not even run properly on Rom R.

     o  RREF does not transform the matrix into Row Reduced Echelon Form
        correctly if the first column of the matrix consists entirely of
        zeros.  It may also return incorrect answers in some matrices.

     Roms: L, M, P, R

     o  portnum: { dir ... var } RCL/EVAL fails if portnum >= 2

     o  Rotation rate to angular frequency conversion bug.  See Appendix
        C-2 for a complete write-up.

     Roms: M, P, R

     o  Repeated executions of FFT or IFFT can cause a memory loss.  The
        FFT and IFFT warmstart problem is caused by a CPU return stack
        overflow during interrupt handling.  The problem can only occur
        when the argument to FFT or IFFT is an MxN matrix with both M >
        1 and N > 1.  The vector argument case is immune to this
        problem.

        FIX: To compute the FFT of a matrix without risking warmstart,
        expand the matrix into its row vectors using ->ROW, compute the
        FFT of each row vector, collect the results into a matrix using
        ROW->, expand the matrix into its column vectors using ->COL,
        compute the FFT of each column vector, and finally collect the
        results into a matrix using COL->.  Except for less precision,
        this is the same result as would be obtained by applying FFT on
        the original matrix.  Use the same procedure with FFT replaced
        by IFFT to compute the IFFT of a matrix.

        Here are program examples implementing the "Matrix FFT" and
        "Matrix IFFT":


          MFFT     << ->ROW FFTLP ROW-> ->COL FFTLP COL-> >>
          MIFFT    << ->ROW IFFTLP ROW-> ->COL IFFTLP COL-> >>
          FFTLP    << -> n << 1 n START n ROLL FFT NEXT n >> >>
          IFFTLP   << -> n << 1 n START n ROLL IFFT NEXT n >> >>


     o  Eqwr/Eqlib interaction bug: If you pick an equation from the EQ
        library, enter solver for that equation, enter an algebraic on
        the stack like 'X^2', and press the down arrow key to view
        algebraic in EquationWriter, the name of the equation will
        appear in the EquationWriter along with the unassociated
        algebraic.

     Roms: M, P

     o  BESTFIT: Occurs when a two dimensional array is stored in \GSDAT
        (SigmaDAT).  Pressing the BESTFIT softkey multiple times quickly
        can cause a warmstart, or SigmaDAT to be erased. This occurs
        sometimes just by pressing BESTFIT repeatedly, regardless of
        \GSDAT content.  This bug can also be triggered by pressing the
        BESTFIT softkey quickly after pressing any other key.  Simply
        pressing MODL then BESTKEY quickly will trigger the bug.

     Rom: P

     o  PROOT: If you put a matrix of coefficients on the stack and
        press PROOT repeatedly, you will get a warmstart.

     Roms: A-R

     o  MatrixWriter Bug: This shows up when deactivating and
        reactivating any of the two direction movement fields.  If you
        do this, the active matrix field won't move as it's supposed to.
        For example: Launch the matrix writer (check that your GOFORWARD
        field is activated).  Type 1 ENTER. The active matrix field
        moves forward as it should.  Deactivate the GOFORWARD field and
        activate it again. Now enter 2 ENTER 3 ENTER. The digits should
        show up on the same row, but they don't, 'cause after you
        deactivated and reactivated the GOFORWARD field, the active
        matrix field stops moving according to the movement fields.


  3.5.  What is new with the revision "J" ROM? (S/SX)

  The revision J ROM has a faster equation writer, as well as some bug
  fixes.  Scrolling of graphics is also faster.

  One "problem" is that the revision J ROM changed some undocumented ROM
  entry points, which broke those programs that used them.  If you have
  a Rev J ROM, you will not be able to run some old programs.


  3.6.  What happened to ROM revisions G, H, I, O, and Q?

  These versions either were never released to the public, or were
  skipped over.

  I have received confirmation of the existence of a HP48 S with ROM
  revision F.  So it appears revision F was in fact released to the
  public, although very few must have made before revision J came out.


  3.7.  Can I upgrade my HP48 S/SX?

  When the G/GX first came out, HP had a trade in program.  This is no
  longer in operation.  You can either try to sell you S/SX privately,
  or you can trade it in at EduCalc.  Contact them for exact trade-in
  details; their number is in Appendix E-5.


  3.8.  Can I upgrade my buggy GX to the latest ROM revision?

  As far as I know, not any more.  They had a program a in early '94,
  but it is over now.  Contact the following for more info:


  Hewlett-Packard Corporation
  Calculator Support
  1000 NE Circle Blvd
  Corvallis, OR 97330

  Phone: (541)-757-2004 option 1


  3.9.  What's the latest ROM version?


  o  Revision R is the latest ROM version of the G/GX series.

  o  Revision J is the last ROM version of the S/SX series.


  3.10.  Why would I buy a S/SX rather than a G/GX?

  Here's the top reasons to buy a S/SX instead of a G/GX (Thanks to all
  who contributed):


  1. May be slightly cheaper, having only 32K RAM.

  2. It isn't THAT outdated.

  3. So what if it's a little slower?

  4. You didn't need all those useless equations, graphics capabilities,
     and math and science functions anyways!

  5. If you break it, you're out of less money!

  6. You like seeing how much you can fit into 32K RAM.

  7. You like slow file transfers, using Kermit instead of Xmodem.

  8. You want to be able to use all those lists of SYSEVALs for the SX.

  9. You like having only 3 ports available max.  33 is ridiculous!

  10.
     Since it doesn't have a built in equations library it is less
     likely to be banned on tests.

  11.
     Only wimps need GUI's, dialog boxes, and choose lists.


  4.  Questions about the Operating System and Using the HP

  4.1.  I typed RULES on my G/GX and got a crossword puzzle!

  From: Joe Horn

  Many commercial programs (like Windows) have similar hidden screens
  that list the program's design team.  Since they are always so cute
  and well hidden, they are often referred to as "Easter eggs".  The
  RULES command on the G/GX is one such example.

  Try using the RULES command.  The names you see are as follows:


       /----------------------\
       |            M G       |
       |      P   DIANA       |
       |    CHARLIE X B     D |
       | BILL U   N  TED    A |
       | O  A L   N    ALCUIN |
       | B  I    JIM   V      |
       |  RON     S    E      |
       \----------------------/


  ALCUIN was the HP-internal code name of the HP48 G during development,
  because Alcuin was Charlemagne's teacher, and Charlemagne, as you
  remember, was the code name of the HP48 SX.

  The other names in the "Easter egg" above belong to:


  o  BILL Wickes (list processing; "Father of RPL")

  o  CHARLIE Patton (RPL operating system)

  o  TED Beers (parameterized outer loop; interactive stack; key
     handling system; high-level display management; input forms)

  o  DIANA Byrne (project manager; plotting; graphics)

  o  GABE Eisenstein (EquationWriter)

  o  BOB Worsley (I/O)

  o  PAUL McClellan (unit management; math)

  o  CLAIN Anderson (product manager; marketing)

  o  DENNIS York (manager)

  o  JIM Donnelly (EQ LIB; list processing; variable tic logic;
     developer support)

  o  MAX Jones (menu system; editing)

  o  DAVE Arnett (hardware)

  o  DAN Coffin (manuals)

  o  RON Brooks (marketing)


  4.2.  Why does my HP48 occasionally "freeze" for a moment?

  The HP48 must occasionally do "garbage collection" to free up unused
  memory, and it is this garbage collection that is causing the
  momentary "freeze".  "Garbage collection" is where the HP48 scans
  through memory, looking for objects that are no longer used.

  Using less stack supposedly makes garbage collection go faster.

  The easiest way to force a garbage collection is to run MEM DROP.
  Otherwise you can use #05F42h SYSEVAL or the SysRPL command GARBAGE.


  4.3.  What do I do if my HP48 locks up?


  o  NOTE: If you have it, read the sections in the GX manual starting
     on page 5-16, "Special Memory Operations", and "Testing Calculator
     Operation" on page A-9.

  o  NOTE: under most circumstances, your calculator should never lock
     up.  Some earlier versions of the G/GX do this due to bugs.  Of
     course, depending on the program being run, it may appear to lock
     up, but pressing the "ON" key usually interrupts whatever the
     calculator is doing.  If it does lock up, this is usually caused by
     a buggy assembly-language or system RPL program, and, chances are,
     the memory contents of your HP48 are gone (as in "destroyed",
     "terminated", "wiped out", "deleted", etc.).


  1. First, check the batteries to make sure that they are installed
     correctly.

  2. Next, try is pressing the "ON" key again and again very RAPIDLY.
     The operative word here is "rapidly".  It's possible to write a
     program that can only be interrupted during a very narrow window,
     and so you must press the "OK" key again and again very rapidly to
     interrupt the program.  If the calculator doesn't respond within
     ten or so seconds, go on to the next step.

  3. Press "ON-+" a couple of times, just in case the LCD display
     intensity was turned down.  Here, "ON-+" means:

  o  Press and HOLD DOWN the "ON" key.

  o  Press and release the "+" key, WHILE HOLDING DOWN THE "ON" KEY.

  o  Release the "ON" key.

  4. If this doesn't work, the next thing to try is ON-C.  This is a
     "warm-start" or "system halt".   Note that this will CLEAR the
     stack.  Here, "ON-C" means:

  o  Press and HOLD DOWN the "ON" key.

  o  Press and release the "C" key, WHILE HOLDING DOWN THE "ON" KEY.

  o  Release the "ON" key.

  5. If this still does not work, it is possible that the HP is not
     responding because it is not accepting input from the keyboard.  It
     is possible to execute a system halt without the keyboard using the
     hidden reset button.  The reset button is hidden under one of the
     two upper rubber feet on the bottom of the calculator (it's under
     one of the two feet near the serial connector and I/R port).  Note
     that the location of the reset button (under which foot) varies
     from calculator to calculator.  If you gently pull out the rubber
     feet, you'll notice that there is a small hole under each foot.
     The reset button is located in the hole that has an "R" next to it.
     Once you've located the correct hole, you press the button by
     GENTLY sticking an unbent paper clip, into the hole with the "R"
     next to it.  Hold for one second and remove.

  6. The next thing to try is a complete memory reset.  Depending on the
     state of your calculator, this may or may not preserve the contents
     of memory.  At the very least, even if the contents are preserved,
     the contents of the HOME directory will probably be moved into a
     new directory below HOME (HOME will be empty with the exception of
     this new directory); you'll have to manually move the items back
     into HOME.  To perform a complete memory reset, press ON-A-F.  This
     means:

  o  Press and HOLD DOWN the "ON" key.

  o  Press and HOLD DOWN THE "A" key, WHILE HOLDING DOWN THE "ON" KEY.

  o  Press and HOLD DOWN THE "F" key, WHILE HOLDING DOWN THE "ON" AND
     "A" KEYS.

  o  Release all of the keys.

  o  At this point, the calculator will ask you if you want to recover
     memory.  Answer "yes" to this question.  Note that this can take a
     long time.  If you answer "no", all of memory will be cleared (the
     old contents will be lost).

  7. Although it is highly unrecommended, if your HP does not even
     respond to the reset button (only likely if you are an ML hacker!)
     you might wish to try reversing the polarity of your batteries,
     pressing ON, then correcting the batteries.  The HP should start
     with a "Try to Recovery Memory?" prompt.

  8. If all of the above fail, you may have to contact HP for service.


  4.4.  My HP48 seems to take longer to turn on and off.

  The usual causes for this are RAM/ROM cards and libraries.  When you
  turn the calculator on, it checks RAM (the more you have, the longer
  it takes), and checks to see if any libraries need initializing.

  Also, having a lot of alarms can supposedly also cause this.


  4.5.  What are all the different ON-KEY combinations?

  Note: This answer written by a member of the HP48 team in Corvallis


     ON In most cases, this will move you to, or toward, the stack
        environment.

     ON+A+F
        This is the manual Coldstart.  It will break out of _almost_ any
        hung program, and offer you the dreaded option... Try to recover
        memory? Note that this is your next-to-last resort in a lock-up,
        so don't give your machine this three-fingered salute unless you
        really want to possibly clear memory.

     ON+B
        This is the Oops! key for ON codes.  For many ON sequences, this
        cancels the operation, so long as you press the B before
        releasing the ON key. Try it sometime, if you must, just so you
        remember it.  It can be a life-saver, in case of an accidental
        ON+A+F in process, or even accidentally hitting ON during a
        plotting routine.

     ON+C
        This will initiate a Warmstart.  You'll lose the stack, but it
        will often get you out of a locked up program with memory
        intact.

     ON+D
        Enters interactive test mode.  I won't even attempt to catalog
        the various tests and odd jobs available from here.  Back up
        your own machine and play around.  Exit this test mode with
        Warmstart, ON+C.

     ON+E
        Starts a looping self-test mode.  Kinda dull after the first
        five minutes, but it keeps a rather solid tempo.  Exit with
        Warmstart, ON+C.

     ON+4
        Cancels repeating alarms.

     ON+1
        Screen dump utility.

     ON+'+' and ON+'-'
        Adjusts display contrast.

     ON+SPC
        Initiates Coma Mode and clears Warm Start Log.  In Coma mode,
        all the clocked activity is halted.  The battery power drain is
        basically the few nano-amps nA necessary to sustain your RAM
        contents.  The Warm Start Log is a nearly bullet-proof area of
        memory which keeps track of the last four hazardous events.
        View it using the command, WSLOG.  This log is one of the few
        things not cleared by a Coldstart.  But it is cleared by ON+SPC.
        Enter Coma this way if you want to clear the Warm Start Log, if
        you are planning to study crystal healing in Tibet for a few
        years and want to keep your pirated version of Tetris alive, or
        you just have a low power fetish. Exit Coma mode with the ON key
        (tough to remember, huh?), and plan to find your stack cleared
        out.

        Two additional notes on this Coma stuff.  First, I'm not gonna
        try to list the log codes in WSLOG.  Sorry!  Second, if your
        machine is on, and you drop the batteries out, you will
        _usually_ end up in a coma mode to preserve power. WSLOG will
        not be cleared.  Instead, you will find a code 1 entry there.
        Some people are paranoid and want to be in Coma when they change
        batteries, just in case they have a sudden emergency call from
        the Prime Minister and don't get back to their battery change
        for a half hour.  If you are one of these...  shall I say,
        weenies?  No, that would be unprofessional ...users, then I
        recommend you use the ON+SPC entry route, rather than the
        kamikaze method of dropping batteries with the machine running.
        Myself, I just turn the machine OFF, like the manual says.

        Now, a Coma story... sort of.  During the G/GX development, I
        maintained a small number of units on which I changed ROM chips
        as incremental code releases came out.  This was so folks like
        Bill Wickes and Jim Donnelly could have fully-real hardware to
        test, instead of just the EPROM handsets some of you may have
        seen.  We always backed up anything of importance in the machine
        before we did this.  But I got into the habit of using ON+SPC
        before I opened up the calculator.  Better than half of the
        time, I could remove the batteries, open the case, desolder the
        old surface-mounted ROM chip, solder down a new chip, and
        reassemble the machine... with all of RAM intact!  When I
        pressed ON, I'd come right back up with no Try to Recover
        Memory? prompt. Pretty good, huh?  The folks who put that mode
        into the machine certainly weren't in a coma.


  4.6.  What are the different interactive self-tests?

  Pressing ON-D enters the interactive self test function of the HP48.
  When you first press ON-D, you will see 3 vertical lines, one on each
  side of the screen and one in the middle.  The tests are as follows
  (Press ON-C to exit):


       [A]   Displays CPU speed
       [B]   LCD test.  Press Enter to cycle through the tests
       [C]   Internal ROM test
       [D]   Internal RAM test
       [E]   Keyboard test.  Starting with [A], press all the keys in order,
             left to right, top to bottom.  If all goes well, it will say
             KBD1 OK
       [F]   Partial Keyboard test
       [G]   ESD test monitor.  Battery status is shown by bars.
       [H]   UART loop-back test
       [I]   Wired UART echo
       [J]   Shows whats plugged in. Press any key a few times
       [K]   Test RAM cards in ports
       [L]   Blanks display
       [M]   Sends system time from IR port
       [N]   Receives system time from IR port (have another HP send it)
       [O]   IR loop-back test
       [P]   IR UART echo
       [S]   Shows test start time
       [T]   Shows test fail time
       [U] [V] [W] [X] [Y] [Z]   Looping test
       [ENTER]   Initialize test tims
       [DEL]   Test summary
       [<-]   (backspace) Enters memory scanner (SX)


  When the HP48 is in test mode (ON-D or ON-E), the test results that
  are displayed on the screen are also sent to the serial port at 9600
  baud, 8 bits, no parity, 1 stop bit.  This seems to be unaffected by
  any settings in IOPAR, PRTPAR, or the system flags.  I can only guess
  that this feature was included for factory testing purposes.  This
  does explain, however, why the I/O annunciator lights up so much
  during the self test.


  4.7.  I can't account for some of the RAM in the HP48!

  The HP48 S/SX/G have 32K base memory, and the GX has 128K.  However
  not all this memory is available to the user.  The operating systems
  uses memory for system variables, flags, fonts, last stacks, last
  arguments, last menus, and such.  It also can be any one of a number
  of things:


  1. Enabling the use of LAST STACK, LAST ARG, LAST CMD, etc., uses up
     extra RAM, as the calculator has to keep track of the last stack,
     arguments, command, etc..  This is particularly important with LAST
     STACK if you have a large/complex stack, as the HP48 has to keep
     enough information around to recreate the stack after each
     operation.  You can clear out these variables by pressing ON-C (but
     also note that this will clear out the stack, the graphics PICT,
     etc.)

  2. From William Wickes, a member of the HP48 development team: Here's
     a candidate for "most obscure way to use up memory on the HP48 SX."
     When a program executes DOERR with a string argument, the string
     and hence the program too if the string is embedded in the program
     are referenced for the sake of the ERRM command.  Thus if you purge
     the program, the memory used by the program is not reclaimed until
     the ERRM reference is updated to a new string.  If the string is in
     a port, you will get the Object In Use error if you try to purge
     the library or backup object containing the string.  A system halt
     prior to a PURGE will not help unless the object is in port 1 or
     port 2 (it will reclaim memory held by a successfully purged but
     still referenced object).  For port 0 objects, the only way to
     break the reference is to execute DOERR again with a new string.

  3. Occasionally, I have had problems with libraries disappearing, but
     still taking up memory.  I found that an "ON-A-F" reset will cause
     these libraries to re-appear. If you still cannot account for a
     large chunk of memory, I would suggest a hardware reset, after
     backing up your memory.


  4.8.  What are the best methods for installing and removing libraries?

  To install a Library:

  1. Download it into a variable of the calc.

  2. Place the library on the stack.

  3. Type the number of the port in which you want to store the library
     in.  0 is appropriate if you do not have any expansion cards.

  4. Press STO to store the library in that port.

  5. Turn the calculator off and then on, or press ON-C, to finish
     installation of the library.

  Sometimes you have to purge the variable containing the library before
  storing it in a port, if you are low on memory.  See the next question
  for more information.

  If you have FXRECV installed: Just type a port number, hit FXRECV and
  the library will automatically go into the specified port.  All you
  have to do then in turn the calc off and then on to complete the
  installation.

  To delete a Library:

  Say you have library 1234 in port 0 that you want to delete.


  1. Go to the directory to which the library is attached.  In most
     cases this will be HOME.

  2. Enter :0: 1234

  3. Press ENTER or type DUP

  4. Type "DETACH"

  5. Type "PURGE"

  If this doesn't work, there may be a reference to the library still in
  temporary memory.  Try warmstarting with ON-C, then try again.


  4.9.  How can I attach large libraries?

  If have just successfully transferred a library to your HP, and try to
  store it in a port you may get an "Insufficient Memory" error.  This
  is because your HP is trying to make a duplicate copy to store in your
  port, but it doesn't have any memory to do so.  This is especially
  true on the HP48 S/SX/G since they only have 32K of memory built in.

  The solution is to push the library onto the stack, then purge the
  original variable containing the library.  At this point, the only
  copy of the library that exists is on the stack.  Now you can store
  the library in a port as usual.  This method avoids temporarily trying
  to have two identical copies in memory at the same time.

  For example, say you have a library in 'LIB' and you wish to store it
  in port 0.  You would enter the following:


  o  Go to the directory containing 'LIB'

  o  Recall the library to the stack: 'LIB' RCL

  o  Purge the original from user memory: 'LIB' PURGE

  o  Enter port number to store in: 0

  o  Press STO


  4.10.  Why does (1/3)*3 equal 0.999999999999?

  This is due to the way numbers are typically represented by computers
  and calculators.  There are infinitely many numbers, like `1/3' and
  `pi', that cannot be exactly represented internally (their decimal
  representations go on forever, and often cannot even be represented as
  a fraction, as in the example of `pi').  As a result, any calculations
  that use these numbers are bound to be off.


  4.11.  Why does my HP say that 0 to the power of 0 equals 1?

  Some claim that 0^0 is defined as 1, some claim it is indeterminate.
  The HP mathematicians decided to use the definition.  Here is some
  more concrete info shamelessly lifted from the Sci.Math-FAQ:


     Question:
        What is 0^0 ?

     Answer:
        According to some Calculus textbooks, 0^0 is an "indeterminate
        form". When evaluating a limit of the form 0^0, then you need to
        know that limits of that form are called "indeterminate forms",
        and that you need to use a special technique such as L'Hopital's
        rule to evaluate them. Otherwise, 0^0=1 seems to be the most
        useful choice for 0^0. This convention allows us to extend
        definitions in different areas of mathematics that otherwise
        would require treating 0 as a special case. Notice that 0^0 is a
        discontinuity of the function x^y.

        Rotando & Korn show that if f and g are real functions that
        vanish at the origin and are _analytic_ at 0 (infinitely
        differentiable is not sufficient), then f(x)^g(x) approaches 1
        as x approaches 0 from the right.

        From Concrete Mathematics p.162 (R. Graham, D. Knuth, O.
        Patashnik):

        "Some textbooks leave the quantity 0^0 undefined, because the
        functions x^0 and 0^x have different limiting values when x
        decreases to 0.  But this is a mistake.  We must define:

        x^0 = 1 for all x,

        If the binomial theorem is to be valid when x=0, y=0, and/or
        x=-y.  The theorem is too important to be arbitrarily
        restricted! By contrast, the function 0^x is quite unimportant."

        Published by Addison-Wesley, 2nd printing Dec, 1988.

     References:
        H. E. Vaughan, The expression '0^0', Mathematics Teacher 63
        (1970), pp.111-112.

        Louis M. Rotando & Henry Korn, "The Indeterminate Form 0^0",
        Mathematics Magazine, Vol. 50, No. 1 (January 1977), pp. 41-42.

        L.J. Paige, A note on indeterminate forms, American Mathematical
        Monthly, 61 (1954), 189-190; reprinted in the Mathematical
        Association of America's 1969 volume, Selected Papers on
        Calculus, pp. 210-211.


  4.12.  Is there an Alternative to Calculating in RPN?

  Many people just can't get used to the interaction with the stack to
  do calculations.  A simple alternative is to place your equation in
  tic marks like '8+10*3' and to use the EVAL as an equals key.  This
  way you can enter numbers just as you would write them on paper.


  4.13.  Why do I get unexpected values when I add temperatures?

  Example: I add two temperatures like 34 deg.F and 11 deg.F, and I get
  504.67 deg.F.  Why don't I get 45 deg.F?

  This occurs with the S/SX only.  This behaviour changed in the G/GX.
  With the G/GX, adding 34 deg.F and 11 deg.F will give 45 deg.F using
  TINC and TDELTA.  However, the G/GX will only add or subtract
  temperatures if the units are the same; it is now an error if they are
  not.

  If the units attached to the number consists only of a temperature and
  nothing else, operations are done using an absolute temperature scale
  (relative to absolute zero).  If the units consists of a temperature
  and something else, such as degrees/minute, the operation will not be
  done using an absolute temperature scale.

  It also does not make any physical sense to add two temperatures.  You
  can't add a cup of water at 20 degrees C to a cup of water at 30
  degrees C and end up with two cups of water at 50 degrees C.


  4.14.  How can I add my own units?  What's the 1_? unit for?

  Note: Some later editions of the G/GX series manuals have some similar
  information on this subject on pages 10-14 and 25-15.

  Another feature is the generic unit, 1_?. It seems to be intended as a
  generic unit, to allow you to make new units not based upon any of the
  built-in ones. You could use it to create a conversion utility for
  currencies or bits and bytes.  Before you create either, check the FTP
  sites to see what others have done in this regard.


  Here's an example. Convert this using ASC-> and save it as 'sample'.

  "69A20FF78E000000005046F6E6574750ADA209C2A2C2A2070000F368B01B2130
  E20005046F6A756E650ADA20339201000000000000210C2A20F000046F6E6574
  768B01B2130640005086F6D6562750ADA20339200000000000000510C2A20F00
  0046F6E65747C2A20B0000D696E686B0168B01B2130B5000303435453047A204
  7A20C2A20F000046F6E65747ADA209C2A2C2A20F000046F6E6574768B01B2130
  B213047A20C2A20F000046F6A756E6ADA209C2A2C2A20F000046F6A756E668B0
  1B2130B213047A20C2A20F000086F6D65627ADA209C2A2C2A20F000086F6D656
  2768B01B2130B2130B2130F0DA"


  This is a sample directory with a custom menu. Enter the directory and
  press the CST key. Here you will see three units (truncated to fit the
  softkeys): donut, dozen, and homer. A dozen is defined as 12_donut,
  and a homer is a rate of 1.5_donut/min (not part of the SI system).
  These units may take SI prefixes described on page 10-5 of the User's
  Guide, so you may convert the value of 3_MW*h/kdonut into units of
  erg/mdozen using CONVERT, for example. The items in the CST menu have
  the usual abilities of unit menu objects as described on pages 10-2
  and 10-3 of the User's Guide. These units can be used for math
  operations described on page 10-7 of the User's Guide, such as adding
  2_donut to 1_dozen.

  Example: At your power plant, you have four control room operators who
  have a combined consumption rate of 2.28 homers. How many donuts will
  they use in 5 minutes and 17 seconds?


  o  Enter the rate.

       2.28 homer


  o  Enter the time.


       Right-shift UNITS [TIME]
       5 [min]
       17 [s] +


  o  Multiply the time by the rate (*)

  o  Convert to dozens:

       CST Left-shift dozen


  o  The answer is a little over 1.5 dozen.


  4.15.  I want `pi' to be a numeric value, not a symbol.

  You are using "Numeric Constants Mode".  To turn this mode on or off:


     SX:
        Type -2 SF.  This turns the numeric constants mode on.  To turn
        it off, type -2 CF.


     GX:
        Go to the MODES menu (press green/right-shift MODES).  Hit the
        key for FLAG submenu.  Toggle the second flag "Constant -> symb"
        to turn on and off.


  4.16.  What are those little numbers near the top of my screen?

  The little numbers are "user flags".  When you or a program sets any
  of the user flags 1 through 5, little numbers corresponding to the set
  flags are displayed at the top of the screen.

  The HP uses negative flags for setting various modes and functions,
  while positive flags were reserved for the use of the user.  To set a
  user flag type the number, then SF.  To clear a user flag type the
  number, then CF.

  Some programs will use the user flags without you being aware of it.
  So, if you have a "1" at the top of the screen you can type 1 CF to
  get rid of it.


  4.17.  What tricks are there for manipulating matrices?


     SX:
        You can build up a matrix by rows using \GS+.  You can take a
        matrix apart by rows using \GS- These two commands (\GS is Sigma
        (Greek E)) add and subtract rows from the SigmaDAT Statistics
        matrix.  \GS+ takes a vector row and adds it to SigmaDAT, and
        \GS- takes the bottom row away from SigmaDAT.  \GS+ is
        accessible from the STAT menu with its own softkey.  \GS- can be
        obtained by pressing left/shift /GS+, or by typing it in at the
        command line.

     GX:
        The GX has many matrix functions built in.  See Appendix B-1.


  4.18.  Can I use my HP48 as a remote or phone dialer?

  There are numerous programs available for remote control.  See the
  best programs list (later in the FAQ) for some suggested programs.

  To make phone dialing tones, you need to produce two simultaneous
  tones.  The speaker in the HP48 is not good enough to support the DTMF
  (dual tone multi frequency) tones that are used to dial. (They're a
  combination of two tones at the same time.)


  4.19.  I could speed up my HP-28S.  How can I speed up my HP48?

  You can't, really.  Unlike the HP-28S, the clock speed in the HP48 SX
  is hardwired to 2 MHz, and to 4MHz in the HP48 GX.

  However, in some cases, you can speed up the HP48 by turning off the
  display refresh, which supposedly takes up about 11% of the CPU time.
  Detlef Mueller submitted a program called SPEED to comp.sources.hp48
  that turns off the display refresh.  Of course, since it turns the
  display off, it is only suitable for long non-interactive runs like
  calculating large integrals, compiling, etc...  Look in the various
  HP48 archives for a copy.


  4.20.  Can I make my HP graph any faster?

  Try lowering the plotting resolution by typing #2 RES.  You can use
  larger values for faster speed at the expense of number of points
  plotted.  In the GX Plotting Options Menu this setting is known as the
  "STEP" rate.


  4.21.  What is the hidden directory and how do I access it?

  The "hidden directory" is a subdirectory of the HOME directory.  It is
  created on startup, and it contains variables with your alarms and
  user key configurations.    You can use the hidden directory to store
  whatever you want, however you CAN NOT ORDER the contents of this
  directory, as this causes memory loss.

  The name of the hidden directory is a null character, ''.  The only
  way to get a null character is to use a syseval.  You can use the
  following program to access the hidden directory:


           <<  HOME                            (changes to home dir)
               #15777h               (syseval to get null character)
               SYSEVAL                         (returns '' to stack)
               EVAL >>                       (changes to hidden dir)


  To exit the hidden directory, use HOME or UPDIR.  This will return you
  to the HOME directory.

  Also, by putting the null character as a part of your HOME custom
  directory, you can switch right into the directory by pressing the
  softkey.

  Note: The SysRPL command NULLID returns a null character to the stack;
  it is the same as doing #15777h SYSEVAL.


  4.22.  How can I recall one object from a memory archive?

  From: Joe Horn

  There is a little-known method of recalling objects from within
  archives.  Just make a list representing the PATH to the object, and
  tag the list with the port number.  Then hit RCL or EVAL.

  For example, if your archive in port 1 is called BKUP, and it contains
  a directory called GAMES which contains a program called REVERSI, you
  can run the game directly (without having a separate copy of REVERSI
  stored anywhere!) by:


       :1: { BKUP GAMES REVERSI } EVAL


  Or, you can RCL instead of EVAL, and it will be pushed onto the stack.


  o  This method only works in ports 0 and 1 in a GX.  It works on any
     port in the SX.
  o  This method works with directory objects stored as backup objects,
     as well as with the results of the ARCHIVE command, because they
     are both really the same thing.


  4.23.  How do I take the logarithm of a base other than 10 or e?

  To take the log of a number other than base 10 or e, say log x base y,
  you use the formula:


         ln x
       --------    where ln is natural log (log works too)
         ln y


  A quick program to do it would be: << SWAP LN SWAP LN / >>

  With the input of:


       2: x
       1: y



-----BEGIN PGP SIGNATURE-----
Version: 2.6.2

iQEVAwUBMQBlyYmoL2E80bZ1AQFqfwf/YI5vQ1l5f/BolrpO2OSszyVcTnKnfj7v
u8mDT9brQF7gIdJCWhIQU7fCNE7n7mZK71Co7b03Ytz4yhi6HYP8EQjbE3q9K3Zy
fbBqEISvr6msvbfXG1ifmgCrCKAUfwsZLOF1KfYbGhhv78tLA5IhX98GsP/DsQJf
ByZ/6C2r7YnANoM5ONxKeZORXGdPORMEVs28jZXFN/TGP7U9OP2wIo3kqmQ1unqB
y5hgTA2JDy/tcgZhOWDkASTtMCa5QKX7AzI/X4HmzvUUUoqcbcrmi3qo/xrW1ex6
WXJ1CmBqZFWKKikhjm/U+CYESTaCCwxn9acn1BXl8d/f5abIw7z3aw==
=YQlC
-----END PGP SIGNATURE-----

-- 
Andre Schoorl <aschoorl@engr.uvic.ca>   PGP key available via finger/keyserver
C.Eng Student, U.Vic, Canada. - Linux/HP48 - http://www.engr.uvic.ca/~aschoorl
