Subject: Re: '040
To: Ken Nakata <kxn3796@hertz.njit.edu>
From: Chris G. Demetriou <cgd@alpha.bostic.com>
List: macbsd-general
Date: 09/10/1994 03:11:49
> I mean, I want to use FPU-less accelerator for FPU emulator
> development.  I can use my SE/30 while I'm writing the emulator and
> test it with the accelerator, at least I thought.  But an 030
> accelerator w/o FPU is better suited for that purpose, I guess.
> Does anyone know a cheap 030 accelerator for SE/30?

Ick.  why bother?

a quick look in .../gnu/usr.bin/gas/opcode/m68k.h reveals that in the
instruction descriptions:

   I  Coprocessor ID.   Not printed if 1.   The Coprocessor ID is always
      extracted from the 'd' field of word one, which means that an extended
      coprocessor opcode can be skipped using the 'i' place, if needed.

and all of the FP instructions look like:

{"fabsb",       two(0xF000, 0x5818),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },   

etc.

in fact, there are no 'I's followed by numbers in the file, so if you
are careful, you can get away with a mostly-global substitution of 'I'
for I#, where # is the CpID you want the instructions generated for...

then replace your assembler with the hacked on, and viola, you've got
FP instructions for which you don't have a cprocessor...

It shouldn't be that hard to get the emulator do a quick check of
#define'd number against the CpID field of the CP instructions --
in fact, you need to do it anyway, so you don't try to interpret
'random' coprocessor instructions as FP ones...


chris

------------------------------------------------------------------------------