--- "Zane H. Healy" <healyzh(a)aracnet.com> wrote:
Unfortunatly I don't remember where I read that
for sure, and I'm not 100%
sure it's the Dragonball, but the Dragonball sounds like the right follow
on processor.
I recall the same thing.
I think I read it in the TEAM Amiga Mailing list, in
one of
Dave Haynie's posts, but like I said, I don't remember.
I did see Dave Haynie mention that there were some fundamental differences
in the Dragonball that caused binary-level compatibility problems, but I
don't recall the specifics, either.
However, I think even some of the 68040 and 68060
series chips don't have
all the instructions of earlier processors. We got any 68k pro's around
here?
For all practical purposes, the differences with the 68000 and the '40 (and
higher) are more related to priv'ed instructions, not missing instructions.
There may be some missing ones, but they are not ones that were well used
(BCD packing and unpacking instructions come to mind, but I'm not 100% sure
of that). Cache and timing issues for instruction-set-dependeng loops are
much more of a problem. Because the 68K family didn't change as massively as
the Intel x86 family, programmers tended to use cycle-counting loops more often
than they should. Who here remembers the first generation of VGA games that
didn't run right on the 486 because the loops were running too fast? DOS
programmers learned their lesson years ago when poorly-written software broke
with every new hardware design. Such things came more slowly to the Motorola
world.
The first compatibility problem came with the 68010 and the MOVEcc
instruction. It's unpriv'ed on the 68000, and priv'ed on the 68010
and up. AmigaDOS provides a call to extract the relevant condition bits
that one is supposed to use. The practical solution was to install an
exception trap to handle when some errant programmer used the forbidden
instruction and emulate the real thing. It's much, much slower, but
it's the kind of thing that doesn't get executed in a loop, so wall-time
execution speed is essentially unaffected. For the trivial-minded, the
AmigaDOS calculator that came with AmigaDOS 1.1 uses the offending instruction
and makes a good test that the exception handler is installed.
-ethan
=====
Infinet has been sold. The domain is going away in February.
Please send all replies to
erd(a)iname.com
__________________________________________________
Do You Yahoo!?
Thousands of Stores. Millions of Products. All in one place.
Yahoo! Shopping:
http://shopping.yahoo.com