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. ========================================================================