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