Welcome, Guest. Please login or register.

Author Topic: fpsp.resource released  (Read 1951 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline SpeedGeekTopic starter

fpsp.resource released
« on: December 05, 2022, 12:39:43 PM »
fpsp.resource v40-60 disk load code ©SpeedGeek 2022

M68060 Software Package Copyright © 1993, 1994
Motorola Inc. All rights reserved.


INTRODUCTION:
This is just my own implementation of the mysterious
fpsp.resource introduced with OS3.9. The reason for this
late implementation was the lack of documentation for the
mystery feature and I always seem to have have more projects
to do than I have actually have time for.

The fpsp.resource was conceptually a pretty good idea, but
IMO hindered by poor implementation. This made it
even worse than the NSDpatch feature of OS3.9. At least NSD
had documentation and a support "Patch" for the legacy
devices which were NEVER EVER going to be updated for NSD
support!

So, now you can have fpsp.resource support for the legacy
68040 and 68060 libraries which are NEVER EVER going to be
updated for the mystery feature!

REQUIREMENTS:
- 68040 or 68060 CPU with FPU
- MathIEEE libraries which can use the fpsp.resource
or
- FastIEEE patch from Aminet (for OS3.1 math libraries)

DISCLAIMER:
Use at your risk. No warranty expressed or implied, etc.

NOTES:
The LoadFPSP tool checks for the 040/060 FPU and will
report an error if not found. This is a disk load
implementation of an AmigaOS "resource". Hence, it is not
intended to be ROM resident or survive a reboot.

Also, the installation tool does NOT support removing the
fpsp.resource from the system because this would crash any
applications which have dependencies. The fpsp.resource
should be loaded into the FASTEST (preferably 32 bit) RAM in
the system.

Finally, it must be loaded before any of the applications which
can use it. At present, the AmigaOS MathIEEE libraries are
the ONLY applications using the fpsp.resource.

SPEED COMPARISONS:
The fpsp.resource will not make the AmigaOS MathIEEE
libraries as fast as the HSmathlibs. But it will certainly
make them faster and more multitasking friendly than the
exception trap handlers of the 68040 and 68060 libraries.

UPDATE:
The 040 version is now included in the archive. This is due
to the so called 060 emulation of FINT and FINTRZ only
emulating the "Not Normal" numbers and not the actual
instructions. The 040 version emulates the instructions and
is needed to avoid the exception trap for the case of "Normal"
operands.

The trade off for 040 users is this version is larger and may
be a little slower on the transcendental functions. For 060
users the instructions execute in hardware so the 060 version
should be faster in all cases.
           
Here is the link:
https://eab.abime.net/showthread.php?p=1579725
« Last Edit: July 26, 2023, 07:59:16 PM by SpeedGeek »
 

Offline SpeedGeekTopic starter

Re: fpsp.resource released
« Reply #1 on: July 26, 2023, 05:03:02 PM »
** NEWS UPDATE **

The 040 version is now included in the archive. This is due
to the so called 060 emulation of FINT and FINTRZ only
emulating the "Not Normal" numbers and not the actual
instructions. The 040 version emulates the instructions and
is needed to avoid the exception trap for the case of "Normal"
operands.

The trade off for 040 users is this version is larger and may
be a little slower on the transcendental functions. For 060
users the instructions execute in hardware so the 060 version
should be faster in all cases.
« Last Edit: July 26, 2023, 07:58:14 PM by SpeedGeek »
 

Offline SpeedGeekTopic starter

Re: fpsp.resource released
« Reply #2 on: October 11, 2023, 03:15:05 PM »
** 2ND NEWS UPDATE **

v40.1-60.1 released!
- Added code to Dyadic function to copy source tag
to destination tag. This should fix a possible bug with this
function. Updated notes regarding the LoadFPSP tool
limitations.
 

Offline SpeedGeekTopic starter

Re: fpsp.resource released
« Reply #3 on: October 15, 2023, 07:27:41 PM »
** 3RD NEWS UPDATE **

v40.2-60.2 released!
- The Dyadic function now copies the destination
operand from FP1 and tags it. This means it's entirely up to
the user to place a valid destination number in FP1. The
bonus feature was eliminated to minimize the code addition.