Post Reply 
DB48X: HP48-like RPL implementation for DM42
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?
https://github.com/c3d/db48x/tree/dm42

This is a massive series of changes, many of which you are likely to not like. One major change in particular was regarding the graphic engine and automated layout of the various UI elements. The idea being to be able to display things easily at different locations for the DM42, the 50G and the prime, because their function keys are at different spots.
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:

(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.

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.

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).

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.
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: DB48X: HP48-like RPL implementation for DM42 - c3d - 07-23-2023 07:09 PM
DB48X v0.4.8 is out - c3d - 10-22-2023, 11:31 PM
Release v0.5.0: Statistics and flags - c3d - 11-20-2023, 08:57 AM
v0.6.5: Minor bug fixes - c3d - 02-11-2024, 11:23 PM
Release 0.7.1 "Whip" - Bug fixes - c3d - 03-04-2024, 12:46 AM
DB48X v0.7.4 release is out - c3d - 04-14-2024, 03:05 PM
DB48X v0.7.6: Solving menu - c3d - Yesterday, 12:04 AM



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