Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watnot!watcgl!awpaeth From: awpaeth@watcgl.UUCP Newsgroups: comp.graphics Subject: Re: Ikonas/Adage MPC 68000 floating point (68881) ? Message-ID: <786@watcgl.UUCP> Date: Thu, 26-Mar-87 01:27:06 EST Article-I.D.: watcgl.786 Posted: Thu Mar 26 01:27:06 1987 Date-Received: Fri, 27-Mar-87 01:17:32 EST References: <616@rna.UUCP> Reply-To: awpaeth@watcgl.UUCP (Alan W. Paeth) Organization: U. of Waterloo, Ontario Lines: 31 Keywords: floating point, Adage, Ikonas, microcode > Ikonas/Adage MPC 68000 floating point (68881) ? This may be a solution to your problem, though not precisely to your question. Our graphics lab runs two Ikonas 3000's, each with MPC (68000) boards. Floating point on the latter was slow (1-2ms FP multiply), which hampered frame-buffer based shading and coordinate transformation software. To fix this, I wrote an extensive floating point library for the BSP (2901 b'slice). The routines provide exact VAX emulation (single point format, with all rounding and overflow conditions matching the VAX). The results were a ~.1MFLOP multiply time -- about a 15x improvement. At this point the frame- buffer bottleneck lies most often in actual pixel writing when doing wire- frame or flat shading. The package has also been used commercially to do fast Phong shading, thus unburdening the host (be it a VAX or the M68000) from the math done at each pixel. The basic package provides the four algebraic functions, plus cmp (faster than sub), fix, float and sqrt(x). An accompanying exponential and trig library is also available -- the Phong shader used this to evaluate cos^n(x). Best of all (here's the pitch) the Ikonas C compiler developed at Waterloo and now marketed by Gurd Enterprises (rpgurd@watcgl) incorporates this work, by providing a "float" data type, so conventional infix notation can be used to code bit-slice routines. In addition, the compiler features a runtime stack to support full recursion. In many cases, off-the-shelf imaging software (e.g. anti-aliased polygon packages or FFT routines) can ported directly. Hope this helps. /Alan Paeth