Post Reply 
DB48X: HP48-like RPL implementation for DM42
08-16-2023, 09:12 PM
Post: #88
RE: DB48X: HP48-like RPL implementation for DM42
(08-16-2023 05:53 PM)c3d Wrote:  
(08-15-2023 10:16 PM)spiff72 Wrote:  Hello...

I have been curious about something for a while so I will ask here...

I have noticed that the QSPI file for DB48x is quite large compared to the QSPI file for WP43 and C47. It is comparable in size to the stock firmware QSPI, though. C47/WP43 are less than 200KB, while stock is about 1.4MB and DB48X is 1.5MB.

Short version: C47/WP43 uses their own floating-point code (derived from WP34 I believe), whereas DM42 and DB48X use the Intel decimal floating-point library.

Long version: the Intel library is IEEE-compliant, and takes a lot more space, notably due to relatively large tables used to accelerate various computations.

DB48X builds its own QSPI so as to be compatible with the DM42 program, to make it quicker to switch back and forth between the two .PGM files. So it includes the symbols used by the DM42 firmware, and adds on top of that its own data (fonts, read-only data generated by the C++ compiler). So you can run the DM42.PGM file with the DB48X QSPI, but the opposite is not true.

Note that in the long term, my intent is to switch to a variable-precision floating-point implementation similar to that of newRPL. When this happens, it is likely that I won't be able to keep both the Intel and the new code at the same time, so I may find myself in the same situation as C47, i.e. a smaller QSPI but not compatible with DM42.

On a side note, at some point, I tried to run code from the QSPI. This is supposed to work according to the spec sheets (it's a feature called XIP or "execute in place"). But experience shows that while it works fine on USB power, the system "pauses" executing code in the QSPI until you plug USB. In practice, the pre-releases of DB48X with this problem would hang if you run 'sin' on battery power, until you plug the USB back.

Quote:What drives the size of that file? I like to keep all the PRG files in the root of my DM42, and I have separate folders for "offline" storage of the relevant QSPI files for each of the calc programs I switch between (C47, DB48X, stock, and WP43). Unfortunately there isn't quite enough storage for all of them, so I have to leave out the one for DB48X.

You should be able to use the DB48X QSPI to run your DM42 program. Let me know if it does not work.

Ok - so then I could theoretically keep the DB48X QSPI tucked away in the backup folder on my DM42 and remove the stock one, saving 1.4MB of space.

I will give that a try tonight and confirm I can drop the stock QSPI. That would at least get me to the point where ALL of the necessary files are on the calculator at any given time - but I still need a PC to access that pesky drive and move (or ideally COPY) the right QSPI file to the root.
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 - spiff72 - 08-16-2023 09:12 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 - Today, 12:04 AM



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