The icon is a canola flower.
Canola 0.8

The Canola project is an emulator for a Canon Canola 1614P desktop programmable calculator.

[ Download | Documentation | Mailing List ]

“High school students were given the opportunity to use the technology in the classroom in the late 1970s and early 1980s with calculators such as this Canola 1614P, issued by the New South Wales Government. The Canola 1614P was the last in a line of Canon's 16 series of programmable calculators, and, to the trained user, offered a sophisticated range of mathematical functions. The ability to read punch-cards meant that formulas could be filed and reused when required, alleviating some of the complexity of highly complex problems. ” — phm

This machine had the four basic arithmetic operations, with a precision of 16 digits, and also square root calculation (precision unspecified). In addition, it had 14 floating point data memories, and storage for 240 instructions of 7 bits each. The instructions tended to have a 1:1 correspondence to keys on the keyboard. Conditional branching and subroutines were available.

Wanted: The data sheet for the Texas Instruments TMC1816 chip. This is the chip that powered the Canon Canola 167P, and could also be the chip that powered the 1614P.


Photo: Daniel Sancho, CC BY 2.0
The motivation for writing the emulator was mostly a nostalgia trip, as it was one of the first machines I ever wrote code for. Sadly, none of my notes from that time survive.

The 1614P was largely constructed from TTL chips mounted on double sided boards in a short card cage. Reverse engineering the state machine that controls the machine's operation, using only documentation of successful operations, presents numerous challenges. Modern expectations of a sensible grammar, one with accepted operator precedences, should be set aside. This machine was designed in the early 1970s, when chip densities were very modest, and the dumbest thing that works is what to expect.

You Can Help

There is also a page of Questions that need an actual 1614P to resolve. If you have a working 1614P, answers to the questions would be welcome.

The project now includes complete assembler for each of the programs and subroutines included in the Program Card Package included with each 1614P, and these have been tested and confirmed to work on the emulator.

The only hold-out is the Test Run Program (part of the Program Card package) that stubbornly refuses to perform was expected. If you own a working 1614P, and can step through the program in OPE CHE mode, noting the displayed value at every step, that would be most helpful.

Example of what the app looks like.


See the Download page for the sources and some pre-compiled binaries.


See the Documentation page for links to the Canola project's Reference Manual, the original Canola Instruction Manual, example 1614P software, etc.

Mailing List

There is a mailing list available for users of the Canola project. See the mailing list page for instructions on how to subscribe and post messages to the list.


Canola is written and owned by Peter Miller <> and is freely distributable under the terms and conditions of the GNU GPL. There is more Software by Peter Miller at his home page.
This page has been accessed approximately number times since 20-May-2012.