[comp.graphics] Ikonas/Adage MPC 68000 floating point

dan@rna.UUCP (03/25/87)

	The Ikonas is a raster graphics system. One of its options is a
68000 processor that can handle peripherals, etc. (It, it is told, can
even run UNIX, anybody do that ?) We wish to enhance the functionality
of this 68000 option:

	- Has anyone ever put a 68881 floating point chip on the Ikonas 68000 ?
If so, how ? What is the suitability of the Apple MacIntosh and Amiga CPU
enhancements, such as the piggy back 68881 or the 68020 clip-ons ? How machine
and firmware specific are they ?

	- Has anyone cranked up the speed of the Ikonas 68000 ? It is currently
a 8Mhz chip. Could we put in a 12Mhz, perhaps by changing the memory chips to
90ns ?

	- We currently use the SUMACC C compiler to write programs for the
Ikonas 68000. If we succeed in putting on a 68881, is there a version of the
SUMACC or MIT C compiler which can generate code for the 68881 ? Any other
compiler suggestions (perhaps the GNU C compiler) ?

	Thanks.
					Cheers,
					Dan Ts'o
					Dept. Neurobiology
					Rockefeller Univ.
					1230 York Ave.
					NY, NY 10021
					212-570-7671
					...cmcl2!rna!dan
					rna!dan@cmcl2.arpa

awpaeth@watcgl.UUCP (03/26/87)

> 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