Table of Contents
DM41X Info
Purchase Information
- Date : February 2022
- From : Swiss Micros (Direct)
- Price : £185
- Serial : 01266
- Battery Swap : 22/9/22
Firmware
Date | Serial No. | DM41X Version | DMCP Version | Firmware Files |
---|---|---|---|---|
24/05/22 | 01266 | 2.1 | 3.20 | dmcp_flash_3.20_dm41x-2.1.zip |
27/07/24 | 01266 | 2.2 | 3.25 | dmcp_flash_3.25_dm41x-2.2.zip |
RTC Correction
- approx. error +3.5s/d = +40.5ppm
- Correction factor C from
C = 2^20 P /(10^6 + P)
- Approximations :
C = 1.04858 P
P = 0.953674 C
- Calculated
C = -42.47
Put a text file /rtccalib.cfg
in root directory of FAT drive with contents:
-42.47
update 28/5/22
After a period of observation the rate is now over-corrected. Try reducing correction to -37.5
which corresponds to a ppm error of 35.76ppm
, or 3.26 s/d
.
RTC Error
Start | Stop | Accumulated Error (s) | Rate Error (s/d) | Comments |
---|---|---|---|---|
28/3/22 | 24/5/22 | -0.1 | correction applied (C=40). Uncorrected error +3.5 | |
24/5/22 | new correction C=-42.47 | |||
24/5/22 | 25/5/22 | -0.3 | new correction in wrong direction? | |
28/5/22 | -0.3 | still over-corrected. New factor: -37.5. DM41X reports this is a correction of -35.3ppm | ||
28/5/22 | 31/5/22 | +0.2 | Now under-corrected? Difference across 3 days is only 0.5 seconds, so perhaps needs longer to reduce reaction-time-error | |
28/5/22 | 28/6/22 | +0.1 | Almost 1 month later. Delta 31/5/22 = -15.7s, Delta 28/6/22 = -11.6s. +4.1s in 28 days | |
28/5/22 | 8/7/22 | +0.1 | Delta -10.1s | |
28/5/22 | 21/9/22 | + 0.2 | Delta +1.2s. Still slightly under-corrected but good enough | |
28/5/22 | 15/4/23 | -7.6 | +0.0 | Delta -7.6s in 322 days = 0.02 s/d |
15/04/23 | 22/11/23 | +33.3 | +0.2 |
Notes
Complex Numbers
I'm using the 41Z complex number
module by Angel Martin to add a 4-level complex number stack. It's a bit confusing at first to get to grips with, but adds a lot of functionality to the the DM41x.
After a bit of trial and error (this is my first play with a “plug-in module” after all) I discovered the simplest way to make the keyboard function normally, and get easy access when needed to the complex functions, was to assign a USER key (usually the statistics summation key ∑+
to the 41Z module function ∑ZL
.
Each press of ∑+
now temporarily modifies all the keys to access specific 41Z functions. The functions available are extensive, through the use of the SHIFT key and by multiple presses of the ∑+
(henceforth referred to as Z
) key.
I drew out a diagram to show the various functions available.
Once a selection is made the keyboard switches back to its normal behaviour, so all the usual functionality is available.
Most of these are unlikely to be used often - and it's also possible to make a much narrow selection of 41Z functions and make your own USER
assignments, rather than use the ∑ZL
keyboard - although this might mean you block access to inbuilt functions you might want - which would mean switching out of USER keyboard mode at times. At the moment the ∑ZL
option seems the most versatile.
Many of the 41Z functions available are beyond my pay grade and unlikely to ever find a use, but the Complex Keyboard still makes things much easier to deal with.
For example the two keypresses:
Z 1\x
is much easier than the 7 it would otherwise need to invert a complex number
XEQALPHAZINVALPHA
I need to practice finding the right function (the main ones printed on the keyboard as well as the new ones provided by 41Z's ∑ZL
keyboard, but my fingers are slowly starting to move in the right direction.
One thing I do notice, though, as that due to the need to press various keys (XEQ, ALPHA, SHIFT
etc) it's sometimes possible to make a real mess if you miss a vital key in the middle of entering lots of data & instructions and find your stack totally screwed up, or several lines of program code full of nonsense….
I'm sure it'll all become second nature soon enough.
HP16C Emulator module
This is another interesting module to add the functionality of the HP16C - the Programmer's Calculator designed to handle calculations in various mathematical bases as used in computer programming and networking : Binary, Octal, Hexadecimal and Decimal. I adds much more value than the rather basic functions in the Advantage Pac module.
After much trial and error I found a combination of HP16C module and Library 4 library that worked correctly. The HP16C
module needs the Library 4
module, but I found some problems with different versions. Using the versions contained in the Swiss Micros package had a weird bug - the 16* (multiplication) function simply didn't work. I found a post by Angel Martin on the HP Calculator Forum with a ZIP file containing the 2 modules that worked correctly.
Here is the zip file : hp-16c_rev.1a.zip
I'll make a separate guide to using the main features here DM41X HP16C Module
Guides
Swiss Micros Info
- Documentation : User Manual
- Product Page : DM41X
Issues
- Arrived new with a speck of dirt behind the glass in front of the LCD.
- Able to remove by carefully prising the glass from its bezel (it's held in with double-sided tape)
41Z Deluxe Module
Weird behaviour with its “common factor” display →
- A number such as
10 + j 1
displays as10(1 + j)
which is wrong - example:
( 5 + j 10 ) + ( 45 - j 5 )
is really( 50 + j 5)
- calculator displays
50(1 + j)
- the actual numbers in the registers are correct (50 for Real in X and 5 for imaginary in Y) but the answer displayed as
50( 1 + j )
is badly misleading. - doing further calculations with the number on the stack is correct, as long as the answer doesn't have the same display-factorisation bug to mislead you. The only way to be sure is to look at the underlying X and Y stack registers. This spoils the nice
ALPHA
display of complex numbers, though. - it appears whenever the real and imaginary numbers are related by factors of 10 (e.g. 5 and 50, 2 and 20, 3 and 3000, 25 and 250)
- My Solution is to abandon the
deluxe
module and revert to a previous version, not deluxe :HP41Z Complex Number Module
version4L
and the appropriatelibrary4
module.- This module seems to handle the
common factor
display correctly.- it does not show
50 + j 5
as50( 1 + j )
- it does show
50 + j 50
as50( 1 + j )
- It requires a different
USER KEY
assignment:
SHIFT ASNALPHAZKBRDALPHAΣ+
Module files that work (for me)
DM41X Program Listings
- See DM41X Progs
Page Updated : 27/07/24 14:12 BST