UPDATE: DMCP-3.14 / DM42-3.14

This is where announcements of official firmware updates provided by SwissMicros for the DM42 calculator will be made.

Please do not post bug reports here. The Usage tips, tricks and problem reports forum is there for that.

Please do not post notices of third party firmware builds here, they will be deleted. Instead, please use the Third Party firmware builds forum for this purpose.
grsbanks
Posts: 1122
Joined: Tue Apr 25, 2017 11:23 am
Location: Preston, Lancs, UK
Contact:

UPDATE: DMCP-3.14 / DM42-3.14

Post by grsbanks »

Image

This latest update to both the DMCP and DM42/Free42 parts of the DM42's firmware brings the following improvements:
  • DMCP-3.14
    • LCD Refresh speed boost
    • Keyboard handling completely reworked
    • Changed RTC read method
  • DM42-3.14
    • Added RTC calibration
    • Update Free42 core to 2.2
    • Fixed block graphics in "Graphics in text" print
    • Removed byte order marker in UTF-8 printed output
    • Fixed bitmap error in print to graphics file
    • Added double new-line printing
    • Added support for YMD date format
    • Added [←] as option to back out of settings screens
LCD Refresh speed boost

Screen data is now transferred to the LCD via DMA, which frees the CPU up to perform other tasks.

RTC changes

RTC read has been reworked to speed up clock extraction and help get rid of bad clock readings at system start-up.

There is now a method to calibrate the RTC in the DM42 and reduce drift. If you place an integer in the range -511 to 512 in the file "rtccalib.cfg" in the root of the FAT disk, this file will be read every time the FAT disk is disconnected and at every system restart. A correction coefficient is calculated from the integer value, is stored in the RTC's configuration and is used to adjust the RTC clock tick frequency.

If the calibration value is "c" then the adjustment "a" in ppm is:

a = 10^6 * c / (2^20 - c)

However, most of the time you'll know the required correction and need to find the corresponding value "c":

c = 2^20 * a / (10^6 + a)

To make things easier, a program to calculate the correction to use will be published in the DM42 Software Library.

Free42 core 2.2

This adds local variables, "infinite" (well, not quite, but much better than the original 8 levels) RTN stack and YMD date format to the DM42.

Details can be found on the Free42 history page Thomas Okken's site.

We know that Free42 2.4 is already out but that and 2.3 were released after DM42-3.14 went into feature freeze. Incorporating the changes in Free42 2.4 is planned but that'll be for a future version of the DM42 firmware.

The DM42 encoder/decoder now recognises the LSTO and YMD functions.

Fixed block graphics

A minor error in the choice if pseudo-graphic glyphs for the "graphics in print-to-file" meant that lines of "pixels" didn't always mesh up correctly. Fixed.

BOM in output text removed

The Byte Order Marker is unnecessary in text encoded using UTF-8 since it is a sequential stream of bytes that appear in an order clearly defined by the standard. A BOM is only needed in encodings where each codepoint is encoded using more than a single byte, e.g. UTF-16 or UTF-32.

Bitmap error

The output from "print to graphics" would sometimes yield a .BMP file that was malformed. Fixed.

Double newline printing

Print output can sometimes be clearer with more space between lines.

"SETUP > Printing > Double Newline" allows you to have newlines sent to the printer to be doubled, thus introducing space between the lines. Note that this only affects actual printed output, not the "print-to-file" output.

YMD format

The "SETUP > Settings > Set Date" page had to be altered to allow for the new YMD date format introduced in Free42 2.2.

The first soft menu entry cycles between "M>D>Y", "D>Y>M" and "Y>M>D".

If it shows "M>D>Y" then it means that the current mode is MDY and pressing F1 will make the mode switch to "DMY.

If it shows "D>Y>M" then it means that the current mode is DMY and pressing F1 will make the mode switch to "YMD.

If it shows "Y>M>D" then it means that the current mode is YMD and pressing F1 will make the mode switch to "MDY.

[←] as option to back out of settings screens

Both [EXIT} and [←] now allow you to back out of DM42 system menus and screens.

The method for updating your DM42 is covered in the manual.

The latest firmware binaries are available here.

SHA1 checksums:

Code: Select all

92635bda4b79f4e93df60c38cff138cf04fa37ed  DM42-3.14.pgm
0c9b267ae3ff41765e56728c4d2aa55bd8fa93d3  DMCP_flash_3.14.bin
02bb36bc414eac674bea1e88c0cf3a9ea18289eb  DMCP_flash_3.14_DM42-3.14.bin
There are only 10 kinds of people in the world: those who understand binary and those who do not.
User avatar
akaTB
Posts: 794
Joined: Tue May 02, 2017 1:56 pm
Location: Milan, Italy

Re: UPDATE: DMCP-3.14 / DM42-3.14

Post by akaTB »

Downloaded, thank you.
Can't wait to go home and flash it! :mrgreen:
Greetings,
    Massimo
ajcaton
-+×÷ left is right and right is wrong :twisted: Casted in gold
HPMike
Posts: 439
Joined: Fri Jul 21, 2017 11:01 pm
Location: DFW, Texas

Re: UPDATE: DMCP-3.14 / DM42-3.14

Post by HPMike »

Can you please re-issue this update with the newest version 2.4.2 of Free42, or do we have to wait another four months to get the latest version of Free42 ?
DM15L, S/N 00548. DM42, SN: 00159. DM41X, SN: 00973. DM32, SN 00054.
mcc
Posts: 277
Joined: Fri Jun 23, 2017 5:10 am

Re: UPDATE: DMCP-3.14 / DM42-3.14

Post by mcc »

Hi,

flashed the new firmware into my DM42...works like a charm!
Will test the new features and possibilities soon!
Thanks a lot ! :)))

Cheers!
mcc
DM 42 - SN: 00373, Firmware release v.:3.22. / DMCP 3.24. as compiled by SwissMicros
Thomas Okken
Posts: 1098
Joined: Tue May 02, 2017 5:48 pm
Location: Netherlands
Contact:

Re: UPDATE: DMCP-3.14 / DM42-3.14

Post by Thomas Okken »

grsbanks wrote:
Tue Jul 16, 2019 2:19 pm
Free42 core 2.2

This adds local variables, "infinite" (well, not quite, but much better than the original 8 levels) RTN stack and YMD date format to the DM42.
You forgot to mention SST→ and SST↑ :-)
grsbanks
Posts: 1122
Joined: Tue Apr 25, 2017 11:23 am
Location: Preston, Lancs, UK
Contact:

Re: UPDATE: DMCP-3.14 / DM42-3.14

Post by grsbanks »

HPMike wrote:
Tue Jul 16, 2019 6:37 pm
Can you please re-issue this update with the newest version 2.4.2 of Free42, or do we have to wait another four months to get the latest version of Free42 ?
The long wait was down to a lot of testing put into the LCD refresh by DMA and the reworking of the keyboard code to help address keyboard bounce in software, plus a number of low-level changes to DMCP that I didn't mention.

Some work is now being put into other projects (notably the DM1x/41 machines at the moment) but David will be getting back to the DM42 once that's dealt with.

The wait for this version was a bit longer than average because of the sheer number of changes in DMCP. On average, releases have been every 2-3 months lately. How many calculator manufacturers do you know who provide firmware updates at all, let alone that frequently?
There are only 10 kinds of people in the world: those who understand binary and those who do not.
HPMike
Posts: 439
Joined: Fri Jul 21, 2017 11:01 pm
Location: DFW, Texas

Re: UPDATE: DMCP-3.14 / DM42-3.14

Post by HPMike »

grsbanks wrote:
Tue Jul 16, 2019 7:31 pm
HPMike wrote:
Tue Jul 16, 2019 6:37 pm
Can you please re-issue this update with the newest version 2.4.2 of Free42, or do we have to wait another four months to get the latest version of Free42 ?
On average, releases have been every 2-3 months lately. How many calculator manufacturers do you know who provide firmware updates at all, let alone that frequently?
First of all, I'm not complaining, just politely asking if it would be possible to update Free42 to the newest version without an extended delay. The whole point of a small dedicated premium manufacturer like SwissMicros is that they should do a much better job of updating their products than sluggish corporate behemoths like HP, which has only one product (HP Prime) that gets any attention at all, and only because of one dedicated person (Tim Wessman).
DM15L, S/N 00548. DM42, SN: 00159. DM41X, SN: 00973. DM32, SN 00054.
grsbanks
Posts: 1122
Joined: Tue Apr 25, 2017 11:23 am
Location: Preston, Lancs, UK
Contact:

Re: UPDATE: DMCP-3.14 / DM42-3.14

Post by grsbanks »

HPMike wrote:
Tue Jul 16, 2019 8:15 pm
The whole point of a small dedicated premium manufacturer like SwissMicros is that they should do a much better job of updating their products than sluggish corporate behemoths like HP, which has only one product (HP Prime) that gets any attention at all, and only because of one dedicated person (Tim Wessman).
Absolutely. The last update for the Prime was in October last year. There have been 3 or 4 updates for the DM42 in that time so I do believe that Swiss Micros are indeed doing a better job of updating their product as you say they should be doing.

Free42 2.4 can't be wedged into this version of DM42 because of an issue with block graphics in print-to-file output. It was developed by David and then Thomas built his own version into Free42 2.3 because he didn't realize that the DM42 version of Free42 core already had it. We have to resolve that code conflict before going any further than 2.2. I don't know in advance how much work is involved and, as I said, there are other projects also on the boil. Unlike HP, there are several Swiss Micros products still getting lots of attention, not just the DM42.
There are only 10 kinds of people in the world: those who understand binary and those who do not.
DA74254
Posts: 193
Joined: Tue Oct 03, 2017 11:20 pm
Location: Norway/Latvia

Re: UPDATE: DMCP-3.14 / DM42-3.14

Post by DA74254 »

(As always) successfully updated. Thank you :)
Esben
DM42 SN: 00245, WP43 Pilot SN:00002, DM32 SN: 00045 (Listed in obtained order).
toml_12953
Posts: 795
Joined: Wed May 03, 2017 7:46 pm
Location: Malone, NY USA

Re: UPDATE: DMCP-3.14 / DM42-3.14

Post by toml_12953 »

Both Beta and shipping units updated perfectly. Thanks, guys!
Tom L

Some people call me inept but I'm as ept as anybody!
DM10L SN: 059/100
DM41X SN: 00023 (Beta)
DM41X SN: 00506 (Shipping)
DM42 SN: 00025 (Beta)
DM42 SN: 00221 (Shipping)
WP43 SN: 00025 (Prototype)
Post Reply