## 43S Alternative key layout --> WP43C

General discussion about calculators, Swiss Micros or otherwise
Jaymos
Posts: 623
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

### Re: 43S Alternative key layout --> WP43C

Short status report:

I normally send a status report on a Sunday, but this Sunday night was just too busy with updates - see below ...

1. Updated Windows emulator and DM42 image are here (as also is updated on p1 of this forum):

2. Layouts and screens did not change since the last notification, I updated p1 of this forum with the latest imagery.

3. The emulator is now fully PC keyboard compatible.

That is, if you go into ALPHA mode, then the full keyboard is accessible to type text into the WP43C. This is WAY better than the previous scheme where you have to painstakingly use the mouse to type text. You may not use this every day but for those occasions where you have to type a..z or A..Z or 0..9 or the punctuation marks available on the WP43C face plate, it is essential. You just type normally.

Left Shift is connected to the calculator shift - and right shift is connected to the normal PC keyboard. If you type Shift-T, then the emulator would change the case for you, up or down, type the letter and leave the calculator case where it was. All sounds complicated, but it just works beautifully.

4. The whole Greek letter layout on the ALPHA screen has been resolved - we have neatly arranged Greek letters on suitable A-Z buttons. That did not change again, it is on the images on p1 of this forum. Also, the Greek letter soft menu has been re-arranged similarly.

As electrical guy, I need only remember that Ω and ω are on W, and θ sits on J, and φ sits on U, more than those I doubt I'll use, but the whole lot is there for good measure, for the scientific types out there

Untitled.png (4.59 KiB) Viewed 1557 times

5. The WP43S team, specifically Martin, released a major WP43S update last night. That has already been integrated into the WP43C code and is included in the images in (1) above.

This includes a few bug fixes, hyperbolic functions and a host of supporting stuff needed for that, including cube roots, etc. Also some complex number processing on existing functions that were upgraded. Well done to Martin. Kudus!

He also included new key templates, etc. for the 43S version, new emulator release and DM42 image with some magic way of coercing the DM42 to work with their weird keys. Complicated, but necessary. It did not import that portion into our code, as I am worried that may cause our "normal" key layout to stop working

6. RPN Math routine

I created a temporary math routine (waiting for the real thing from 43S team), i.e. for parallel calculation. What is so cool in that, you may ask... I specifically did not want to do any math routines from scratch, I wanted to make use of the fully functional complex/real/longint calculator that is already working to test the concept of actually USING the calculator platform to make a custom routine. It works beautifully, thanks to Martin's brilliant 43S system.

The || function on the 43C emulator and in the 43C DM42 image is working like this:

The point was not to bother about data types, entry rules, about nothing. I simply wanted a RPN-like function in C, using STO, RCL, stack, etc., which will work for whichever data type there user inputs, i.e. if you enter 1 Ohm and 2 Ohm in parallel, i.e. 1 ENTER 2 ||, then you will get 0.6667 or using complex numbers, if you enter impedances of (1+i*1) and (2-i*1) and tap || it still works and you will get (1.00 + i*0.333).

Maybe this inspires someone to do a better job than my hack, so here the code with RPN/RPL like comments on the right:

Code: Select all

  if(JM_OPCODE == 1) {                                         // JM_OPCODE = 1 : Parallel function, not using the stack, destroying I, J & K
//                    * DO THE PARALLEL FUNCTION XY / (X+Y)
//                    * Drops X and Y, enables stack lift and refreshes the stack
copySourceRegisterToDestRegister(REGISTER_X, REGISTER_I);  // STO I
copySourceRegisterToDestRegister(REGISTER_Y, REGISTER_J);  // STO Y into J
fnMultiply(0);                                             // *
copySourceRegisterToDestRegister(REGISTER_X, REGISTER_K);  // STO K
fnDrop(0);                                                 // DROP
fnRecall(REGISTER_I);                                      // RCL I
STACK_LIFT_ENABLE;
fnRecall(REGISTER_J);                                      // RCL J
fnRecall(REGISTER_K);                                      // RCL K
fnSwapXY(0);                                               // X<>Y
fnDivide(0);                                               // /
copySourceRegisterToDestRegister(REGISTER_I, REGISTER_L);  // STO I into L (To update LAST X)
refreshStack();
}

Jaco Mostert
Elec Eng, South Africa
WP34C, HP42S, DM42 for complex math; 35S, 28C, 32Sii, WP34S, EL-506P, EL-W506, PB700; owned FX702P & 11C; used 67 & 85. iOS: 42s (Byron), Free42, WP31S/34S, HCalc.
WP43C running on DM42 sn. 03818 .

H2X
Posts: 593
Joined: Tue Apr 25, 2017 8:00 am
Location: Norway

### Re: 43S Alternative key layout --> WP43C

Excellent!
DM42 #40 running WP43C | DM41X #50
The earth is flat. It just appears round because it is massive and curves spacetime.

Guenter
Posts: 153
Joined: Wed May 24, 2017 6:26 pm
Location: Germany

### Re: 43S Alternative key layout --> WP43C

Jaco

I've just downloaded the WP34C program to one of my DM42. I picked the beta unit with serial number 00004 of course to have the hardware be suitable for the software.

Your work is very impressive, not to forget the developers of the WP43S of course, but with your development it's nice to get an impression of what this new kid will achieve.

As I'm preparing my trip to the HHC at Reno now, I intend to take the "WP43S" with me for a demonstration. Unfortunately time was to short to prepare a useful presentation. But I guess, next year will be a good opportunity still.

Now I have the 43C_11L2.pgm and the DM42-3.14.pgm in the root directory of the DM42, and it seems that I can switch between those two calculators "on the fly", very cute.

Günter
Günter
DM42 SN:00004 and SN:00184 -- DM41X SN:00013 and SN:00955

Jaymos
Posts: 623
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

### Re: 43S Alternative key layout --> WP43C

Guenter wrote:
Tue Sep 17, 2019 12:03 am
Jaco

I've just downloaded the WP34C program to one of my DM42. I picked the beta unit with serial number 00004 of course to have the hardware be suitable for the software.

Your work is very impressive, not to forget the developers of the WP43S of course, but with your development it's nice to get an impression of what this new kid will achieve.

As I'm preparing my trip to the HHC at Reno now, I intend to take the "WP43S" with me for a demonstration. Unfortunately time was to short to prepare a useful presentation. But I guess, next year will be a good opportunity still.

Now I have the 43C_11L2.pgm and the DM42-3.14.pgm in the root directory of the DM42, and it seems that I can switch between those two calculators "on the fly", very cute.

Günter
Thank you Günter,

This is the beauty of open source - As I am first to say, thanks is to W&P&M as their efforts on the WP43S far exceed what I do. And also, it is not only me - thanks to H2X, DaniR and Inautilus who frequently help a lot, and those who occasionally contribute their voices here on this list, i.e. Patrick, Twoweims, and a few more people.

Enjoy Reno, I am sure the souped up DM42 (WP43C) will draw attention as it really looks like a DM42 until you switch it on

I also have those two programs in my DM42 flash - but I also carry the WP43S in there as well, and also the older 43C_09L2.

By the way, my file names are so short so it shows easily in the DM42, and means 43C (obvious), public release 11, layout L2 (as opposed to the official layout L1A which is on the emulator).

Both L1A and L2 are on this forum p1, and the L2 picture is meant to look like the DM42 without the blue texts. For demonstration of the WP43C with layout L2, it probably is good to have a print (or iPad) with the full L2 including blue labels. I will post that in a few minutes.

J
Jaco Mostert
Elec Eng, South Africa
WP34C, HP42S, DM42 for complex math; 35S, 28C, 32Sii, WP34S, EL-506P, EL-W506, PB700; owned FX702P & 11C; used 67 & 85. iOS: 42s (Byron), Free42, WP31S/34S, HCalc.
WP43C running on DM42 sn. 03818 .

Jaymos
Posts: 623
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

### Re: 43S Alternative key layout --> WP43C

Jaymos wrote:
Tue Sep 17, 2019 12:28 am
Guenter wrote:
Tue Sep 17, 2019 12:03 am
As I'm preparing my trip to the HHC at Reno now, I intend to take the "WP43S" with me for a demonstration. Unfortunately time was to short to prepare a useful presentation. But I guess, next year will be a good opportunity still.
Enjoy Reno, I am sure the souped up DM42 (WP43C) will draw attention as it really looks like a DM42 until you switch it on

... the L2 picture is meant to look like the DM42 without the blue texts. For demonstration of the WP43C with layout L2, it probably is good to have a print (or iPad) with the full L2 including blue labels. I will post that in a few minutes.

As promised, L2 with blue labels. They were taken away a few weeks ago, as it was confusing that the DM42 strict version would have blue labels that you can't see. It remains handy to have a reference of what is where for the double tap [g] shift.

Jaco Mostert
Elec Eng, South Africa
WP34C, HP42S, DM42 for complex math; 35S, 28C, 32Sii, WP34S, EL-506P, EL-W506, PB700; owned FX702P & 11C; used 67 & 85. iOS: 42s (Byron), Free42, WP31S/34S, HCalc.
WP43C running on DM42 sn. 03818 .

Over_score
Posts: 98
Joined: Fri May 05, 2017 9:37 pm
Location: France

### Re: 43S Alternative key layout --> WP43C

Jaymos wrote:
Mon Sep 16, 2019 7:34 pm
I created a temporary math routine (waiting for the real thing from 43S team), i.e. for parallel calculation. What is so cool in that, you may ask... I specifically did not want to do any math routines from scratch, I wanted to make use of the fully functional complex/real/longint calculator that is already working to test the concept of actually USING the calculator platform to make a custom routine. It works beautifully, thanks to Martin's brilliant 43S system.

The || function on the 43C emulator and in the 43C DM42 image is working like this:

The point was not to bother about data types, entry rules, about nothing. I simply wanted a RPN-like function in C, using STO, RCL, stack, etc., which will work for whichever data type there user inputs, i.e. if you enter 1 Ohm and 2 Ohm in parallel, i.e. 1 ENTER 2 ||, then you will get 0.6667 or using complex numbers, if you enter impedances of (1+i*1) and (2-i*1) and tap || it still works and you will get (1.00 + i*0.333).
For your convenience, I have coded the || function.

Martin
DM42 (SN 00284 & 03835), DM15L, HP41CV, HP42S, HP35s, WP34S, HP Prime

H2X
Posts: 593
Joined: Tue Apr 25, 2017 8:00 am
Location: Norway

### Re: 43S Alternative key layout --> WP43C

Jaymos wrote:
Tue Sep 17, 2019 12:28 am
Enjoy Reno, I am sure the souped up DM42 (WP43C) will draw attention as it really looks like a DM42 until you switch it on
I concur! Eagerly awaiting feedback from the HHC...
DM42 #40 running WP43C | DM41X #50
The earth is flat. It just appears round because it is massive and curves spacetime.

Jaymos
Posts: 623
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

### Re: 43S Alternative key layout --> WP43C

Over_score wrote:
Tue Sep 17, 2019 5:09 pm
Jaymos wrote:
Mon Sep 16, 2019 7:34 pm
I created a temporary math routine (waiting for the real thing from 43S team), i.e. for parallel calculation. What is so cool in that, you may ask... I specifically did not want to do any math routines from scratch, I wanted to make use of the fully functional complex/real/longint calculator that is already working to test the concept of actually USING the calculator platform to make a custom routine. It works beautifully, thanks to Martin's brilliant 43S system.

The || function on the 43C emulator and in the 43C DM42 image is working like this:

The point was not to bother about data types, entry rules, about nothing. I simply wanted a RPN-like function in C, using STO, RCL, stack, etc., which will work for whichever data type there user inputs, i.e. if you enter 1 Ohm and 2 Ohm in parallel, i.e. 1 ENTER 2 ||, then you will get 0.6667 or using complex numbers, if you enter impedances of (1+i*1) and (2-i*1) and tap || it still works and you will get (1.00 + i*0.333).
For your convenience, I have coded the || function.

Martin
It is very convenient, thank you!

Appreciated.

Bug report: I tested it and found a complex number anomaly when trying two Pythagorean Triangles (3+i4) and (5+i12) as input values for parallel. An inspection of the code on lines 1031, 1258, 1302 of parallel.c shows the reason: Typo "REAL" instead of "IMAG".

Best regards
Jaco
Jaco Mostert
Elec Eng, South Africa
WP34C, HP42S, DM42 for complex math; 35S, 28C, 32Sii, WP34S, EL-506P, EL-W506, PB700; owned FX702P & 11C; used 67 & 85. iOS: 42s (Byron), Free42, WP31S/34S, HCalc.
WP43C running on DM42 sn. 03818 .

Over_score
Posts: 98
Joined: Fri May 05, 2017 9:37 pm
Location: France

### Re: 43S Alternative key layout --> WP43C

Jaymos wrote:
Tue Sep 17, 2019 6:55 pm
Bug report: I tested it and found a complex number anomaly when trying two Pythagorean Triangles (3+i4) and (5+i12) as input values for parallel. An inspection of the code on lines 1031, 1258, 1302 of parallel.c shows the reason: Typo "REAL" instead of "IMAG".
It's fixed. Thank you.
DM42 (SN 00284 & 03835), DM15L, HP41CV, HP42S, HP35s, WP34S, HP Prime

Jaymos
Posts: 623
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

### Re: 43S Alternative key layout --> WP43C

Over_score wrote:
Tue Sep 17, 2019 8:54 pm
Jaymos wrote:
Tue Sep 17, 2019 6:55 pm
Bug report: I tested it and found a complex number anomaly when trying two Pythagorean Triangles (3+i4) and (5+i12) as input values for parallel. An inspection of the code on lines 1031, 1258, 1302 of parallel.c shows the reason: Typo "REAL" instead of "IMAG".
It's fixed. Thank you.
Bug report:
Sorry, I did not look further after reporting the first bug. I should have looked further and reported both.
Line 1038, 1265, 1310, 1965 typo: "&y.real" instead of "&y.imag".
This time I updated the file and tested. If those are done, it works.
Sorry for the double trouble.
J
Jaco Mostert
Elec Eng, South Africa
WP34C, HP42S, DM42 for complex math; 35S, 28C, 32Sii, WP34S, EL-506P, EL-W506, PB700; owned FX702P & 11C; used 67 & 85. iOS: 42s (Byron), Free42, WP31S/34S, HCalc.
WP43C running on DM42 sn. 03818 .