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.
. .
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
- C47 constants.pdf
C47 CONVG Param.pdf
C47 Errors.pdf
C47 Flags.pdf
C47 Font browser.pdf
C47 Fractions.pdf
C47 Registers.pdf
- 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
- 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:
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.
. .
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.
. You see the 10’s complement of the number 432 in memory register RM, and the C43 BCD display.