Table of Contents

Calculator Hardware/Firmware

LF15C - Firmware for the DM15

A 3rd Party Firmware for the DM15 family of calculators

Overview of LF15C

Installing LF15C

DM15L running V32 or earlier (Linux)

DM15L running V33 or later (Linux)

This behaviour isn't consistent!

I've seen it be possible to flash and run LF15C directly after DM15 V34 with no problems.

I've also seen the problems described below, requiring downgrade to V32.

Just bear it in mind if you have problems starting LF15C after flashing it on top of V33-onwards

The new Swiss Micros firmware V33 changes the behaviour of the bootloader, and it appears to be impossible to flash 3rd party firmware when the calculator is running V33 or later.

The firmware appears to flash correctly, but on reset it will not start

The solution is to downgrade to V32 first, and then install LF15C

For installation using Windows

Files

Download from here

Latest LF15C firmware lf15c_250408.hex
V32 firmwaredm15_m1b_32.hex
Swiss Micros Voyager Windows Update Toolvoyage_firmware_tool.zip

Download from HP Forum & Swiss Micros

LF15C General Info

9SINCOSTANATANACOSASIN9-

-1.6584 x10 -10

Example (Click to view)

HP15C functions

HP15C features not supported

DM15L features not supported

Speed tests

n-Queens

CalculatorFirmwareTime
DM15L V34 202 seconds
DM42 3.23 7.30 seconds
DM15L*LF15C 250408 0.992 seconds

Savage

CalculatorFirmwareTime
DM15L V34 247 seconds
DM42 3.23 14.9 seconds
DM15L* LF15C 250408 4.008 seconds

Using LF15C

Complex Numbers

Making & manipulating a complex number

Press f I in normal mode to create & destroy a complex number from ⇔ to y and x on the stack.

Example (click to view)

Make a pure imaginary number by using fRe<>Im

Example (Click to view)

Rectangular and Polar modes for complex numbers

Example (click to view)

Arithmetic can be done in Rectangular or Polar mode.

Example (click to view)

Other features

Indirect addressing

Similar features to the standard HP15C, with differences due to increased Program Label numbers

Indirect Register pair I & (i)

Indirect Register pair I and (i) work in the usual way

Example (click to view)

Indirect Program Label addressing

As in the HP15C you can also indirectly address Program Labels using the contents of the I register to point to the label required.

The HP15C allowed 20 numerical Program Labels 0 - .9 which meant indirect addressing for Labels A - E was done by reference to 20 - 24 in Register I

LF15C has 100 numerical Program Labels so….

Store 00 - 99 in I to address numerical Program Labels 00 - 99

Store 100 - 104 I to address Program Labels A - E

Using GTO I or GSB I in a program will lead to a jump to the Program Label referred to by contents of Register I.

Changing Register I's contents (e.g. within a program) can then cause the execution of program to branch in different ways - this can be a very powerful mechanism!

Example (click to view)

Indirect Program Line Number Addressing

Similar to the above, if the Indirect Register I contains a NEGATIVE number then a call to GTO I or GSB I will cause a branch to the absoloute Line Number referred to in I.

Example (Click to view)

And the rest

LF15C Serial Port Info

ALWAYS INCLUDE AT LEAST ONE TRAILING ZERO FROM THE STRING OF DIGITS REPRESENTING THE MEMORY DUMP

LF15C Firmware Files

Tabulated List of LF15C firmware versions

DateFirmwareVersionFirmware FileComments
12/09/24 LF15C beta240911 lf15c_beta240911.zip initial public beta
15/09/24 LF15C beta240914 lf15c_beta240914.zip
17/09/24 LF15C beta240916 lf15c_beta240916.zip
17/09/24 LF15C beta240916_2 lf15c_beta240916_2.zip
21/09/24 LF15C beta240920 lf15c_beta240920.zip very fast benchmarking, roots of -ve numbers bug
21/09/24 LF15C beta240921 lf15c_beta240921.zip Fix of “powers of negative numbers” bug, new 10^x bug
23/09/24 LF15C beta240923 lf15c_beta240923.zip 10^x fix, other bug fixes
25/09/24 LF15C beta240925 lf15c_beta240925.zip Bug fixes More new bugs
28/09/24 LF15C beta240928 lf15c_beta240928.zip bug fixes
30/09/24 LF15C beta240929 lf15c_beta240929.zip Bug Fixes etc.
30/09/24 LF15C beta240929_2 lf15c_beta240929_2.zip RCL I Bug fix
01/10/24 LF15C beta240930 lf15c_beta240930.zip Bug Fixes
02/10/24 LF15C debug241001 lf15c_debug_for_john241001.zip version pre-loaded with my B.Fil prog for debug purposes
02/10/24 LF15C beta241002 lf15c_beta241002.zip Bug Fix my B.Fil runs correctly. No known showstoppers left?
03/10/24 LF15C beta241003 lf15c_beta241003.zip fPREFIX fix. Discovered inverse HYP SIN bug
06/10/24 LF15C beta241005 lf15c_beta241005.zip fixes ,HYP ASIN bug still present
07/10/24 LF15C beta241006 lf15c_beta241006.zip Bug fix and new runTime function
08/10/24 LF15C beta241007 lf15c_beta241007.zip Bug Fixes
10/10/24 LF15C beta241009 lf15c_beta241009.zip Bug Fixes
12/10/24 LF15C beta241011 lf15c_beta241011.zip RND bug fix
14/10/24 LF15C beta241014 lf15c_beta241014.zip
20/10/24 LF15C beta241020 lf15c_beta241020.zip
21/10/24 LF15C beta241021 lf15c_beta241021.zip
22/10/24 LF15C beta241022 lf15c_beta241022.zip
24/10/24 LF15C beta241024 lf15c_beta241024.zip
31/10/24 LF15C beta241031 lf15c_beta241031.zip
02/11/24 LF15C beta241102 lf15c_beta241102.zip
10/12/24 LF15C beta241210_2 lf15c_beta241210_2.zip Integrate feature
17/12/24 LF15C beta241217 lf15c_beta241217.zip Integrate improvements
21/12/24 LF15C beta241221 lf15c_beta241221.zip Bug Fixes
22/12/24 LF15C beta241222 lf15c_beta241222.zip Sin(180)=0 Fixed
14/02/25 LF15C beta250123 lf15c_beta250123.zip Enter Key bug fixes
15/02/25 LF15C beta250215 lf15c_beta250215.zip Better integration routine and bug fixes
16/02/25 LF15C beta250216 lf15c_beta250216.zip Y↑X and TEST bug fixes
17/02/25 LF15C beta250217b lf15c_beta250217b.zip Integration bug fix
19/02/25 LF15C beta250218 lf15c_beta250218.zip Integration programability
20/02/25 LF15C beta250220 lf15c_beta250220.zip Linear Regression bug fix
21/02/25 LF15C beta250221 lf15c_beta250221.zip Complex/non-integer factorial
25/02/25 LF15C beta250225 lf15c_beta250225.zip improved precision in x! function
26/02/25 LF15C beta250226 lf15c_beta250226.hex f-PREFIX bug fix
12/01/26 LF15C 250408 lf15c_250408.hex no longer BETA. Stable version - mature??

Further Information