Nonpareil: Calculator Microassembler and Simulator

Archived News

26-NOV-2007: New iPhone port by Tom Fors supports Voyager calculators. See ports section below for link.
30-OCT-2006: Release 0.78 fixes build problems. There are no changes to the actual Nonpareil code.
29-JUN-2005: Donations to support further Nonpareil development are welcomed, as are postcards.
28-JUN-2005: Release 0.77 fixes a serious simulation problem that caused incorrect results for some functions on the simulated Classic series calculators (HP-35, HP-45, HP-55, and HP-80).
26-JUN-2005: Release 0.76 has a minor fix to the build process so that the Windows executables will have an '.exe' extension. The HP-67 files that were inadvertently included in the last several releases have been removed as Nonpareil is not yet able to simulate it correctly. There are no code changes from release 0.74.
26-JUN-2005: New and improved! Now, for the first time on the Internet! Announcing Nonpareil Release 0.74 for (TA DA!) Windows! Note: Windows support is currently considered alpha-level. Your mileage may vary. See the windows notes below for more details.
22-JUN-2005: Nonpareil Release 0.73 fixes a problem that prevented 41CX simulation from working in 0.72. The Phineas (timer) chip is now only "installed" when the .mod file requests it; in the case of the 41CX this occurs when the mainframe microcode is loaded. Suitable .mod files of the 82143A Printer and 82182A Time Module are now provided.
20-JUN-2005: Nonpareil Release 0.72 introduced 82143A printer support for the 41C family, with the ability to save the printer output as a PNG file. See the README file in the source distribution for information on the printer

The 41C and Voyager keyboard support has been enhanced to provide two-key rollover matching the actual calculators.

7-JUN-2005: Nonpareil Release 0.71 restores keyboard operation and includes improved keyboard mappings for Voyager calculators. The 41C bank switching has been fixed so the 41CX Extended Functions now work correctly. The stopwatch mode now works.
2-JUN-2005: Nonpareil Release 0.69 fixes some build problems in the last release. Note that Nonpareil requires SCons 0.96.90 to build. SCons 0.96.1 will not work correctly. If you don't want to install a new version of SCons, you can use the scons-local that is supplied with Nonpareil; see the INSTALL file for details.
2-JUN-2005: Nonpareil Release 0.68 has much better looking displays for the HP-41C and Voyager series calculators. Now instead of single-pixel-wide "stick digits", they have segments that look pretty much like the real thing, thanks to the scaling and compositing features of gdk-pixbuf. The Voyager annunciators are also now implemented.
27-MAY-2005: Nonpareil Release 0.67 adds support for the HP-41CX including partial support of the internal Time Module. The clock works, and runs at very close to real time, but is not initialized from the system clock. The alarms work, but the stopwatch does not. The extended functions (including CX extended functions) work.
22-MAY-2005: Nonpareil Release 0.66 changes primarily concern documentation and packaging. The credits have been updated and added to the "About" dialog. The SConstruct now supports "bindir", "libdir", and "destdir" options. The debugger GUI now has a RAM display window, which (like the register window) is not yet fully functional.
20-MAY-2005: Nonpareil Release 0.65 has several bug fixes; most notable, state restoration now works on 32-bit machines. ("This time, for sure!")
19-MAY-2005: Nonpareil Release 0.63 adds more Voyager family calculators: the HP-11C, HP-12C, and HP-15C. Bugs in the display state restoration have been fixed. There are still some bugs to be fixed regarding state restoration on pre-41C models.
13-MAY-2005: Nonpareil Release 0.62 fixes a minor build issue introduced by a last minute change in 0.61, which prevented the default search path from working. There are also minor changes to wasmy.y to avoid warnings and errors from some versions of Bison.
12-MAY-2005: Nonpareil Release 0.61 includes a Voyager calculator, the HP-16C "Computer Scientist", which offers base conversions, logical operations, shifts and rotates, etc. This is also the first release of Nonpareil to save and restore the calculator state. In other words, continuous memory is finally here! And even on calculators that don't normally have it! Nonpareil now builds with SCons instead of make. A copy of SCons is included. See the file INSTALL for details.
24-APR-2005: In release 0.46 the problem with logarithmic and exponential functions on the HP-25 has been solved. There is also a much improved hp41cv.kml by Thomas Olesen providing alpha keyboard mapping and nicer display characters. Thomas also merged the annunciators into the improved hp41cv.png by Maciej Bartosiak.
21-APR-2005: Release 0.45 fixes a minor build problem (dependency on vte.h when not needed).
13-OCT-2004: The paper "Microcode-Level Calculator Simulation" which I presented at the HHC 2004 conference is now available below.
3-May-2004: Alpha release 0.44 of Nonpareil is now available. This release adds annunciator display for the HP-41 family. The scanned image of the HP-41CV has been replaced by a stylized rendering from my older NSIM simulator with graphical improvements by Maciej Bartosiak.
16-Apr-2004: Alpha release 0.42 of Nonpareil is now available. This release adds support for the nut processor architecture and the HP-41CV calculator. The annunciators are not yet displayed. There is currently no way to save the calculator memory, so it always starts up with "MEMORY LOST".
13-Apr-2004: Alpha release 0.33 of Nonpareil is now available. The display code has been completely reworked in order to facilitate the future addition of HP-41C and Voyager series calculators. The digit grouping marks of the Spice series now work.

Nonpareil Mailing lists have been created.

11-Apr-2004: Alpha release 0.32 of Nonpareil is now available. A bug in the increment and decrement pointer instructions was fixed; now the HP-32E and HP-37E appear to work correctly, so the ROMs, PNG images, and KML files are included.
10-Apr-2004: Alpha release 0.31 of Nonpareil is now available. This is the first release to support the Spice series, and simulates the HP-33C. The calculator self-test is not working due to the ROM checksum instruction not yet being implemented. The digit grouping marks (commas in the U.S.) are not shown, as they will require some improvements to the display code.
9-Apr-2004: I've got the HP-33C working, and the HP-32E and HP-37E partially working. I haven't yet had time to package a new release.
7-Apr-2004: Alpha release 0.30 of Nonpareil (formerly CASMSIM). Now has support for a second architecture, the HP Woodstock series. Simulates the HP-25, in addition to the Classic series HP-35, HP-45, HP-55, and HP-80.

Even Older Archived News (CASMSIM)

29-Jan-2004: Added link to PalmOS port by Jonathan Purvis.
19-Jan-2004: Alpha release 0.21 of CASMSIM is available. This release improves the microinstruction timing, so that the HP-55 timer runs at approximately the correct rate.
18-Jan-2004: Alpha release 0.19 of CASMSIM is available. Slide switch support is included, and is used for the HP-55 timer/program/run switch.
17-Jan-2004: Alpha release 0.17 of CASMSIM is available. The HP-80 is now included.
16-Jan-2004: Alpha release 0.16 of CASMSIM is available. This release uses KML files to describe the keyboard, display, ROM, etc. The HP-35 and HP-55 are simulated once again.
15-Jan-2004: Alpha release 0.15 of CASMSIM is available. This release only simulates the HP-45. It now uses the GTK+ toolkit, which should be more easily portable to Windows or MacOS X, though I have not yet tried to port it. It requires a digital photograph or scan of the calculator, which is not provided, though a suitable one is available from
13-Jan-2004: The HP-35 source has been updated to eliminate assembly warnings, and real labels have been copied from the HP-45 source. No changes have been made to the simulator code in this release.

Last updated August 23, 2008

Copyright 2004, 2005, 2006, 2008 Eric Smith

Best Viewed With Any Browser Valid HTML 4.01! Valid CSS!

check now

check now