C47 Classic single shift, replaces C43 on DM42

This area is for discussion about these families of custom high-end Scientific Calculator applications for SwissMicros devices.
Post Reply
User avatar
Jaymos
Posts: 1634
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

C47 Classic single shift, replaces C43 on DM42

Post by Jaymos »

We do have a new version out with a new layout. Our last release was 9 weeks ago on 2022-12-31 so some may say it is about time :D, but first the news and if you can't wait for the news, the downloads are on a new place:

HERE you will find the new 47 download page: There is a new card that can be printed and cut, and a link to the software comprising the Windows Simulator and the DM42 PGM files.


1. Metal plate bezels cancelled

Bad news: The long awaited metal bezel is cancelled due to an unfortunate series of events ending with revised final pricing from the factory in Canada. We cancelled the steel plate bezel, as it simply is not affordable.


2. New bezels

After the bad news from the factory, the good news is that Over_score found a Chinese group and I negotiated manufacture of inexpensive bezels, made from Polyester (PET). The bezels will be for use on unmodified DM42's. Of course we must hold thumbs that the product will be as we imagine. We have to reset the timers though and start from scratch, as we haven't seen the samples.


3. C47 is born

We have been gradually changing from the 43 paradigm due to continued changing of functions and ways of working. As backward compatibility is no longer guaranteed to the 43 series, we found it apt to change the name. We call it the 47-platform, as more than one design can be contained within the system. Read more down below on details.


4. C47 key layout re-design

In a massive group effort, we re-engineered a 2.0 layout version and called it C47. Read H2X’s perspective on the re-design:

"Since having the paper templates we've been testing our original design thoroughly and inevitably learnt valuable lessons from perusing our own dogfood. In addition to this, the software has obviously been in constant development, several changes have been made to the menus, and the ongoing documentation effort has brought new insights.

We have been reconsidering names, placements, logical groupings and use cases / frequency of use for all the labels on the faceplate (the keys being set and the yellow labels mostly the same of course), and think we managed to squeeze in a couple of improvements.

Let’s run down a few items: We found ourselves not needing Δ % so we removed it. This opened up a spot directly under y^x, so we moved x-root-y there. Now the open spot was on R↓. We also found we weren't using R↑ much so we dropped it and made Euler happy instead by placing i next to π.

The spot left open by removing R↑ from its current location was given to STK, now located on the stack-related x<>y key right next to the LASTx label. The spot left open by STK on the CHS key was given to the TRG menu, now nicely located below the SIN COS TAN keys.

We decided RTN was not essential to have on the faceplate so we removed it and promoted LBL and GTO to the top row, moving →R and →P down. The final hole on SIN was given to our new function LIN (linear interpolation).

All these changes are on the upper part of the keyboard. There are about as many changes on the lower part as well, mostly driven by a desire to find more natural placements and groupings. We think that it overall feels better and creates a higher degree of belonging in their new places.

We decided that in the spirit of the HP42S, the CONVERT menu or then CONV needs to house all the UNIT conversions, so the old UNIT menu is no more. Note the new way we introduced in Dec 2022 how to convert between source and destination conversions seamlessly.

We included a few name changes, e.g. PRN to SNAP (on EXIT), αSTR to α.FN to fit in with the other .FN labels, we changed SUM to PLOT to house the plotting and statistical analysis parts, and finally changed PART to REAL to refer to the majority of related real number functions. Apart from musical chair swaps on the menu names, we managed to get even closer to the famed HP42S layout by swapping our P.FN, PRINT and GTO labels to closer locations. Functionally, BITS belongs closer to BASE, CNST is a catalog, now next to CAT for reasons of kinship and some labels fell in place like dominoes in an orchestrated way."

See below an image illustrating where we came from and where we have gone to in terms of the layout.
.
Comparison C47 C43.png
Comparison C47 C43.png (82.31 KiB) Viewed 7597 times
.


5. The 47 platform: C47 with D47, E47, N47 & V47 in development

47 is the next prime after 43 and is also an unused HP model number, so we chose 47, and we hope to do it proud. Read more for Dani R’s perspective on the 47 platform:

"The C47 is the evolving C43 with a parallel development path for D47, E47, N47 & V47.

In the simulator of the C47 we support different layouts of the front panels offered for testing and development. We support changing the KEYS profiles in user mode, so the older C43 layout will remain available together with the development versions D47, E47, N47 & V47.

The aim is to be able to offer one or more variants of these layouts with the current HW base (based on the DM32 internals) from SwissMicros. However, it is important to note that there are no concrete plans or declarations of intent in this direction from us or from SwissMicros.

C43: Is the well-known overlay project that turns a conventional DM42 into a C43. No adhesive labels are needed for the conversion. The C43 works with only one shift key. The g-shift key is replaced by pressing the shift key twice. Or by pressing it longer. Feedback from beta users shows that many get used to operating with only one shift key very quickly and actually do not want a second shift key.

C47: (Final classic single shift (DM42 form): After a few months of work with the C43 and the intention to develop the project, the "promotion" to the C47 took place. In the process, some changes were made to the layout of the front panel. In our opinion, the layout of the C47 is even more oriented towards the DM42 / HP42S, but without giving up the strengths of the C43 layout. The solutions found seem even more "rounded". We consider them ready for series production.

V47: (Vintage): This layout is for our nostalgics with a clear reference to the 41C. In terms of progress, this layout "lags" behind the development of the C47 (as all other current layouts do). So it still needs to be updated. We do not give this variant much chance of realisation.

D47: (Double shift key). The two shift keys are in the same place as already introduced by SwissMicros for a prototype. Of course, the introduction of an additional shift key compared to the C47 layout requires further compromises. This layout currently is a variant of the C43 layout with the additional shift key and also “lags” behind the C47 development. We think that a D47 could be a possible candidate for a future Community Calculator from SwissMicros however, as said, no arrangements exist as yet and the design is not at such point as yet.

N47: (New). Here the two shift keys are taken over from the DM32. Under construction. Could be a variant of the D47. So either or.

E47: (Engineer). Here the two shift keys are above the ENTER key. There is no calculator in SwissMicros’ portfolio with such an arrangement of the shift keys. This is an interesting variation on the C47 for people who can’t get used to a single shift key. We think that the E47 will not be a candidate for a Community Calculator from SwissMicros."



6. Math-wise the following improvements were made under the guidance of Pauli:

Fixed various boundary conditions & improved the accuracy for some functions, including paying attention to the modulo and digit counts during other conversions.

Pauli updated CONVG, the solver and the complex solver to use the display setting to guide convergence. Speaking of the solver, the undo was eventually fixed, and a keypress breakout and an iteration counter were added thanks to Jaco. At least the calculator will not seem dead for the time it needs to solve something!

The probability distributions eventually ALL returned to the hardware version after a very long absence where there simply was not enough memory available for these. Now all memory restrictions were removed and all functions are available, thanks to Pauli for relooking at the real number library and clawing back a lot of space.

Speaking of the probability distribution functions being back, Pauli reviewed the all these functions and we now use the large screen to effectively show the related I, J & K variable values on screen during input.



7. Documentation

The massive task of documenting each and every setting, menu, function and command was done by Robbert – here Robbert's perspective:

"The documentation for the calculator project was initially intended to complement the standard reference and owner’s manuals. When that could not go forward, it was decided to do a full set of documentation. The focus of this effort has been on the reference material.

The approach taken for the description of all calculator functions, settings, menus etcetera has been to mimic the internal (software) structure of the firmware as closely as possible. This means that every item in the documentation has a label that is linked uniquely to the software project’s equivalent item. This way it has been possible to develop the documentation in parallel with the software development, for example, following the name changes to the labels that has occurred as part of the continuous improvement. In fact, the documentation system is so useful, that is "masters" the key layouts of most profiles and all the conversions in CONV - that means the spreadsheet is actually generating portions of the c code needed to build these functions. This absolutely guarantees synchronous development and documentation for at least these few sections.

The result is a set of documents all based on the same “single version of the truth”, everything is linked together using what is in fact a database approach, albeit using a spreadsheet.

All text that is visible on the calculator screens has been reproduced using the custom character fonts that were developed for the hardware and simulator. The documentation “system” can generate a version without need of the special fonts if necessary."

The structure of the documentation is reflected in the directories that are part of this release:

Index:
  • C47 Full index.pdf
Infopages:
  • C47 constants.pdf
    C47 CONVG Param.pdf
    C47 Errors.pdf
    C47 Flags.pdf
    C47 Font browser.pdf
    C47 Fractions.pdf
    C47 Registers.pdf
Keyboard:
  • C47 Keyboard layout.pdf
    C47 Keyboard row 2.pdf
    C47 Keyboard row 3.pdf
    C47 Keyboard row 4.pdf
    C47 Keyboard row 5.pdf
    C47 Keyboard row 6.pdf
    C47 Keyboard row 7.pdf
    C47 Keyboard row 8.pdf
    C43 Keyboard layout.pdf
Menus:
  • Catalog:
    Cleanup:
    Custom:
    Equation:
    Financial:
    Information:
    Input-Output:
    Keyboard:
    Mathematics:
    Matrix:
    Measurement:
    Numeric:
    Physics:
    Plot-Sum:
    Printing:
    Probability:
    Programming:
    Settings:
    Stack:
    Statistics:
    Text:
    Time:
    Trailing input:
    Unit conversion:
Tree structure:


8. The bad and the ugly loading:

Due to the revamping of the decNumber code which gave us that critical saving of headspace, the unwanted immediate side effect is that the real numbers stored in the existing .sav files from the previous releases may or may not load correctly.

The real number internal storage changed and therefore the file format inevitably also changed (again). This means the auto load after the update won’t work as it will be blocked by the C47 (as there is no .sav file version match).

Manual save/load can however still be used to an advantage: as the issue is within the real number section, manually SAVE before going to SYSTEM and selectively load excluding the real number sections, i.e. do only LOADSS (to load the config) and LOADP (to load programs).

I’m afraid real numbers in the variables or registers may not load, but LOAD, LOADR, LOADV and LOADΣ of older files are not a risk when loading but they will load with incorrect values. Try, but maybe best to either avoid or at least not rely upon the restoration of real numbers.


9. HOME menu

With the C47 keyboard re-arrangement and keyboard label slots opening up, you can well believe the tug-of-war on which functions to fill these gaps. We found that what really helped the thought process of what must be on the fingertips on yellow or blue is knowing that there are more handy locations, i.e. the MyMenu with default primary row allocation, 18 user defined slots in total and the HOME menu. The easy to access locations remove the urgent need to place every single function on the keyboard.

The standard preset MyMenu comprises 4 of the HP4S2 top row yellows and DRG and CC which are new compared to the HP42S age and legacy. The HOME menu was slightly revised to now include Euler’s Formula directly adjacent to i, see below HOME, g[F3] and g[F4], see below. The HOME menu first page is a combination of easy to find functions and a duplication of some of the important blue functions not available when operating on a DM42 without C47 template.
.
Home MyM.png
Home MyM.png (28.78 KiB) Viewed 7597 times
.


10. Other changes:

Unit conversions: We added the Speed and Angle categories – look in the new CONV menu for all conversion sub-menus.

Off images: The distribution offimg folder now contains all images in our public collection distributed in flat format so that DM42 has (random) access to load any of the images. Previously the images were only in sub folders but that is less fun and your C47 won’t show you dozens of pictures.

Solvers: The two solvers and the Σn and Πn functions can now be interrupted by a keypress because it can easily run into a too long loop depending on parameters and the user function complexity. An iteration counter is now provided, which updates the stack every half a second to create some visual feedback to the user for information. Solver speed slightly improved.

Screenshot + register content: SNAP was added to g[EXIT] to replace PRN which previously only captured the stack to text file. SNAP was made to capture both the screen image as well as simultaneously a text file with the stack content. Files are very small and getting both the screenshot and text data is very useful. (BMP images are 12.3 kB each and a typical TSV file can be 0.1 kB up to 8 kB depending on content).


11. Credits and efforts

As usual, the time since last release was filled with the efforts of every individual in the team. Effort in a free open source project is like waves and sometimes waves return like tidal waves. Effort comes in different flavours meaning coding is not everything. In addition, planning, talking, shaping, documenting, graphic art, strategizing and more are needed and all of this is done by Ben, Dani, Håkon, Jaco, Martin, Mihail, Pauli and Robbert. (We even have a guest mention for Didier, who's DMCP digging found its way into the new DMCP access commands in MODE).



12. Application note

C43 user Jozef sent me his findings on the C43 BCD functions which we added to the BASE menu, after his request at the Allschwil meeting. He writes: "I very much like the menu as you put it, with the BCDUNS, 9CMPL and 10CMPL options".

“When debugging and repairing old calculators that work in BCD, it is very handy to have these functions at hand. In the RICCAR calculator I repaired, the 10’s complement is used for the subtraction. To check on the oscilloscope the bit representation of the numbers becomes very easy (and errorfree...) having the calculator with a BCD representation. This is a unique feature that one does not find anywhere else! I add a screendump for your info.
.
BCD - reduced.png
BCD - reduced.png (28.44 KiB) Viewed 7597 times
You see the 10’s complement of the number 432 in memory register RM, and the C43 BCD display.
Last edited by Jaymos on Sun Apr 23, 2023 10:21 pm, edited 1 time in total.
Jaco Mostert
Elec Eng, South Africa
https://47calc.com C47 (s/n 03818 & 06199), WP43 (0015). In box: HP42S, HP32Sii, WP34S&C, HP28C, HP35s, EL-506P, EL-W506, PB700; ex: FX702P, 11C, HP67 & HP85; iOS: 42s Byron, Free42+, WP31S/34S, HCalc.
User avatar
Dan Simpson
Posts: 104
Joined: Wed Mar 18, 2020 3:29 pm
Location: Arizona

Re: C43 continuous improvement --> C47 Classic single shift, replaces C43 on DM42

Post by Dan Simpson »

I have just installed C47 onto my DM42 with no issues.
I have just completed printing and cutting the new overlay.

Thanks to the C47 team for the hard work. I look forward to exploring C47 over the weekend.
My Collection: HP-55, HP-67 (Teenix Mod), HP-15C, HP-16C, HP-41CV, HP-41CX, SY41-CL, DM41X, DM42, HP-42S, HP-48G, HP-71B, HP-75C, HP-86B.
User avatar
RJvM
Posts: 276
Joined: Wed Jun 02, 2021 9:21 am
Location: Gelderland, Netherlands

Re: C43 continuous improvement --> C47 Classic single shift, replaces C43 on DM42

Post by RJvM »

Great, have fun and let us know what you think please. You are probably the first person in the world to use it as intended with the new overlay! We have just completed everything and I haven't even come round to printing it yet :-)
Robbert Jan, MSEE, RPN user since 1976 and a collector for many years I now own all the important ones: HP-35, 45, 55, 65, 97, 19, 21, 25, 34, 10-16, 41, 42, 71, 48, 50, Prime, DM41, DM42, WP43, C47, R47; Project 47 team member https://47calc.com
User avatar
rudi
Posts: 413
Joined: Wed Nov 03, 2021 9:03 am
Location: Denmark
Contact:

Re: C43 continuous improvement --> C47 Classic single shift, replaces C43 on DM42

Post by rudi »

Manny thanks to the whole team for the great work!!!

A shame with the metal bezels, but the far east plastic solution also sounds great.
I will print and cut a new bezel, and then do the update. And look forward to the plastic bezels ;-)
I got nervous when I read about the key rearranging, but releaved when I saw you didn't change the Log/10^x and LN e^x placements and also keept the trigonometric and shifted...

First I wondered about the C47 name, thanks for the explanation, great choise.
And wou, nice webpage, I see that the C47 faceplate is there in high resolution: https://47calc.com/downloads/2023-03-08 ... e-card.pdf

Also looking forward to the documentation. As a software developer, I know how complicated this is.

Again - thank a lot to all of You!

Cheers and have a nice weekend!!!
/Rudi

DM-42 (s/n 06999), HP-42S, HP-35s, HP-11c, HP-32SII (ex HP-41CV, ex HP-75C, ex HP-48G + a lot, really lot of a accessories)
Denmark
H2X
Posts: 885
Joined: Tue Apr 25, 2017 8:00 am
Location: Norðvegr
Contact:

Re: C43 continuous improvement --> C47 Classic single shift, replaces C43 on DM42

Post by H2X »

rudi wrote:
Fri Mar 10, 2023 9:19 am
I got nervous when I read about the key rearranging, but releaved when I saw you didn't change the Log/10^x and LN e^x placements and also keept the trigonometric and shifted...

...

Cheers and have a nice weekend!!!
I hope that you will feel that it's improved, like we do. Let us know!

Have a nice weekend you as well! :)
What is the metric tensor in imperial units?
Pyjam
Posts: 495
Joined: Sat Jan 28, 2023 5:01 pm
Location: France

Re: C43 continuous improvement --> C47 Classic single shift, replaces C43 on DM42

Post by Pyjam »

I’m excited about this new layout.
Congratulations to the team.

Only one disappointment: not everyone has the same needs, and I've never used SIN, COS, and TAN since… 1990. But I do use Δ% (or %CH) very often. It’s a basic function for calculating price increases (or anything else). It’s something we all know. It's certainly more useful than ˣ√y and a more logical complement for a key with %.
Last edited by Pyjam on Fri Mar 10, 2023 10:21 am, edited 1 time in total.

  Optimot : The ⌥ keyboard layout optimized for French and English (ŵïþ ʃʉŋ 𝕂åʁɒꝃțɛɹṩ).
User avatar
rudi
Posts: 413
Joined: Wed Nov 03, 2021 9:03 am
Location: Denmark
Contact:

Re: C43 continuous improvement --> C47 Classic single shift, replaces C43 on DM42

Post by rudi »

H2X wrote:
Fri Mar 10, 2023 9:43 am
rudi wrote:
Fri Mar 10, 2023 9:19 am
I got nervous when I read about the key rearranging, but releaved when I saw you didn't change the Log/10^x and LN e^x placements and also keept the trigonometric and shifted...

...

Cheers and have a nice weekend!!!
I hope that you will feel that it's improved, like we do. Let us know!

Have a nice weekend you as well! :)
Yes- indeed I do! In particular I like the new placement of GTO, was a bit misplaced before, will not miss Δ% or R↑, never used any of them. The remaining rearrangements makes sense and will just take a short time getting used to.
/Rudi

DM-42 (s/n 06999), HP-42S, HP-35s, HP-11c, HP-32SII (ex HP-41CV, ex HP-75C, ex HP-48G + a lot, really lot of a accessories)
Denmark
User avatar
RJvM
Posts: 276
Joined: Wed Jun 02, 2021 9:21 am
Location: Gelderland, Netherlands

Re: C43 continuous improvement --> C47 Classic single shift, replaces C43 on DM42

Post by RJvM »

Pyjam wrote:
Fri Mar 10, 2023 10:00 am
I’m excited about this new layout.
Congratulations to the team.

Only one disappointment: not everyone has the same needs, and I've never used SIN, COS, and TAN since… 1990. But I do use Δ% (or %CH) very often. It's certainly more useful than ˣ√y and a more logical complement for a key with %.
Thanks for the feedback. We had a lot of discussions, as you can imagine, and felt this was a reasonable change. If you use a function like Delta% a lot, it could be useful for you to place it in MyMenu. Either on one of the primary locations (occupied but you can add it anyway), or to one of the shifted rows. You can do this by using ASN (assign).
Robbert Jan, MSEE, RPN user since 1976 and a collector for many years I now own all the important ones: HP-35, 45, 55, 65, 97, 19, 21, 25, 34, 10-16, 41, 42, 71, 48, 50, Prime, DM41, DM42, WP43, C47, R47; Project 47 team member https://47calc.com
Pyjam
Posts: 495
Joined: Sat Jan 28, 2023 5:01 pm
Location: France

Re: C43 continuous improvement --> C47 Classic single shift, replaces C43 on DM42

Post by Pyjam »

I know but the same apply to ˣ√y, and it’s easy to replace it by ¹⁄ₓ then yˣ.
Δ% is a basic function. It’s serve for calculating price increases. It’s something we all know!
By the way, what’s the name of the function for ˣ√y ? I don’t even know.

One question: what’s the purpose of TRG ?

  Optimot : The ⌥ keyboard layout optimized for French and English (ŵïþ ʃʉŋ 𝕂åʁɒꝃțɛɹṩ).
User avatar
Jaymos
Posts: 1634
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

Re: C43 continuous improvement --> C47 Classic single shift, replaces C43 on DM42

Post by Jaymos »

Pyjam wrote:
Fri Mar 10, 2023 10:00 am
I’m excited about this new layout.
Great, let us know.
I do use Δ% (or %CH) very often. It's certainly more useful than ˣ√y and a more logical complement for a key with %.
Your solution might be: f[ASN] g[FIN] f[Δ%] g[Rdn] f[USER], which would assign Δ% to ˣ√y.
You imagination, or muscle memory, whichever is stronger will help you ignore the ˣ√y, I hope. Otherwise take Robbert's advise on the menu.

A feature not needed to make it work, but just a nice-to-have, is to go check how the key layout changed: do g[KEYS] g[KEYMAP] [Dn], which will show graphically Δ% instead of ˣ√y in the g[Rdn] position.

(Note FIN changed position to g[8] in case if you have not yet cut the template as yet!)
Jaco Mostert
Elec Eng, South Africa
https://47calc.com C47 (s/n 03818 & 06199), WP43 (0015). In box: HP42S, HP32Sii, WP34S&C, HP28C, HP35s, EL-506P, EL-W506, PB700; ex: FX702P, 11C, HP67 & HP85; iOS: 42s Byron, Free42+, WP31S/34S, HCalc.
Post Reply