The DM15 is a high-end scientific programmable with a root-solver and numerical integration, able to handle complex numbers and matrix operations.
Compared to the DM11 the DM15 also includes:
- Numeric integration
- Complex numbers
- Matrix operations
- Many more programming steps and variables, flags and tests
There are three versions of firmware for the DM15L:
- DM15 firmware
- DM15 "M80" firmware with extra memory
- DM15 "M1B" firmware with even more memory
The first one is the same as the original HP-15C with exactly the same amount of memory.
The M80 and M1B firmware versions contain modified ROMs to enable a larger number of registers. The hex number after 'M' is actually the memory location where the usable RAM area starts (memory location of the NUT CPU). The RAM of the original HP-15C starts at address 0xC0; the M1B and M80 variants' RAM starts at 0x1B and 0x80 respectively.
The difference can be seen on the calculator using [g][MEM].
Note that recent M80 and M1B firmware versions have special displays for memory configuration including sizes of matrices. Initial configurations should be:
This also gives an idea of the number of available program steps. Please refer to "Appendix C: Memory allocation" in the HP-15C manual for further explanations.
Known limitations of the expanded memory Firmware variants:
Solving lin.eq and matrix inversions is limited to matrices with sizes up to 8x8, please see the more detailed explanation by J.Fossy Weinzinger.
Unpredictable things may happen when operating with matrices larger than 8x8, it may even completely block the calculator.
The number of storage registers that can be configured via [f][DIM][(i)] is limited to 100. This is because the number of a register is limited to 2 digits.
A "GTO I" or "GSB I" used to branch to a specific program step is limited to the first 999 steps because the number must have 3 digits at most.