WP43 Alternative key layout --> C43

This area is for discussion about these families of custom high-end Scientific Calculator applications for SwissMicros devices.
NYC41
Posts: 39
Joined: Wed Jun 07, 2017 4:23 pm

Re: 43S Alternative key layout --> WP43C

Post by NYC41 »

Thanks for the explanation, Jaymos. I have loaded the 105 and will try it.

In the meantime, though, there is a minor problem. Newly loaded your software and fresh from a reset, I did Yellow-+ (standard DM42 key names), and got the attached error.

C43 L1: C43 template
C43L1_105, Apr 25 2021

Program loaded: WP43C
Version: 0ee8319f-mod

DMCP v3.21 (IFC 03.15) BASE

My S/N is below.
Attachments
Error screen doing CATALOG then MENU C43L1_105
Error screen doing CATALOG then MENU C43L1_105
IMG_20210519_185035.jpg (39.12 KiB) Viewed 3265 times
DM32 SN: 00733, DM42 SN: 00085, DM41X SN: 00517, DM41L SN: 00391
HP-01; HP-41C, CV, CX, CL, CY; HPs 42/48/49/50; many others
User avatar
Jaymos
Posts: 1635
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

Re: 43S Alternative key layout --> WP43C

Post by Jaymos »

Thank you for the bug report. I will fix it and make available 1.06 on Saturday.
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
Jaymos
Posts: 1635
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

Re: 43S Alternative key layout --> WP43C

Post by Jaymos »

Jaymos wrote:
Thu May 20, 2021 7:18 am
Thank you for the bug report. I will fix it and make available 1.06 on Saturday.
Feedback: the bug was fixed and ready on Saturday, but we have compile challenges to fit the pgm file into the DM42 without using a 2nd file (QSPI).

Of course all fits into the DM42 if I make use of the QSPI file, but as recently discussed on the other thread, I do not want to have that complication. I don’t want to go there.

I probably have to cut some of the experimental code such as non-stats function graphing, root finder, etc. and also the keyboard replica (which includes USER allocations in a menu, but takes up lots of space). That means the simulator would contain all code, but the DM42 would have some missing.

I hope to have a version ready this coming weekend, which would then include also the latest release of 43S.
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.
NYC41
Posts: 39
Joined: Wed Jun 07, 2017 4:23 pm

Re: 43S Alternative key layout --> WP43C

Post by NYC41 »

Interesting. I imagine a "build and automatically split into PGM and QSPI" would be a nice improvement to the toolchain.

I don't know enough about the architecture to help - but I did download the datasheet and manuals for the STM chip last week on the random thought that maybe I could get a Lisp running on the calculator. LOL

PS: Back in the day when I did low-level programming there were compiler optimizations to optimize for code size instead of speed (sometimes it did both, when smaller code size could make loops fit into L1 cache). Maybe see if your toolchain can reduce the compiled size somehow, or disable code-size-increasing optimizations (e.g., loop unrolling)?
DM32 SN: 00733, DM42 SN: 00085, DM41X SN: 00517, DM41L SN: 00391
HP-01; HP-41C, CV, CX, CL, CY; HPs 42/48/49/50; many others
User avatar
Jaymos
Posts: 1635
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

Re: 43S Alternative key layout --> WP43C

Post by Jaymos »

I finally got a (reduced code) C43 image that runs on the DM42 without the additional QSPI complication. That would be version 106d.

In simple terms, sans-QSPI means you can have various versions of each of C43, DM42 and WP34S/C (Nigel's) on your DM42. (Normal heads-up - make sure you backup, just in case.)

I had to cut some functions to be able to make it work, and these are in the defines.h file and if you are adventurous you can play with these options, or even compile a full version which will need QSPI memory. To use QSPI is no train smash, but using QSPI prevents you from running various models on the same DM42 unit at the same time. (Using it does take time to get used to the sequence of replacing the files which is important).

The following functions were removed from C43 to make it fit. We will keep optimizing it to get more of the removed functions back. Of course no functions were removed from the Windows simulator in the zip file. All normal functions work.
  • Startup demo values in the Registers 10-20
  • KEYS profiles for V43LT, V43, 43S, DM42, Shift changes
  • STAT DEMOS 0,1,2,105,107,109
  • Experimental SOLVER
  • GRAPHDEMOS
  • fnShow (old) on VIEW
  • ELEC menu and functions
The bug that was reported relating to the access of the CAT was fixed, and just for good measure that menu is shown below. Note the little line under the "A" in red, which is a C43 special which indicates the alpha selection is active. This 43S mode times out after about 3 seconds allowing further search letters to be typed within this window. See below, an arbitrary screen dump of the CAT'FUNC menu:
.
Clipboard01.png
Clipboard01.png (28.6 KiB) Viewed 2742 times

.
Then, there was mention in the other thread of SNAP not being present on C43. I added it as an option for a NORMAL made key function replacement on Sigma+. This functionality is also here for some time already, but a quick re-cap below for general interest. I never have SNAP on here because shift-EEX works as screen dump. It may be useful on a key in the simulator though.

To test the CAT'MENU function (to continue from the above bug) I used CAT to get to KEYS. Of course g[1] is a lot easier to get to KEYS! Either way, the illustration below shows how to get the SNAP function on the Sigma+ DM42 key:
.
Clipboard02.png
Clipboard02.png (43.34 KiB) Viewed 2742 times
.
Further to the current message on the other thread regarding the evil long presses -- it is not that hard to have long presses and double presses for that matter, become part of muscle memory; it sort of automatically becomes part of the rhythm especially since C43 has a single shift button as per DM42 design.

I cannot work a calculator without a complicated backspace button anymore, doing all of the following: backspace, CLX, DROP, CLSTK and CLA on one button. Then there is also EXITCLR on EXIT. And cycling the shifts and HOME on the yellow button. Then on each of the math buttons both long and double presses. And the thing is if you don't like it, you don't use it. And if you accidentally hold it in too long - well just keep holding it to NOP. And if you really don't like the double presses, well, you can switch (some of) them off. But I never do - it sort of grew on me!

The simulator and the PGM files are here: https://classic43.com/downloads/2021-05-31_C43_106.ZIP. Web site is not yet updated - that will follow some time ;)
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
PierreMengisen
Posts: 305
Joined: Wed Nov 29, 2017 1:38 pm
Location: Neuchâtel CH

Re: 43S Alternative key layout --> WP43C

Post by PierreMengisen »

Jaymos wrote:
Mon May 31, 2021 3:22 am
The simulator and the PGM files are here: https://classic43.com/downloads/2021-05-31_C43_106.ZIP.
Thanks for the new version.
I am on the simulator and I have problems to edit the matrices. When I validate a data, it automatically asks for a new index that I have to cancel with <-. Some times the keyboard is completely blocked.
The +/- key does not appear on the layout even though it works.
Thanks for the SNAP
Pierre
[TI59 with PC100C; TI-84 Plus CE-T; HP41CV with HP IL loop & 2*82161A DCD & 82162 TP; HP15C; HP28S; DM41; DM41L; DM42; DM41X]
User avatar
PierreMengisen
Posts: 305
Joined: Wed Nov 29, 2017 1:38 pm
Location: Neuchâtel CH

Re: 43S Alternative key layout --> WP43C

Post by PierreMengisen »

PierreMengisen wrote:
Mon May 31, 2021 2:06 pm
When I validate a data, it automatically asks for a new index that I have to cancel with <-.
No problem with the version DM42
Pierre
[TI59 with PC100C; TI-84 Plus CE-T; HP41CV with HP IL loop & 2*82161A DCD & 82162 TP; HP15C; HP28S; DM41; DM41L; DM42; DM41X]
be.philippe
Posts: 24
Joined: Mon Jun 21, 2021 4:32 pm
Location: Liège Belgium

Re: 43S Alternative key layout --> WP43C

Post by be.philippe »

Very nice work, I love the 43C.

There is a small problem with g[.ms], with version C43_105L1.pgm on a DM42.
Entering 123.45678901 g[.ms] g[.ms] (ex. from the WP43S Owner's Manual) gives 123°46' 7,89", instead of 123°45'67.89", perhaps because the internediate time is 123:46:08.
Philippe Martens
Elec Eng, Software Architect
[HP41C, DM41X, DM42]
be.philippe
Posts: 24
Joined: Mon Jun 21, 2021 4:32 pm
Location: Liège Belgium

Re: 43S Alternative key layout --> WP43C

Post by be.philippe »

Another bug.

Storing the config in a global register with STOCFG 00, and then saving the data to the FAT with SAVE crashes the DM42 (version C43_105L1.pgm).

After RESET, trying to LOAD crashes the 43C again.
Philippe Martens
Elec Eng, Software Architect
[HP41C, DM41X, DM42]
User avatar
Jaymos
Posts: 1635
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

Re: 43S Alternative key layout --> WP43C

Post by Jaymos »

be.philippe wrote:
Mon Jun 21, 2021 6:22 pm
Very nice work, I love the 43C.

There is a small problem with g[.ms], with version C43_105L1.pgm on a DM42.
Entering 123.45678901 g[.ms] g[.ms] (ex. from the WP43S Owner's Manual) gives 123°46' 7,89", instead of 123°45'67.89", perhaps because the internediate time is 123:46:08.
Thank you for the report.

I checked it quick on both the 43S simulator and C43 simulator and confirm your bug report.

I think the bug is in the manual, not the code. If you take a shorter 123.45678901 and convert it to DMS, it becomes 123˚45 minutes and 67.8901 seconds. Now the SS position in DDMMSS ranges from 00 to 59.999999... seconds and if you try to represent 67.8901 seconds in a register which is defined to be 00-59.999.. then it ticks over the minute from 45 to 46 and subtracts 60 from SS, which is 7.8901 seconds. Therefore the calculators (both) are right with 23°46' 7,89.

I will report the manual error on the Gitlab site to Walter.


I can see you understand [.ms] already, but let me for clarity for new users explain what you already know using easier to comprehend numbers, let me just run through an [.ms] example for clarity:
  • On C43, closing an entry takes the entry in HH:MM:SSdddd..., i.e. 1.2 g[.ms] renders 1:20:00, using the HH and MM digits directly, no conversion.
  • If operated on an already closed time value like the above, it converts HMS to DMS using only the sexagesimal values, i.e. pressing g[.ms] after the previous keystroke, converts the sexgesimal digits from time to angle, directly 1˚20
  • Operating [.ms] on an already closed real/integer value converts a decimal time to HMS, i.e. pressing 1.2 ENTER renders 1:12:00.
  • Thus the shortcut you used, 1.2 g[.ms] g[.ms] is useful to enter degrees in DMS using the steps above.

This system is new, being developed and tested by myself and Dani, so any testing and scrutiny are welcome.
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