Technote 1163Mac OS 8.6By John MontbriandApple Worldwide Developer Technical Support Being a compendium of revised and new features of interest to software developers in release 8.6 of the Mac OS. |
This technote discusses changes in and corrections to the next generation of Mac OS: Mac OS 8.6. This system follows Mac OS 8.5.1 (the majority of whose features are found in Mac OS 8.5) and contains several new and revised features, including:
|
Revision History5/17/1999 - HD Toolkit 3.02 mentioned, updated TEC section, updated Memory Manager section, updated EBB warning in PlainTalk section. -JM |
Installation |
WARNING:
It is strongly recommended that Hard Disk Toolkit version 3.02 (or later) be used to format a boot volume or update its driver when Mac OS 8.6 is to be used as the system on the volume. The driver installed by versions 3.0.1 and earlier versions of the Hard Disk Toolkit has not been fully qualified for use with Mac OS 8.6.
The "Install Mac OS" application program requires System 7.1.2 or later to run, allowing users to install the full CD-ROM system installation of Mac OS 8.6 over System 7.1.2 or later. Users running Mac OS 7.5.1 or earlier are required to boot from the CD to perform an installation. New and improved features include:
|
Apple Help provides system-wide instructional help services for virtually all aspects of Mac OS. The Apple Help technology has two main components: Apple Guide and Help Viewer. Apple Guide 2.4.1Apple Guide is used to coach users through sequences of commands required to perform a task. Apple Guide 2.4 provides the following new features:
Help Viewer 1.2Help Viewer is a lightweight HTML-rendering application that allows users to browse online help materials conveniently. Help Viewer 1.2 provides the following facilities:
|
The System file contains code and resources for running the computer. This section describes new features, changes, and bug fixes in the System file. The functionality provided by the System file is always present under Mac OS 8.6, even when the Shift key is held down at system startup. |
ATSUI (Apple Type Services for Unicode Imaging) 1.1Unicode is a character set that encodes the characters of many languages in a flat 16-bit number space. ATSUI extends the QuickDraw API and makes it possible for Mac OS applications to draw Unicode text. ATSUI provides both low-level services for drawing Unicode text, as well as much of the high-end typographical control previously provided by QuickDraw GX.
|
Dvorak Keyboard Layouts, 1.0The Dvorak keyboard layouts allow the use of Dvorak keyboards without having to install any special software or keyboard layouts.
|
Edition ManagerThe Edition Manager allows users to share and automatically update data from numerous applications and documents.
|
Event ManagerThe Event Manager manages the delivery of events to applications. Changes in the Event Manager include:
|
COMPATIBILITY NOTE: |
Related Materials: |
File ManagerThe File Manager provides services for storing and retrieving disk-based information. New features for the File Manager include:
|
Folder ManagerThe Folder Manager provides facilities for locating "special" folders (such as the Extensions folder) without relying on the names of those folders. This aids developers in application localization. |
COMPATIBILITY NOTE:
In Mac OS 8.1, 8.5, 8.5.1, and 8.6, calls toFindFolder
specifying thekDocumentsFolderType
folder with the create parameter set tokCreateFolder
will not create the folder if the folder does not already exist. Developers wanting to create a documents folder can create one using the location and name returned byGetFolderDescriptor
.
COMPATIBILITY NOTE:
Developers should not assume that thekPreferencesFolderType
folder is located in the System Folder. In future system releases it may be located elsewhere. Always use both thevRefNum
and thedirID
returned byFindFolder
to establish the location of this folder.
Related Materials: |
Font ManagerThe Font Manager provides system-wide services for the retrieval of glyphs for display of textual information.
|
COMPATIBILITY NOTE:
There is still a limit of 128 font suitcases that can be present in the Fonts folder. In order to place more than 128 fonts in the fonts folder, font suitcases must be combined.
WARNING:
There are some discrepancies between thewidMax
values returned inFontInfo
andFontMetrics
structures for ATM-J fonts under Mac OS 8.5 and Mac OS 8.6. Developers should not assume that the samewidMax
value will be returned for ATM-J fonts when their code is running on one or the other version of Mac OS.
Related Materials: |
LocalesMac OS 8.6 introduces locales for retrieval of language and region specific information and parameters for use in other Mac OS services.
|
WARNING: |
Related Materials: |
Menu ManagerThe Menu Manager is the part of the operating system responsible for both drawing the menu bar and drawing menus and pop-up menus on the screen.
|
Memory ManagerThe Memory Manager is the part of the operating system responsible for managing memory allocation requests. |
WARNING:
NewPtr
requests made to the Modern Memory Manger can occasionally fail even if the size parameter is substantially smaller than the size returned byMaxBlock
. This failure can only occur under a very specific set of circumstances when the memory manager must shuffle relocatable blocks to make space forNewPtr
requests. In Mac OS 8.6 the Modern Memory Manager has been modified to minimize the possibility of this problem occuring. Code that checks the result ofNewPtr
requests for failure should be unaffected by this problem. Code that assumes that allNewPtr
requests will be successful when requesting blocks smaller than the size returned byMaxBlock
and does not check for allocation errors may crash.
Related Materials: |
QuickDraw TextQuickDraw Text is the part of the MacOS used for drawing and displaying textual information on the screen and other raster devices. Along with several performance improvements, the following changes have been implemented:
|
COMPATIBILITY NOTE:
Developers linking against the routinesSetAntialiasedTextEnabled
,IsAntiAliasedTextEnabled
,QDTextBounds
, andFetchFontInfo
in InterfaceLib who would like to have their products run with previous versions of the system software should weak-link against these new symbols. Unless this is done, the Code Fragment Manager will refuse to launch applications using the new symbols when an older version of InterfaceLib is being used. Developers weak-linking against any of the new symbols in InterfaceLib should check to ensure that the routines they weak link against are defined before calling them.
|
SCSI ManagerThe SCSI Manager is the part of the operating system responsible for communications with connected SCSI devices. |
COMPATIBILITY NOTE:
On machines running Mac OS 8.6 with no SCSI bus, the result code returned by calls to the old SCSI Manager routineSCSISelect
returnnoErr
rather thanscCommErr
(to indicate no attached device). To avoid this problem, drivers should use the new SCSI Manager 4.3 instead of the old SCSI Manager.
Related Materials: |
Sound ManagerThe Sound Manager provides facilities for playback and recording of digitized sounds.
|
Text Encoding Converter 1.4.3The Text Encoding Converter enables the conversion of text data from one encoding to another (e.g., Mac OS Roman to Windows Latin-1). It is targeted for Internet applications that need to handle text typically provided in non-Mac OS encodings.
|
Text Services ManagerThe Text Services Manager provides facilities for applications to communicate with various text processing utilities that provide services such as special text input methods, spell checking, hyphenation, and so on. |
COMPATIBILITY NOTE:
Whereas a non-Unicode app has the option of not callingTSMEvent
when setting itsTSMDocument
to bottom-line, a Unicode app (specifically an app using a Unicode TSM document) now must always callTSMEvent
. This means that a Unicode application will always receive its input via TSM AppleEvents for both inline input and bottom line.
Related Materials: |
Thread ManagerProvides facilities for permissive multi-threading on Mac OS computers.
|
Unicode Text Utilities 1.0The Unicode Text Utilities provide a set of APIs for working with Unicode text. These APIs provide services for sorting and collating Unicode text. APIs to find word breaks, determine character properties, and so on are planned for a future Mac OS release.
|
USB Interface Module (UIM)The UIM communicates with the USB controller hardware and provides a hardware abstraction layer for the USL (USB Services Library) and USB Manager. |
WARNING:
In Mac OS 8.5, Mac OS 8.5.1, and Mac OS 8.6, the UIM does not use theBufferUnderrun
bit correctly, thereby preventing bulk transfers from terminating correctly when a device sends a short packet. All packets used in bulk transfers must be full sized.
Related Materials: |
Virtual Memory ManagerThe Virtual Memory Manager provides virtual memory services for the Mac OS. The following changes have been made in the Virtual Memory Manager:
|
Window ManagerThe Window Manager provides facilities for drawing and maintaining windows on the screen. The following changes and corrections have been introduced in the Mac OS 8.6 release of the Window Manager:
|
COMPATIBILITY NOTE:
Applications using the undocumented, unsupported, and obsolete Layer Manager interface for floating windows will not work in Mac OS 8.6.
Related Materials: |
Control Panels provide user interface facilities for custom configuration of the system. |
ColorSync provides system-level color management that enables publishing software to achieve repeatable, reliable, and consistent color onscreen, in print, and for electronic delivery.
|
The Startup Disk control panel provides user interface facilities for choosing the disk that will be used to run the computer the next time it starts up.
|
System extensions are located in the Extensions folder inside the System Folder. For a extension to be active, it must be located in the Extensions folder when the system starts up. If the Shift key is held down while the system is starting up, extensions are not loaded. |
The Apple CD-ROM driver contains some enhancements for support of new Apple products, and corrects some problems found in previous versions of the driver.
|
COMPATIBILITY NOTE:
It is possible to install Mac OS 8.6 on a DVD-RAM volume; however, it will not be possible to boot from such a volume since booting from a DVD-RAM volume is not currently supported by Drive Setup and the CD/DVD Driver.
AppleScript is a component of the operating system that provides a scripting interface for users to automate actions that would normally require use of the menus and keyboard. Even more importantly, it allows users to access functionality of applications that would be difficult or impossible to access by hand.
|
WARNING: |
WARNING: set theapp to application "Macintosh HD:System Folder:Scripting Additions:Network Setup Scripting" tell application "Network Setup Scripting" -- this is for terminology scope tell theapp -- this is for runtime targeting -- do what you want in this block end tell end tell |
Related Materials: |
AppleShare Workstation Client provides file sharing services for computers networked with file servers.
|
ColorSync provides system-level color management that enables publishing software to achieve repeatable, reliable, and consistent color onscreen, in print, and for electronic delivery.
|
DrawSprocket provides drawing services coordinated with the display manager that are useful in game development. This version of DrawSprocket provides a number of corrections and fixes over previous versions:
|
Provides system-wide search facilities for finding related files based on their content.
|
InputSprocket provides a consistent set of interfaces to various input devices such as joysticks that are useful in game development. This version of InputSprocket provides a number of corrections and fixes over version 1.3:
|
LaserWriter 8 provides the ability to print to PostScript printers.
|
Mac OS Runtime for Java (MRJ) is Apple's implementation of the Java runtime environment. MRJ supports running Java applications, and enables Mac OS applications that use MRJ's JManager API to embed Java applets and other Java content.
|
The Multiprocessing API Library allows applications to perform preemptive multiprocessing operations on PowerPC computers equipped with more than one processor. The library also allows for preemptive multitasking on machines equipped with only one PowerPC processor. Several new features and APIs have been added to this release of the MP API Library:
|
NetSprocket provides a fast, lightweight client-server messaging service on top of the Open Transport API that are useful within games played over an AppleTalk or TCP/IP network. NetSprocket includes the following corrections:
|
The Network Setup Extension provides for programmatic configuration of the AppleTalk, TCP/IP, Infrared, and Remote Access settings.
|
Open Transport is the networking technology for Mac OS 8.6.
|
PlainTalk enables users to control their Mac by voice. It provides services to recognize speech and to convert text into audible speech. US English and selected localized versions of Mac OS 8.5 ship with English Text to Speech 1.5.4, Speech Recognition, and Mexican Spanish Text to Speech. English Text to Speech is installed as part of the default Mac OS 8.5 installation. Speech Recognition can be installed as a custom install option.
|
COMPATIBILITY NOTE:
Parts of the Sound Manager's and Speech Manager's loader code assume the .Sony driver is installed in the Device Manager's unit table. This is an incorrect assumption on newer machines that have no floppy disk drive (and, hence, no need for the .Sony driver). As a result of this assumption, during the startup sequence, when this code attempts to access the .Sony driver, a NULL-handle dereference occurs causing a bus error when a utility such as MacsBug's Even Better Bus Error'dcmd'
is turned on.
Related Materials: |
SoundSprocket extends the functionality of the Sound Manager so that some sound channels appear to be coming from a specific location and distance, and moving, in space. This effect can be presented over speakers, over headphones, or over headphones with head tracking.
|
Allows DVD-RAM disks to be used for storage of computer data. DVD-RAM disks can be used interactively with the Finder like any other read/write disk allowing users to read data from prerecorded DVD-ROM disks (including movie/video titles - though some are scrambled for copy protection by the manufacturers). UDF also allows for data interchange with PC's equipped with DVD-RAM or DVD-ROM drives.
|
URLAccess is a shared library providing high-level Internet APIs to developers. This facility allows clients to download or upload data from or to the Internet. With this API, all applications can become Internet-enabled with just a few additional calls.
|
Items in the Apple Menu Items folder appear in the Apple Menu. |
Sherlock provides search facilities for Mac OS computers. In addition to the traditional capabilities of the Find application, Sherlock supports searching by content and Internet searches.
|
Apple Extras |
Apple's Desktop Printer Utility (DTPU) is an utility program used to configure or set up various types of Desktop Printers (DTPs) supported by LaserWriter.
|
Utilities
Disk Copy is a utility program that allows users to create, mount, and change disk images.
|
AcknowledgmentsSpecial thanks to Brian Bechtel, Tom Maughan, Eric Schlegel, and Eric Simenel. |