There is a very nice Java simulation of the Hewlett-Packard HP25 calculator at the online
Museum of HP Calculators.
Doug Braun did an excellent job porting
it to the BlackBerry Storm, but sadly got a new cell phone – a Droid X – so he
is no longer planning any more Blackberry software development. I decided to take it
over, because, like him, it seemed like a fun thing to do ... and let's face it, the
calculator that comes with the Storm is horrible.
Click on the screen shot to download the application directly to your Storm.
The changes that have been incorporated so far are:
- Continuous Memory:
The calculator retains the stack data, register data, program memory, angle mode and
display format between application invocations (making it an HP25C).
- New User Interface:
A more realistic looking bitmap is used to create the calculator keyboard, replacing
the "drawn" keyboard of Doug Braun's original HP25 Blackberry application.
- Prefix Key Highlighting:
When either the f or g prefix key is
pressed, a highlight is applied to indicate that the prefix is active.
- Floating Point Display:
The decimal point (•) will select floating point display
precision when used with the FIX / SCI /
ENG display formatting commands.
- Added Functionality:
The factorial function x ! replaces the "extra" NOP
function of (g•Σ+).
- Program Step Insertion/Deletion:
Program instructions can be inserted and deleted via the
INS (g•SST) and
DEL (g•BST) keys.
When an instruction is inserted or deleted, all GTO targets are
automatically adjusted (incremented or decremented).
- Increased Memory Space:
Since memory is a bit cheaper than it was in 1975, the number of data registers has been
increased from 8 to 20 and the maximum number of program steps has been increased from 49
to 99. Registers R0–R9 are arithmetic registers that
support full math storage operations with the four arithmetic operator prefixes
(+/−/×/÷). Registers R.0–R.9
are scratchpad registers that only provide the basic
STO • n or
RCL • n
- Register/Program Data Display:
In RUN mode, the menu item Display register data will
display the stack and register values; in PRGM mode, the menu
item List program will display the program opcodes and disassembled code.
The program listing filters ranges of GTO 00 (program fill) statements
for better readability.
- Application Exit:
Setting the power switch to the OFF position closes the application.
Possible changes in future versions:
- Program Library:
Add the ability to save or recall the programming memory, so the user can create
a library of stored programs.
- Linear Regression:
Add the ability to perform linear regression and compute the correlation coefficient,
like the HP32E. There are
some compatability issues with the HP25C if this feature were to be added.
For example, the HP25C computes n, Σx, Σx²,
Σy, and Σxy when Σ+ is pressed;
the computation for Σy² would need to be added to compute the
correlation coefficient. It would therefore make sense to move the statistical
summations from registers R3–R7 to the scratchpad
registers R.0–R.5 to provide a clean split between
the statistic and "normal" registers and accomodate the extra register needed for the
additional summation (again, like the HP32E and the HP29C).
- The original calculator photo used to display the HP25
keyboard is currently disabled. It probably will not be re-enabled, since the
new bitmap keyboard is much easier to read.
- A quick reference guide for the calculator is available here.