Post Reply 
DB48X: HP48-like RPL implementation for DM42
08-29-2023, 05:18 AM
Post: #101
RE: DB48X: HP48-like RPL implementation for DM42
(08-28-2023 10:31 PM)TomC Wrote:  A'Thank you for the prompt reply.

I have DB48 'working' now, HOWEVER,

The XEQ key does not allow me to key in text. The cursor changes to 'A' which indicates I should be in text entry mode, but I cannot enter text - ie hitting the '4' key yields a 4 rather than a T.????

The 'A' in the cursor does not indicate "alpha" but "algebraic". The "alpha" mode is indicated by the cursor turning white, and an "ABC" or "abc" indicator showing up in the header.

The "auto alpha" mode for XEQ was removed when I introduced "transient alpha". See https://github.com/c3d/DB48X-on-DM42/blo...nteraction.

Essentially, you have three ways to enter alpha mode:

1/ Shift Enter, which is a three-way toggle: [ ] -> [ABC] -> [abc]
2/ Long press on the shift key. This only enables [ABC], can't do lowercase that way.
3/ Transient alpha, where you hold the up(left) or down(right) key and quickly type an alpha key (after that, you can type the rest more slowly). If you don't type another key within 0.5s, the left/right function is activated.

Quote:Also, not a bug, but a preference - the stack number levels on the left side are very small - can these be made larger?

Not at the moment. I can make this a future option. They used to be larger, but I thought this was a waste of screen space.

Quote:Thank you,
TomC

(08-28-2023 08:15 PM)c3d Wrote:  This is not sufficient for DB48X. Due to size reasons, DB48X also needs a QSPI update with a lot of additional data it needs. So you need to run the "Load QSPI from FAT" entry before loading the .pgm file (or .pg5 for the DM32). However, that QSPI file should allow you to also run the DM42 program.


The same "Setup" key (shift 0) gives you a slightly different menu, notably because it direclty contains a "5. Load Program" which lets you load the DM42 program directly.

Note that when you switch programs like this, the calculator state will be lost. So you should save the DM42 state before loading another program (using the same menu), and reload it after you return to DM42.

Switching back and forth between DM42 and DB48X takes less than one minute. I recommend doing it while on USB power, because flashing is likely to consume more power than other calculator operations.
Find all posts by this user
Quote this message in a reply
08-29-2023, 01:28 PM
Post: #102
EEX performance? RE: DB48X: HP48-like RPL implementation for DM42
A feature of HP calculators I've relied on (since the HP35, HP65, ...HP48) is the fact that I can hit the 'EEX' key without a mantissa and the calculator 'assumes' a mantissa of 1.

The DB48X does not seem to have this feature.

Thank you,
TomC
Find all posts by this user
Quote this message in a reply
08-29-2023, 02:52 PM
Post: #103
RE: DB48X: HP48-like RPL implementation for DM42
(08-29-2023 01:28 PM)TomC Wrote:  A feature of HP calculators I've relied on (since the HP35, HP65, ...HP48) is the fact that I can hit the 'EEX' key without a mantissa and the calculator 'assumes' a mantissa of 1.

The DB48X does not seem to have this feature.

Thank you,
TomC

And it's unlikely it will get it (at least by default). At the moment, my plan is for the EEX function to be a shortcut for a smart conversion function

* For fractions, convert to decimal, i.e. convert 1/4 to 0.25
* For decimal, convert to fraction, i.e. 0.25 to 1/4
* For complex, swap between polar and rectangular format (maybe with an additional cycle through the fraction / decimal format)
* For unit values, e.g. 1.3_km, toggle the two closest SI multipliers, i.e. shift to 1300_m, and 1300_km would toggle to 1.3_Mm

I feel this is a feature I'd use frequently enough that I would like a single-key shortcut, and the fact that it deals with decimal positions or decimal scaling explains why I think it is "mnemonic" to map it to EEX.

That being said, I can certainly make the meaning of that function configurable if you feel like "EEX enters 1E" is important enough.
Find all posts by this user
Quote this message in a reply
08-29-2023, 03:17 PM
Post: #104
RE: DB48X: HP48-like RPL implementation for DM42
Thank you for the prompt and thoughtful reply.

Certainly, without concern for my personal preference, this EEX functionality has been a fundamental characteristic of all mainstream RPN/RPL HP calculators since 1972..

Regards,
TomC

(08-29-2023 02:52 PM)c3d Wrote:  
(08-29-2023 01:28 PM)TomC Wrote:  A feature of HP calculators I've relied on (since the HP35, HP65, ...HP48) is the fact that I can hit the 'EEX' key without a mantissa and the calculator 'assumes' a mantissa of 1.

The DB48X does not seem to have this feature.

Thank you,
TomC

And it's unlikely it will get it (at least by default). At the moment, my plan is for the EEX function to be a shortcut for a smart conversion function

* For fractions, convert to decimal, i.e. convert 1/4 to 0.25
* For decimal, convert to fraction, i.e. 0.25 to 1/4
* For complex, swap between polar and rectangular format (maybe with an additional cycle through the fraction / decimal format)
* For unit values, e.g. 1.3_km, toggle the two closest SI multipliers, i.e. shift to 1300_m, and 1300_km would toggle to 1.3_Mm

I feel this is a feature I'd use frequently enough that I would like a single-key shortcut, and the fact that it deals with decimal positions or decimal scaling explains why I think it is "mnemonic" to map it to EEX.

That being said, I can certainly make the meaning of that function configurable if you feel like "EEX enters 1E" is important enough.
Find all posts by this user
Quote this message in a reply
08-29-2023, 10:58 PM
Post: #105
RE: DB48X: HP48-like RPL implementation for DM42
I agree with Tom, I would never, ever expect the [EEX] key to do anything besides be used to enter exponents of 10, and default to 1 x if used as the initial numeric entry. The conversions you mention will be useful and appreciated but I cannot imagine you would use these more often than entering exponentiation. But, it's your design and as long as it's configurable, and there is an atomic command equivalent of normal [EEX] behavior, then it doesn't matter.

BTW, coming along nicely.... Smile

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
08-30-2023, 06:11 AM (This post was last modified: 08-30-2023 06:14 AM by vaklaff.)
Post: #106
RE: DB48X: HP48-like RPL implementation for DM42
Just to make the discussion not that one-sided, I like the designed behaviour of EEX. It's an brilliant idea, of all the available keys this one makes most sense to me. I've never used the "turn 0->1" feature and wouldn't miss it one bit. I agree that making it configurable would be great.

Edit: submitted by mistake before completing the comment
Find all posts by this user
Quote this message in a reply
08-30-2023, 06:51 AM
Post: #107
RE: DB48X: HP48-like RPL implementation for DM42
(08-29-2023 10:58 PM)rprosperi Wrote:  I agree with Tom, I would never, ever expect the [EEX] key to do anything besides be used to enter exponents of 10, and default to 1 x if used as the initial numeric entry. The conversions you mention will be useful and appreciated but I cannot imagine you would use these more often than entering exponentiation. But, it's your design and as long as it's configurable, and there is an atomic command equivalent of normal [EEX] behavior, then it doesn't matter.

BTW, coming along nicely.... Smile

Just to be clear, EEX is used to enter exponents when on the command line. In other words, today, if you type 1 then EEX then 3, you get this:

   

The question is what happens if you do not type 1 first, i.e. if you have the stack, with a number on it, and type `E`.

The proposed behaviour is not destructive. It shows another format for the value on the stack. So if you use it by mistake, you type E twice, and then type 1E3 and get what you expect.
Find all posts by this user
Quote this message in a reply
08-30-2023, 08:02 AM
Post: #108
RE: DB48X: HP48-like RPL implementation for DM42
I think it was generally understood.

BTW I am not a heavy RPL user but I consider this project to be the most amazing one of all the DM "rewrites". Great and interesting work, Christophe, I hope you are enjoying every minute of it!
Find all posts by this user
Quote this message in a reply
09-22-2023, 09:53 AM
Post: #109
RE: DB48X: HP48-like RPL implementation for DM42
How is the DB48X getting on?
Find all posts by this user
Quote this message in a reply
09-22-2023, 04:05 PM
Post: #110
RE: DB48X: HP48-like RPL implementation for DM42
(09-22-2023 09:53 AM)n3mmr Wrote:  How is the DB48X getting on?

Hey! Thanks for your continued interest. As I announced (I believe) when I published the last release, I was expecting a pause of about 2-4 weeks due to various other activities taking my time. This is now behind me. I slowly resumed work. The next release should include basic GROB operations.
Find all posts by this user
Quote this message in a reply
09-23-2023, 08:01 AM
Post: #111
RE: DB48X: HP48-like RPL implementation for DM42
(09-22-2023 04:05 PM)c3d Wrote:  
(09-22-2023 09:53 AM)n3mmr Wrote:  How is the DB48X getting on?

Hey! Thanks for your continued interest. As I announced (I believe) when I published the last release, I was expecting a pause of about 2-4 weeks due to various other activities taking my time. This is now behind me. I slowly resumed work. The next release should include basic GROB operations.
What's happening with the dm32 "variant"?
Find all posts by this user
Quote this message in a reply
09-25-2023, 10:21 AM
Post: #112
RE: DB48X: HP48-like RPL implementation for DM42
(09-23-2023 08:01 AM)n3mmr Wrote:  
(09-22-2023 04:05 PM)c3d Wrote:  Hey! Thanks for your continued interest. As I announced (I believe) when I published the last release, I was expecting a pause of about 2-4 weeks due to various other activities taking my time. This is now behind me. I slowly resumed work. The next release should include basic GROB operations.
What's happening with the dm32 "variant"?

The last release was the first one to officially contain a DM32 build.
The next release will be the first where space at -O2 exceeds what's available on the DM42, so the speed differential between the two will increase.
Using the DM32 is inconvenient without an overlay, because the key layout is so different. And unlike the DM42, there is no real way to find a layout compatible both with RPL features and with existing DM32 key labels. So I would recommend printing a key overlay (@spiff72 is very good at this).
Find all posts by this user
Quote this message in a reply
09-30-2023, 10:38 PM
Post: #113
RE: DB48X: HP48-like RPL implementation for DM42
I'm happy to announce release 0.4.4:

https://github.com/c3d/DB48X-on-DM42/rel...tag/v0.4.4

The main topics in this release are grob objects (with gor, gxor and gand), tagged objects, lastargs / lastx and undo. It is also built and minimally tested both for DM42 (under the name DB48X) and DM32 (under the name DB50X). The DM42 build had to switch to '-Oz' optimization (optimize for size) because I finally hit the flash size constraints on the DM42. So expect the peformance to be a little below 0.4.3.
Find all posts by this user
Quote this message in a reply
10-01-2023, 10:15 PM
Post: #114
RE: DB48X: HP48-like RPL implementation for DM42
0.4.4 was short-lived due to a rather annoying bug making it really hard to use complex numbers.

Here comes 0.4.5: https://github.com/c3d/DB48X-on-DM42/rel...tag/v0.4.5

Only bug fixes in this minor release. Enjoy.
Find all posts by this user
Quote this message in a reply
10-08-2023, 11:30 AM
Post: #115
RE: DB48X: HP48-like RPL implementation for DM42
I'm finalizing 0.4.6, where the focus is on the UI, with addition of cut/copy/paste, command history, search and replace. I also reorganized the menus and keyboard layout, see attachment.

One thing that might trigger a reaction is the appearance of an = sign as a primary function. This key has three functions depending on context:

- When not editing, it's EVAL
- When editing programs, it's a space
- When inside an equation, it's an = sign. So you can type equations like `X^2+Y^2=1` easily.

@spiff72 and I have been discussing various options for keyboard layout, notably the secondary functions in alpha mode. The layout below is what I currently have in the simulator. @spiff72 is testing other choices. Your input on these is welcome.

   
Find all posts by this user
Quote this message in a reply
10-08-2023, 03:05 PM
Post: #116
RE: DB48X: HP48-like RPL implementation for DM42
(10-08-2023 11:30 AM)c3d Wrote:  I'm finalizing 0.4.6, where the focus is on the UI, with addition of cut/copy/paste, command history, search and replace. I also reorganized the menus and keyboard layout, see attachment.

One thing that might trigger a reaction is the appearance of an = sign as a primary function. This key has three functions depending on context:

- When not editing, it's EVAL
- When editing programs, it's a space
- When inside an equation, it's an = sign. So you can type equations like `X^2+Y^2=1` easily.

@spiff72 and I have been discussing various options for keyboard layout, notably the secondary functions in alpha mode. The layout below is what I currently have in the simulator. @spiff72 is testing other choices. Your input on these is welcome.

To add to c3d's comments above - one important point to note is that these changes are unfortunately going to diverge from the layout that was previously created (and some of you may have purchased overlays for). If you don't want to have to change overlays, you may want to hold off on updating.

I apologize for this, but there was a lot of interest in these overlays, and I put a disclaimer in my thread warning that things may change, since this project was still in very early development.

Once c3d and I have settled on layouts (with likely input from all of you), I will have the new versions available. I have one current order right now that I am waiting on production/shipping for just the reasons above (you know who you are!)...
Find all posts by this user
Quote this message in a reply
10-08-2023, 08:05 PM
Post: #117
RE: DB48X: HP48-like RPL implementation for DM42
Release v0.4.6 of DB48X is out.

https://github.com/c3d/DB48X-on-DM42/rel...tag/v0.4.6

The main features are related to the user interface: undo, command-line history, text selection, cut/copy/paste, search and replace.

There is also the "Cycle" command I discussed earlier mapped to the EEX key. For example, it cycles between 0.2 and 1/5, between primary bases for binary numbers, or between polar and rectangular representations for complex numbers.

A few serious bug fixes too, including one that could cause memory corruption when drawing in graphic objects (GROB).

Please give it a whirl and let me know what you find.
Find all posts by this user
Quote this message in a reply
10-10-2023, 05:19 PM
Post: #118
RE: DB48X: HP48-like RPL implementation for DM42
(10-08-2023 08:05 PM)c3d Wrote:  Release v0.4.6 of DB48X is out.

https://github.com/c3d/DB48X-on-DM42/rel...tag/v0.4.6

The main features are related to the user interface: undo, command-line history, text selection, cut/copy/paste, search and replace.

There is also the "Cycle" command I discussed earlier mapped to the EEX key. For example, it cycles between 0.2 and 1/5, between primary bases for binary numbers, or between polar and rectangular representations for complex numbers.

A few serious bug fixes too, including one that could cause memory corruption when drawing in graphic objects (GROB).

Please give it a whirl and let me know what you find.

I have a couple of questions:
1. After some digging around to find where you can change the font sizes, I stumbled on:
1st shift -> Modes -> 1st shift -> Math -> Yser and there are settings for font size there. What is "Yser"? I can't for the life of me figure out what that would stand for...
2. Is there a command to do a screen shot like there is on some of the other firmwares? (Typically called "Screen" on the KB shortcuts somewhere)
Find all posts by this user
Quote this message in a reply
10-10-2023, 06:48 PM
Post: #119
RE: DB48X: HP48-like RPL implementation for DM42
(10-10-2023 05:19 PM)spiff72 Wrote:  I have a couple of questions:
1. After some digging around to find where you can change the font sizes, I stumbled on:
1st shift -> Modes -> 1st shift -> Math -> Yser and there are settings for font size there. What is "Yser"? I can't for the life of me figure out what that would stand for...

That's a typo. It was supposed to be 'User', but it's really user interface. I will change it to UI.

Quote:2. Is there a command to do a screen shot like there is on some of the other firmwares? (Typically called "Screen" on the KB shortcuts somewhere)

Not yet. On the DM42, it's (held shift)-DISP. These keys are treated a bit specially by the firmware, apparently, so I think that I am free to use it.
Find all posts by this user
Quote this message in a reply
10-10-2023, 07:15 PM
Post: #120
RE: DB48X: HP48-like RPL implementation for DM42
(10-10-2023 06:48 PM)c3d Wrote:  
(10-10-2023 05:19 PM)spiff72 Wrote:  I have a couple of questions:
1. After some digging around to find where you can change the font sizes, I stumbled on:
1st shift -> Modes -> 1st shift -> Math -> Yser and there are settings for font size there. What is "Yser"? I can't for the life of me figure out what that would stand for...

That's a typo. It was supposed to be 'User', but it's really user interface. I will change it to UI.

Quote:2. Is there a command to do a screen shot like there is on some of the other firmwares? (Typically called "Screen" on the KB shortcuts somewhere)

Not yet. On the DM42, it's (held shift)-DISP. These keys are treated a bit specially by the firmware, apparently, so I think that I am free to use it.

Ah OK - now that you stated that was intended to be "User", I noticed that "User" also appears on the 1st-shift F6 key under the Modes menu. I assume that one changes to UI also?

And the 1st-shift -> USER that appears on the 2 key is different (it just beeps now) - and will be for USER kb mode (utilizing the ASN definitions - which also just beeps for now)?

If the above assumptions are true, I think it's a good idea to change the User menus above to UI to avoid confusion.
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 5 Guest(s)