HP Forums

Full Version: Plus42 Equations, Preview Release
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
(01-22-2022 11:34 AM)Thomas Okken Wrote: [ -> ]I think what Didier is referring to is showing CUSTOM whenever there would otherwise be no menu.

Exactly.
Yes, I am planning to add options to display ALPHA and LASTX above the stack, or in the header line. And an option to show custom content using a user code function...
(01-22-2022 11:51 AM)Thomas Okken Wrote: [ -> ]Yes, I am planning to add options to display ALPHA and LASTX above the stack, or in the header line. And an option to show custom content using a user code function...

Now add an option to show background images and you have made a better DM42. Now we need someone to port it to DM42. The used C++ functions can probably be taken from open source libs and compiled as separate files if filesize becomes too large. Or does anyone know of a strip method that strips unused library functions? A quick search showed some options for that with gcc: https://stackoverflow.com/questions/6687...gcc-and-ld
It looks like it's behaving as intended, but I probably haven't explained that intent very well yet.

Basically, the goal is to allow unmodified Free42 skins to be used, and to have the display look the same as it would in Free42, if 2 rows and 22 columns are used.

When more than 2 rows are used, it switches to square pixels, by setting the vertical pixel scale the same as the horizontal one. The idea is to match the look of the 48 series with their square pixels. But if you prefer the taller pixels to be used even with more than two rows, you can specify that using the fourth number in the DisplaySize line. So, if your skin is designed for 8 rows and you always want 2x3 pixels, use something like:

Display: 20,100 2 3 6b836b 000000
DisplaySize: 22,8 -1 3
New update:

1. In the multi-line equation editor, pressing Shift Right-Arrow, while on the last line, would position the cursor beyond the end of the text, and subsequently pressing Backspace would cause a crash.

(01-23-2022 09:20 AM)Ajaja Wrote: [ -> ]Still something strange heppens with ENTER. When I print program to *.txt file it saves as "ENT€c5R".

Ah! That is a side effect from the new escape codes for undefined characters (see here, item 4).

The HP-42S uses undefined characters in function names, to mark those positions that should be suppressed in menu labels. So, in the internal function table, the name ENTER is spelled with the second E being 0xc5 instead of 0x45, and the high bit of that letter being set causes the letter to be omitted from the menu label (so it says ENTR, instead of being truncated at the end and saying ENTE).

But what this means is that PRP and LIST should mask off that bit before printing those functions, because with the new escape code logic, suddenly the difference between 0x45 and 0xc5 in program listings becomes visible, which of course it shouldn't.

I'll fix this in the next build.
New update:

(01-23-2022 09:20 AM)Ajaja Wrote: [ -> ]Still something strange heppens with ENTER. When I print program to *.txt file it saves as "ENT€c5R".

Fixed.
On my modern Android 11 phone and my Android 7 tablet, I get the large screen as soon as I reload a skin. But I fail to get it on my older Android 5 and 6 phones, they stay in 2-line mode. Am I doing something wrong or does the big screen only apear over a certain screen resolution?

Edit: a reinstall fixed it. I don't know what went wrong the first time, maybe it reacted incorrectly on the old config data that was on those phones.
The display size is part of the core state, not an app setting. So, when loading an older, pre-big-screen state, it will start with a 2x22 display.

When creating a brand new state, it uses 8x22 on startup, and whatever the current size is when loading a newly created state in the state manager.
I tried a fresh install of the latest apk on BlueStacks 4 (Android apps player, on Windows 10). Ran once, reduced the screen rows, uninstalled, re-installed and ran again.

Both times, got the full big screen with a Memory Clear:

[attachment=10320]
Yes, that is as I said above: 8x22 for new states created at app startup.
I see the popup keyboard commits have been moved to a branch on Github, didn't they work? What are they supposed to do anyway?
They were supposed to provide easier means to type text, by automatically popping up the OS's on-screen keyboard when the ALPHA menu is active, or by capturing keystrokes from the hardware keyboard, if one is present. Android and iOS only.

The changes for iOS work fine, as far as I can tell, but the ones for Android don't; they work fine in the Android 10 simulator, but not at all on my Android 8.1 phone. Before getting sucked into another maelstrom of Android development hell (don't get me started), I decided to shelve the feature for the time being. Maybe I'll end up doing something like the DM42 alpha keyboard mode instead, I don't know yet, but for now, I'd rather not have this feature at all than have it badly.
I would like to create a new skin, to be used as the default skin in Plus42. This new skin should have two extra rows of keys, at the top of the keyboard: one row of dedicated menu keys, and one row to provide easy access to the new Plus42 functionality.

I'm thinking along these lines for how to use the second row:

Code:
 DIR.FCN UNIT.FCN   SST↑     NSTK
[ DIRS ] [ UNITS] [ XSTR ] [  R↓n ] [  EQN ] [      ]

These are just my personal favorites, but anything is possible. A TVM menu might be nice, although I'll have to write some new code to make that usable (the TVM functions I wrote for use in equations aren't really usable in RPN mode, and even there, only in NSTK mode). And there's a whole key still unused in this scheme.

DIRS and UNITS are the catalogs of the same name, and DIR.FCN and UNIT.FCN are the DIR and UNIT sub-catalogs, with directory- and unit-related utility functions, NSTK will be an NSTK/4STK toggle, and EQN jumps into the equation editor, in SOLVER mode.

The final result will be something close to this, but I am open to suggestions in case I overlooked something important, and of course there's that whole still-unused key, that I don't really have strong feelings about...
(01-25-2022 01:44 AM)Thomas Okken Wrote: [ -> ]I would like to create a new skin, to be used as the default skin in Plus42. This new skin should have two extra rows of keys, at the top of the keyboard: one row of dedicated menu keys, and one row to provide easy access to the new Plus42 functionality.

I'm thinking along these lines for how to use the second row:

Code:
 DIR.FCN UNIT.FCN   SST↑     NSTK
[ DIRS ] [ UNITS] [ XSTR ] [  R↓n ] [  EQN ] [      ]

These are just my personal favorites, but anything is possible. A TVM menu might be nice, although I'll have to write some new code to make that usable (the TVM functions I wrote for use in equations aren't really usable in RPN mode, and even there, only in NSTK mode). And there's a whole key still unused in this scheme.

DIRS and UNITS are the catalogs of the same name, and DIR.FCN and UNIT.FCN are the DIR and UNIT sub-catalogs, with directory- and unit-related utility functions, NSTK will be an NSTK/4STK toggle, and EQN jumps into the equation editor, in SOLVER mode.

The final result will be something close to this, but I am open to suggestions in case I overlooked something important, and of course there's that whole still-unused key, that I don't really have strong feelings about...
What is R↓n ?
I think keys that are available in the 32SII but not directly in the 42S could be useful: X<> (above STO), RUP (above RDN) , %CH (above %), and also direct access to VIEW.
The TOP.FCN menu would become useless and hence reusable for hyperbolics, like you did for the equation mode.
TVM could be one key, that's the only feature missing from the 27S, and in that case not only the TVM equation (easy to reproduce with a Plus42S equation) but also the extras from 17B/27S, BEGIN/END toggle button, and amortization table than can be printed.
Also direct alpha entry by pressing the bottom right corner of the keys, like in the KHOR skin.
And extra labels (in blue) for the Plus42 equations functions in equation mode: = : ( ) { } L() G()
I forgot:
-Direct access to PARSE, EVAL and EVALN equations functions, useful in PRGM mode;
-Why not revisiting your CONVERT dilemna for units (direct conversion rather than adding 0 attached to the destination unit) ?
First stab at the new skin is here: gif, layout.

This is for mobile only, it's too large for most PC screens. It looks a bit skinny or squished on my iPhone 8 (skinny if Maintain Aspect Ratio is on, squished if it is off), but it's probably better on newer smartphones with their taller screens. If not, I can move the keys closer together and shave a bit off the bezels.
(01-25-2022 02:44 PM)Thomas Okken Wrote: [ -> ]First stab at the new skin is here: gif, layout.

This is for mobile only, it's too large for most PC screens. It looks a bit skinny or squished on my iPhone 8 (skinny if Maintain Aspect Ratio is on, squished if it is off), but it's probably better on newer smartphones with their taller screens. If not, I can move the keys closer together and shave a bit off the bezels.

Personally, I prefer only one row of keys mapped on the display. Two rows look counterintuitive.
(01-25-2022 03:33 PM)agarza Wrote: [ -> ]Personally, I prefer only one row of keys mapped on the display. Two rows look counterintuitive.

That second row is not meant for menus. See https://www.hpmuseum.org/forum/thread-17...#pid156747

(The functions that are on that second row right now are not final, those are just there for testing. Once I decide on the functions to put there, I'll also put labels on and above those keys.)
I added a bunch of new stuff to the consolidated Plus42 information post:
https://www.hpmuseum.org/forum/thread-17...#pid155252
On my quite long Samsung A50 (1080x2340, more than my laptop) the extra buttons look good. For a comparison (the other screenshot is with the Nova v2 skin):

[attachment=10321] [attachment=10322]
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
Reference URL's