HP48GX Book: Jump Start or Easy Course??



I recently bought an HP 48GX and want to get into it. Even though I have extensively used the 12C, and a long time ago had a 41C and 41CV, the 48GX is a different kettle of fish.

I have the user guide, but not the Quick Start guide. I was considering getting either:

1.Easy Course in Using and Programming the Hp 48G/Gx by Coffin

2.Jump Start the HP 48G/GX: Featuring Engineering & Science Applications by Adams & Potter

Any comments on these books, recommendations, etc?

Thank you,



I'm not going to review or compare those two books, but if you
want a scanned PDF of the Quick Start Guide, it (and the User's
Guide) are available from

More generally, If you're looking for an HP calculator manual, try

For some other resources for RPL models, see



I'm not familiar with those books, but I HIGHLY recommend both volumes of "HP 48 Insights" by William C. Wickes. I believe Mr. Wickes worked for HP and was instrumental the design of the HP 48 series.

The jump from the 41 to the 48 is quite a paradigm shift, and I remember making it with difficulty. After reading the entire manual that came with the 48, I felt quite overwhelmed. It was a long time before I could program it, and take advantage of it's power, without consulting the manual.

If I had had access to these two excellent volumes, I could have made the transition much more quickly. The first volume sub-titled "Part I: Principles and Programming" explains in detail the workings of the 48 series. It shows how the 48, although quite different, maintains consistency with the 41, and shows how the 48 is just an extension of the 41's capabilities. I've seen this volume on Half.com for about $75US. It gives you a solid handle on what's going on inside the 48 at the user level.

The second volume, sub-titled "Part II: Problem-Solving Resources" goes more deeply into the menus of the 48. It gives you a better understanding of dealing with symbolic manupulation on the 48, which was not as well addressed on the 41. It shows you how to use the 48 for algebra, calculus, equation solving, plotting, statistics, units, etc. I searched for this one on half.com and found it for $495US!!! Unreal pricing.

Fortunatley both volumes are available on the HP museum DVD or CD-rom set. The DVD is only $29.00 plus shipping, or you can order any one of the 10 CD's that is contained on the DVD for $12.00. I want you to know that I'm not affiliated with this site in any way. I just happened to stumble on these manuals after ordering the DVD, and wanted to pass it along to someone in the same situation I was in back in the early 90's when I bought my 48SX (which is still working perfectly, BTW).

Sorry I couldn't comment on the books you mentioned, but maybe these manuals can give you a leg up for a lower price.


Yes, my impression is that Mr. Wickes was hired by HP to head up the development of a high-level language for writing the operating systems for calculators, as doing everything in assembly language was deemed to be becoming too cumbersome for development of the more advanced calculators. The high-level language developed, and first used (internally) for the 18C, was dubbed RPL (for Reverse Polish Lisp), and is what we now know as SysRPL. Of course, in the 18C, the user doesn't have to be aware that RPL is underlying the system that he's presented with.

I don't know which calculators since actually have RPL underlying the user system, but I expect at least the graphing models.

For the 28 series, some particularly useful RPL commands had argument checking and dispatching added, with the system designed to be relatively "fool-proof" in the sense that, short of misuse of the SYSEVAL command or bugs, user memory would be protected as long as power was available, and the syntax of various program structures was made more "user-friendly"; so began UserRPL, with SysRPL underlying it.

The 28S, 48SX/S, and 48GX/G each continued to be supersets of the previous RPL system.

As far as I know, Mr. Wickes is still employed by HP, although not involved with calculators since the Corvallis team was disbanded and calculator development was moved to Singapore.

If there's anyone who ought to know about RPL, it's Mr. Wickes, and my impression is that he has a gift for explaining things clearly.

As far as I know, relatively little calculator development was done while it was based in Singapore.

The 48G+ amounts to a 48G with the 32KB RAM replaced by the 128KB RAM used in the 48GX, and was developed as an early product of a new calculator development team, ACO, based in Australia. The 49G was developed by the new team, with some excellent applications developed for the 48GX incorporated into the design. For me, particularly useful is the built-in SysRPL/Assembly language compiler, MASD. To be sure, to use named mnemonics instead of numeric pointers with MASD, an extable library has to be installed, but now these languages can easily be compiled/decompiled on the calculator itself, instead of being developed on a PC and transferred to a calculator (or emulator). But ACO was disbanded, and for a time, it seemed that HP calculator development had come to an end.

But HP calculator development was revived with a smaller team, and lots of outsourcing, who've developed the 49g+, 48gII, and 50g. Notable with these models is that since the hardware Saturn processor is no longer available, a "Saturn+" processor, emulated in the underlying ARM system, is used. The Saturn+ adds new opcodes, overcoming some of the difficulties in working with the hardware Saturn.

The ROMs for the 49g+/50g replace certain Saturn code with faster Saturn+ code, but note that the PC-based emulator (Emu48) emulates the hardware Saturn, not the ARM system or Saturn+, so the 49G+/50g ROM for the emulator has been "tweaked back" to using pure hardware Saturn instructions, and by removing any patches from the KML files, it can be loaded as the ROM for the 49G emulator, and from there, the ROMUPLOAD command can transfer the ROM to a real 49G. I now have a 49G with ROM revision 2.09, the latest revision for the 49g+/50g.




The ROMs for the 49g+/50g replace certain Saturn code with faster Saturn+ code, but note that the PC-based emulator (Emu48) emulates the hardware Saturn, not the ARM system or Saturn+, so the 49G+/50g ROM for the emulator has been "tweaked back" to using pure hardware Saturn instructions, and by removing any patches from the KML files, it can be loaded as the ROM for the 49G emulator, and from there, the ROMUPLOAD command can transfer the ROM to a real 49G. I now have a 49G with ROM revision 2.09, the latest revision for the 49g+/50g.

Hi James,

what is the advantage to doing this? And how do you tweek a ROM?


Hi bill,

what is the advantage to doing this?

For me, the principal advantage is simply that several bugs have
been fixed from ROM revision 1.19-6 to revision 2.09. For
examples, see
Bugzilla and the
"readme" files included with some of the "unofficial" revisions.
My guess is that there have been various undocumented bug fixes as

Another possible advantage is that, if I recall correctly, ROM
revision 1.19-6 has the equation library built-in, with the
library using "unsupported" revision-dependent code, and requiring
one user flash bank. Starting with revision 2.08 (the 50g's
initial revision), the equation library and periodic table are
optional external libraries using only "supported" entry points
and work with all ROM revisions back to at least 1.18. If you want
these libraries, you can install them, but if you don't want them,
you don't have to install them, thus saving some room in your
ports. These libraries are available at
http://www.hydrix.com/Download/Hp/4950Libraries/, file name:
EquationLibrary.zip. To "install" them, simply move a copy of
EqnData.lib and EquLib.lib (for the equation library), or
PerTbl.lib (for the Periodic table library), to port 0, 1, or 2.

The only "glitch" that I've found with using revision 2.09 on a
49G is with the VERSION command. The 2.09 VERSION first uses
IsBigApple_ to check whether the hardware is a "BigApple" (49g+ or
50g), and if so, then uses IsAppleV2_ to check whether it's a 50g.
If it's not a "BigApple", then it "must" be running on a 48gII
(since revision 2.09 was never intended to be used on the 49G).
But the 49G isn't a "BigApple", so VERSION returns "Version HP48-C
Revision #2.09" where we might expect to see "Version HP49-C
Revision #2.09". I consider this to be a very minor and harmless

Of course we can't really expect anyone to support using revision
2.09 with a 49G, but it ought to work the same on a real 49G as it
does in the PC-based emulator.

But given how easy it is to get the current 49g+/50g ROM to run on
the 49G, I'd think that it wouldn't be all that difficult for HP
to support an updated ROM for the 49G, if any corporate red tape
could be worked around. After all, I'd expect that there are quite
a few 49Gs out there that work as good as when they were new.

And how do you tweek a ROM?

I don't; I prefer to leave such matters to those who know what
they're doing.

But the general idea is that the "ROM" code is, after all, just
software; as such it can be, at least partially, decompiled to
source code, although it may be that some stretches are left as
machine language, and perhaps no one really understands just how
and why some machine language and assembly language code actually
works. For the "ARM-based" models, some pieces of legacy "hardware
Saturn" code have been replaced by faster-running "Saturn+" code.
Okay, the "tweaking" that I wrote about would be replacing such
new Saturn+ code with the original hardware Saturn code, so that
it can run on the emulated Saturn (not Saturn+) in Emu48.

If anyone cares to upgrade their 49G to ROM revision 2.09, first
download, unzip, and install the latest version of Debug4x
(currently Version 2.2, Build 104) from
http://www.debug4x.com/ (about a 7.5MB download).

Now pick a 49G .kml file to use; I used: C:\Program
Files\Hewlett-Packard\Debug4x\Emu\R49G1024.kml, but adjust the
path and file name as appropriate. Make a copy of the .kml file
and rename the copy; for example, I renamed the copy to
R49G1024r209.kml. Open the renamed .kml file with a text editor.
Mine starts out with:

Title "HP49G 1024*768 (256 colors) for Emu48"
Author "Hewlett Packard, Eric Rechlin and Christoph Giesselink"
Model "X"
Rom "ROM.49G"
Patch "BEEP.49G"
Bitmap "R49G1024.BMP"
Debug 0
with the leading spaces being actually a physical tab character
(ASCII 009) (leaving it out or changing it to any "whitespace"
should be okay).

Edit this to:

# Title "HP49G 1024*768 (256 colors) for Emu48"
Title "HP49G special 2.09 ROM 1024*768 (256 colors) for Emu48"
Author "Hewlett Packard, Eric Rechlin and Christoph Giesselink"
Model "X"
# Rom "ROM.49G"
Rom "ROMG+.49G"
# Patch "BEEP.49G"
Bitmap "R49G1024.BMP"
Debug 0

That is, remark out the old "Title", "Patch", and "Rom" lines, and
insert a new title and the 49g+/50g ROM file name, and save the
edited file.

Now open EMU-49 (it should be in your Start menu as
Start\programs\HP 49 & 48 Development Kit\EMU-49). If needed, in
the View menu, click on "Change KML script...", and choose your
modified .kml file. Enter the VERSION command and verify that it
really is "Version HP48-C Revision #2.09".

Now it's just a matter of transferring the ROM from the emulator
to the physical 49G, much like transferring a ROM from one 49G to
another, and not too different from using a .flash file to upgrade
the ROM from a PC. Of course, it's best to start with a fresh
battery in the 49G.

To cancel out of any test mode, hold down ON, press and release C
(F3), and release ON to force a warmstart. In case a warmstart
can't be forced from the keyboard, insert a partially straightened
small paper-clip (or something similar) straight into the hardware
reset hole in the back of the 49G. I suppose that you could force
a warmstart while a ROM download is in progress, but in that case,
the calculator would be rather useless until you completed a ROM

In the emulator's "File" menu, choose "Settings...", and then
under "Serial Ports", change the "Wire:" setting to whatever COM
port you normally use for connecting your 49G, and click OK.
Physically connect the 49G to the COM port, then enter ROMUPLOAD
on the emulator; you should have some instructions displayed on
the emulator. On the 49G, hold down ON, press and release D (F4),
and release ON; you should now have a "Tests" menu. Hold down
ENTER and the + key, press and release ON, and release ENTER and
+; you should now have the "No System or +/ENTER pressed" menu.
Press 4 (Terminal Mode) on the 49G, and then press any key on the
emulator. The emulator should now be at "Xmodem Server Waiting for
command" and the 49G at the "Download" menu. Press 1 (Download
System) to commence the download; the emulator should display
"Xmodem Server" with various messages showing the progress, and
the 49G should show various messages showing the progress. The
download should take about 20-25 minutes.... Eventually the
emulator will display "Xmodem Server Waiting for command" and the
49G will display "The system may not be installed. Please go to
'Download Pack' Menu"; at this point press any key on the 49G,
which should get you to the "Download" menu, and then press 2
(Download Packs). After a few seconds, the 49G should display
"System present Press Q twice to reboot". The first press of Q
takes you back to the "Download" menu, and the second press
reboots the 49G with the new ROM. On the emulator, press CANCEL to
exit Xmodem Server mode, and close the emulator.

Run some tests on the 49G to verify correct operation. In
particular, with the HoldDown ON and D tests, run 5 (FastROM), 6
(FastRAM), 7 (FullROM), 8 (FullRAM), and 9 (FROM Format), and run
the HoldDown ON and E repeating test. All tests should pass.


Edited: 14 Dec 2006, 10:04 p.m.



The ROMG+.49G file for the emulator is timestamped Saturday, June 03, 2006 03:01:16, and the 4950_92.bin file for the 49g+/50g is timestamped Saturday, June 03, 2006 05:24:00, so as far as I know, whether the 4950_92.bin file was developed first and "tweaked back" to using pure hardware Saturn code for the ROMG+.49G file, or the ROMG+.49G file was developed first and "tweaked" to using Saturn+ code for the 4950_92.bin file, is an open question. Of course the developers would know, but I haven't seen this question addressed.



Hi James. Please consider posting your excellent information to comp.sys.hp48 as well. Sure, some people there may already know that stuff, but many won't.

It would be a great contribution. Thanks alot!



Hi Gene,

Actually, I believe that all of that information regarding using a 49g+/50g emulator ROM on a 49G was previously posted to the comp.sys.hp48 usenet group, but I've somewhat re-written the information about it that I've posted in this thread, and posted it to the newsgroup. If anyone cares to read my usenet post, it's at this link.

The substantial additions to the information are:

Regarding the equation library and periodic table: Note that the documentation for the equation library and periodic
table may be a bit sketchy in the current manuals. For better
documentation, you could use the "HP 82211A HP Solve Equation
Library Application Card Owner's Manual (for HP-48SX)" and "HP
82211B HP Solve Equation Library Application Card Manual Update
(for HP-48SX)", both available on the current Museum of HP
Calculators CD ROM set / DVD. See:

Regarding behaviour of 2.09 on a 49G: Notably, the I/O input forms seem to "know" that IR isn't
available on the 49G, and the "Baud" choices are appropriate for
the 49G.

Regarding using 2.09 on an emulated 49G: Of course a 49g+ or 50g ROM could be used with the 49G emulator on
a regular basis if one really wanted to, in which case any patches
should be left in.

And regarding any ROM upgrade failure: In case of any difficulties with upgrading the 49G ROM, see the
"If it fails:" instructions at:
You can always go back to using an earlier ROM revision.




For anyone interested, the author of the 49 series CAS has ROMs for the 49 series calculators and PC-based emulators at his Web site, http://www-fourier.ujf-grenoble.fr/~parisse/

Some bug fixes are included, and Spreadsheet and Geometry applications added. These include the latest equation library and periodic table library. On my 49g+, VERSION returns "Version HP49-G Revision #2.10-7" "Copyright HP 2006", and VER returns 4.20060919.

I don't know whether the new applications will be included in a future official HP ROM revision.

CAS documentation and source code is also available at that site.

Erable for the 48G/GX/G+, and Giac/xcas for various platforms is there as well.

Merry Christmas!

Edited: 25 Dec 2006, 1:35 p.m.


Been there, done that. I have both; both are useful, but I felt the the Coffin book was much more helpful overall to me as a 48 newbie. Everything from "what's on the screen" to programming. The same folks also produced a guide that fits into the calculator case which is really handy. I wish my 50g had such a thing.

Possibly Related Threads...
Thread Author Replies Views Last Post
  An easy course in using the HP16c-wanted- Frank 4 1,270 10-29-2013, 11:50 AM
Last Post: Mark Hardman
  OT: Jeppesen E6B Wind-Easy Computer (Slide Rule) Eddie W. Shore 18 3,914 10-12-2013, 03:26 PM
Last Post: George Litauszky
  HP48GX screen replacement Francisco Quiles 9 2,117 10-03-2013, 09:17 PM
Last Post: Francisco Quiles
  Prime: Another Warm Start Helge Gabert 0 497 10-02-2013, 11:57 AM
Last Post: Helge Gabert
  HP48GX Interface to a PC John W Kercheval 7 1,605 09-29-2013, 10:53 AM
Last Post: John W Kercheval
  Irrationality in numbers....the book Matt Agajanian 4 1,190 08-30-2013, 04:14 PM
Last Post: Matt Agajanian
  [HP Prime CAS] No Pretty Print (Text Book) CompSystems 1 697 08-17-2013, 12:41 PM
Last Post: CompSystems
  WP-34s feature suggestion: "Follow jump" shortcut Andrew Nikitin 3 952 06-12-2013, 01:42 AM
Last Post: Walter B
  A good general mathematics reference book? Chris Smith 11 2,098 04-29-2013, 09:44 AM
Last Post: Chris Smith
  The "blue book" and what the figures tell Walter B 29 4,495 03-25-2013, 08:05 PM
Last Post: Walter B

Forum Jump: