DB48X: HP48-like RPL implementation for DM42
|
07-22-2023, 04:37 PM
(This post was last modified: 07-22-2023 04:38 PM by spiff72.)
Post: #41
|
|||
|
|||
RE: DB48X: HP48-like RPL implementation for DM42
(07-21-2023 11:58 AM)Hsilop Wrote: I have a spare DM42 - just need a faceplace (sticker). Nice project, keep going! :-) I may be able to help with that once I get my DM42. Mine has entered the USA, but not sure how long the final legs of the journey will take. EDIT: I just checked again and it is in Chicago (just 2 states away from Michigan), so maybe sooner than I expected! I have been offering overlays for various newRPL calculator variants and the WP31S and WP34S in this thread: https://www.hpmuseum.org/forum/thread-20113.html I have a C47 overlay ready to try out when it arrives, and plan to add that to the offering when I confirm it fits correctly. DB48X still seems to be in its infancy, so a "final" overlay layout is probably not ready yet, but if there is something available I could potentially make one with the caveat that it is highly subject to future revisions! |
|||
07-22-2023, 09:46 PM
Post: #42
|
|||
|
|||
RE: DB48X: HP48-like RPL implementation for DM42
(07-22-2023 04:32 PM)spiff72 Wrote: Am I misunderstanding something, or is there a DM42 emulator for Mac? Or is that a newRPL emulator? I don't know about others, but I personally wrote two different DM42 "emulators", both of which should work both on Linux and macOS (and maybe Windows with a little porting effort). However, both were intended to develop a new firmware, so they only emulate what that firmware needs. They were not intended to run the original Free42 / DM42 firmware (maybe they could via some recompilation, but I did not even bother trying). The first one is derived from newRPL, and can be found here: https://github.com/c3d/db48x. That project also builds HP50 and Prime simulators. It should be able to produce valid Prime and HP50 firmware too, but maybe I broke a few thing, I don't have the hardware to test it. It looks a bit too fat to fit on an actual DM42, though, even if I since then learned tricks from the WP43 / C47 team on how to transfer stuff to the QSPI that might make it possible. In any case, from my point of view, it is currently on hold. The second one is for a new from-scratch RPL implementation being discussed in this thread, and resides here: https://github.com/c3d/db48x-on-dm42. This codebase does work on actual hardware too, I test it daily, and this is now very close to becoming my primary calculator (already better for binary / hex computations than the alternatives I have access to). While I only post DM42 binaries when I build a release, maybe I should also post macOS and Linux binaries? Would someone be interested in that? In both cases, the macOS simulator does not emulate the hardware, but instead provides an implementation of the DMCP interfaces that is sufficient for the need of the firmware code running on top of it. Hopefully this clarifies things a bit. |
|||
07-23-2023, 04:55 PM
Post: #43
|
|||
|
|||
RE: DB48X: HP48-like RPL implementation for DM42
(07-22-2023 04:11 PM)c3d Wrote: Claudio, I am not sure if you ever noticed the work I did for the DM42 on newRPL?I did not look at those! Some the areas in newRPL, especially the UI (and the HAL) were tailored for hp50g and similar machines, so now with the Prime port they are showing their limitations. I'll take a look, I'm not opposed to changes if it benefits everyone. Just keep in mind the "tightness" of the space especially on the hp39gs, there's not a lot of room to add stuff which brings us to the next topic: (07-22-2023 04:11 PM)c3d Wrote: Another big change I made which you might want to consider at some point is refactoring the help system to use a markdown file based on the HTML documentation. This is what I use on the DM42 for now, but most of the work is done for newRPL (but, again, not necessarily in a state you would be happy to merge) It would be nice, and reduce effort across projects, but if I want to display the online help on the hp39gs, I need to add a markdown interpreter... I don't know that there will be enough space. (07-22-2023 04:11 PM)c3d Wrote: In any case, I realize these are really invasive changes, and you are unlikely to ever merge them, but you might want to try them out at least in the simulator. I will take a look at the graphics part, no ideas are ever discarded. The main thing is newRPL cannot run on the DM hardware because of the lack of MMU. No virtual memory is a non-starter for newRPL, so that port is dead before it even started (hard-coded fixed memory partition will work... but a real killer for RPL's idea of an infinite stack until memory runs out). |
|||
07-23-2023, 07:09 PM
(This post was last modified: 07-25-2023 08:28 AM by c3d.)
Post: #44
|
|||
|
|||
RE: DB48X: HP48-like RPL implementation for DM42
(07-23-2023 04:55 PM)Claudio L. Wrote:(07-22-2023 04:11 PM)c3d Wrote: Claudio, I am not sure if you ever noticed the work I did for the DM42 on newRPL?I did not look at those! Some the areas in newRPL, especially the UI (and the HAL) were tailored for hp50g and similar machines, so now with the Prime port they are showing their limitations. I'll take a look, I'm not opposed to changes if it benefits everyone. Don't get me wrong. I think the changes are generally useful. It's just that I did not respect your coding style (notably wrt. comments). I could not manage to tailor clang-format to it, so after a while, it was "I have other tihngs to do", and I let clang-format reformat the parts of the code I was working on. And so I shifted to my commenting style as well. Apologies for that. If you don't mind the non-homogeneity, I think that you will be able to merge that relatively quickly. If you do mind (and you probably should), then I gave you extra needless work. Again, really sorry about that. Quote: Just keep in mind the "tightness" of the space especially on the hp39gs, there's not a lot of room to add stuff which brings us to the next topic: The markdown interpreter is there already. So you have that in the change set. I did not check, but I suspect it takes less space than the help it replaces. I don't recall if the version in newRPL uses in-memory markdown or loads it from the filesystem, but if you need the version that loads from the filesystem, you'll find it easily in the DB48X project. It's essentially the same code otherwise. Quote:(07-22-2023 04:11 PM)c3d Wrote: In any case, I realize these are really invasive changes, and you are unlikely to ever merge them, but you might want to try them out at least in the simulator. The way I did it for DB48X is that I allocate "all of memory but what DMCP needs", and I do my own memory management inside that. The way that memory management is done is quite similar to the original RPL model. |
|||
07-28-2023, 11:41 AM
Post: #45
|
|||
|
|||
RE: DB48X: HP48-like RPL implementation for DM42
Is the complex number functionality complete?
Thank you, TomC |
|||
07-28-2023, 11:57 PM
Post: #46
|
|||
|
|||
RE: DB48X: HP48-like RPL implementation for DM42
Hello...
I would be interested in helping out by creating an overlay for this once the layout is "final". (I know that's a risky word to use in development!). If people were willing to accept the fact that early overlays might be superseded at any time, I could potentially help right away by making one available now(-ish) if you might have a "native" graphics file available that I could manipulate colors, font sizes, etc in the process of finding a good representation of how it looks when printed (and protected by a matte lamination sheet) vs the "on screen" appearance. Currently I have been taking the PNG files, and doing pixel-by-pixel manipulation of color - even in situations where I need to move a label slightly away from a cutout, for example. So if you have an SVG or something native that is easy to manipulate - I could create an overlay and respond to potential changes relatively quickly. |
|||
07-29-2023, 06:30 PM
Post: #47
|
|||
|
|||
RE: DB48X: HP48-like RPL implementation for DM42
(07-28-2023 11:41 AM)TomC Wrote: Is the complex number functionality complete? To a large extent, yes, including symbolic complex numbers. See https://youtu.be/I5jgLzw_0-o?t=1780. |
|||
07-29-2023, 06:33 PM
Post: #48
|
|||
|
|||
RE: DB48X: HP48-like RPL implementation for DM42
(07-28-2023 11:57 PM)spiff72 Wrote: Hello... Thanks a lot for the offer. In my case, the original is in Apple Keynote format. I can export that to a number of pixel-oriented formats, or to PDF, but I see no obvious option to export to SVG or other portable vector format. |
|||
07-29-2023, 06:35 PM
Post: #49
|
|||
|
|||
RE: DB48X: HP48-like RPL implementation for DM42
(07-28-2023 11:57 PM)spiff72 Wrote: If people were willing to accept the fact that early overlays might be superseded at any time, I could potentially help right away by making one available now(-ish) if you might have a "native" graphics file available that I could manipulate colors, font sizes, etc in the process of finding a good representation of how it looks when printed (and protected by a matte lamination sheet) vs the "on screen" appearance. Just to be clear, the current layout is absolutely final. -ish. Until I change my mind. Which I only did three times in the past two weeks, so this is definitely slowing down. |
|||
07-30-2023, 12:01 AM
Post: #50
|
|||
|
|||
RE: DB48X: HP48-like RPL implementation for DM42
(07-29-2023 06:33 PM)c3d Wrote:(07-28-2023 11:57 PM)spiff72 Wrote: Hello... I have a Mac so I could try the Keynote format! |
|||
07-30-2023, 12:02 AM
Post: #51
|
|||
|
|||
RE: DB48X: HP48-like RPL implementation for DM42
(07-29-2023 06:35 PM)c3d Wrote:(07-28-2023 11:57 PM)spiff72 Wrote: If people were willing to accept the fact that early overlays might be superseded at any time, I could potentially help right away by making one available now(-ish) if you might have a "native" graphics file available that I could manipulate colors, font sizes, etc in the process of finding a good representation of how it looks when printed (and protected by a matte lamination sheet) vs the "on screen" appearance. LOL. I thought it had changed recently, but didn't realize it was MULTIPLE times recently! |
|||
07-30-2023, 09:34 AM
Post: #52
|
|||
|
|||
RE: DB48X: HP48-like RPL implementation for DM42
(07-30-2023 12:02 AM)spiff72 Wrote:(07-29-2023 06:35 PM)c3d Wrote: Just to be clear, the current layout is absolutely final. -ish. Until I change my mind. Which I only did three times in the past two weeks, so this is definitely slowing down. This project is still in very early stages, and the keyboard layout for it is a tricky thing indeed. All of these are valid considerations: - Trying to fit RPL on fewer keys than ever before - Consistency with DM42 - Consistency with previous RPL calculators - Internally consistent, logical groupings - Ease and efficiency For primary key functions I think consistency with DM42 is highly valuable. The current layout seems good to me on this point, it is usable without keytop stickers which enables using the same hardware for DB48X and other things. For secondary key functions that can be labelled on interchangeable overlays that specific consideration is less important. More important is to help the brain find all this functionality on this rather crowded layout... but that can be done through 3 different ones of the above considerations. For example, coming from the RPL calculators the user would be looking for the statistics menu on key 5 and for the units menu on key 6. But someone switching between DB48X and the 42 would prefer the current layout. Which is the right choice? Depends on the user, clearly. Which use case is more likely? I don't know. |
|||
07-30-2023, 11:24 AM
Post: #53
|
|||
|
|||
RE: DB48X: HP48-like RPL implementation for DM42
(07-29-2023 06:30 PM)c3d Wrote:(07-28-2023 11:41 AM)TomC Wrote: Is the complex number functionality complete? Great video, DB48X looks great. Keep up the good work. |
|||
07-30-2023, 01:44 PM
Post: #54
|
|||
|
|||
RE: DB48X: HP48-like RPL implementation for DM42 | |||
07-30-2023, 01:45 PM
Post: #55
|
|||
|
|||
RE: DB48X: HP48-like RPL implementation for DM42
(07-30-2023 12:02 AM)spiff72 Wrote:(07-29-2023 06:35 PM)c3d Wrote: Just to be clear, the current layout is absolutely final. -ish. Until I change my mind. Which I only did three times in the past two weeks, so this is definitely slowing down. As you can see, the changes tend to be a bit more minor now. But it's only practicing a given feature (e.g. matrices) that tells me what is the best way to expose it. |
|||
07-30-2023, 01:47 PM
(This post was last modified: 07-30-2023 05:06 PM by c3d.)
Post: #56
|
|||
|
|||
RE: DB48X: HP48-like RPL implementation for DM42 | |||
07-30-2023, 01:51 PM
Post: #57
|
|||
|
|||
RE: DB48X: HP48-like RPL implementation for DM42
New release 0.4 is out. https://github.com/c3d/DB48X-on-DM42/releases/tag/v0.4
Many changes in this release. The main ones are: 1. Support for matrix operations (arithmetic, det, norm, inverse) 2. Support for equation rewrite, with early implementation of collect and expand. 3. Transient alpha mode: hold up or down arrow with a letter key to quickly type uppercase or lowercase Please give it a whirl. I will post a video about it soon. |
|||
07-30-2023, 04:15 PM
Post: #58
|
|||
|
|||
RE: DB48X: HP48-like RPL implementation for DM42
(07-30-2023 01:51 PM)c3d Wrote: New release 0.4 is out. https://github.com/c3d/DB48X-on-DM42/releases/tag/v0.4 Video posted here: https://youtu.be/ehiX6mhlgAY. But YouTube has not processed the HD variant yet. |
|||
07-30-2023, 09:16 PM
Post: #59
|
|||
|
|||
RE: DB48X: HP48-like RPL implementation for DM42
(07-30-2023 01:47 PM)c3d Wrote:(07-30-2023 09:34 AM)LinusSch Wrote: Which is the right choice? Depends on the user, clearly. Which use case is more likely? I don't know. I'm not going to have an opinion on this one, as I do not own nor intend to own a DM42. However, when the time comes to put this on the DM32, I'm going to use it and see what works for me and have opinions. |
|||
07-31-2023, 02:02 PM
Post: #60
|
|||
|
|||
RE: DB48X: HP48-like RPL implementation for DM42
(07-30-2023 01:51 PM)c3d Wrote: New release 0.4 is out. https://github.com/c3d/DB48X-on-DM42/releases/tag/v0.4 This seems to be fast approaching my "ideal calculator". |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 5 Guest(s)