[comp.sys.amiga.hardware] 68030 in a Lucas and MMU stuff

smc8516@isc.rit.edu (S.M. Curtin) (12/18/90)

I posted this last week and got no replies or acknowledgement
whatsoever, so I'm assuming our server screwed up again. Below are some
questions I'd really like to know the answers to.



A friend and I are planning to build LUCAS boards for ourselves within
the next few months. I seem to remember reading here that one could
replace the 68020 in a LUCAS with a 68030 providing he rewires the
socket (and changes it?) and ties off the extra 68030 lines. Is my
memory correct on this matter. If so, could someone please repost or
point me in the direction of the pertinent information.

Also, would the MMU in the 68030 be operable in this type of setup. It's
the main reason I'm interested in using a 68030. If it's not going to
work, I might as well stick with an '020. Which leads me to another
question: how difficult would it be to install a 68851 on the lucas
board? If it's just a matter of a straight hookup like the 68881, I can
deal with it, if not I'd probably need a vivid description of how it's
done. (Do the 68851 docs give an example of this?) Which leads me to
ANOTHER question: Can the 68851 be hooked up to a 68010 (my current
processor) with ease, and if so would something like SetCpu be able to
detect and make use of it, despite the fact that an '020 or '030 is not
present in the system?

Anyone who has read my posts in the past here knows it's sort of an
ongoing quest of mine ever since I "upgraded" from a 1000 to a 500 to
achieve loadable kickstart on my machine. SetCpu offers that option, but
I need the MMU. If I don't do it this way, I'd have to Do SOme
cumbersome ram hack that maps memory atop and switches out the $f80000
ROM. I'd much rather go the more elegant route. Any help would be
appreciated. 

Thanks.

..Sean.

Oh, by the way, I AM the one who asked about readdressing 501 ram at WOC
in Toronto. I think those Q & A sessions are great. I hope you folks at
Commodore keep them up.

daveh@cbmvax.commodore.com (Dave Haynie) (12/20/90)

In article <1990Dec17.204644.22516@isc.rit.edu> smc8516@ultb.rit.edu.isc.rit.edu (S.M. Curtin) writes:

>A friend and I are planning to build LUCAS boards for ourselves within
>the next few months. I seem to remember reading here that one could
>replace the 68020 in a LUCAS with a 68030 providing he rewires the
>socket (and changes it?) and ties off the extra 68030 lines. Is my
>memory correct on this matter. If so, could someone please repost or
>point me in the direction of the pertinent information.

I don't know where they documented it, but in general, a 68030 with a few lines
tied off is a drop in replacement for the 68020.  The pinout is, of course,
different and must be adjusted for, but the timing is virtually identical.  Off
the top of my head, you need to pull up the STERM*, CIIN*, CBREQ*, and 
MMUDIS* lines, all others should have 68020 equivalents or are unused outputs.

>Also, would the MMU in the 68030 be operable in this type of setup. 

The MMU will work, the data cache won't.

>Which leads me to another question: how difficult would it be to install a 
>68851 on the lucas board? If it's just a matter of a straight hookup like 
>the 68881, I can deal with it, if not I'd probably need a vivid description 
>of how it's done. (Do the 68851 docs give an example of this?) 

The 68851 is another story alltogether.  It sits between the 68020 and the
rest of the world (except the '881/2, which sits on the logical bus), and 
it's kind of annoying.  It changes the 68020 timing ever so slightly, and for 
the worse, so while your 68020 logic may still work, timing critical stuff 
like memory has a chance of not working any more. The '851 was designed to 
be, uh, flexible, and so there are several ways to interface it with the 
68020.  Motorola wanted to provide for logical bus cache, logical bus mastering
by something other than the 68020 without affecting the physical bus, things
like that.  So it gets a bit gnarly to do anything with it.  If you get real
serious about it, get the '851 book, and I can probably provide some pointers.
But you're much better off with the '030 for most applications.

>Which leads me to ANOTHER question: Can the 68851 be hooked up to a 68010 
>(my current processor) with ease, and if so would something like SetCpu be 
>able to detect and make use of it, despite the fact that an '020 or '030 is 
>not present in the system?

Not really.  The '851 uses the coprocessor interface and speaks in '020 signal
terms.  Only, it does its own chip selecting, rather than being externally
selected like the '881, so you'd be rather hard pressed to emulate coprocessor
cycles.  I gather the 68010 does have some kind of coprocessor space cycles,
but I don't know if they're anything the '851 would handle (I kind of went
straight from 68000 to 68020, so I don't know the 68010 that well, other than
the fact it's pretty much a 68000 from the bus protocol point of view).  Plus,
the bus conversion logic, if even possible, would give you a headache.

>...Sean.

-- 
Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests"
   {uunet|pyramid|rutgers}!cbmvax!daveh      PLINK: hazy     BIX: hazy
		"I can't drive 55"	-Sammy Hagar

rbattle@hydra.unm.edu (Ron M Battle STUDENT) (12/20/90)

Last time I wrote to Brad Fowles, he was designing a 68030 daughterboard,
available by April 1990. Soooo.... Contact:
 Brad Fowles
 The Lucas Project
 RR #5
 Caledon East
 Ontario, Canada
 LON1EO

huver@amgraf.UUCP (Huver) (12/22/90)

Putting a 68030 into an adaptor socket, onto LUCAS '020 socket IMMEDIATELY
gives you a free MMU (albeit a scaled-down, read on).  Other than this,
there is nothing to be gained in any form (you must disable 030 data
caching, unless of cource you'll add your own cache memory design).

The 68851 MMU has built-in chip-select logic, so it is much more straight-
forward a hookup than 68881/2.  However, as Dave Haynie pointed out, with
'851 in place, the system looks like:

	CPU <-+-> MMU <---> outside world
	      |
	     FPU

Even with MMU disabled (become a pass-through), law of physics says you will
see some timing difference; it is much worse if MMU is enabled, for address
translation obviously takes some time.

The MMU in 68030 is a subset of '851.  So if you're into MMU hacking and
value the capacity (AmigaDOS doesn't), you might want to fool with '851.
Make an adaptor board that holds both CPU and MMU, then wire MMU outputs
back to LUCAS CPU socket.  But prepare to witness malfunctioning due to
signal timing skew.

If you use FRANCES, you have no need of an MMU.  FRANCES provides Kickstart
in its space (via copying from WCS) which is exactly what SetCPU does anyway.
And with heavy real-time nature of Amiga tasks, I suspect you won't see a
virtual memory paging AmigaDOS for quite some time to come.  By then you'll
probably have saved up for a new 68040 Amiga?

>Which leads me to ANOTHER question: Can the 68851 be hooked up to a 68010 
>(my current processor) with ease, and if so would something like SetCpu be 
>able to detect and make use of it, despite the fact that an '020 or '030 is 
>not present in the system?

As said, '851 was designed for 68020.  For 68010, Motorola 68451 could be
used (don't know if they still make it).  But it's a whole different ball
game there, you'll have to commit your own heavy hacking to make it work;
certainly not worth thinking about if you value your hair.


-huver   ...!uunet!amgraf!huver