CFM-68K 4.0 SDK Code Fragment Manager for 680x0 Macintoshes Overview and Installation Introduction In November 1996, Apple Computer announced a problem with CFM-68K code running at interrupt time. We posted Technote #1084 describing the problem and posted a warning message recommending that customers disable the CFM-68K Runtime Enabler extension. This problem has been fixed in the 4.0 release of the CFM-68K extension. Most applications will not need modification. Users will simply install the new extension and reboot to take advantage of the fix. Because of the severity of the problem, it is imperative that users upgrade to the 4.0 version of the extension. If your product executes on a 680x0 machine and it requires the CFM-68K Runtime Enabler, you must ensure that your customers obtain the latest version of the extension, particularly if your product executes any CFM-68K code at interrupt time. The document, "CFM-68K 4.0" describes the problem in greater detail than was originally presented in Technote #1084 and details the remaining limitations with this version of CFM-68K. If your application supports its own (non-Apple) pre-emptive thread scheduler, you should read that document for instructions on how to modify your code so that your application is protected from this problem. What is included in this SDK? € CFM-68K Runtime Enabler, v. 4.0 € "CFM-68K 4.0", a technical description of CFM-68K 4.0 € ObjectSupportLib, v. 1.2 € New MixedMode Interfaces € New Gestalt Interfaces How do I install CFM-68K and ObjectSupportLib? Drag install the CFM-68K Runtime Enabler and ObjectSupportLib to your Extensions folder and reboot. The MixedMode and Gestalt interfaces will work with the E.T.O. #22 interfaces. Please read the document "CFM-68K 4.0" to determine if you need these interfaces. Why is ObjectSupportLib included in this SDK? We are including the 1.2 version of ObjectSupportLib simply as a convenience to you. If you are using an older version of ObjectSupportLib, you should replace it with this version. CFM-68K does not depend on the ObjectSupportLib library. This version of ObjectSupportLib fixes several serious problems. The bugs that were in previous versions of ObjectSupportLib that have been fixed in this release include: € An application works as usual but stops being scriptable. € An application refuses to load, saying that some resource is unavailable. € Some time after loading or unloading an application, the system freezes or crashes. € An application fails to find some file or resource (e.g. its preferences file). Information for Installer Script Writers Your installer should determine into which version of the system it will be installing your software. We'll call this the "target system". Installers should not install the CFM-68K Runtime Enabler on target systems running Mac OS version 8 or later because CFM-68K is integrated into Mac OS 8. If the enabler is in the user's extension folder under Mac OS 8, the enabler will simply refuse to load on startup and is therefore inert. If the version of the target system is less than 8.0, your installer should check to see if there is a version of CFM-68K installed in the target system's Extensions folder. You can do this by iterating over all files in the Extensions folder with PBGetCatInfo and testing for files with a creator code of 'cfm8'. Your installer might also want to do this for the "Extensions (Disabled)" folder. If your installer finds no copies of CFM-68K on the target system, your installer should install version 4.0 or greater of the CFM-68K Runtime Enabler in the Extensions folder. Your installer should not install previous versions of CFM-68K.