The Museum of HP Calculators
HP Articles Forum
[Return to the Index ]
[ Previous | Next ]
HP Calculator Simulators - with downloads
Posted by Mike T. on 5 Apr 2008, 5:08 p.m.
This article contains links to the latest versions of my HP Calculator Simulators including the HP25C, HP29C, HP31E, HP33C, HP67A and now HP32E.
Latest Status - 04 Aug 13 - LINUX!
I've managed to work out how to draw a decent representation of the keyboard and display using just X11, which wasn't as difficult as I thought once I'd decided to just assume that output device supported 24-bit colour. I'm now trying to figure out the simplest way to code up the rest of the functionality I want, and will probably use double precision floating point numbers initially and switch to using the decnumber library later. My original Visual BASIC code was very heavily dependent on using and manipulating variable length strings, so the techniques I used do not translate to C easily and when it comes to C I'm still learning what 'works' and what doesn't...
Latest Status - 30 Mar 13
I havn't done much with any of these emulators for a while, as I'm trying to work out how to draw the custom buttons, and other controls using GTK2 so I can port them to Linux as I don't use windows on my own machines very often any more. However I would still like to finish off the HP34C emulator if I could work out how to get the answers for intergrate and solve that were very close to the real machine.
Latest Status - 01 Sep 11
Successfully checked that the simulators work on Windows 7, once the necessary runtime support is installed (MSVBVM50.EXE).
Status Update - 17 Mar 10
Unfortunatly I've been unable to spend much time on this project recently and what little time I have spent has been on developing the prototypes described below and trying to find and elegent ways of structuring the code that 'works'.
Status Update - 22 Oct 09
Need to test my code to preform intergration using the Romberg Method - but I'm a bit stuck for ideas on how to approach the 'solve' function that would allow me to finish the HP34C simulation.
Status Update - 03 May 09
I have now successfully implemented the statistical routines I needed to approximate the normal and inverse normal distribution functions so I am finally able to release a simulation for the HP32E along with some minor fixes to the other simulators. I'm particularly pleased to be able to add this simulation to my collection, as the HP32E was one of the first HP calculators I owned and it's ability to evaluate the normal and inverse normal distribution functions accurately when everyone else was having to use look up tables was quite something at the time.
Unfortunately I've not been able to address any of the known bugs in the HP67A simulation in this release. Sorry, but I just have not had enough time - I have not forgotten them and will fix them at some point.
I'm still restructuring code to make it more object orientated, however this latest release is based on the older code base as I've not been able to spend much time on this little project recently...
Simulations
Finished simulators for the HP21A, HP25C, HP29C, HP31E, HP32E, HP33C, and HP67A are included below along with screen shots for other models that are under development including the HP10C, HP11C, HP22A, HP27A and HP34C.
Prototypes
Having read some items in the forum on this web site regarding reprogramming the HP20B, I decided to test my new code using a hypothetical simulation based on the HP20B form factor and display size. This has allowed me to work out what seems to work and what doesn't, so it is now time to go back to the drawing board again and reassess what sort of object model I want given the constrains imposed by the language and environment. Work on the 'new' simulation below is still at a very early stage and is far from complete though I have implemented most of the basic functions to allow you to play around with it a bit.
- Hypothetical HP32B
screenshot
source code (updated - 18 Nov 08)
I really like the two line display and I'm reasonably happy with the layout of the numeric keypad and the main functions - but I'd be interested to see what other suggestions anyone else has that you think would work better...
- Hypothetical HP34B
screenshot
source code (new - 18 Nov 08)
I noticed that it might be possible to accommodate all the HP34C functions using just two function keys on the HP20B keyboard, however it is necessary to use all possible shifted functions to allow for a PRGM/RUN and ON/OFF switches. It may not of course be possible to do this on a real HP20B by modifying just the firmware - in which case something will have to give, but this should give you some idea what could be achieved...
When I've finished restructuring the code I'll then concentrate on rewriting the existing simulations to use the new object orientated code. Hopefully I will be able to fix the outstanding bugs in the HP10C and HP67 simulators and finish off the simulators for the HP34C, and HP11C.
Known Issues
- There a a couple of minor problems with the HP67 simulation that I haven't fixed yet, however the HP21A, HP29C, HP31E, HP32E and HP33C simulations should behave as expected. (Though the HP32E simulation does allow the use of R9 which was not available on the real thing).
- Since the simulators do not use decimal arithmetic, the numeric accuracy depends in the accuracy of the floating point arithmetic routines used and may differ very slightly from the real thing.
It is probably worth checking this page for updates regularly as I will post new builds here when ever I fix any reported bugs.
Instructions
To run any of the simulators extract the contents of the ZIP file to a folder and just double click on the appropriate executable. They will run on Windows NT 4.0¹ (but NOT Windows 95/98/Me) and the 32-bit versions of Windows 2000, Windows XP and Windows Vista, providing that the Visual BASIC 5.0 runtime is installed.
Help Wanted
- If you notice that any of these simulators don't behave in the same way as the real thing let me know, your feedback is very useful and helps improve the quality of the simulators. Even if it isn't a bug let me know what you think.
- I need to work out how to implement integrate and solve in order to be able to complete my collection of SPICE machines with an HP34C, but I need some help in order to understand how these should be implemented in order to be able to get the same result as the real thing.
- Visual BASIC does have some financial functions, but I don't understand them well enough to understand how I could use them to implement the financial functions on the HP12C, HP22A, and HP27A.
Mike T.
¹ Windows NT 4.0 can only run a maximum of three different simulators at any time.
Edited: 4 Aug 2013, 7:05 p.m.
[ Return to the Message Index ]
Go back to the main exhibit hall