DB48X: HP48-like RPL implementation for DM42
|
02-11-2024, 11:23 PM
Post: #181
|
|||
|
|||
v0.6.5: Minor bug fixes
Release 0.6.5 "Testimony": Small bug fixes
https://github.com/c3d/DB48X-on-DM42/rel...tag/v0.6.5 This release does not contain much because FOSDEM took a lot of energy. New features * menu: Connect `ceil` and `floor` functions * Add real to polar conversions * units: Add `dms` unit to angles menu Bug fixes * decimal: Compute `ln(0.002)` correctly (reported by Nigel) * integer: Do not parse degree sign if in a complex * units: Fix parsing of angle units * font: Add radian glyph |
|||
02-21-2024, 07:42 AM
(This post was last modified: 02-21-2024 07:47 AM by c3d.)
Post: #182
|
|||
|
|||
Graphical rendering of expressions in DB48X
Graphical rendering of equation is coming and should be in the next release. This was a lot of work, and explains in part why some of the recent releases have been a bit "light". This will justify a bump of the minor number, so the next release will be 0.7.0.
A side benefit is automatic adjustment of the display size when rendering big numbers or big equations. |
|||
03-02-2024, 02:48 PM
Post: #183
|
|||
|
|||
Release v0.7.0 - Graphical rendering of equations
Release 0.7.0 is out. https://github.com/c3d/DB48X-on-DM42/rel...tag/v0.7.0
This release introduces a few major improvements, including graphical rendering of equations and matrices, the `Show` command to display large objects full-screen, customizable constants, and date-related operations. New features * Graphical rendering of equations, fractions, matrices, vectors and lists. In graphical rendering mode, variables are showin in italics. * Constants in the `ConstantsMenu`, split into categories, and loading from an optional `config/constants.csv` file, in a way similar to what existed for units. * Inverse trigonometric functions (`asin`, `acos` and `atan`) now produce unit objects with the current angle mode as a unit. This can be configured by the `SetAngleUnits` / `NoAngleUnits` flags. * `Cycle` (EEX key) now cycles between angle units. * `R→D` and `D→R` commands to convert between degree and radian in a purely numerical way (no unit). This is for compatibility with HP. * Add `→Deg`, `→Rad`, `→Grad`, `→πr` commands, which convert a number to the target unit using current angle mode, and convert an angle to the target angle unit. * Conversion from DMS to HMS and from HMS to DMS * Rendering of dates: `19681205_date` renders as `Fri 5/Dec/1968`, with a format configuration using the same flags as for the header. Note that the date format is `YYYYMMDD`, _not_ the same as on HP calculators. This allows `YYYYMMDD.hhmmss` for dates with time. * `Date` and `Time` command to return the current date and time. Additionally, `DateTime` returns both date and time, and `ChronoTime` returns the time with 1/100s precision. * `→Date` and `→Time` commands to set the system date and time * `Date+`, `DDays` and date arithmetic using `+` or `-`, using day units for the results. As an extension relative to HP calculators, these will accept fractional days, or other time units. For example, adding `1000000_s` to `19681205_date` generates a date with time result, `Tue 16/Dec/1968, 13:46:40` * `JulianDayNumber` and `DateFromJulianDayNumber` commands to convert between dates and Julian day numbers. These commands also accept fractional input. * `Show` command showing a full-screen graphical rendering of the result on the stack. The resut is size-adjusted. For example, you can display all digits in `200!`. If the result does not fit on the screen, you can scroll using the _◀︎_ and _▶︎_, as well as _8_, _6_, _4_ and _2_. The maximum pixel size for `Show` is set by `MaxW` (default is the width of the LCD), the maximum height is set by `MaxH` (default is 2048 pixels). * `AutoScaleStack` and `NoAutoScaleStack` settings to automatically adjust the font size for the stack elements. * Support for system flags -20 to -26 (infinite results, overflow and underflow). Bug fixes * simulator: Adjust DMCP month off-by-one error * Repair insertion of `while` loops and similar commands on the command line * Use stack format when drawing an object with `DrawText` (`DISP`) * Arithmetic on unit objects no longer auto-simplifies, e.g. `1_s 1_s -` returns `0_s` and not `0`. * Perform computations for `→Q` using integer values, which avoids an issue where increasing the number of iterations with an unachievable precision could prodduce `1/1` as the fractional result. * Repair auto-simplification for `i*i=-1` * Display a negative mixed fraction as `-1 1/3` and not `1 -1/3`. * Do not insert `()` after a multiplication in algebraic mode * Accept units and tagged objects in `PolarToReal` and `RealToPolar` * Accept angle units as input for `→DMS` * Off-by-one clipping error in header, erasing the shift annunciator * Fix help for `FC?` (incorrectly stating that it tested for flat set) * Lookup units and constants in a case sensitive way * Fix labels for `ExpFit` and `LinFit` in `RegressionMenu`. Improvements * tests: Adjust tests to match bugs fixed in v0.6.5 * dms: Accept entering minutes without third dot, e.g. `1.2.3 ENTER` * menus: Split the Time, Date and Alarm menus * Split rendered objects at space boundaries. This notably ensures that large numbers are split at digit grouping boundaries, and makes it possible to display larger programs on the stack. The rendering of programs and matrices/vectors/lists has also been fine-tuned. * The "white circle" glyph has a thicker border, makes it more readable in menus. * doc: Update the list of unimplemented features * menus: Draw a white circle for disabled flags, and allow the menu function to toggle the flag. This made it possible to reduce the number of menu entries for flag-heavy menus. * Mixed fractions are now the default, as opposed to improper fractions * doc: Improve the quickstart guide * doc: Improve the documentation for sin, cos and tan * tests: Make it possible to interrupt a running test * help: Skip HTML tags, e.g. <video> * simulator: Add screenshot capability, and reduce window height * menus: `ToolsMenu` selects time, date or angle menu based on units |
|||
03-04-2024, 12:46 AM
Post: #184
|
|||
|
|||
Release 0.7.1 "Whip" - Bug fixes
There were a couple of embarrassing bugs in v0.7.0, nothing really harmful, but enough to justify a 0.7.1 the next day.
The first big problem was that inserting variable names from the VariablesMenu in programs was broken. Similarly for units from units menus and constants from constants menus. This was the primary driver for a new release. Also an embarrassing off-by-one error for day-of-week in dates due to different conventions for DMCP and Unix. https://github.com/c3d/DB48X-on-DM42/rel...tag/v0.7.1 decimal: Apply MinimumSignificantDigits to Sig modes tests: Fix missing ] at end of vector ui: Insert commands for unit conversions, constants and variables tests: Adjust help screen snapshot for authors menus: Do not clip text for hierarchical menus constants: Do not use units that don't parse correctly dmcp: Day of week convention adjustment help: Fix YouTube video preview |
|||
03-04-2024, 04:18 PM
Post: #185
|
|||
|
|||
RE: DB48X: HP48-like RPL implementation for DM42
I'm not in any urgent rush, but are there plans to implement TVM calculations in the future? It looks like there's a placeholder for it in the FIN menu, but grayed out.
WP31S/WP34S, WP43/C47, newRPL (various), and DB48X adhesive and tabbed overlays: https://www.hpmuseum.org/forum/thread-20113.html |
|||
03-04-2024, 05:55 PM
(This post was last modified: 03-04-2024 05:55 PM by c3d.)
Post: #186
|
|||
|
|||
RE: DB48X: HP48-like RPL implementation for DM42
(03-04-2024 04:18 PM)spiff72 Wrote: I'm not in any urgent rush, but are there plans to implement TVM calculations in the future? It looks like there's a placeholder for it in the FIN menu, but grayed out. Yes, the grayed out portion is a dead giveaway that there are plans :-) I'd like to implement the general solver application first. She solve function is implemented, just not the application with the menus entries to set / solve / get the value of the variables in the equation. |
|||
03-04-2024, 05:56 PM
Post: #187
|
|||
|
|||
RE: DB48X: HP48-like RPL implementation for DM42
(03-04-2024 05:55 PM)c3d Wrote:(03-04-2024 04:18 PM)spiff72 Wrote: I'm not in any urgent rush, but are there plans to implement TVM calculations in the future? It looks like there's a placeholder for it in the FIN menu, but grayed out. No worries - TVM is something I might use once a year (or less)! WP31S/WP34S, WP43/C47, newRPL (various), and DB48X adhesive and tabbed overlays: https://www.hpmuseum.org/forum/thread-20113.html |
|||
03-12-2024, 07:31 AM
Post: #188
|
|||
|
|||
DB48X v0.7.2: Library, Equation Library, Characters Menu
https://github.com/c3d/DB48X-on-DM42/rel...tag/v0.7.2
This release introduces four relatively significant features:
There are also a number of bug fixes and improvements. Features
Bug fixes
Improvements
|
|||
03-12-2024, 12:32 PM
Post: #189
|
|||
|
|||
RE: DB48X: HP48-like RPL implementation for DM42
(03-12-2024 07:31 AM)c3d Wrote: https://github.com/c3d/DB48X-on-DM42/rel...tag/v0.7.2 Is it correct to assume that we need to copy the 4 .csv files to the config directory in the FAT structure in order to install this? WP31S/WP34S, WP43/C47, newRPL (various), and DB48X adhesive and tabbed overlays: https://www.hpmuseum.org/forum/thread-20113.html |
|||
03-12-2024, 01:46 PM
Post: #190
|
|||
|
|||
RE: DB48X: HP48-like RPL implementation for DM42 | |||
03-25-2024, 12:05 AM
(This post was last modified: 03-25-2024 12:14 AM by c3d.)
Post: #191
|
|||
|
|||
Release 0.7.3 "Perfume" - Mostly bug fixes
Release 0.7.3 of DB48X is out.
This release is mostly about bug fixes, improving the build on simulator, and accelerating the test suite while keeping it stable. New features
Bug fixes
Improvements
|
|||
04-14-2024, 03:05 PM
Post: #192
|
|||
|
|||
DB48X v0.7.4 release is out
Release v0.7.4 of DB48X is now available for DM42 and DM32.
This release is mostly about polishing various aspects of the implementation to make it more convenient and more efficient. It also adds user-defined functions parsing and evaluation, pixel-manipulation commands, bit operations on binary numbers, memory operations like sto+ or incr, loading and saving BMP files, color support in the simulator, and more. Please give it a whirl and let me know. I'll try to record and publish a video with the new features later today. |
|||
05-04-2024, 09:54 PM
Post: #193
|
|||
|
|||
DB48X v0.7.5: Polynomials and CAS groundwork
Pre-release 0.7.5 contains a lot of groundwork in preparation for future work on symbolic expressions, symbolic solving and symbolic integration, as well as to improve compatibility with HP calculators. In particular, rewrite has been replaced with the HP equivalents, ↑Match and ↓Match, allowing top-down and bottom-up replacement, as well as support for conditions. Also, these commands return the number of replacements performed instead of just 0 or 1.
The other major user-visible new feature is the addition of a polynomials data type, which does not exist on HP calculators, exposing polynomial features in a way that is more consistent with the spirit of RPL. For example, Euclidean division of polynomials can be achieved using the regular / operation on polynomials instead of requiring a dedicated DIV2 command. Please give it a whirl and share your experience. |
|||
05-07-2024, 10:49 PM
Post: #194
|
|||
|
|||
RE: DB48X: HP48-like RPL implementation for DM42
I have been using the simulator on my MacBook as my primary desktop calculator. What a fantastic project — Keep up the great work!
|
|||
05-08-2024, 04:10 PM
Post: #195
|
|||
|
|||
RE: DB48X: HP48-like RPL implementation for DM42 | |||
05-09-2024, 12:59 AM
Post: #196
|
|||
|
|||
RE: DB48X: HP48-like RPL implementation for DM42
On version v0.7.3-4 and have been using the default build, so black and white.
Also, what hardware device do you recommend, the DM32 or DM42 ? The DM42 seems to be more user-friendly without a vinyl overlay (I'd prefer not to stick labels on the keys too). |
|||
05-09-2024, 01:24 PM
Post: #197
|
|||
|
|||
RE: DB48X: HP48-like RPL implementation for DM42
(05-09-2024 12:59 AM)sunpazed Wrote: On version v0.7.3-4 and have been using the default build, so black and white. I would still recommend the DM32 + overlay (order a tabbed one if you don't want this to be permanent), for three reasons: 1/ More Flash space, meaning I will be able to put more HP50 features. At some point, I fully expect DB50X (the DM32 version) to have exclusive features I cannot fit in DB48X. 2/ More RAM, meaning your RPL has about 450K free instead of about 70K. Same thing, it may enable some features that I simply cannot do without some RAM, like 3D curve rendering. 3/ Faster on battery. If running on battery is what matters to you, the DM32 is faster than the DM42. On USB, it is slower. |
|||
05-13-2024, 12:04 AM
Post: #198
|
|||
|
|||
DB48X v0.7.6: Solving menu
Pre-release v0.7.6 is out. The main new feature in this release is the SolvingMenu, which is roughly equivalent to the Equation Solver application on HP calculators.
This work is not entirely finished, but I think it's already useful enough to be shared and tested. |
|||
05-20-2024, 05:03 AM
Post: #199
|
|||
|
|||
RE: DB48X: HP48-like RPL implementation for DM42
Hi Christophe — you might be interested in this little side project of mine. As a proof-of-concept, I built a version of your simulator that runs in the web-broswer (and therefore on mobile devices). I found that Qt runs fairly sluggishly after some time, so that was part of my motivation. It's also quite nice to use db48x in the palm of your hand (as I don't yet have a dm42!).
Here's what it looks like on my iPhone; Try it in your browser here — the simulator can be run fullscreen by selecting "Add to Home Screen" on iOS or your Android device; https://sunpazed.github.io/db48x-wasm/bin/index.html Be warned that there are many bugs, with the simulator hanging when accessing system services (help, save state, system menu) which are not implemented . And finally here's the repo for review; https://github.com/sunpazed/db48x-wasm — apologies in advance for butchering your excellent code. |
|||
05-20-2024, 06:39 AM
Post: #200
|
|||
|
|||
RE: DB48X: HP48-like RPL implementation for DM42
(05-20-2024 05:03 AM)sunpazed Wrote: Hi Christophe — you might be interested in this little side project of mine. As a proof-of-concept, I built a version of your simulator that runs in the web-broswer (and therefore on mobile devices). I found that Qt runs fairly sluggishly after some time, so that was part of my motivation. It's also quite nice to use db48x in the palm of your hand (as I don't yet have a dm42!). I can't tell you how awesome your side project is! I have been wanting to play with the DB48X project for so long but did not have access to a Mac or linux computer. Thank you very much! I have added some links and general information about the HP48X project along with your side project to the features comparison table and photo gallery site I maintain. https://sites.google.com/view/hp-plus-ca...sykspy4p3m |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 5 Guest(s)