Archive-name: hp48-faq/part1
Last-modified: 07/05/1994
Version: 2.00
Posting-Freqency: every 14 days or so
 
        *********************************************************
             HP 48 S/SX/G/GX  Frequently Asked Questions List
        *********************************************************
              PART 1 of 4: Common Questions: Sections I - IV

                  Currently Maintained by: Keith Maddock
                  Originally Compiled by: Darryl Okahata

    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, or even reflecting reality. :-)  It 
has been compiled from various postings in comp.sys.handhelds and 
comp.sys.hp48 as well as other sources.  In particular, some parts were 
taken from older HP 48SX "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 
preceded by an SX: on the left margin of the first line of each S/SX 
specific paragraph.  G/GX information is denotated by a GX: in the same 
place.  If a paragraph has no notation, then it is valid for all 
versions. 

     You should be able to find the latest version of the FAQ at the 
following locations:

cbs.cis.com:              /pub/hp48g/documentation/48FAQxxx.ZIP or
                          /pub/hp48g/uploads/48FAQxxx.ZIP
risc1.rz.fh-heilbronn.de: /pub/hp48/info/48FAQxxx.ZIP

     Please send any comments or suggestions to:
        Keith Maddock
        keithm@pchaos.dev.com

       *********************************************************
                           Table of Contents:
       *********************************************************
                    Key: ! =new Q/A  + =revised answer 

Part 1:
I. Misc. Questions
    1.1 I'm a novice, and I have some questions.  Where should I start?
    1.2 What Usenet Newsgroups are there for the HP 48?
    1.3 What are good places to buy HP48's and accessories?

II. Questions about ROM versions
    2.1 What does the SX/GX have that the S/G doesn't?
    2.2 What is the difference between the HP 48G/GX and the HP 48S/SX?
    2.3 How can I tell what ROM revision I have?
    2.4 What bugs exist in the various versions of the HP 48?
    2.5 What is new with the revision "J" ROM? (S/SX)
    2.6 What happened to ROM revisions "F", "G", "H", and "I"?
    2.7 Can I upgrade my HP 48S/SX?
    2.8 Can I upgrade my buggy GX to the latest ROM revision?
    
III. Questions about the Operating System / Using the HP
    3.1 I typed 'RULES' on my G/GX and got a crossword puzzle! What does it 
        mean? (GX)
    3.2 Why does my HP 48 occasionally "freeze" for a moment?
    3.3 What do I do if my HP 48 locks up?
    3.4 My HP 48 seems to take longer to turn on and off.  What's going on?
!   3.5 What are all the different ON-KEY combinations and what do they do?
!   3.6 What are the different interactive self-tests?
    3.7 I can't account for some of the RAM in the HP 48!   and 
        When I clear my memory, I don't have 32K free!  Why? 
    3.8 What are the best methods for dealing with libraries?
    3.9 Why does (1/3)*3 equal 0.999999999999?
    3.10 Why does my HP say that 0^0=1?
    3.11 If I add two temperatures like 34 deg.F and 11 deg.F, I get 504.67
         deg.F.  Why don't I get 45 deg.F?
!   3.12 How can I add my own units? What's the 1_? unit for?
    3.13 I want `pi' to be a numeric value, not a symbol.  What's happening?
    3.14 What are those little numbers near the top of my screen and how do I
         get rid of them?
    3.15 What tricks are there for manipulating matrices?
    3.16 Can I use my HP48 as a remote or phone dialer?
    3.17 I could speed up my HP-28S.  How can I speed up my HP 48?
    
IV. Questions about cards, data transfers, batteries, hardware
    4.1 Why doesn't the I/R port work farther than a few inches?
    4.2 Can my HP48 talk to my HP100LX via Infrared?
    4.3 I downloaded a program to my HP, and when I ran it, it put a string 
        on the stack like "HPHP48-.......".  What's wrong? 
    4.4 Why does XRECV not work sometimes? (GX)
    4.5 What do the funny symbols \->, \GS+, etc., mean?
    4.6 What are the pinouts for the HP 48 serial connector?
    4.7 Is there any information on interfacing to the HP 48?
    4.8 How can I transfer programs/data from my HP-28S to my HP 48?
    4.9 Can I use rechargeable batteries with the HP 48?
    4.10 How can I tell, from within a program, if the battery is low?
    4.11 My RAM card was plugged into the calculator when I changed the RAM
         card battery, yet I lost all the information on the card.  What
         happened?
    4.12 Why do I get an "Invalid card data" error when I merge a RAM card?
    4.13 I've heard that other manufacturer's RAM cards will work with the
         HP 48.  Is this true?  Will it work?
    4.14 Why does the HP 48SX display flicker slightly?
    4.15 I broke the LCD screen is there an easy way to get another?

PART 2:    

V. Questions about programs
    5.1 Where can I get programs and information for the HP 48SX?
    5.2 What are the Goodies Disks and where do I get them?
    5.3 How do I get access to the HP Calculator BBS?
    5.4 What are files that end with ".zip", ".Z" or ".z"?
    5.5 What is a "ship" file?
    5.6 What is \->ASC or ASC\->?
    5.7 How can I get \->ASC and \->ASC?
    5.8 How do I get rid of the HYDE library?
    
VI. Questions about programing and advanced user functions
+   6.1 I've heard the names "RPL", "Saturn", "STAR", "Voyager", "GL", etc..  
        What do they mean?
    6.2 Why do SysRPL programs run faster than UserRPL programs?
    6.3 What library ID numbers have already been used?
    6.4 What information is there on the internals of the HP 48?
    6.5 Are there any viruses for the HP48?
    6.6 How do I store fields of variable length string data in a compact,
        rapidly accessible manner that does not require the overhead of
        storing strings in lists?
    6.7 What is "Vectored Enter", and how do I use it?
    6.8 What is "WSLOG"?
    6.9 What are SYSEVALs and LIBEVALs?
+   6.10 What are some useful SYSEVALs?
    6.11 What are some useful LIBEVALs? (GX)
    6.12 What is the format of a GROB object?

*********************************************************************

PART 3:    
    * Appendix A: ASC\-> and \->ASC functions:
    * Appendix B: Using non-HP RAM cards in your HP 48SX:
    * Appendix C: What's new in the HP 48G/GX
    * Appendix D: The EquationWriter Bug & Rev J Bugfix
    * Appendix E: Compact Data Storage:
    * Appendix F: Various useful functions
    * Appendix G: Rotation rate to angular frequency conversion bug
                
PART 4:
+   * Appendix H: HP48 "BEST PROGRAMS AND WHERE TO GET THEM" LIST

******************************************************************

I. Misc. Questions

******************************************************************

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

   Start by perusing the HP 48 manuals.  You'd be amazed how many
   questions can be answered if you read the manuals.  
   
SX:Earlier HP 48S/SX manuals came in two volumes. The first volume 
   dealt with operating instructions, and the second volume dealt with 
   programming.  Later HP 48S/SX manuals combined these two volumes 
   into one. 
   
GX:HP 48G/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. 
   
   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.

******************************************************************

1.2 What Usenet Newsgroups are there for the HP 48?

        comp.sys.hp48           -- Primary newsgroup
        comp.sources.hp48       -- For HP 48 programs. (This newsgroup
                                   is moderated by Chris Spell -- send
                                   submissions to hp48@seq.uncwil.edu.)
                                   (this newsgroup has been dead for a 
                                   few months now )
        comp.sys.handhelds      -- Occasionally, HP 48 information is
                                   posted to this newsgroup.

******************************************************************

1.3  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 SX's, and buy them as trade ins.
    To get a free catalog, call them.  
    Phone #'s:
    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 Espaol - 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

    Office Max: 
    Toll Free: (800) 788-8080

    Bristol, UK - Decimal Business Machines Ltd:
    "at Three Queens' Lane.  They're on 0272 294591/5."

******************************************************************

II. Questions about ROM versions

******************************************************************

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

GX: The HP48G is the same as the GX except for two differences.  The GX has 
    the 2 expansion ports, and also has 128K RAM built in, where the G only 
    has 32K.
    
    If you plan on heavily using your calculator, you will probably find
    that 32K is not enough memory.

******************************************************************
    
2.2 What is the difference between the HP 48G/GX and the HP 48S/SX?

   The HP 48G and the HP 48GX calculators are, basically, slightly
   faster (by 40%?) versions of the HP 48S and HP 48SX 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 C for a detailed list of features.

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

     1. The HP 48GX comes with 128KB RAM, as opposed to 32KB RAM in the
        HP 48SX.  The HP 48G still has 32KB RAM, however.  The HP 48G/GX
        also has twice the ROM (512K), compared the HP 48S/SX (256K).
     2. Much of the HP 48G/GX internals have changed, compared with the
        HP 48S/SX.  Unfortunately, this means than many programs written
        in assembly language or System RPL won't work on the HP 48G/GX.
        This is especially true of any program that tried to access the
        display memory directly.
     3. The HP 48G/GX CPU runs at 4MHz, instead of the 2MHz used with
        the HP 48S/SX CPUs.  However, due to various overhead (memory
        bank switching, etc.), the speed increase between the G/GX and
        S/SX is less than 2X.  People have said that the G/GX feels
        around 40% faster, but it is unknown if this is correct.
     4. Port 2 of the HP 48G/GX can access up to 4MB, in 128K chunks
        (done via bank-switching).

******************************************************************

2.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 center, 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:
        Version HP48-*
        Copyright HP 1989
      where the * is an uppercase letter (A, B, etc.) indicating
      the ROM version.
   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).

******************************************************************
   
2.4 What bugs exist in the various versions of the HP 48?

    Confirmed
    Version(s)  Bug
   ----------------------------------------------------------------------
      A         DEFINE rounds numbers in user-defined functions if STD
                is not the current display mode.

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

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

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

    A,B,C       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.

   A,B,C,D      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).

   A,B,C,D      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 workaround 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.

   A,B,C,D      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)'

   A-E,P        There's a bug in the EquationWriter that is "fixed" in
                the Rev J ROM.  See the appendix titled "The
                EquationWriter Bug & Rev J Bugfix" for details.  This 
                supposedly was not fixed on the GX...

   E,J          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.
                
   K            First HP 48G/GX released; includes various bugs affecting
                ports.  Therefore, version K was built only into HP 48G units.

   K,L,M,P      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

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

   L,M          HP 48GX may lose all 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
                   Turn on USER mode

   L,M          portnum: { dir ... var } RCL/EVAL fails if portnum >= 2

   L,M          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.
   
   L,M,P        SigmaDAT: Put a NON-MATRIX in '\GSDAT' (SigmaDAT), run 
                STAT graphical apps, edit \GSDAT. Causes a crash. 
   
   L,M,P        XRECV: 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 FXREV on GD 9 by Joe Horn.

   L,M,P        RREF does not transform the matrix into Row Reduced Echelon 
                Form correctly if the first column of the matrix consists
                entirely of zeros.

   L,M,P,R      Rotation rate to angular frequency conversion bug
                See Appendix G for complete write-up.

   M            Fixes a variety of other bugs, and includes a new display 
                with better contrast.

   M,P          Repeated executions of FFT or IFFT can cause 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 >> >>

   M,P          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.
   
   M,P,R        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. 
                
   P            PROOT: If you put a matrix of coefficients on the stack 
                and press PROOT repeatedly, you will get a warmstart
                
    
******************************************************************
   
2.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.

******************************************************************

2.6 What happened to ROM revisions "F", "G", "H", and "I"?

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

******************************************************************
           
2.7 Can I upgrade my HP 48S/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.  They will give you $50 credit 
    for a S, and $95 credit for an SX.  You have up to 45 days after you 
    purchase your G/GX from them to send in you S/SX. 

******************************************************************

2.8 Can I upgrade my buggy GX to the latest ROM revision?
    
*Date: Fri, 13 May 1994 22:01:46 GMT
*Newsgroup: comp.sys.hp48
*From: cmcalstr@cv.hp.com (Cary McCallister)

********************HP 48G/GX UPGRADE INFORMATION*************************


Hewlett-Packard Corvallis is offering an upgrade to those customers unable
to work around a defect(s) they've encountered which is covered under extended
warranty.

Specifically, if a customer calls, describes and/or demonstrates a defect(s) 
covered under extended warranty, we can replace the unit with the existing
HP 48 upgrade program.

We've had a lot of people who have heard that HP is upgrading HP 48G/GXs and 
call asking what they can do to obtain an upgraded unit.  Our job has been one
of clarification.  We try to explain that we do not have a recall of HP 48G/GX
units, and the defects that we are upgrading for are in most cases very 
obscure, i.e., most users will never encounter 95% of the problems in the 
machine.

Our goal is to be fair and equitable to all customers.  If your are truly 
experiencing problems related to a defect(s) in your HP 48G/GX, your unit
can be replaced with a version R through the HP 48 upgrade program.

If you have any questions or concerns or would like to participate in this 
program you can reach us at,

                Hewlett-Packard Corporation
                Calculator Support
                1000 NE Circle Blvd
                Corvallis, OR 97330
        
                Phone (503) 757-2004 option 1

The Corvallis Service Center is not currently involved in this program.  It is
unlikely that if you call them and ask about the *upgrade* you will get any
explanation of this program. Please note the correct number to call if you have 
any questions.

Please note this program ends June 15, 1994.  After that time all extended
warranty repairs will be handled through the Corvallis Service Center.

Cary McCallister
HP 48 BBS SYSOP 


******************************************************************

III.  Questions about the Operating System / Using the HP
            
******************************************************************

3.1 I typed 'RULES' on my G/GX and got a crossword puzzle! What does it 
    mean? (GX)

    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 HP 48G during
     development, because Alcuin was Charlemagne's teacher, and
     Charlemagne, as you remember, was the code name of the 48SX.

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

     BILL Wickes (list processing; "Father of RPL")
     CHARLIE Patton (RPL operating system)
     TED Beers (parameterized outer loop; interactive stack; key handling
          system; high-level display management; input forms)
     DIANA Byrne (project manager; plotting; graphics)
     GABE Eisenstein (EquationWriter)
     BOB Worsley (I/O)
     PAUL McClellan (unit management; math)
     CLAIN Anderson (product manager; marketing)
     DENNIS York (manager)
     JIM Donnelly (EQ LIB; list processing; variable tic logic; developer
             support)
     MAX Jones (menu system; editing)
     DAVE Arnett (hardware)
     DAN Coffin (manuals)
     RON Brooks (marketing)
    
******************************************************************

3.2 Why does my HP 48 occasionally "freeze" for a moment?

    The HP 48 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 HP 48 scans
    through memory, looking for objects that are no longer used.

    Using less stack supposedly makes garbage collection go faster.

******************************************************************

3.3 What do I do if my HP 48 locks up?

    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 HP 48 are gone (as in "destroyed", 
    "terminated", "wiped out", "deleted", etc.). 

    First, check the batteries to make sure that they are good.

    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 presses, go on to the next step.

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

     1. Press and HOLD DOWN the "ON" key.
     2. Press and release the "+" key, WHILE HOLDING DOWN THE "ON" KEY.
     3. Release the "ON" key.

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

     1. Press and HOLD DOWN the "ON" key.
     2. Press and release the "C" key, WHILE HOLDING DOWN THE "ON" KEY.
     3. Release the "ON" key.

    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:

     1. Press and HOLD DOWN the "ON" key.
     2. Press and HOLD DOWN THE "A" key, WHILE HOLDING DOWN THE "ON" KEY.
     3. Press and HOLD DOWN THE "F" key, WHILE HOLDING DOWN THE "ON" AND
        "A" KEYS.
     4. Release all of the keys.
     5. 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).

    Hardware Reset:

    If your calculator is still not responding, you could try pressing
    the reset button.  Pressing this button will cause the contents of
    the stack to be lost.
    
    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 a plastic
    or wooden toothpick, or an unbent paper clip, into the hole with the
    "R" next to it (it's best if you use a non-metallic object, like a
    toothpick, instead of a paper clip).

******************************************************************

3.4 My HP 48 seems to take longer to turn on and off.  What's going on?

    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.

*****************************************************************

3.5 What are all the different ON-KEY combinations and what do they do?
    [Note: this answer written by a member of the HP48 team in Corvallis]
    --begin quote-- (formatted for this document)
    [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 atempt 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.   [Note: See 3.6 for a list of the 
            interactive tests]

    [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]+[+], [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 as basically the few nanoamperes 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. 
    --(end quote)--

******************************************************************

3.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

******************************************************************

3.7 I can't account for some of the RAM in the HP 48!   and 
    When I clear my memory, I don't have 32K free!  Why? 
    
    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 HP 48SX 
    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 HP 48 development team:
    Here's a candidate for "most obscure way to use up memory on the HP 48SX."
    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.
    
******************************************************************

3.8 What are the best methods for dealing with 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.

    NOTE: sometimes you have to purge the variable containing the library 
      before storing it in a port, if you are low on memory.  As well, 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 
      installation. 

    To delete a Library:
    
    Say you have library 1234 in port 0 than you want to delete.
    
    1.  Goto directory that the library is attached.  Usually HOME.
    2.  Enter :0: 1234
    3.  Press ENTER or type DUP
    4.  Type "DETACH"
    5.  Type "PURGE"
    
******************************************************************

3.9 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 oftentimes 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.

******************************************************************

3.10 Why does my HP say that 0^0=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:

Q:  What is 0^0 ?

A:  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.
       
******************************************************************

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

    This occurs with the S/SX only.  This behavior 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.

******************************************************************

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

    Another undocumented 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? 
    
    Step 1: Enter the rate.
       2.28 [homer]
    
    Step 2: Enter the time.
       right-shift UNITS [TIME]
       5 [min]
       17 [s] +
    
    Step 3: Multiply the time by the rate.
       x
    
    Step 4: Convert to dozens.
       CST left-shift [dozen]
    
    And the answer is a little over 1.5 dozen.
    
    [If you know more about 1_? and what it can do, please let the FAQ 
    maintainer know!] 

******************************************************************

3.13 I want `pi' to be a numeric value, not a symbol.  What's happening?

    You are using "Symbolic Results Mode".  To turn this mode on or off:
    
SX: Go to the MODES menu (press orange/left-shift MODES), and press the
    "SYM" softkey.  This toggles the symbolic mode.

GX: Go to the MODES menu (press purple/left-shift MODES). In the MISC 
    subdirectory, press the "SYM" softkey to toggle symbolic mode.

******************************************************************

3.14 What are those little numbers near the top of my screen and how do I
    get rid of them?

    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.

******************************************************************

3.15 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 C.

******************************************************************

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

    There are numerous programs available for remote control.  See 
    Appendix H for recommendations.

    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.) 
    
******************************************************************

3.17 I could speed up my HP-28S.  How can I speed up my HP 48?

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

    However, in some cases, you can speed up the HP 48 by turning off
    the display refresh, which supposedly takes up about 11% of the CPU
    time.  Detlef Mueller <detlef@mwhh.hanse.de> submitted a program to
    comp.sources.hp48 that turns off the display refresh.  Look in the
    various HP 48 archives for a copy.

******************************************************************

IV.  Questions about cards, data transfers, batteries, hardware

******************************************************************

4.1 Why doesn't the I/R port work farther than a few inches?

    It turns out that it is the receiver that is "crippled".  The
    transmit range is somewhere around several feet, and some people
    have actually written programs to make the HP 48 emulate some
    remote controls (see appendix H for suggested programs).

   NOTE:  There are currently two stories going around as to WHY.  I 
    will present both of them in the interest showing all sides of the 
    story, but I personally lean to #1 (due to the source), but people 
    will bet their life on #2.. YMMV (Your Mileage May Vary!) 
    
#1  The head of the HP48 design team, Dr. William Wickes himself, alluded 
    during the Chicago Handheld Conference that the IR was intentionally 
    crippled due to the concerns of certain individuals in academia that 
    students could literally 'beam' information from one 48 to another 
    during examinations. (from Rick Grevelle)

#2  The reason the ir reception distance is so short is battery capacity.  
    The Infrared Transmitter is semaphore: It is only turned on when it 
    needs to be on, and the transmission protocol is defined to minimize 
    the ON time.  The receiver, by contrast, must be on continually when 
    a transmission is in process, or when a transmission is expected. If 
    you set your '48 to Server mode, that receiver is drawing power. If 
    you tweek the control bits to activate the receiver for any other 
    reason, it is drawing power. 
    The intantaneous peak power drawn by the transmitter is much higher 
    than that of the receiver.  But in the long run, the receiver will 
    draw more energy from the batteries.  Increasing the receiver 
    sensitivity costs even more power. 
        
******************************************************************

4.2 Can my HP48 talk to my HP100LX via Infrared?

    Yes, it can, although slowly.  Set the HP100LX at 2400 baud, and put 
    it in server mode (under the Kermit Commands menu).  THen you can 
    send stuff from your HP48 to your HP100LX

******************************************************************

4.3 I downloaded a program to my HP, and when I ran it, it put a string 
    on the stack like "HPHP48-.......".  What's wrong? 

    Some versions of kermit distinguish between ASCII and binary files,
    and so you have to worry about the transfer modes at *BOTH* ends of
    the connection (the HP 48SX end and the computer end).  For example,
    when receiving ASCII files, Unix kermit must translate CR/LF pairs
    into LF.  If the HP 48SX is transmitting a binary file, but the Unix
    kermit is expecting ASCII, any CR/LF pairs in the binary file will get
    translated to LF, corrupting the binary file.  Unfortunately, you
    cannot "uncorrupt" the corrupted binary file by simply reversing the
    transfer and expecting kermit to translate LF to CR/LF.  This is
    because the binary file may contain occurrences of LF that were not
    originally part of a CR/LF sequence.

    When a binary file gets corrupted, it will display on the stack as a 
    string, starting with the characters "HPHP48-", and continuing on with 
    a bunch of garbage.  Thanks to two programs, these strings can be 
    reconverted to binary files right on the HP48.  These programs are: 
    FIXIT, by Joe Horn and Mika Heiskanen, or OBJFIX, written by our 
    friends at HP.  These are included in appendix F in ASC form (ASC is 
    in appendix A)
         The major difference between FIXIT and OBJFIX  is the way they 
    operate.  I have never personally had any problems with either.  
    FIXIT takes the bad "HPHP48-" string from level 1 of the stack, and 
    replaces it with the correct binary object.  OBJFIX takes the name of 
    the variable in which the "HPHP48-" string is stored from level 1 of 
    the stack, and puts the correct binary object directly in the 
    variable where the bad string was stored.  It's up to you which you 
    prefer.  I would suggest reading the docs of both (included in 
    appendix F) before using either of them. 

******************************************************************

4.4 Why does XRECV not work sometimes? (GX)

    Pre-Rev R. G Series 48's had a bug that would sometimes cause XRECV 
    to fail if there was not twice the amount of room free for the 
    incoming file. FXRECV, a fix for this bug, is available on the Horn 9 
    disk in the directory \hp as FXRECV.  There is more info about this 
    bug there as well. 

******************************************************************

4.5 What do the funny symbols \->, \GS+, etc., mean?

    These are the ASCII representation of the special HP 48 graphical
    characters.  See the section "Character Translations" in the manual 
    for a table of symbols <--> ASCII representations. 

SX: Chapter 33 (Volume II if 2 volumes) 

GX: Page 27-16 HP 48G Series User's Guide

******************************************************************

4.6 What are the pinouts for the HP 48 serial connector?

    Looking at the pins of the HP 48 (the following diagram is showing
    the pins on the HP 48, as you look *AT* the calculator):
                   _________
                  | o o o o |
                   \_______/
                    ^ ^ ^ ^
                    | | | \------ 4 Signal GND
                    | | \-------- 3 RX (input to the HP 48)
                    | \---------- 2 TX (output from the HP 48)
                    \------------ 1 SHIELD

    Stated another way:

        HP48                    IBM 9 PIN               IBM 25 PIN
        (From the outside
         edge -> inward)
        SHIELD-------------------  SHIELD----------------  SHIELD
        TX (Output)<-------------2 RX (Input)------------3 RX (Input)
        RX (Input)-------------->3 TX (Output)---------->2 TX (Output)
        SGND---------------------5 GND-------------------7 GND

    This information is supposedly also on page 33-22 of the new manual.

******************************************************************

4.7 Is there any information on interfacing to the HP 48?

    HP has made available an UNSUPPORTED document called the "HP 48 I/O
    Technical Interfacing Guide", which contains information on the
    wired and serial I/O hardware.

    Look in the various HP 48 archives for a copy.

******************************************************************

4.8 How can I transfer programs/data from my HP-28S to my HP 48?
    
    Note: This works on the SX, but I have no idea whether or not this 
    works on a G/GX.  Use at your own risk :-).  If you try it, let me 
    know one way or the other so I can say if it works or not here in the 
    FAQ! 
    
    You use a program called "INPRT", which is available from various
    archives, and is also included in the IBM-version of the HP 48SX
    serial cable kit and in the Program Development Library.

    For each program that you want to transfer, you use the HP 28S to
    print it to the I/R output; INPRT, running on the HP 48SX, reads the
    I/R output of the HP 28S and converts it into a program.

*****************************************************************

4.9 Can I use rechargeable batteries with the HP 48?

    Yes, but there are some problems with rechargeable batteries.
    You'll have to decide if using rechargeable batteries is worth
    putting up with the problems:

      * You'll have to change batteries more often with rechargeable
        batteries.  Alkaline batteries can deliver power for a longer
        period of time, compared to rechargeable batteries.

      * Once the low-battery indicator comes on, you'll have to change
        the rechargeable batteries pretty quickly.  With rechargeable
        batteries, you have only a few minutes before the calculator
        dies (it's been said that you have up to 15 minutes or so).
        With alkaline batteries, you have an amount of time that is
        supposedly measured in hours. 

      * Ni-Cad batteries lose their charge with time, even if you are
        not using them.  Even if a Ni-Cad battery is just sitting unused
        on a shelf, it slowly loses its charge.  Alkaline batteries keep
        their charge for a very long time.

******************************************************************

4.10 How can I tell, from within a program, if the battery is low?


    The following 48 program reports the status of the ALERT
    annunciator.  The ALERT annunciator is activated by alarms or low
    battery.

    This program is provided free of charge "as is" and has no warranty.
    No one is liable for any consequential damages.
    Preston

%%HP:T(3)A(D)F(.);
\<<
RCLF
8 STWS #FFh #0h +
#10Bh
#6595Ah SYSEVAL
#8h AND #0h >
SWAP STOF
\>>

******************************************************************

4.11 My RAM card was plugged into the calculator when I changed the RAM
    card battery, yet I lost all the information on the card.  What
    happened?

    You forgot to turn ON the calculator before changing the battery.  
    The HP only supplies power to the RAM card while the HP is turned on.  
    While the calculator is turned off, no power is supplied by the 
    calculator, and all power comes from the RAM card battery.  If you 
    then take out the battery from the RAM card while the calculator is 
    turned OFF, the RAM card has no source of power, and you will lose 
    all of the contents in the RAM card. 

******************************************************************

4.12 Why do I get an "Invalid card data" error when I merge a RAM card?

    This message is usually seen when you plug a brand-new RAM card into
    an HP 48.  In this case, this message is normal and is harmless.  It
    just means that there was no (valid) data on the card.

GX: This message can appear when a RAM card contains ports you have 
    never used.  Press purple/left shift-LIBRARY. Hit NXT, then the 
    PINIT softkey.  This will initialize all available ram ports.  It 
    does not affect data already stored on the card.

    If you see this message under any other conditions, it could be one of
    the following:

     1. You took the battery out of the RAM card while the card was out
        of the calculator, therefore erasing the memory.

     2. You took the battery out of the RAM card while the card was in
        the calculator *BUT* the calculator was turned off.  Note that
        the calculator supplies power to the RAM card ONLY when the
        calculator is turned *ON*. Again the memory on the card is 
        gone.

     3. The RAM card battery is dead.

     4. There is a problem with either the calculator, the RAM card, or
        both.
    
    If the battery is operational, then try to store something on the 
    card.  If you still get the error message, then backup all your 
    info to a computer or another 48, and do a hardware reset. (see 
    #13)

******************************************************************

4.13 I've heard that other manufacturer's RAM cards will work with the
    HP 48.  Is this true?  Will it work?

    While some cards may work, there is a chance that you may severely 
    damage your HP 48.  You should only use cards specifically designed 
    for the HP 48.  Naturally, HP sells such cards, and some third 
    parties also make cards that will work in an HP 48.  Some cards 
    work with both the S/SX and the G/GX.  Some, however only work on 
    the S/SX, or only on the G/GX.  Make sure that the card is designed 
    to work for your version before using it.
    
SX: The S/SX can only naturally support up to 128k per port.  HP sells 
    32K and 128K RAM cards.   However, TDS, using software "bank 
    switches" produces 256K and 512K RAM cards.  These bank switching 
    cards do not work in the G/GX series.  CMT is also a makes 128K 
    cards, which work in all HP 48 calculators.
    
GX: While you cannot use the TDS 256K and 512K cards, Sparcom has come 
    out with 256K and 512K cards for the G/GX only.  HP also sells 1MB 
    RAM cards that work for G/GX only.  The G/GX is able to accept a 
    4MB RAM card, but none are on the market at this time.
    
    For more info on using non-HP 48 RAM cards in the S/SX series, see 
    appendix B near the end of this file. 
    
******************************************************************

4.14 Why does the HP 48SX display flicker slightly?

    Display flicker is usually caused by fluorescent lights.  The rapid
    pulsing of the fluorescent lights (60Hz in the U.S.), which is
    normally unnoticeable, interacts with the rapid pulsing/scanning of
    the HP 48 LCD display (64 Hz refresh rate), which is also normally
    unnoticeable.  The 60Hz fluorescent lights alias with the display
    refresh (64Hz) to produce a 4Hz "flicker".  It's normal and
    harmless.

    Outside the U.S., power is supplied at a 50Hz rate, not 60Hz.  This
    means that the display "flickers" at a 14Hz rate, which is still
    noticeable.

******************************************************************

4.15 I broke the LCD screen is there an easy way to get another?
    
    Unfortunately, as far as I am aware, you cannot get a replacement, the 
    cheapest alternative is to send the calc in for "standard service" at 
    HP, which is slightly cheaper than a new calculator.  Opening a 48 is 
    quite difficult anyway.  If you do succeed, please post your results.

******************************************************************


END PART 1 OF 4


---------------------------------------------------------------------------
keithm@pchaos.dev.com                :-O                   Keith D. Maddock
From Raleigh Hills ( between Beaverton & Portland ), Oregon, USA    R.A.W.:
"Of course I'm crazy, but that doesn't mean I'm wrong. I'm mad but not ill"
KeyWords: Freightliner/GMI-EMI, HP48 FAQ Maintainer(GX-P), Eagle Scout, :-)
           
