-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Exe with floats compiled for kickstart 1.3 is using an inexistant library #36
Comments
If a library is missing, copy it to your system. |
Where does it comes from ? I don't have it in my KS1.3 disks. C:VERSION displays a suspicous 1.0 version from 2015 whereas KS1.3 math libraries are 34.x from 1988:
|
does it work or does it work? |
This was referenced Apr 9, 2021
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hello.
When I compile this piece of code
with
m68k-amigaos-gcc -O0 -mcrt=nix13 tst_float_ks13.c -o tst_float_ks13
, I get an exe which, when launched under kickstart 1.3 complains aboutmathieeesingbas.library failed to load
The issue is that mathieeesingbas.library does not exist for kickstart 1.3. It only exists since amigaos V36 (eg around kick 2.04).
A possible work around would be that in the supporting math lib functions internally opens mathieeetransbas.library which exists in kickstart 1.3, then call:
DOUBLE IEEEDPFieee( FLOAT single )
to convert IEEE single-precision number to IEEE double-precision number. Then perform the basic arithmetic operations on doubles, and convert back the result to float usingFLOAT IEEEDPTieee( DOUBLE parm )
. Of course this would use much more cycles than needed with an proper mathieeesingbas.library, but that one does not exist. On the balance, this solution preserves the IEEE compatibility of memory representation of floats.Another possibility is to drop IEEE compatibility and use motorola's ffp format provided by mathffp.library present in amigaos 1.3 rom IIRC, so neither extra libraries on disk nor extra memory are required while keeping a pretty good execution speed.
Of course the best approach would probably be to let the programmer choose between these two options via a dedicated
-mffp
or-mieee
switch.The text was updated successfully, but these errors were encountered: