From: richk@grebyn.com (Richard Krehbiel)
Subject: Re: If things had been different... (was: FCC etc)
Organization: Grebyn Timesharing
	<1993Jan5.154612.27051@wam.umd.edu>
Date: Wed, 6 Jan 1993 12:42:18 GMT

In article <1993Jan5.154612.27051@wam.umd.edu> rsrodger@wam.umd.edu (Yamanari) writes:

>   In article <1993Jan4.190822.1001@pphbau.atr.bso.nl> paul@pphbau.atr.bso.nl (PPH Bauwens) writes:
>   >: >The 68030 grew more gracefully than the x86 did, though.  I mean, the
>   >: >386 contains *two* MMUs and *three* incompatible instruction sets...
>   >
>   >I must contradict here. The upwards compatability of the 68K line at the
>   >operating system (kernel) level is almost nonexistent.

(Agreed, but Motorola has acknowledged this all along.  Upward
compatability is promised for application code only.)


>       evenusers of old M68k based SUN systems.  There were essentially
>       3 compatibility problems in the upgrades, all of which could
>       have been avoided and most of which affected few, if any, programs.
>
>       These were:
>
>       1.  Programmers used the extra 8 bits at the top of the 68000 
>       address register as an extra general-use register.  The 68000
>       only used 24 bits of this register.
>
>       All code that practiced this broke under the 68010.

Uh, 68012.  The 68010 was pin-compatible with the 68000, and had no
additional address lines.  The 68012 had 30 address bits, but was
never used in any Mac or Amiga (or anything at all as far as I know)
so no one cared what applications it broke.

>       2.  Many SW programs used an incompatible means of accessing
>       the SR (might be wrong--I haven't thought about this in 
>       years) registers through supervisor mode.  These programs broke
>       in the transition from 68000 to 68010.

    In order to make a "virtual machine" possible with the 68010, the
privileged bits in the status reg had to be made unreadable by user
mode code, but in the 68000, MOVE SR, which reads the whole status
register, was unprivileged.  Motorola changed this to a privileged
mode instruction, and introduced MOVE CCR to read only the condition
codes.  I believe Motorola was in error thinking that a "virtual
machines" mode was needed, but this may be hindsight speaking - a 68K
VM OS has never been written.

    Before the 68010, no one knew that MOVE SR would become unusable,
so it was not necessarily "bad programming practice" to use it.
Still, the 68010's design was available before the 68K based platforms
shipped.  The Amiga added an OS call to read the condition codes, and
Commodore implored programmers not to use MOVE SR.  When they used it
anyway, and code broke on the 68010, a "TSR" was distributed which
caught the fault caused by MOVE SR and emulated it's intent, which
allowed those programs to run.  (Commodore made a mistake, I believe,
not adding this to the basic ROM services.)

>   >Motorola did a very bad job on the compatibility of the 68K line.
>   >This is in my opinion te most important reason they failed.
>   >Too little, too late.
>
>       Nope.  Motorola's 88k and 68k lines are being abandoned because
>       they failed to get the 2nd generation of bug-fixed 88k's out the
>       door--they were years late--anf a new 68k is just becomeing 
>       unproductive.  Eventually, the '060 will come along, but by that
>       time--who knows?  that chip that can emulate a 25mhz 68040 or
>       33mhz '486 will probably be catching up about then, and from
>       what I've readit's a fairly simple chip next to the real McCoys.

Nah; the 68K is dying because of the x86.  I believe Motorola's
assessment that supervisor mode compatibility is not important was
correct.  Requiring OS revisions to support a new CPU is no big deal.

Sun abandoned Motorola and developed Sparc when the 88K was delayed.
Most others turned to MIPS, which had better compiler technology.  Now
Motorola is pouring development effort into IBM's PowerPC chip.  The
88K will probably not recover, and with rumors of Apple's adoption of
the PowerPC, I have serious doubts that the 68060 will ever be
produced.  Commodore's just out of luck; they could never sell enough
high-end 68060's to make it worth Motorola's while.
-- 
Richard Krehbiel                                 richk@grebyn.com
OS/2 2.0 will do for me until AmigaDOS for the 386 comes along...
Newsgroups: comp.os.os2.advocacy