[comp.sys.mac.programmer] Compatibility with non-FPU Macs

John_Miller@mindlink.UUCP (John Miller) (03/30/91)

In article <7720@idunno.Princeton.EDU>, bskendig@bonnet.Princeton.EDU (Brian S.
Kendig) writes
> Apple once told developers that they could safely assume any
> 020- or 030-based Macintosh would have a math coprocessor
> in it.  Apparently they warned people about their change in policy
> while they were designing the LC and IIsi, but by then people
> were already using applications which assumed the coprocessor.

I have heard this before.  Perhaps it is true.  Lacking a close
personal friend in Apple's DTS or engineering groups, I have always
relied on Apple's Tech Notes to guide me through compatibility
issues.  Yes, there was the Compatibility Alert dated June 1990
that said "Listen, we are definitely going to have a 020/030 model
without an FPU," but the warnings about FPU-checking date back
to 1987.  Tech Note #129, first released in May, 1987, documented
the SysEnvirons call which included a field to indicate whether
an FPU was present.  When an FPU check was so easily available,
I fail to understand why a programmer would decide to do a
"once removed" test on the main CPU type.  There is a gap in my
Tech Notes but it appears that by October 1988, Tech Note #129
had been modified to include the more explicit warning:

"Regardless of the version used, however, your software should be
prepared to handle unexpected values and should not make assumptions
about functionality based on current expectations.  For example,
if your software currently requires a Macintosh II, testing for
machineType >= envMacII may result in your software trying to run
on a machine which does not support the features it requires, so
test for specific functionality (i.e., hasFPU, hasColorQD, etc.)."

Tech Note #236, "Speedy the Math Coprocessor", was released in
June 1989.  It starts by repeating that SysEnvirons should
be used to detect an FPU.  I suspect that many of the applications
that had problems with the LC/si would have received at least
minor updates between June 1989 and the LC/si release.

Apple is not without sin in the compatibilty game, but I think
they have handled the FPU properly.  As long as there has
been an FPU Mac, there's been an easy and safe way of
checking for the presence of an FPU.

______________________________________________________________________
John Miller                         (604) 433-1795
Symplex Systems                     AppleLink (rarely)  CDA0461
Burnaby, British Columbia           Fax: (604) 430-8516
Canada                              usenet:  john_miller@mindlink.uucp

Macintosh Consulting and Software Development
______________________________________________________________________