Related Links


Thank you for your interest in LXVII, (pronounced “sixty-seven”) the HP-67 simulator for the Mac. This page describes the main features of LXVII and some of its background. The menu on the left provides the links to the information about LXVII, as well as links to information about the HP-67 and the RPN operating language that it uses. Please take the time to explore the links a bit if you are not familiar with Hewlett-Packard calculators and the HP-67 in particular. It is well worth the time if you want to put LXVII to good use.

LXVII is an HP-67 calculator simulator for the Mac. It was conceived, in the days of MacOS X 10.0, because I needed a calculator for my taxes and after downloading a bunch of RPN based calculators I found most of them wanting. Some were lacking basic features, others had so many features they were too confusing or cumbersome to use. I plugged in my hp-67, with its long-dead batteries and magnetic card reader, and copied the answers from display to tax-forms by hand, not much better than a caveman with an abacus.

At about the same time, I had been looking for an application to use as a springboard for learning Mac OS X application programming. It seemed that an RPN calculator is a good application for learning programming on the Mac, because a lot of the calculators I downloaded were starter applications. Unfortunately they all shared the same characteristics: All of them were single window applications; most required all input to be done by mouse clicks on the buttons; none were programmable, very few had more than one memory register, etc.. In short, none of them was as useful to me as the HP-67 sitting on my desk, despite the fact that the hardware they ran on was literally thousands of times more powerful than the HP-67.

I resolved to bring the HP-67 to the Mac, with some improvements to take advantage of the more powerful hardware, but still being true to the HP-67's ease of use. Also, since Apple had decided that the new release of Mac OS was going to use the Roman numeral 'X' instead of 10, it was decided that I would follow suit and name the calculator 'LXVII', for 67. In retrospect this was not one of my better ideas.


Below is the feature set of LXVII. Over the years it has stayed faithful to it's original concept of being true to the HP-67, while extending some features to take advantage of the Mac hardware. LXVII is a faithful simulation, but not exact emulator, of the hp-67. It has the same number memory registers and program steps as the original. The stack depth is the same (4 cells), the button and prefix key layout is also the same, it displays the same key-codes per program step, it even has a slider switch for selecting between user and program mode in the same relative place on the face plate. We kept that level of compatibility to give the owner of an hp-67 the ability to immediately use LXVII without worrying about what may be different.

In extending the HP-67 feature set to take advantage of the Mac hardware, new features were designed with the intent that the new behavior be compatible with the existing behavior as much as possible. For example, the Mac allows for 15 digits of precision instead of 10, so we extended the display to accomodate it. But we did not increase the number of program steps because few users would take advantage of the greated number because it would be to cumbersome to edit much larger programs.

This section describes the LXVII features that extend the HP-67 on the Mac. In so doind, it lists the main differences between LXVII and the HP-67.

  • Unlike most other calculator programs, LXVII is document based. This means you can have multiple calculators, each running different programs, active at the same time. LXVII takes advantage of built-in macOS thread technology to take advantage of as many CPUs as are available on the system.

  • Like the HP-67, the programmability of LXVII allows you to create calculators that are designed for the specific problems you are trying to solve. Each calculator can then be saved to it's own document for later reuse. Also like the HP-67, LXVII preserves the idea of saving the data registers or program memory to their own file for later reuse.

  • LXVII has a seperate panel that can be used like a paper tape roll for printing out memory registers, intermediate stack values and program listings. It also allows you to trace program execution for debugging or documentation purposes. It's functionality is based on the paper tape function of the HP-97, the HP-67's larger version for the desktop.

  • One of the most popular feature of LXVII is a pull-out panel can display the current values of the stack, the last-X register, the program counter, all memory locations and all program steps in memory. All values except the program steps can be edited directly within the drawer interface, including stack locations.

  • All buttons have an assigned single-keystroke key so the user can get to all calculator functions without use of the mouse. To help remember the keystrokes, all buttons and button labels have active tooltips specifying the button’s functions and the shortcut.

  • While the HP-67 would would allow you to label the the programmable keys [keys A-E], by writing on the magnetic cards it used to store programs, LXVII allows you to directly re-label the [A-E] keys and assign them a tool-tip so you'll remember what the function does.

Many other features are described in the in the built-in help files. The menu on the left also provides links to HP-67 resources on the internet, and local to this site, including the complete HP-67 users's manual.

Back to the top


LXVII is distributed through the Apple Mac Store as a Universal binary that will run natively on Intel and Apple Silicon based Macs. The specific requirements are:

  • Any Mac model with an Intel processor and running macOS version 10.12, (Sierra).

  • Any Mac model with an M1 Apple Silicon processor or later.

Back to the top