noah@Apple.COM (Noah Price) (06/11/90)
Filename: IIci-Compat-Summary
IIci Compatibility Report Summary
=================================
In an effort to help clarify the issues surrounding IIci compatibility
I have put together a detailed report explaining both the causes behind
some of the problems people are experiencing and what is being done
about them. This link is a summary of that report. If you want more
detailed information, refer to the accompanying file "IIci-Compat-
Report."
________________________________________________________________________
IMPORTANT!/IMPORTANT!/IMPORTANT!/IMPORTANT!/IMPORTANT!/IMPORTANT!
The majority of the modifications that third party developers are
having to make to support the IIci are changes that are going to be
necessary to support future CPU's and future versions of the Mac
operating system.
* Addressing changes necessary to support non-contiguous memory
and the utilization of the PMMU are changes that will be
required to run correctly with VM in System 7.0.
* 32-bit QuickDraw will be built into all future ROM's which
offer color support.
* The built-in video monitor identification scheme will be
included in future CPU's and is also part of our new video
cards.
* Changes to the ADB manager and the video configuration (i.e.
gamma correction table) will both be included in future
systems.
* And, the fact that Apple will design systems that run at greater
than 16 MHz is obvious.
________________________________________________________________________
000000000000000000000000000 THE LEADING CAUSES 0000000000000000000000000
A significant number of IIci compatibility problems are related to the
improvements outlined below. Keep in mind that the majority of
applications were not effected by these changes and of those that were
most have been corrected.
1) Non-contiguous memory - "Get physical!"
The move to non-contiguous memory in the IIci was implemented to
provide a greater degree of flexibility when configuring the system
with memory. The implication of this change to a developer is that
a specific logical address no longer corresponds to a specific
physical address in RAM.
This change affected a small subset of developers designing Nubus
master cards. In order to work correctly with non-contiguous memory
these developers were required to rewrite their drivers to do
logical to physical address mapping, (which meant incorporating a
call named "GetPhysical").
2) Utilizing the PMMU - "No more bad addresses!"
In previous Macintosh systems it was possible for an application to
request access to an invalid address. There was no mechanism for
evaluating the validity of an address being requested before it was
passed on to the memory controller. With the IIci, the PMMU on the
68030 performs this evaluation and signals a bus error when an
invalid address is requested.
This change revealed a wide range of problems with third party
applications, CDEVs, INITs, DA's and drivers.
IMPORTANT NOTE
The incompatibility of version 3.0 of Apple's CD-ROM driver and the
incompatibility of version 2.3 of MacTerminal are both attributable
to this change.
3) 32-bit QuickDraw in ROM - "No longer an option"
The Macintosh IIci was the first CPU to incorporate 32-bit
QuickDraw in ROM. Machines prior to the ci could optionally upgrade
to 32-bit QuickDraw via a system INIT file in RAM. Although 32-bit
QuickDraw was engineered for high compatibility with original
QuickDraw and Color QuickDraw programmer's interfaces, certain
programming practices could lead to problems with this new
software. Users of the 32-bit QuickDraw INIT could optionally
deactivate the software if there proved to be a compatibility
problem. Because 32-bit QuickDraw is in ROM on the ci, it cannot
be defeated.
This change meant that certain paint and image processing
applications had to be modified. In addition, the location of 32
bit QuickDraw in ROM (vs. RAM) meant that drivers for a handful of
third party video cards had to be modified.
4) Self-configuring built-in video - "What's connected?"
One of the features of the IIci's built in video design is the fact
that it is self configuring, which means that all the user has to
do is plug their display into the video port and the system
automatically recognizes what is attached and configures itself
accordingly. This feature required that three of the 15 pins within
the video connector be designated for monitor identification.
This additional specification meant that certain third party CRT
vendors, along with certain vendors of large screen projection
systems and LCD displays were required to modify their designs.
5) ADB manager change - "My lock doesn't work"
In an effort to reinforce the ADB standard, protocols surrounding
the polling of ADB devices were more explicitly defined. Clarifying
the rules surrounding the polling process meant that certain
developers had to modify their designs.
This change primarily affected developers who utilize an ADB lock
as a form of copy protection.
6) Gamma correction table setting - "Why is my Screen so dark?"
Since its introduction, all Macintosh II systems perform color
correction, commonly called "gamma correction", on video displays
to compensate for non-linearity in the monitor's phosphor response.
The effect of a proper gamma table is to make a monitor appear
brighter and colors more vivid. Due to a change in the way the IIci
handles the gamma correction data there are a number of third party
displays which end up uncorrected.
As a result, these displays tend to look darker when connected to
the IIci. In order to help developers effected by this change,
Developer Technical Support is making available source code to an
INIT that will allow developers to load the appropriate gamma table
information.
7) 25 MHz Clockspeed - "Too fast"
Certain applications were designed around the assumption that a
call to a particular chip or location in memory would be returned
within a given interval of time. Those developers who made this
assumption ensured that their product would break when Apple
introduced a higher clockspeed system. The IIci turned out to be
that higher speed system.
This change affected a small number of developers who had
instituted timing-dependent copy protection schemes and developers
who designed timing-dependent games.
00000000000000000000000000 ROM RELATED ISSUES 00000000000000000000000000
In addition to those problems related to improvements in the IIci
design there were also minor problems related to a handful of bugs
discovered in the IIci ROM. These changes have been corrected through
bug fixes incorporated into the 6.05 release of system software.
1) Palette Manager
There was a patch file for the palette manager which failed to be
included in the final IIci ROM. By not including this patch,
certain paint and image processing applications ended up performing
incorrectly.
2) Zero-width Characters
This is a bug which was inadvertently introduced in the IIci ROM,
which causes zero-width characters (used for musical notation,
mathematical notation and Kanji and Arabic script) not to be drawn.
This caused particular problems for developers doing musical
typesetting and some mathematics programs.
3) Serial Driver
Due to an anomaly in the serial driver code, whenever a IIci is
being used with a modem and a "break" character is returned during
a communications session the system will crash or hang. This does
not occur frequently, but does occasionally occur when for instance
a user is engaged in a session with one of the remote information
services.
4) TextEdit
There were a handful of bugs in TextEdit which were incorporated in
the IIci ROM. The majority of these problems are cosmetic and they
have also been corrected in 6.05.
IMPORTANT NOTE:
System Software 6.05 is shipping with all new Macintosh computers
including the IIci. It is also available through all Authorized Apple
Resellers, AppleLink and other electronic bulletin boards.*
0000000000000000000000000000 CONCLUSION 0000000000000000000000000000
This link and the accompanying report are intended to promote a better
understanding of the issues surrounding IIci compatibility, and
encourage an appreciation of the fact that the majority of the
modifications necessary to support the IIci are modifications that will
be required to support future versions of the O/S as well as future
CPU's. The Macintosh IIci should not be viewed as an ill-behaved
exception, but instead as a machine that is contributing to the
evolution of the Macintosh technology.
The good news is that the majority of third party applications run
perfectly fine on the IIci. And, among the small number of third party
compatibility problems related to the IIci most have been revealed, and
if they have not already been corrected they are in the process of
being corrected.
If you are interested in more detailed information regarding the issues
covered in this memo please refer to the file "IIci-Compat-Report."
You will also find a IIci Third Party Compatibility List. This list
(posted by company and by product) was gathered through a survey of the
leading Macintosh third party developers and includes over 350 of the
leading hardware and software products, all of which are compatible
with the IIci.
Once again, I hope this report will contribute to your understanding of
the IIci and in so doing strengthen your confidence in the product. It
is critical that we move customers beyond any concerns they may have
regarding IIci compatibility and focus their attention on the
outstanding features the product has to offer. If you have any
questions please feel free to link me.*
Thx
Fred Benz
Macintosh IIci Product Manager
========================================================================
* See the accompanying note "IIci-Compat-READ-ME" for instructions to
send questions or comments regarding the IIci Compatibility Report or
lists.
========================================================================