[comp.sys.amiga] 1.3's 68881 Problem...

rg20+@andrew.cmu.edu (Rick Francis Golembiewski) (11/12/88)

I finally got my 1.3 Enhancer Package, but low and behold after fooling
around with it for a while I discovered that the 1.3 IEEE Libraries were not
fully compatible with the Beta IEEE Libraries.  I tested a few programs I had
written (under Lattice 4.01) which worked nicely with the old Beta Libs, but
now it loads the IEEE Library, but it doesn't make use of the 68881 (This is
easily noticed in speed, since you get get nearly a 30x speed increase for
Trig functions).  In fact I went back and Tried the Demos (FFuz, Fuz, and
FTrans) and the results were that only Fuz actually used the 68881 (Fuz was
compiled using Manx, however there is a provision to compile using Lattice
using Lattice Libraries...).   So, what's the deal is this a bug that wasn't
noticed?  (I like to actually control when/if the Math library is opened in
the program, but the methiod to do this now will NOT access the '881, while
it did for the Beta version [and was the suggested methiod to use the '81
for Lattice]).

Also, along the same lines, does anyone know if it would be possible to have
a replacement math.library that could just pass the calls to the IEE.libraries?
The reason I ask is that (currently) most programs that would benifit the most
from really fast math use the regular Math.library (ie Sculpt 3D, Photon Paint,
etc.).  and it would be nice to be able to just have a dummy math.library that
opened up the IEE.library and just passed the calls and returned the value to
a program.

As an aside, does anyone know how the Lucas board works with the 1.3 Math
Libraries?  (I'de certainly like to have the '20 using the '881 as a
co-processor, instead of a perif. devce...).

Enough Ramblings...
+----------------------------------------------------------------------------+
| Disclaimer: Me?  Post That, impossible I never post anything...            |
| TypetoYouLater(Everyone); --> "functional Good bye"....                    |
| Rick Golembiewski [ Pronunciation is half the Battle, spelling the other]  |
+----------------------------------------------------------------------------+

anakin@gpu.utcs.toronto.edu (Anakin Research) (11/13/88)

In article <QXSvC3R98k-0M9d1ok@andrew.cmu.edu> rg20+@andrew.cmu.edu (Rick Francis Golembiewski) writes:
>I finally got my 1.3 Enhancer Package, but low and behold after fooling
>around with it for a while I discovered that the 1.3 IEEE Libraries were not
>fully compatible with the Beta IEEE Libraries.  I tested a few programs I had
>written (under Lattice 4.01) which worked nicely with the old Beta Libs, but
>now it loads the IEEE Library, but it doesn't make use of the 68881 (This is
>easily noticed in speed, since you get get nearly a 30x speed increase for
>Trig functions).  In fact I went back and Tried the Demos (FFuz, Fuz, and
>FTrans) and the results were that only Fuz actually used the 68881 (Fuz was
>compiled using Manx, however there is a provision to compile using Lattice
>using Lattice Libraries...).   So, what's the deal is this a bug that wasn't
>noticed?  (I like to actually control when/if the Math library is opened in
>the program, but the methiod to do this now will NOT access the '881, while
>it did for the Beta version [and was the suggested methiod to use the '81
>for Lattice]).
>
>Also, along the same lines, does anyone know if it would be possible to have
>a replacement math.library that could just pass the calls to the IEE.libraries?
>The reason I ask is that (currently) most programs that would benifit the most
>from really fast math use the regular Math.library (ie Sculpt 3D, Photon Paint,
>etc.).  and it would be nice to be able to just have a dummy math.library that
>opened up the IEE.library and just passed the calls and returned the value to
>a program.
>
>As an aside, does anyone know how the Lucas board works with the 1.3 Math
>Libraries?  (I'de certainly like to have the '20 using the '881 as a
>co-processor, instead of a perif. devce...).
>
>Enough Ramblings...
>+----------------------------------------------------------------------------+
>| Disclaimer: Me?  Post That, impossible I never post anything...            |
>| TypetoYouLater(Everyone); --> "functional Good bye"....                    |
>| Rick Golembiewski [ Pronunciation is half the Battle, spelling the other]  |
>+----------------------------------------------------------------------------+

I've been running the Lucas board and 1.3 so far with no problems. Sculpt
4D is wonderful as is draw 2000. I'll check to see if I can specifically
find this bug in the library.
					Brad Fowles

dale@boing.UUCP (Dale Luck) (11/13/88)

In article rg20+@andrew.cmu.edu (Rick Francis Golembiewski) writes:

	< bunch of stuff about released ieee lib not compatible with >
	< old beta >

Are you using a 68020/68881 combination? or a peripheral68881?
We need to know what version of the ieee library you are using. There
was a version of the ieee libraries that was released that addressed
the peripheral style 68881 in only one address. This was before the
autoconfig stuff was put in. Maybe you are using a really ancient
ieee library. You may need to update your multitasking/autoconfig software
from the vendor. If you are using a peripheral 68881 make sure there
is somthing in the 'expansion' drawer, or some other suitable startup
that creates the public resource that ieee library searches for when it
starts up.

The ieee library as released works just fine as far as I know. 

>
>Also, along the same lines, does anyone know if it would be possible to have
>a replacement math.library that could just pass the calls to the IEE.libraries?
>The reason I ask is that (currently) most programs that would benifit the most
>from really fast math use the regular Math.library (ie Sculpt 3D, Photon Paint,
>etc.).  and it would be nice to be able to just have a dummy math.library that
>opened up the IEE.library and just passed the calls and returned the value to
>a program.

Not a trivial task as well as it does not always improve anything.
The programs you mention do make use of floating point, however they use the
basic functions (+,-,/,*,cmp) much more that anything else. These functions
are already quick in the math library 80-200usec. Except for an
occasional sqrt of course.

To make them use the 881 would require:
1. convert arguments from MFFP (Motorola Fast Floating Point) to IEEE.
2. Call the ieee library routines unless you want to duplicate all the
   special hardware code.
3. Convert result back to MFFP.

So I think that in most cases the code would actually be slower.

>
>As an aside, does anyone know how the Lucas board works with the 1.3 Math
>Libraries?  (I'de certainly like to have the '20 using the '881 as a
>co-processor, instead of a perif. devce...).

Looks like you just answered my question from above. I suggest you contact
the vendor of your board.
>
>Enough Ramblings...
>+----------------------------------------------------------------------------+
>| Disclaimer: Me?  Post That, impossible I never post anything...            |
>| TypetoYouLater(Everyone); --> "functional Good bye"....                    |
>| Rick Golembiewski [ Pronunciation is half the Battle, spelling the other]  |
>+----------------------------------------------------------------------------+


-- 
Dale Luck     Boing, Inc. {uunet!cbmvax|pyramid}!amiga!boing!dale
Although I do contract work for Amiga-LosGatos, my opinions probably
don't represent those of Commodore or its management or its engineers,
but I think the world would be a better place if they did.

dale@boing.UUCP (Dale Luck) (11/13/88)

In article <497@boing.UUCP> dale@boing.UUCP (Dale Luck) writes:
>In article rg20+@andrew.cmu.edu (Rick Francis Golembiewski) writes:
>
>	< bunch of stuff about released ieee lib not compatible with >
>	< old beta >
>
>Are you using a 68020/68881 combination? or a peripheral68881?
>We need to know what version of the ieee library you are using. There
                   ^beta^
>was a version of the ieee libraries that was released that addressed
     ^beta^
>the peripheral style 68881 in only one address.

Let me make it clear that the version of the library that did not
autoconfig was never put on a 1.3 wb disk.

And as far as I can recall, it was only an ALPHA release that did
not support autoconfig.
-- 
Dale Luck     Boing, Inc. {uunet!cbmvax|pyramid}!amiga!boing!dale
Although I do contract work for Amiga-LosGatos, my opinions probably
don't represent those of Commodore or its management or its engineers,
but I think the world would be a better place if they did.