43S Alternative key layout --> WP43C

General discussion about calculators, SwissMicros or otherwise
User avatar
Jaymos
Posts: 662
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

Re: 43S Alternative key layout --> WP43C

Post by Jaymos »

New C43 code released below, which is based as usual on the progress on the WP43S as well as our ideas implemented either as hacks or additional code modules.


In this contribution to download:

The C43 simulator is available here.

Be sure to delete the binary.bin file from the C43 folder prior to running.

Thanks Dani for the help compiling!

The C43 imports are mostly done on the new WP43S code, which radically changed from Rel48 (pre-programming) to Rel100 (programming model). I decided to change the release serial number starting at 100 for the programming test. No actual programming is supported yet, Martin is in progress setting up the display of code, entry of code, data types, etc. in the programming model.

This time I release two DM42 files, available here.
Be sure to do CLR/RESET after resetting the first time.

C43_100L42: This is the normal PGM file distributed all along, for the HP42S based DM42 keyboard (as the C43 template is not yet available). All previous PGMs distributed were for this layout, previously called L2. This changed to “L42” as it refers to the HP42 based layout without any confusion.

C43_100L1: This is the image intended to be used on a proper C43 template changing yellow labels and adding the blue labels, using all standard DM42 white keys. L1 of course ties up with the simulator layout distributed. This PGM file can be used for testing, but would need a temporary key bezel label.

Current releases, pre-programming:
Rel48 : 2020-12-08. Dead branch. Last stable release of the pre-programming model C43.
Rel48b: 2020-12-18, Small Gitlab code update of branch C43-29-Working only, no binaries released.
Rel49 : Upcoming final release as soon as the shift lock keys on L1 are settled.

Current release, programming model, based on WP43S in progress:
Rel100: 2020-12-24.



There are many things that can be tested. Alpha mode text entry, STAT graphs, key control, menu flow, HOME menu, and many more things.

STAT graphs module is still being updated on the back burner. Below a sample you can try on the simulator or on the hardware: Steps to check the options are:

longpress XEQ and release on XXEQ
press FN6 or XEQM
press g[FN5] for RANDOM
press g[FN2] for 𝚺yΔx
.
Clipboard35.png
Clipboard35.png (3.73 KiB) Viewed 629 times
Clipboard36.png
Clipboard36.png (3.75 KiB) Viewed 629 times
For me it is interesting to generate different graphs and seeing the integral change for every time the graph is generated.
.
Jaco Mostert
Elec Eng, South Africa
C43 (WP34C) on DM42 sn. 03818 & 06199 for complex math, HP42S; HP32Sii, WP34S&C, HP28C, HP35s, EL-506P, EL-W506, PB700; owned FX702P & 11C; used HP67 & HP85; iOS: 42s Byron, Free42, WP31S/34S, HCalc.
User avatar
Jaymos
Posts: 662
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

Re: 43S Alternative key layout --> WP43C

Post by Jaymos »

Many updates to C43 happened during the holidays and there was a lot of catching-up to Martin’s code for the programming model. I’ll make another post on the recent progress of C43. And another post on the key layout changes decided on (shifts etc) discussed here recently.

In this post though, I want to introduce something else which I found useful:

The reason C43 started was the keyboard issue, i.e. the realisation 1½ years ago that Walter’s key layout in terms of operators will remain what it was/is. As the C43 UI grew, it is now too different to test some detailed new 43S development stuff of Martin - one needs a real WP43S and the 43S does not play well without a dedicated template. To solve this problem, I made a temporary WP43S compile to run on my DM42s which are already fitted with C43 paper templates.

The concept is simply to CHANGE all keys in the USER mode to C43 layout, and switch USER mode on.

This way, the 43S code to test remains 100% the same. There are a few handicaps, i.e. of course some UI functions marked on the C43 keys are not available and vice versa, and some 43S keys are not supported (g[1],f[4],g[7],f[Σ+], see below, and also at the trig functions, but the majority of keyboard functions are possible rendering the device testable.

In summary, it is a new compile with unchanged WP43S firmware with USER mode set, and all keys pre-loaded with C43 keys on the user profile. NO code changes, no double taps, no long presses, no DROP on CLR, no CLSTK on CLR, no BASE menu, no HOME menu, no KEYS menu, no graphs, etc. The yellow and blue lines on the C43 template indicate the f and g shift keys, and TRIG is on the SIN key. In addition DROP and FILL were added to the SIN key as these are not on the C43 keyboard and DROP is needed.

Download DM42 PGM here, linked https://classic43.com/downloads/WP43S_2021-01-05_C43USER.pgm if you want to compare to the original WP43S running on your DM42 with C43 template:


See the image below indicating, and linked here:
WP43S_2021-01-05_C43USER_f.png
WP43S_2021-01-05_C43USER_f.png (172.16 KiB) Viewed 412 times
Jaco Mostert
Elec Eng, South Africa
C43 (WP34C) on DM42 sn. 03818 & 06199 for complex math, HP42S; HP32Sii, WP34S&C, HP28C, HP35s, EL-506P, EL-W506, PB700; owned FX702P & 11C; used HP67 & HP85; iOS: 42s Byron, Free42, WP31S/34S, HCalc.
User avatar
Jaymos
Posts: 662
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

Re: 43S Alternative key layout --> WP43C

Post by Jaymos »

C43 progress

New C43 code released below, is based as usual on the progress on the WP43S as well as our ideas implemented either as hacks or additional code modules.


In this contribution to download:

C43 simulator rev 101 is available here.
Be sure to delete the binary.bin file from the C43 folder prior to running.

C43 DM42 PGM file (both layouts 1 & 42) re-issued here including a Layout 1 version, available here.
Be sure to do a RESET on the C43 after it restarted.

C43 DM42 PGM file (layouts 1 & 42) available here.
Be sure to do a RESET on the C43 after it restarted.


Thanks Dani for the help compiling the Windows sim again!

Status updates on C43:


1. Gitlab

An important update done on the somewhat haphazardly organised WP43C gitlab project at https://gitlab.com/Jaymos/wp43c which needed some maintenance. We removed numerous stale branches and most importantly, reduced to three main branches:
  • C43-latest” now is the latest compilable and workable version, which would compile, but could be part of recent work and may not work properly.
  • C43-last-release” now is the last public release, currently release 101.
  • C43-last-stable-release” now is the last release prior to the current work, typically a few months old, currently release 48b.
The default branch was set to point to "C43-last-release" so that zip downloads from Gitlab will be the last released version.

I now include binaries for DM42 and Windows in the above branches. The latest binary PGM is always here and is updated every few days.

Note that the special WP43S version with USER mode key changes to C43 (mentioned in a post above), is updated in the branch “43S-Master-JM” with further WP43S master releases.



2.
Changes made over the last 2 weeks:
  • Softmenu change: Duplicate RECT/POLAR from MODE menu to DISP menu.
  • USER mode: Added WP43S USER mode keys.
  • Graphs: Now saves the STAT graph memory, and additionally can SAVE/LOAD graphs.
  • Graphs: Add CLGRF to clear graph memory space.
  • SHOW: For strings, add large text fonts in first SHOW line changing to small font for longer texts.
  • Refactored “float”/”double” in graphs to be changeable. Float currently being used.
  • Refactored auto file name for register export files such as in PRINT STACK and PRINT ALL REGS & STATS (printing to file).
  • Refactored interpreter for XEQM command selection. Added EEX to XEQM scripting.
  • Updated “XEQM 58” test program which runs 58 math tests via the XEQM interface.
  • Bugfixes in ELEC, Radiobuttons, SHOW, STAT graphs & softkey underlining.
  • Removed disused code such as for the depreciated f/g dot indications, old GRAPH menu, in favour of the newer STAT graphing method.
  • Confirmed that only DMCP3.18 is needed, not 3.20.
  • Changed keyboard on Rel 101 POC (see below).


3.
Release 101 POC for ALPHA entry

The major change is the alpha mode key re-arrangement: A lot of thought and discussion has gone into this aspect, and a Proof-of-Concept (POC) test branch is now available to test these ideas (this release 101). Note that a POC has not yet been accepted and exists to be able to test, and receive comments. If you want it to be different, this is the time to discuss it.

Let me start with why the change: We experienced the text entry of WP43S as a little cumbersome. We (that is Dani and I), wanted to change text entry to be more intuitive, which is the very reason that makes it subjective. If the POC seems to be counter-intuitive or two steps backwards, suitable comments and debate are welcomed here as always. Changes attempted to borrow aspects from parents, that is from the physical parent (WP43S) and spiritual forefathers (HP42S, HP41C, Free42, DM42) and mixed that with a healthy dose of crystal ball ;-)

This exercise started a few weeks ago when different ways of managing Caps lock, num lock and super/sub-script locks were discussed here and working versions (Rel48 and Rel100) published. To us, the new way worked well, which further paved the way:

Let me run through a list of the current and changed text mode operations in the new 101 POC release:
.
  1. A-Z is labelled in grey on the key template, similar to the 43S but different due to the arrow and shift keys’ layouts. The buttons are referred to as [A]-[Z] below.
    .
  2. In upper case mode the [A]-[Z] buttons produce upper case A-Z characters. In lower case mode, [A]-[Z] buttons produce a-z characters.

    To do case change, C43 needs an explicit case change command. This is different from 43S which sports auto-change by Up/Dn. C43 cannot use this, as the Up/Dn arrows are used for cursor navigation (Home & End).
    .
  3. Preceding [A]-[Z] with [g] in upper case, g[A]-g[Z] produce upper case Greek letters, and when in lower case, g[A]-g[Z] produce lower case Greek letters.
    .
  4. Change 1: Previously, preceding [A]-[Z] with [f] gave numeric digits and a few special characters (where available). As such ✔️,#, <>, 0-9, ±, +, -, x, ÷, /, radix, _ were available.

    Currently, digits are not accessed by [f] anymore.
    .
    • A preceding [f] always changes case (for the following character only) and results in either A-Z or a-z.
      .
    • No special characters are available by the [f] key, and menus must be used to access those.
      .
    • The number block (7,8,9,÷,4,5,6,x,1,2,3,-,0,.,/+ and E) is accessible in Numlock mode only. Preceding with f-shift in alpha mode flips the alpha case, as is usual in other keyboards, regardless of being in Numlock mode or not.
    .
  5. Change 2: Preceding [A]-[Z] with [f], does a case flip for the next character only.
    .
  6. Change 3, Previously, super and subscript were selected by typing f[R↓] or f[EEX]. This does not exist anymore and g[Up] and g[Dn] are dedicated for this.
    Clipboard41b.png
    Clipboard41b.png (14.61 KiB) Viewed 306 times
    The alpha mode indicator indicates the sup/sub mode.
    .
  7. Change 4: Caps lock and Numlock are changed in the ALPHA softmenu where Numlock (ℕ) and caps lock (ℂ) were added as g[FN5] and g[FN6]. The arrow keys f[Up] and f[Dn] still control the modes lower case, upper case and Numlock (a<>A<>N).
    Clipboard40b.png
    Clipboard40b.png (26.71 KiB) Viewed 306 times
    The alpha mode indicator indicates the modes and shifts as follows.
    .
    • n: Numlock, with caps lock off
    • N: Numlock, with caps lock on
    • a: Caps lock off
    • A: Caps lock on
    • 𝛚: Lower case Greek
    • Ω: Upper case Greek
    .
  8. Change 5: An unmarked f[ENTER] for X.EDIT is added in ALPHA mode as a shortcut to edit the text in the X register in alpha mode. The X.EDIT function remains in the ALPHA menu.

    Together with X.EDIT, the other unmarked alpha mode [g] commands in the bottom row remains, that is:

    ALPHA, 𝛂Dot, 𝛂Math, 𝛂Intl
    .
  9. Change 6 (not implemented yet) will have additional menus containing ALL printable font glyphs.
    .
  10. ALPHA menu remains and deserves a short discussion:
    Clipboard42.png
    Clipboard42.png (1.63 KiB) Viewed 307 times
    ALPHA menu is the default menu in alpha mode, and has a shortcut g[0].
    .
    1. ASN/USER/KEYS allows managing of custom keys while in alpha entry
    2. CAT calls the standard CATALOG
    3. N/C are the Numlock and Case controls
    4. Mya is the WP43S standard MyAlpha menu
    5. X.EDIT is also on g[ENTER] and copies the X register for alpha editing
    6. A..Ω is a menu with the Greek alphabet (and auto changes to ⍺-𝛚 with case change f[Up] and f[Dn])
    7. 𝛂Dot, 𝛂Math, 𝛂Intl are menus with various special characters and have shortcuts on g[.], g[R/S] and g[+].
    8. ↑,↓,←,→, ←←, →→: text navigation
    9. ø indicates double tap g disabled due to arrow usage.
    .
    Item 10(i) is not visually pleasing. Any ideas how a reminder can be displayed that for the arrow menu only, the double tap for g is disabled? The behaviour is: Normally (while G2TAP is set) double tap of a FN key immediately operates the g function. This cannot be done with FN1-FN6 being arrow keys which will likely be pressed multiple times in rapid succession to navigate the text on screen. So G2TAP is disabled while the arrows are in operation, and this needs some reminder to the user as to why.
Jaco Mostert
Elec Eng, South Africa
C43 (WP34C) on DM42 sn. 03818 & 06199 for complex math, HP42S; HP32Sii, WP34S&C, HP28C, HP35s, EL-506P, EL-W506, PB700; owned FX702P & 11C; used HP67 & HP85; iOS: 42s Byron, Free42, WP31S/34S, HCalc.
User avatar
Jaymos
Posts: 662
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

Re: 43S Alternative key layout --> WP43C

Post by Jaymos »

Two bugs corrected in the DM42 software released above: updated to Rel 101a, http://classic43.com/downloads/C43_101a.zip:
  1. [R/S] was not handled consistently the same as [.], [+] and [-]. I corrected it, so now [.], [R/S], [+], [-] all do the same in Numlock mode. The operation for the exceptions changed and is now:
    • In Numlock mode, [0]-[9], [÷], [x], [-], [+], [.] give the button face value, and [EEX] the special E and [R/S] the /.
    • In Numlock, with [f] preceding the above buttons: alpha case flips and for [A]-[Z], A-Z or a-z is output, regardless of the Numlock mod status. The 5 exceptions [0], [.], [R/S], [+] and [-] have no different alpha case characters, therefore produce the marked alpha character on the template in both cases.
  2. The release C43L42_101 had the incorrect key template compiled.


Corrected in C43L42_101a.pgm and C43L1_101a.pgm.
Jaco Mostert
Elec Eng, South Africa
C43 (WP34C) on DM42 sn. 03818 & 06199 for complex math, HP42S; HP32Sii, WP34S&C, HP28C, HP35s, EL-506P, EL-W506, PB700; owned FX702P & 11C; used HP67 & HP85; iOS: 42s Byron, Free42, WP31S/34S, HCalc.
User avatar
Jaymos
Posts: 662
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

Re: 43S Alternative key layout --> WP43C

Post by Jaymos »

More alpha mode improvements, see the latest release, not a numbered official release, but direct from the Gitlab site in the latest branch:

DM42 C43L1 PGM file: https://gitlab.com/Jaymos/wp43c/-/blob/ ... ry/C43.pgm

Most notable change imo is the larger letters making strings more visible.

Changes:
Superscript/Subscript selection skipped the middle normal position. Fixed.
X.EDIT now pushes the content of the existing alpha input onto the stack.
X.EDIT was already placed on f[ENTER] and now long press [ENTER] was added. Now fixed.
UNDO is useless in ALPHA mode, and I changed UNDO (f[←]) to be CLA. Longpress [←] already did CLA, now f does it as well. (CLA of course clear alpha buffer, similar to 41C).
Added CLA and EXITCLR to the CLR menu, to be complete.
I increased the font sizes of strings, which by comparison was very small on screen. See the samples below.

Regarding strings:

The character size for STRINGs on the stack X,Y,Z,T: One line of the X-Register is displayed in LARGE font. As soon as it exceeds one line, the standard small font is used. The Y, Z, T registers are displayed in the MEDIUM font if it fits, otherwise they also change to the small letters.

For the typing of strings, when only a few characters are typed or displayed in the large font without clearing the screen. As soon as ¾ of the line is filled with the LARGE font, the display clears and changes to a 3 line LARGE font, and as soon as 2.5 lines are filled, it changes to a 5-line small font, and as soon as the 5 lines are filled, the 5-lines start scrolling off screen until you reach the input limit. Cursors and editing is automatically working.

With SHOW, 4 LARGE font lines are displayed, and when this is insufficient, it changes to the standard 7 lines small font.

.
Clipboard44.png
Clipboard44.png (3.9 KiB) Viewed 185 times
Stack display above. Note the X font is larger. There are compromises needed when larger font is used and that is that small details are simply cut off any very deep glyph, like the bottom of the curly brace.
.
Clipboard45.png
Clipboard45.png (3.86 KiB) Viewed 185 times
SHOW function shows up to four lines of large text then small text.
Jaco Mostert
Elec Eng, South Africa
C43 (WP34C) on DM42 sn. 03818 & 06199 for complex math, HP42S; HP32Sii, WP34S&C, HP28C, HP35s, EL-506P, EL-W506, PB700; owned FX702P & 11C; used HP67 & HP85; iOS: 42s Byron, Free42, WP31S/34S, HCalc.
User avatar
Jaymos
Posts: 662
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

Re: 43S Alternative key layout --> WP43C

Post by Jaymos »

Further to the shift key change POC, and the font changes discussed above, I completed C43 release 102, demonstrating these larger text fonts and new shift locks.

Windows simulator Release 102: https://classic43.com/downloads/C43_102L1_SIM.zip

DM42 PGMs file release C43_102L1 & L42: https://classic43.com/downloads/C43_102.zip



I consider the larger font that I have been focussing on recently very important for general use of the C43 calculator. Essentially, the concept is to use the large font for all numbers and for shorter strings. All "normal" calculations with reals, complex, integers and strings now support larger fonts in the normal stack display and in the SHOW function. Real numbers and complex numbers already were in the large font, long integers up to 9.99E20 were in large font already, after which previously it changed to small font to display more digits. Now, C43 keeps the font large for all long integers.

The recent changes for strings mentioned above, were improved a bit and the font clarity was improved. C43 displays the X register in the stack display in the large font, up to 25 characters wide (depending on actual character width), and displays the Y, Z & T registers in a slightly smaller font to make them fit into the space available. Should the string be longer still, it will change to the small font. SHOW also still displays register values in large font, cycling through registers X, Y, Z, T, A, B, C, D, L, I, J & K using arrows up/down.

The Keyboard POC with the adjusted shifts and locks has now been completed, and POC branch status was cancelled. Below a composite image indicating the essential bits of info to understand these changes. I also changed the simulator to directly show keyboard changes due to Numlock, Upper case lock and lower case lock. The button white texts, yellow keys and blue key labels change online to indicate these lock changes. The image below attempts to indicate the simulator screen changing.

In short, the procedure to type would be: go to Alpha Input Mode, starting with the default caps lock (upper case), type the initial capital letter, then change to lower case by either g[FN6] or f[Dn], type the remaining lower case letters. Occasional single capitals can be reached by preceding the button with an [f], which flips the case for one letter only. Number digits are accessed by changing to Numlock, i.e., by g[FN5] or f[Up](f[Up]). While in numlock, a shift preceding a key will make available the flipped case alpha letter.
.
Clipboard46.png
Clipboard46.png (219.19 KiB) Viewed 59 times
Alpha mode case up/dn, numlock, sup/subscript.
Jaco Mostert
Elec Eng, South Africa
C43 (WP34C) on DM42 sn. 03818 & 06199 for complex math, HP42S; HP32Sii, WP34S&C, HP28C, HP35s, EL-506P, EL-W506, PB700; owned FX702P & 11C; used HP67 & HP85; iOS: 42s Byron, Free42, WP31S/34S, HCalc.
Post Reply