HP 50g - Loading Programs, Symbolic Calculus

I have purchased the HP50g and am liking it so far. However, I find the manual and online references lacking in particular areas. For example...

1) How do I load a program into the calculator and then access it? I am able to use Conn4x and connect to my calculator. But then all I get is a list of files and a folder of more files.

The particular program I want to load is a periodic table. I dont know where to put the file, nor do I know how to access it once in the calculator. The readme for the program says this

2.1 Installing

a) send either chemlb27.lib(full) or chemlt27.lib(light) to the HP48

b) put a copy of the library on the stack

c) enter the port number to store the library (0-33 GX, 0-2 SX)

d) here is an example of the stack setup so far:




2: Library 1014: CHE...

1: 0

| | | | | | |

e) at this point, press [STO]

f) perform a warmstart with [ON][C] or turn on and off the HP48

g) erase the variable containing the library. eg. 'CHEMLB27.LIB' PURGE

h) read the next section for the Universal Font Library (UFL)

For part a, I dont know where exactly I need to send it. Part b, what does that mean, 'put a library in the stack'? I am pretty much lost after that...

2)Any tips on how to do symbolic integration? The integral button seems to only do definite integrals. I am having a feeling that this calculator is not good at doing symbolic calculus....

3)Finally if you have any tips/tricks or useful programs for the calculator pleases share! I want to learn how to use this thing real well over spring break.


First off, if you use a "binary" transfer, then the compiled
object has to be compatible with the 49 series. In general,
compiled 48 series commands, and compiled 48 series programs,
lists, and libraries that contain UserRPL or SysRPL commands, lack
binary compatibility with the 49 series, because the entry points
for many commands have changed. If it shows up on the 50g as a
character string starting with "HPHP48-x" (where "x" is a ROM
version letter), then you used a binary transfer of a 48 series
object and the 49 series safely stores it within a character
string instead of as a compiled object. It's sometimes possible to
fool the calculator into treating the object as compatible, but
that may very well result in a TTRM (Try To Recover memory?) and
clearing user memory.

In most cases, 48 series UserRPL objects can be transferred to the
49 series and will work, but you have to use an "ASCII" or "Text"
transfer so that the calculator will compile the source code. At
worst, with this type of transfer, you may get an "Invalid Syntax"

From your post, it appears that you're trying to install a library
designed for the 48 series, which you shouldn't even try to
install in a 49 series. Look in http://www.hpcalc.org/ for
libraries specifically designed for the 49 series.

For a port of the 48SX's HP Solve Equation Library Library
Application Card
(HP 82211B), except for the Tetris game,
that works with the 49 series, see
http://www.hydrix.com/Download/Hp/4950Libraries/ or
For the Equation Library, install libraries 226 and 227, or for
the Periodic Table, install library 229. The Owner's Manuals for
this card are available on the MoHPC CD-ROM set / DVD-ROM; see
http://www.hpmuseum.org/cd/cddesc.htm, or some documention
for it is available in the 48G series and 49 series documents.

For a "program", just leave it in home or whichever sub-directory
you transferred it to, or copy or move it to any sub-directory or
any of ports 1, 2, or 3, and execute it from there.

For a "library", if you used a "via wire" or "via IR" transfer,
then move it to any of ports 0, 1, or 2 (but not 3). Don't leave a
copy of the library in the home directory (or any sub-directory)
because its presence in "user memory" will interfere with the
memory recovery routine in case you respond YES to a TTRM. If you
used an MMC or SD card to transfer the library to the 50g, then
it's okay to just transfer it to port 0, 1, or 2, leaving a copy
of the file on the card (port 3). With the 49 series, it may be
easiest to use the "filer" (press LeftShift FILES, over the G key)
to move or copy the variable or file. Invoke a warmstart by
holding down the ON key, pressing and releasing the C key, and
releasing the ON key. Most libraries have a configuration routine
that auto-attaches them to the home directory, and it will be
invoked by the warmstart. If a library isn't auto-attaching, then
get in whichever directory you want it to be attached to, put the
library number on the stack and execute the ATTACH command. You
can also use the DETACH command to (what else?) detach a library.

In a few cases (such as the Equation Libraries and Periodic Table
library) the library will be attached even without doing a
warmstart or an explicit ATTACH command.

In some cases, once attached, the library will be available by
pressing the APPS key on the 49 series, otherwise press RightShift
LIB (over the 2 key) to see the library names in the menu, and
press the library's menu key to see its user commands.

In the event of a buggy library (or reserved variable STARTUP)
"hanging" the 49 series, hold down the backspace key while doing a
warmstart. This prevents the library configuations routines and
STARTUP from running, giving you an opportunity to purge the buggy
library or edit or purge STARTUP.

By the way, in most cases, for RPL models, you'll have better luck
with the comp.sys.hp48 usenet group. A searchable archive (going
back all the way to 1991) is available at
http://groups.google.com/group/comp.sys.hp48. If you can't
find an answer to your question, then ask on the newsgroup.



I swear I'm going to start calling you the "50g Guru", James. :-) You always have the most thorough answers on any 50g topic I've ever seen in this forum. Great job!

I just wanted to add my $0.02 about 48 libraries. I found some stats software I wanted to use on the 50g and decided to take a chance that it might work. Not only did it fail to work, but it also locked up my calculator so badly that I thought I had trashed it. I eventually got it back (again, thanks to your help James), but that taught me a lesson that I hope never to repeat.

My $0.02 anyhow.



Thank you very much for your thorough answer. Unfortunately much of it seems lost on me... I have no experience with programming. I dont know what is meant by UserRPL, SysRPL, binary transfer, libraries, strings etc. But I do want to learn!

First off I think my program is for HP 50G (or 49). I got it from http://www.hpcalc.org/. It is under chemistry, ChemLab 2.7. Is this a library or a program? What is the difference between a library and a program?

You say for a program I can leave it any directory. But what do you mean "or any of ports 1, 2, or 3, and execute it from there."? What are these ports and how could I execute it from them?

----Lookin in calculator----
Ok, I just looked in my calculator using Conn4x. I have ChemLab under the home directory and it appears to be a library. So I hit the LIB key and get the choices of 0 , 1 and 2. I am guessing these are ports? Under 0 and 1 there is no choice. But under 2 there are two choices, 226 and 227. I dont think either of these are my ChemLab. Regardless, I try to use one by clicking on it but all it does is put it in the stack.



Chemlab 2.7 is a library. You've managed to download it to your calculator. Good, here's how to install and use it:

1) After downloading, you'll see the variable "Chem..." or "L1014" in the list of variables. In RPN mode, press the small button under that variable. You'll now see on stack level 1: "Library 1014: ChemLab 2.7..."

2) Now type :2: 1014 STO - this stores the library in the flash memory of port 2.

3) Now type :2: 1014 ATTACH - this attaches the library so you can actually use it.

4) To access/use the library, do RIGHT SHIFT, LIB and you'll see ChemL. Press that buttom, then the button under CHEM, and you get the periodic table you're after. Storing and using other libraries uses the same process, only the library numbers are different.

5) Now that the library is actually stored, you don't need the original stored variable anymore. Press the key under the variable. Again you'll see on stack level 1: "Libray 1014, Chemlab..." Type PURGE, and it's gone, you're done.

For symbolic integration:

1) To get it right the first time, use the equation writer, RIGHT SHIFT, EQW to write your function, as a simple example, 'x^2-1'. You can use other variables if you wish, such as y or t.

2) ENTER the function onto the stack level 1. Then ENTER the variable of integration, which here is the variable of the function, x. You'll now see the function on stack level 2, the variable on stack level 1.

3) Simply type the RISCH command (which can be assigned to KEYS, another topic), which integrates to a specified variable. You will now see '1/3*x^3-x' The constant of integration is omitted.

Enjoy your HP50!

Edited: 14 Mar 2007, 5:08 a.m.


Hi DieCommie.
You may find helpful to have alook at the following:

> how to install programs and libraries:

> tutorials

Various Quick tutorials for the HP49x series of calculators. Broken up into 5 sections, ranging from getting started for new users (flags, data entry etc), to basic macros with user RPL and customizing menus and the keyboard. In HTML, lots of screenshots (with both the 49G and G+). By Alistair Borowski

20 Essential Things to Know About the HP-49G: A guide for the hopelessly confused! That about sums it up! =) This is designed answer many common questions, and to teach new users a bunch of neat tricks that makes thier calculator easier to use. Also points to documents that will help them out. By Tim Wessman

All available training modules for the HP 50g graphing calculator. (.zip, 9.64MB) from HP calculator website

HP 48 & 49 Programming Tutorials

Hope this helps (to feed your learning eagerness :)
Best regards.


Thank you very much for your thorough answer. Unfortunately much
of it seems lost on me... I have no experience with programming.
I dont know what is meant by UserRPL, SysRPL, binary transfer,
libraries, strings etc. But I do want to learn!

Then it seems to me that you have a bit of catching up to do. Do
learn to do at least some UserRPL programming for your 50g; it
makes using the calculator a lot faster and easier, at least for
repeating a task frequently or repeating a lengthy or
"complicated" task even once.

Of course see the printed "User's manual" that came with your 50g,
but I expect that the "user's guide" that's on the accompanying
CD-ROM will be more helpful. Also be sure to download and use the
49g+/ hp 48gII graphing calculator advanced user's reference
. The differences from the 49g+ to the 50g
is that the 50g has a higher battery voltage (4 AAA cells instead
of 3) and that the 50g adds a "serial" (but not RS-232 compatible)
external I/O port; for transfers or printing "via wire", system
flag -78 is clear for the USB port or set for the serial port.

Also see the "training modules" available at
. Besides this link, hpcalc.org, and the comp.sys.hp48
newsgroup, other helpful links include
The HP Knowledge
, Wolfgang's
Carsten's HP
, and http://m.webring.com/hub?ring=hp48.

For a deeper understanding of RPL, see Bill Wickes's
Insights books, or if you're already familiar
with "Classic RPN", then first see his HP 48/HP 41
book, all available on the MoHPC CD-ROM set /

In general, each new version of RPL, from the 28S through the 49
series, is a superset of the previous RPL language. The older
documentation, particularly for the 28 series and 48SX/S, is often
better written than the documentation for the newer models. Don't
ignore information just because it's written for an older model;
it often applies to a newer model too.

First off I think my program is for HP 50G (or 49). I got it from
http://www.hpcalc.org/. It is under chemistry, ChemLab 2.7.

Sorry, from your original post, you seemed to have instructions
for installing it on a 48 series, so I assumed that you were
trying to install a library intended for them. It seems that the
developer ported his 48 series library to work on the 49 series,
but didn't bother to update its documentation. I see that
hpcalc.org has two separate entries for ChemLab 2.7; if you
haven't suceeded in installing this yet, be sure that the
downloaded file is named chemlb27_49.zip, not chemlb27.zip.

The library does seem to work in the 49g+ and 50g, but apparently
was developed for the 49G, so only 64 (instead of 80) pixel rows
are used for the graphical display.

In case you still haven't gotten it working, here's a method of
installing it on the 49 series:

  • Unzip the downloaded chemlb27_49.zip file.
  • Use Conn4x to download the file ChemLab.HP to the calculator's
    home directory, where it will be stored as a global variable named
    ChemLab (the menu label will show just ChemL).
  • Press LeftShift FILES (over the G key).
  • With Home highlighted, press CursorRight.
  • With ChemLab highlighted, press the menu key for MOVE (the C key).
  • Press the CursorUp key once or twice to highlight 2:Flash (or
    1:ERAM or 0:IRAM).
  • Press the menu key for OK (the F key), or press the ENTER key.
  • Press CANCEL (the ON key) to exit the filer.
  • Hold down the ON key, press and release the C key, and release the
    ON key to invoke a warmstart, which configures and attaches this
To use this library, press RightShift LIB (over the 2 key), press
the menu key under the label ChemL (press the NXT key if it's not
on the first menu page), then press the menu key for whichever
command you want to use.

I do realize that I'm leaving many of your questions unanswered,
but I expect that, with a little research, you'll easily find at
least most of the answers yourself.



Thank you all. I did get the program installed, its good. I have also visited many of the links and done some cool stuff.

I have learned about RISCH and INTVX as promoted by the posts above. I am wondering what the difference is between them. I know INTVX automatically assumes a variable of X, but is that the only difference? Do they use different algorithms? Are there certain functions that are better integrated by the one or the other?

Anyway, thx again. I learned alot over spring break about this calc, but alas the break ends and I go back to classes. I will however likely be back come summer, see you all then.


The advantage of using the RISCH command over INTVX is RISCH integrates with respect to any variable, INTVX just to the variable in VX. Supposedly RISCH uses a partial implementation of the Risch integration algorithm used, but there doesn't seem to be any difference in answers returned by the two commands.

A nice explanation of the HP49 (which are the same on the 50) CAS commands was done by Prof. Renee deGraeve. The top of the page is in French, but the document is in English:

A two-volume book series on using the HP49 was written by Prof. Gilberto Urroz. Here is the link for volume two, scroll to the bottom of the page to buy both together, recommended:


Possibly Related Threads...
Thread Author Replies Views Last Post
  HP Prime: Lists in programs Alberto Candel 7 2,758 12-04-2013, 02:16 AM
Last Post: Alberto Candel
  HP Prime: matrices in programs, in need of help Alberto Candel 9 2,417 11-26-2013, 01:33 AM
Last Post: cyrille de Brébisson
  HP Prime suggestion to avoid Numeric/Symbolic confusion Chris Pem10 4 1,451 11-19-2013, 05:49 AM
Last Post: bluesun08
  Grouping programs on the HP Prime Michael de Estrada 11 2,805 11-04-2013, 01:38 PM
Last Post: Damien
  [HP-Prime CAS] Vector Calculus Library CompSystems 7 2,140 10-31-2013, 12:48 PM
Last Post: Han
  Loading .prgm files to the Prime Thomas Chrapkiewicz 8 2,235 10-25-2013, 09:34 AM
Last Post: Eddie W. Shore
  Transfering HP-85A Programs Gerry Schultz 5 2,189 10-17-2013, 12:30 PM
Last Post: Philip Reagan (Texas)
  Problem loading library into emulator Tom Grydeland 2 1,061 09-08-2013, 08:42 AM
Last Post: Marcus von Cube, Germany
  [HP-Prime] AMBIGUITY between Numerical Calculation (HOME) and Numerical/Symbolic Calculation (CAS mode) CompSystems 2 1,110 08-18-2013, 07:06 PM
Last Post: CompSystems
  Mechanical calculator doing calculus Bruce Bergman 5 1,486 03-10-2013, 11:04 AM
Last Post: Thomas Chrapkiewicz

Forum Jump: