thomasokken / free42

Free42 : An HP-42S Calculator Simulator
https://thomasokken.com/free42/
GNU General Public License v2.0
277 stars 54 forks source link

Question on commit "Patched bid128_hypot()" #28

Closed fmartinp closed 3 years ago

fmartinp commented 3 years ago

Hi Thomas, Do you know if this patch can be applied directly in the compiltation of Free42 for DM42? Or is not possible because the Intel Library is preloaded in a different part of the memory of DM42? I am asking that because I am doing my own compilation of Free42 for my DM42 and I am not sure how to implement this change in the code. Actually, I do not see that the patch files are involved in the DM42 compilation. Thanks in advance.

thomasokken commented 3 years ago

So you are building Free42 for the DM42, but are using a pre-built Intel library, is that correct? If that is the case, do they not provide the scripts for building the library yourself?

fmartinp commented 3 years ago

Hi Thomas,

Yes, I am just updating the library libfree42_bcd_rel.a using your code. The script to generate this library is:

https://github.com/swissmicros/free42/blob/master/console/armbuild

However, they provide directly the compiled intel decimal library for the generation of the actual binary to be uploaded in the calculator, the so called DM42PGM. See the folder below:

https://github.com/swissmicros/DM42PGM/tree/master/lib

I was looking in your makefile if it can be used to create the intel library : https://github.com/swissmicros/free42/blob/master/console/Makefile

However, I have read in some forums that the intel library is already preloaded in the memory of the calculator in an area called QSPI. So, I am not sure that even if I manage to compile the intel library it will help.

What do you think? Fernando

thomasokken commented 3 years ago

As fas as I remember, a QSPI update is a separate step from uploading the rest of flash, but you should be able to build and install everything yourself, including the QSPI part. I can't help with that, though, since I'm not familiar with the process myself. If you don't want to deal with that, you could just apply the work-around for Phloat::hypot() instead, the one that I used in the 3.0.1 release, before I rolled it back and fixed the problem by patching the Intel library.

fmartinp commented 3 years ago

Thanks for the answer. I will try to find some information on how to build and update the QSPI. I did not succeed the last time that I tried to find that information.

So probably I will end up with your work-around.

Thanks!