Page 1 of 3

UPDATE: DMCP-3.14 / DM42-3.14

Posted: Tue Jul 16, 2019 2:19 pm
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

Re: UPDATE: DMCP-3.14 / DM42-3.14

Posted: Tue Jul 16, 2019 3:25 pm
by akaTB
Downloaded, thank you.
Can't wait to go home and flash it! :mrgreen:

Re: UPDATE: DMCP-3.14 / DM42-3.14

Posted: Tue Jul 16, 2019 6:37 pm
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 ?

Re: UPDATE: DMCP-3.14 / DM42-3.14

Posted: Tue Jul 16, 2019 6:47 pm
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

Re: UPDATE: DMCP-3.14 / DM42-3.14

Posted: Tue Jul 16, 2019 7:08 pm
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↑ :-)

Re: UPDATE: DMCP-3.14 / DM42-3.14

Posted: Tue Jul 16, 2019 7:31 pm
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?

Re: UPDATE: DMCP-3.14 / DM42-3.14

Posted: Tue Jul 16, 2019 8:15 pm
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).

Re: UPDATE: DMCP-3.14 / DM42-3.14

Posted: Tue Jul 16, 2019 10:11 pm
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.

Re: UPDATE: DMCP-3.14 / DM42-3.14

Posted: Tue Jul 16, 2019 10:22 pm
by DA74254
(As always) successfully updated. Thank you :)

Re: UPDATE: DMCP-3.14 / DM42-3.14

Posted: Tue Jul 16, 2019 10:33 pm
by toml_12953
Both Beta and shipping units updated perfectly. Thanks, guys!