This is an old revision of the document!
Table of Contents
DM41X Info
Purchase Information
- Date : February 2022
- From : Swiss Micros (Direct)
- Price : £185
- Serial : 01266
- Battery Swap
- 22/9/22
- 11/02/25
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
Update September 2024
The factorization error in the deluxe
version has been fixed by Angel….
Swiss Micros forum discussion about the issue
- the fixed version 41z_bs_2x2_2_.zip
- My page DM41X 41z Module
DM41X Program Listings
- See DM41X Progs
Page Updated : 06/03/25 06:49 GMT