[comp.sys.atari.st] how about an upgrade to 68010

steve@thelake.mn.org (Steve Yelvington) (01/15/91)

[tony@tacky.cs.olemiss.ed writes ... ]

> I looked through ST Internals and found some MOVE SR type instructions, in
> the boot-up sequence, which are privileged on the '010, and not on the '000.
> 
> Now, I want to know if its my silly TOS version, that is, 1.0, which causes
> this problem, and if it's been fixed for TOS 1.2 or 1.4.

The Jan/Feb issue of Atari Explorer says TT TOS includes an exception-handler
in the BIOS that traps this error and replaces it with a move from CCR.
Apparently TOS ROMs are not the only software with this instruction.

(I don't know whether TOS 1.4 and 1.6 have this error-handling, or whether
they include the offending instruction.)

----
  Steve Yelvington / P. O. Box 38 / Marine on St. Croix, MN 55047 USA
  Editor of the MAST (Minnesota Atari ST Users) newsletter - $15/year
  INTERNET: steve@thelake.mn.org    UUCP: plains!umn-cs!thelake!steve

dsmall@well.sf.ca.us (David Small) (01/16/91)

I've plugged a 68010 into an ST and gotten it working (with the help of a Zax
in-circuit emulator).

	TOS 1.0, 1.2, and 1.4 do not recognize the larger stack frame 
associated with the 68010,20,30,and 40. They also adopt space-saving
techniques
that make them 680x0 incompatible, such as stacking up an SR and a PC,
then doing an RTE-- which will probably bomb on a 68010.

	To bring up the 68010, we used a jumperboard with TOS 1.6 ROMS in it,
mapped at ^?$e0 0000 for 256K worth. The 68010 then worked nicely. (We did
have
to remove some ST-E specific stuff from the ROMs; it was trying to initialize
hardware we did not have in that ST!)

	From there, we went to the 68030.

	It's quite a project to get the 68010 up on the ST, and that chip
is pretty much obsolete anyway. The 030 is where the action is at.

	-- thanks, Dave / Gadgets

hyc@math.lsa.umich.edu (Howard Chu) (01/18/91)

In article <22662@well.sf.ca.us> dsmall@well.sf.ca.us (David Small) writes:
>I've plugged a 68010 into an ST and gotten it working (with the help of a Zax
>in-circuit emulator).
>
>	TOS 1.0, 1.2, and 1.4 do not recognize the larger stack frame 
>associated with the 68010,20,30,and 40. They also adopt space-saving
>techniques
>that make them 680x0 incompatible, such as stacking up an SR and a PC,
>then doing an RTE-- which will probably bomb on a 68010.
>
>	To bring up the 68010, we used a jumperboard with TOS 1.6 ROMS in it,
>mapped at ^?$e0 0000 for 256K worth. The 68010 then worked nicely. (We did
>have
>to remove some ST-E specific stuff from the ROMs; it was trying to initialize
>hardware we did not have in that ST!)
>
>	From there, we went to the 68030.
>
>	It's quite a project to get the 68010 up on the ST, and that chip
>is pretty much obsolete anyway. The 030 is where the action is at.
>
>	-- thanks, Dave / Gadgets

Well, the 68010 is pretty much obsolete, but it at least *can* be a little
faster than a 68000. Too bad there are no 16MHz 68010s. (Why is this, I
wonder? Why fast 68000s but not 010s? Oh well.) From what you've said, can
we infer then that creating a socket for a 68010 in an STe should be a
completely trouble-free operation? (You realize, of course, that I'd give
this up in a second if I could get that 68030 board....  }-)
--
  -- Howard Chu @ University of Michigan

Flame all you want - we'll take more.

dsmall@well.sf.ca.us (David Small) (01/22/91)

Howard's question concerns installing the 68010 CPU into an Atari.

	First, the 68010 is the same sized chip as the 68000. Thus it plugs
in. That's the only easy part.

	You'll need to build an adaptor board with 256K-size ROM sockets (2)
on it, mapped with an address decoder to $e0 0000. (I've gotten in the habit
of splitting up big hex numbers that way). You'll then need to get TOS 1.6 or
1.62 (I have not worked with 1.62), find every hardware access to the STE
stuff, and NOP it out. You'll have to burn that into EPROMS and somehow
connect the adaptor board to the Atari; we did it through the Mega slot.

	TOS 1.6 just won't fit in the old TOS ROM sockets. Two reasons: It's
64K too big, and it is relocated from the original $fc 0000 TOS address to the
new $e0 0000 TOS address, so the first hard coded jump would crash.

	THEN, you need to make sure that $e0 001a (if I remember right) is
presented to the bus on RESET so the CPU knows where to power up to. I think
you can do that by connecting a pin of the old TOS ROM socket that would
select
at RESET to the address decoder, but you're getting out of where I feel 
comfortable.

	After all this, you'll experience an extremely mild speed increase,
and have a little bit of all that's needed for VM and MMU mapping available;
the 68010 required external chips to do it, which you'd have to wire on.

	My personal feeling is the project is worthwhile only if it would be
fun to do for the learning experience and challenge. It took us some time to
pull it off.

	Also, Quick-Index doesn't run on the 68010. Tisk, tisk, tisk.

	-- thanks, Dave / Gadgets