The Program History

The Astronomical Companion for the HP-48SX/GX and HP-49G Pocket Calculator

Since about 1980, I have been very interested in astronomy and space exploration. In 1988 I became assistant guide at Vienna Urania public observatory, directed 1971-2000 by Professor Hermann Mucke.

I decided not to study astronomy because I am not so interested in the current problems of astrophysics, but rather in the history of astronomy, in old celestial maps, and archeo- and ethnoastronomy, which are even more "fringe subjects" in these days. I find recreation and peace in the study of old maps and ideas, but also enjoy observing the real sky very much. Of course, I have some astrophysical knowledge as well. I started studies in Electrical Engineering at Vienna University of Technology, but then have changed to Computer Sciences there.

In the spring of 1993 I got my first programmable calculator, an HP-48SX. Soon I realized the enormous capabilities and usability of this remarkable machine. It has a 131x64 pixel LCD graphic display, 32kB RAM, expandable with plug-in cards either with ROM (program cards) or RAM (loadable libraries, programs or backup memory) of either 32kB or 128kB, and serial as well as IR interface. Friends showed me software collections from the Internet newsgroups comp.sys.handheld and later comp.sys.hp48, most notably Joseph K. Horn's famous program collections known as Goodies Disks, including also some astronomical software. I started writing my own programs in the calculator's specific language, RPL, a descendant of LISP and FORTH, working in HP's common Reverse Polish Notation. These programs were based on a book which I had from 1989, when I thought I could use the TI-30 for such calculations:

4th Ed., WILLMANN-BELL 1988

From this, I made some fine programs, most notably one for Jupiter's moons.

In October 1993 I upgraded to the then new model HP-48GX which is faster and even more expandable with plug-in RAM cards of up to 4MB. (A 1MB card was built by HP, and 2 and 4MB cards were later offered by other companies.) Until June 1994, I worked on expanding an existing huge planetary ephemeris program from Goodies Disk #6, TYKO 3.1, by the Finnish author K.M.Sinenmaa. I could considerably improve its run-time and expanded it to include some stars and the Messier Catalogue, but it was still not complete enough for me, and it was based on formulae which were not accessible to me. I decided to dive deeper into programming the HP48 in its system language (System-RPL), which is faster but more dangerous to work with, and write my own universal programs to calculate the positions of the planets, the Moon, the Sun, Comets and Asteroids, and include also data of more stars and Deep Sky Objects (DSOs). In those weeks, I had found a great book about all this, by the same author whom I already knew to write very clear and understandable text:


Unfortunately, I bought the second German Edition, published in 1994 by JOHANN AMBROSIUS BARTH, which said "revised" on its title. I started programming, but soon found some "errors" in my programs, which did not get the results from the examples. I compared procedures with my older book, and I knew: This second edition must be still filled with errors. Professor Mucke, the director of the Vienna Planetarium and Urania Observatory, allowed me to check my book with his original US edition, and I could find dozens of smaller but several major errors induced during translation and typesetting. There was a whole paragraph missing, and most notably even one of the few diagrams! The proofreaders must have slept! The original US edition, which I also came to read during comparison, is a joy to read in contrast. Should you have to work with the German second edition, see my list of errors (german, obviously).

The development of the first version was completed in February 1995. I decided to try and offer the programs to people sharing my enthusiasm with the sky. So the programs were thoroughly tested on my calculator in almost daily use until July 1995. Then I had the main library programmed on a few OTP ROM cards. This program card, sold as AstroHANDY, together with some additional programs, included almost everything from Meeus' book. Although no commercial success (which I did not expect anyway), the few responses were very positive.

In September 1995, I got better information about the System-RPL use of the HP-48GX's internal list and choose functions (Jim Donnelly, a member of the HP48 design team, released a book about System-RPL in these days, finally), and by October, 1995, I had changed some programs.

By March 1996, I found a way to include the whole RNGC catalogue in three large libraries! One contains positional and object type data, the others the text code descriptions by Dreyer and from the RNGC, respectively. The user is free to install only one or two libraries to save memory. With some more data encoding, I managed to shrink the size of the RNGC1 library (which is the most important of the three) from 85kB to 55kB, and the others by 10kB each, to 108kB and 94kB.

In summer 1996, I wanted to complete the whole package by including Saturn's moons, translating all programs and the documentation to English and releasing it into the shareware market for HP48 users (without ROM card). I worked with the Explanatory Supplement to the Astronomical Almanac of 1992, which seemed to me to be one of the most "sacred" books of positional astronomy (and the only book I could find describing how to calculate the positions of Saturn's moons). The descriptions given in the chapter named, interestingly enough, Orbital Ephemerides and Rings of Satellites (sic!) were misprinted to be unclear on a few places, but I thought I could still work. After the estimated three weeks of reading and programming the programs worked, but the results had nothing to do with the real position of Saturn's moons! Now, debugging System-RPL calculator programs is not easy (stack oriented, very much like FORTH...), and I looked for my errors for two more weeks. I dived deeply into the described theory of orbital geometry, compared with the Explanatory Supplement of 1961 which describes completely different ways of finding the moons' positions, and I could really find some must-be-errors in the 1992 Supplement! Saturn/48 remained half-working.

For the new version I chose the name of Urania/48, in memory of the Muse of Astronomy and of the name of the Vienna Urania Public Observatory where I was assistant 1988-1996 and then guide until 2001, when Urania Observatory was closed for renovation.

In 1999, Hewlett-Packard released a successor to the HP48 series, the HP-49G. So, People started to ask,

What about a HP49 version, Urania/49?

In summer of 1999 I finally transferred the source tree of more than 30000 lines of code (OK, with comments and some automatically created data,...) for Urania/48 from DOS (with all that nice greek letters from codepage 437...) to Linux, to be able to use the development tools on that platform. I had been working on a new system of documentation using a new LaTeX package with some self-made fonts I had developed in 1998-99, and now was the time to implement it and some smallish program improvements in the main part of Urania/48. And, finally a new edition of Meeus' Astronomical Algorithms contained Saturn's satellites in the usual clear way, so at last it works.

Jan.6., 2000: Finished! Urania V2.1 for HP48 and HP49 is available! The name is now only Urania, only if one talks about a specific version the model number may be added.

One more addition has been suggested by Keith Farmer: Meeus gives polynomial expressions for the giant planets' positions for 1998-2025, which are a lot faster than the VSOP calculations. Keith helped with entering the numbers, so we decided to release it as QVSOP here .

A great addition still awaits completion: Map2 is a great sky map with hundreds of stars, the Messier objects, and planets. It allows zooming in and out again, etc. Unfortunately, its author, Dominique Rodriguez no longer has time to finish the port to the HP49. So, if you like to help, please contact me. If you can help, you will get a personally registered full version of Urania for free!

In 2014, it's time to realize that this software will likely see no further development, and also asking for support years after my studies is no longer necessary. I still use it, and if you happen to have one of these calculating gems, you can also download it for free now.

Back to Urania home page

© Georg ZOTTI, 2014 - 06 - 19