HP48 Series RPN Calculator

From Openmoko

(Difference between revisions)
Jump to: navigation, search
m
m (Fixed a typo)
 
(15 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{| style="background-color:#EFEFFF;color:#000;border:1px solid #9F9FFF;margin:1em 5% 1em 5%;"
+
{{InProgress}}
| style="padding:0.5em 0.5em;" |
+
| style="padding:0.5em 0.5em;" | <b>In progress:</b> This {{{1|article or section}}} documents one or more features whose implementation are <i>in progress</i>.
+
|}<includeonly>
+
[[Category:In progress]]
+
</includeonly>
+
 
+
[[Category:Applications]]
+
  
 
[[Image:HP48OnMoko.png|neo1973 emulating a HP 48GX calculator]]
 
[[Image:HP48OnMoko.png|neo1973 emulating a HP 48GX calculator]]
Line 24: Line 17:
 
will build on standard unix/linux
 
will build on standard unix/linux
 
distributions, and displays using the GTK+
 
distributions, and displays using the GTK+
toolkit and X11.  There are only two things
+
toolkit and X11.  There are only three things
 
that prevent their original code from being
 
that prevent their original code from being
 
directly usable on an Openmoko phone.
 
directly usable on an Openmoko phone.
Line 30: Line 23:
 
code produces is too large for a VGA
 
code produces is too large for a VGA
 
display, and the bottom ~3 rows of
 
display, and the bottom ~3 rows of
keys are not displayed.  Secondly,
+
keys are not displayed.  That was
 +
fixed by removing some of the protions
 +
of the display which were merely
 +
cosmetic (showing the HP logo and model
 +
number, for example). Secondly,
 
the source code package is not designed
 
the source code package is not designed
 
for crosscompilation, which is what
 
for crosscompilation, which is what
is usually done for Openmoko code.
+
is usually done for Openmoko code. Thirdly,
 +
the default fonts the code uses aren't
 +
present in the Openmoko rootfs (at least
 +
the 2007.2 family of releases), so they
 +
needed to be changed.
  
Your going to need extremely fine finger
+
You're going to need extremely fine finger
 
control to run this thing without a stylus.
 
control to run this thing without a stylus.
 
I think in practice this device must be
 
I think in practice this device must be
Line 60: Line 61:
 
I have gotten the code to crosscompile.
 
I have gotten the code to crosscompile.
  
The modified code will soon be available
+
The emulator reproduces the real calculator's
from
+
power saving feature of turning off after
 +
a few minutes with no activity.  When
 +
the calculator is off, the screen will be
 +
blank.  To turn it back on, tap the on
 +
key twice in rapid succession.
 +
 
 +
The modified code and/or an opkg package may
 +
be found here:
  
 
https://projects.openmoko.org/projects/mokox48/
 
https://projects.openmoko.org/projects/mokox48/
  
 
Please send comments, suggestions and questions to orrery.moko@gmail.com
 
Please send comments, suggestions and questions to orrery.moko@gmail.com
[[category:Software]]
+
 
[[category:GPS]]
+
==Installation==
 +
Login with ssh to your Free Runner or use a terminal to install the emulator with the following command (check the URL):
 +
<pre>
 +
opkg install http://projects.openmoko.org/frs/download.php/301/mokox48_1.0_arm_2008.8.ipk
 +
</pre>
 +
 
 +
Click on the new mokox48 icon in your home (I use the FSO-distribution at the moment) and the calculator starts.
 +
 
 +
I don't know why a x48 in the terminal didn't work.
 +
 
 +
A ROM from your HP 48 calculator is '''not''' needed.
 +
You can download it for free since 2000 [http://de.wikipedia.org/wiki/HP-48#cite_ref-0], [http://hp.giesselink.com/emu48faq.htm#ROM] for example from:
 +
[http://www.hpcalc.org/hp48/pc/emulators/gxrom-r.zip http://www.hpcalc.org/hp48/pc/emulators/gxrom-r.zip]
 +
<pre>
 +
wget http://www.hpcalc.org/hp48/pc/emulators/gxrom-r.zip
 +
unzip gxrom-r.zip
 +
rm gxrom-r.zip
 +
</pre>
 +
 
 +
There is a hint [http://www.mustun.ch/michael/dokumente/x48/x48.html] to copy the ROM in the same directory as the binary:
 +
<pre>
 +
mv ./gxrom-r /usr/bin/rom.dump
 +
</pre>
 +
 
 +
[[Category:Utility Applications]]

Latest revision as of 15:23, 5 December 2008

In progress: This article or section documents one or more features whose implementation are in progress.
neo1973 emulating a HP 48GX calculator

Eddie C. Dost and Iñigo Serna Robledo wrote an open-source emulator for the HP 48 series of RPN calculators. This code can be used with a ROM image of the code from a specific HP 48 series calculator, to provide a working calculator. The emulator is not fast by any means - running on a neo1973, the emulator is only about 70% faster than an HP 48G. It is definately usable - it is faster than the real calculator after all.

Their original source code, available at http://www.hpcalc.org/hp48/pc/emulators/ will build on standard unix/linux distributions, and displays using the GTK+ toolkit and X11. There are only three things that prevent their original code from being directly usable on an Openmoko phone. First, the image of the calculator the code produces is too large for a VGA display, and the bottom ~3 rows of keys are not displayed. That was fixed by removing some of the protions of the display which were merely cosmetic (showing the HP logo and model number, for example). Secondly, the source code package is not designed for crosscompilation, which is what is usually done for Openmoko code. Thirdly, the default fonts the code uses aren't present in the Openmoko rootfs (at least the 2007.2 family of releases), so they needed to be changed.

You're going to need extremely fine finger control to run this thing without a stylus. I think in practice this device must be considered stylus-based.

Like many programs, the command line options can be seen by executing the program with the argument --help. The most important command line options are -rom, which must be followed by the rom file name (with path, if not in the current directory) and -home, which must be followed by the directory into which the program should store the RAM image.

The emulation of the calculator is exact enough that the calculator will turn itself off after being idle for a few minutes. For some reason, you must press the ON key several times to turn the calculator back on. I will try to fix that bug.

I have done the little changes to the code required to make the calculator image fit on a VGA display, as shown above, and I have gotten the code to crosscompile.

The emulator reproduces the real calculator's power saving feature of turning off after a few minutes with no activity. When the calculator is off, the screen will be blank. To turn it back on, tap the on key twice in rapid succession.

The modified code and/or an opkg package may be found here:

https://projects.openmoko.org/projects/mokox48/

Please send comments, suggestions and questions to orrery.moko@gmail.com

[edit] Installation

Login with ssh to your Free Runner or use a terminal to install the emulator with the following command (check the URL):

opkg install http://projects.openmoko.org/frs/download.php/301/mokox48_1.0_arm_2008.8.ipk

Click on the new mokox48 icon in your home (I use the FSO-distribution at the moment) and the calculator starts.

I don't know why a x48 in the terminal didn't work.

A ROM from your HP 48 calculator is not needed. You can download it for free since 2000 [1], [2] for example from: http://www.hpcalc.org/hp48/pc/emulators/gxrom-r.zip

wget http://www.hpcalc.org/hp48/pc/emulators/gxrom-r.zip
unzip gxrom-r.zip
rm gxrom-r.zip

There is a hint [3] to copy the ROM in the same directory as the binary:

mv ./gxrom-r /usr/bin/rom.dump
Personal tools
In progress: This article or section documents one or more features whose implementation are in progress.
neo1973 emulating a HP 48GX calculator

Eddie C. Dost and Iñigo Serna Robledo wrote an open-source emulator for the HP 48 series of RPN calculators. This code can be used with a ROM image of the code from a specific HP 48 series calculator, to provide a working calculator. The emulator is not fast by any means - running on a neo1973, the emulator is only about 70% faster than an HP 48G. It is definately usable - it is faster than the real calculator after all.

Their original source code, available at http://www.hpcalc.org/hp48/pc/emulators/ will build on standard unix/linux distributions, and displays using the GTK+ toolkit and X11. There are only two things that prevent their original code from being directly usable on an Openmoko phone. First, the image of the calculator the code produces is too large for a VGA display, and the bottom ~3 rows of keys are not displayed. Secondly, the source code package is not designed for crosscompilation, which is what is usually done for Openmoko code.

Your going to need extremely fine finger control to run this thing without a stylus. I think in practice this device must be considered stylus-based.

Like many programs, the command line options can be seen by executing the program with the argument --help. The most important command line options are -rom, which must be followed by the rom file name (with path, if not in the current directory) and -home, which must be followed by the directory into which the program should store the RAM image.

The emulation of the calculator is exact enough that the calculator will turn itself off after being idle for a few minutes. For some reason, you must press the ON key several times to turn the calculator back on. I will try to fix that bug.

I have done the little changes to the code required to make the calculator image fit on a VGA display, as shown above, and I have gotten the code to crosscompile.

The modified code will soon be available from

https://projects.openmoko.org/projects/mokox48/

Please send comments, suggestions and questions to orrery.moko@gmail.com