ADC Membership Technical Business Join ADC
Search Advanced Search
Technical Note TN1017
System 7.5 Update 2.0; System 7.5.3

CONTENTS

This Technote discusses the various changes offered by System Software 7.5.3 and provides information regarding these changes and reference to information sources further discussing these changes.

All developers writing software for the Mac OS who wish to take advantage of the new features and enhancements offered by the System 7.5 Update 2.0 should refer to this document for both information about these new features and references to other sources of information describing some of these new features in greater detail.

System Software 7.5.3 offers a number of performance enhancements that positively affect many applications, as well as a number of bug fixes that provide more stable operation under varying circumstance. Most of the enhancements are transparent to applications , and developers won't have to make any changes in already existing software to take advantage of them; developers wanting to incorporate some of the new features offered by the system into their upcoming software, however, will find information regarding these facilities herein.

 [Mar 1 1996]






System 7.5 Update 2.0 and System 7.5.3

Two Implementations

Beginning in the second quarter of 1996, new Mac OS computers will ship with a version of system software 7.5.3 that is specifically configured for the machine on which it is pre-installed. For customers who are currently using system software 7.5, 7.5.1 or 7.5.2, the only way to update to system software 7.5.3 is to install System 7.5 Update 2.0. This Spring Apple will also release an updated version of the retail Macintosh System 7.5 Upgrade package that includes a single installer and full disk set of system software 7.5.3 in support of all computers from the Macintosh Plus to the current PCI-based Power Macintosh computers.

Those machines shipping with System 7.5.3 pre-installed may not have all the bug fixes of System 7.5 Update 2.0. The differences are listed in the section Features Present in Update 2.0.

If System Software 7.5.3 is Present...

When 7.5.3 is installed, the About This Macintosh... window displays the version number "System 7.5.3". If 7.5.3 was installed using the update package, a second line below the version number will be displayed indicating the system update version number. For system update 2.0, the line "System 7.5 Update 2.0" will be displayed.

If System Software 7.5.3 is present, then the Gestalt selector gestaltSystemVersion ('sysv') will return a version number of 0x00000753 in the response parameter as illustrated in Figure 1.

Figure 1 Format of the Gestalt response for the 'sysv' selector.

As discussed in the previous section, there are two different versions of the System 7.5.3 software--one version that comes installed on a new machine, and another version established by applying Update 2.0 to a machine configured with System 7.5, 7.5.1, or 7.5.2. To distinguish between these two versions of the system software, the 'sysu' Gestalt selector has been provided. It will return the version number of the currently installed system update. The version number returned is formatted according to the same conventions as the version numbering used in 'vers' resources, as illustrated in Figure 2.

Figure 2 Format of the Gestalt response for the 'sysu' selector.

The presence of the 'sysu' Gestalt selector allows application programs to determine if the current installed system software version was established using the system update. The 'sysu' Gestalt selector will only be defined if a system update package was used to establish the current system version--the 'sysu' selector is not defined on machines shipped with System 7.5.3 installed.

For example, here is how you can use the 'sysv' and the 'sysu' Gestalt selectors to establish information about System 7.5.3:

long response, updateversion;
    OSErr err;
    Boolean seven_five_three;
    Boolean is_an_update;

    seven_five_three = false;
    is_an_update = false;

    err = Gestalt(gestaltSystemVersion, &response);
    if (err == noErr) {
        seven_five_three = (response == 0x00000753);
        if (seven_five_three) {
            err = Gestalt('sysu', &updateversion);
            is_an_update = (err == noErr);
        }
    }
    /* at this point, seven_five_three will be true if system 7.5.3
    is the current operating system, and is_an_update will be true
    if the current system version was established by update. if
    is_an_update is true, updateversion will contain the System
    update's version number (0x02008000 for system 7.5 update 2.0). */

Features Present in Update 2.0

The following list describes features present in System 7.5 Update 2.0. Developers can use the 'sysu' Gestalt selector, as described in the previous section, to determine if these features are present.

  • The Network Software Selector (NSS) found in Update 2.0 provides a choice between using classic networking and Open Transport. When classic networking is selected, the NSS will hide the OT libraries in the Extensions folder so that native OT applications do not bind to the libraries when the rest of OT is inactive. On machines shipping with 7.5.3 installed, Open Transport is the only networking option and the NSS is not available.
  • Update 2.0 corrects a memory leak found in the Standard File Package included in the System 7.5.3 software that ships installed on some machines. Here, 512 bytes were left allocated in the application heap zone each time Standard File was used to open a file.
  • Update 2.0 includes a newer version of IRTalk.
  • The LocalTalk driver (DRVR 9) included with the classic networking software in Update 2.0 is a newer version of the driver that includes corrections to some problems reported on PowerBooks.
  • The SCSI Manager provided in System 7.5 Update 2.0 corrects problems found in the 7.5.3 SCSI Manager when it has been installed on either a PowerBook Duo 210 or a PowerBook Duo 230.
  • The implementation of the Process Manager has been modified to increase the size of the application heap zone to accommodate the new version of MathLib which is loaded into the application heap zone in System 7.5 Update 2.0. On machines shipped with 7.5.3 installed, the application heap size is not increased as MathLib not loaded into the application heap zone.
  • Update 2.0 includes a correction in the Power Manager software such that a very low PowerBook battery level can no longer be misinterpreted as indicating a full battery.
  • Update 2.0 does not load the A/ROSE extension on machines where it is not needed.
  • Update 2.0 corrects a problem appearing in 68K PowerBook Duos where they could hang when waking from sleep state while docked with virtual memory turned on.
  • Update 2.0 corrects a problem found in PowerBooks where PC cards were left unlocked after waking from sleep, leading to possible data loss.
  • Update 2.0 corrects a problem where the Native SCSI Manager could cause a page fault while loading if virtual memory was on when running on 6100/7100/8100 class machines.
  • In Update 2.0, the Power Manager library's data section is allocated globally rather than on a per-instance basis as it is in the 7.5.3 software that ships installed on some machines. Allocating the data section globally prevents a crash when the user turns AppleTalk on as a side effect of opening the AppleTalk or TCP/IP control panels. PowerBook users may have encountered this problem.
  • Update 2.0 corrects a crashing bug found in the boot-time progress bar that would occur at startup time under low memory conditions. Machines shipping with System 7.5.3 installed also ship with sufficient memory installed to ensure that this problem will not occur.
  • Update 2.0 corrects a problem in the Display Manager where long menus were not being drawn to the correct screen height after the screen size was reconfigured.
  • Display Manager included in Update 2.0 has been modified so that it does not attempt to write its preferences information to disk at an inappropriate time (which could have lead to display problems after system startup).
  • Update 2.0 corrects a problem in the Notification Manager where an incorrect icon would be displayed in the Application menu after an alert, displayed with an icon, was dismissed.
  • The Notification Manager no longer causes a redraw of the menu bar clock and menu bar battery level indicators when an alert sound is played.
  • Update 2.0 corrects a problem in the SetPwrKey() routine which would trash two bytes on the stack when the routine returned an error code other than noErr.
  • The default recording mode is set to two's complement on PCI-based computer platforms running Update 2.0, making the default recording settings on these machines equivalent to the default recording settings on other Mac OS-based computers. The default recording mode is one's complement on PCI-based computer platforms shipping with System 7.5.3 installed.
  • Update 2.0 ships with a newer version of Drive Setup (version 1.0.4) that corrects some potential problems on hard disks being set up for disconnect/reconnect incorrectly.
  • The Native SCSI Manager corrects a problem where the computer would hang if an array or tape drive was being used with SCSI ID 5. This problem would only occur if two SCSI devices (one with the ID 5), connected to the same bus, were utilizing the bus at the same time. This problem did not cause any data corruption, and is present in both the Native SCSI Manager found in System 7.5.3 and System 7.5 Update 2.0.
  • Update 2.0 includes a custom install option for a system addition that corrects a problem where third-party network client software would hang at either restart or shutdown.
  • Update 2.0 ships with a newer version of AppleGuide (version 2.0.2) that corrects a problem related to some of the crashes users have experienced with Microsoft Office. Microsoft also has several bug fixes available for unrelated Office crashes.
  • Update 2.0 ships with a newer version of Apple Menu Options (version 1.1.2) that corrects problems reported in international software.

See Also:

  • The "Version Resource" section on page 7-69 of Inside Macintosh: Macintosh Toolbox Essentials.
  • The "Interpreting Gestalt Responses" section on page 1-10 of Inside Macintosh: Operating System Utilities.

Back to top

New Features and Changes

As the improvements offered by this update are numerous and difficult to classify into discrete categories, the changes have been listed under headings that apply to the different system software components, sorted alphabetically.

Alias Manager

Enhancements

The Alias Manager now takes advantage of new user interface features in the AppleShare Workstation Client Software to decide if it should call through to the AppleShare Workstation when resolving a network alias.

The Alias Manager has been unified into one common source code base for all Mac OS-based computer platforms. Previously, there were three different variants of the Alias Manager that may have been installed: the basic version, the PowerTalk version, and the ARA version. Now, the facilities offered by each of these have been unified into one common implementation, guaranteeing consistent Alias Manager behavior across all of the Mac OS platform.

Support has been added to enhance the Alias Manager's user interface in the dialogs presented when attempting to mount a remote AppleShare server using an alias. The Alias Manager dialogs now allow for user authentication within these dialogs, improving the convenience of this facility.

Bug Fixes

Several errors have been corrected with this release of the Alias Manager. The most prominent of these errors, involving the inability of the Alias Manager to resolve aliases to files on a CD-ROM, was already repaired in a patch installed with the QuickTime software; it has now been fixed directly in the Alias Manager code.

Apple Guide

The Apple Guide software contains a number of changes that improve its overall performance on both 68K and PowerPC-based computer platforms. Some of the changes and extensions to the Apple Guide software that are of interest to developers are listed here.

Enhancements

A new Gestalt selector for the Apple Guide software has been added. The new selector, 'ag_v', returns the version number of the currently installed Apple Guide Software, using the formatting conventions described in Inside Macintosh: Operating System Utilities (1-10).

Apple Guide now allows more than 8 mixin files to be open at one time. The limit to the number of guide files that may be open simultaneously is determined by available memory.

Apple Guide is now fully native.

Option-click on a Guide Sequence panel copies the contents of the panel to the Clipboard.

Apple Guide now plays sounds asynchronously.

Bug Fixes

A random crash when accessing the Apple Guide API from native applications was fixed.

Difficulties displaying coach marks in modal dialogs have been eliminated.

A memory leak in Apple Guide's heap occurring whenever a new data base was opened has been stopped.

A problem where every 21st index item would erroneously disappear under certain circumstances has been corrected. Most commonly this error would appear when multiple mixin files were in use.

Apple Guide 2.0 defaults to US ASCII sorting only if the current script is Roman and the current language is English.

International resources are now handled correctly.


WARNING:
Developers should be aware that AppleGuide uses the file type 'HELP' for its files. Applications programs should avoid using this type for their own data files so that Macintosh Easy Open does not incorrectly call their applications to open guide files.


Apple Menu Options

Apple Menu Options (AMO 1.1.1) has been rewritten to include the following performance enhancements, extensions, and bug fixes:

Enhancements

International sorting capability has been added.

AMO's GetResource patch is now only installed when the Apple menu is selected and drawn on the screen. This eliminates any possible conflicts with the Toolbox call GetResource while other applications are running, and reduces the call overhead for GetResource while the Apple Menu is not being held down.

AMO was originally written as a modular INIT making extensive use of calls and patches routed through its own private jump tables. Architectural changes in AMO moving away from this model have both reduced AMO's memory footprint and improved performance by reducing AMO's processing requirements.

Bug Fixes

AMO was generating an incorrectly sized 'sysz' resource, sometimes causing out-of-memory errors at system startup. This particular bug manifested itself through incorrectly drawing menus for applications that failed to call MaxApplZone() during their startup sequence.

A problem where submenus were not being drawn or drawn too large under certain conditions was fixed.

Apple PhotoCD Access

Enhancements

It is now possible to display more than 30 sessions on a Kodak PhotoCD disc.

AppleShare Workstation Client Software

Enhancements

Applications accessing files through the AppleShare Workstation Client Software can now take advantage of the performance improvments offered by read-ahead and write-behind caching. For example, in the Finder, files are automatically buffered by the AppleShare Workstation Client Software, having the overall effect of allowing the Finder to simultaneously write to a local volume while reading from a remote volume, and vice versa. The parallelism offered by this enhancement greatly increases the performance of file copies since useful work is being done while waiting for I/O operations to complete on either the local or the remote volume. No programatic changes are required to take advantage of this enhancement.

The new version also briefly caches some information from the desktop database for selected AFP requests such as GetForkParms and GetFileDirParms to avoid unnecessary disk access. In this case, the cache is small and is flushed often to avoid stale information.

Communications Toolbox

Bug Fixes

A crash that would occur in the Communications Toolbox NuLookup and NuPLookup routines if there were more than 600 zones on a single network has been corrected by adding a new LDEF that references the zone names through pointers, rather than attempting to store the names directly in the Listhandle. The new limit is just over 8000 zones.

Control Manager

Bug Fixes

A problem in the scrollbar CDEF causing a garbage pattern to be drawn in the pageUp and pageDown areas has been corrected. The scrollbar CDEF was using an unlocked dereferenced handle after making a system call not guaranteed not to move memory.

Dialog Manager

Bug Fixes

A problem where the filter procedure returned by GetStdFilterProc(...) was trashing register D3 has been corrected. This problem appears in System Software 7.1 and later.

Digital Signature Facilities (DigiSign)

Enhancements

The digital signature component of the Apple Open Collaborative Environment (AOCE) has been built into a system extension that may be installed separately on any machine running System 7.5 or greater. This may be done by using the Custom Install option for the PowerTalk software. Applications wishing to access the facilities offered by the Digital Signature Manager may test for its availability with Gestalt using the gestaltDigitalSignatureVersion ('dsig') selector. When present, all of the previously documented facilities of the Digital Signature Manager will be available.

The Digital Signature facility also has been updated to accommodate the order in which resource types are returned by the new native Resource Manager routine Get1IndType when calculating digital signatures for files containing multiple resource types. The new Digital Signature Manager will compensate for signatures created using the older resource ordering, correctly verifying signatures created on machines running with the 68K-based Resource Manager.


WARNING:
It is recommended that all users of PowerTalk's digital signature facilities upgrade their installed software to include the new version of the Digital Signature Manager.


See Also:

  • The "Digital Signature Manager" chapter of Inside Macintosh: AOCE Application Interfaces
  • The Resource Manager section in this Technote.

Display Manager

Enhancements

Display Manager 2.0 is installed on all color computers, and supports calls to query display capabilities (DMNewDisplayModeList, DMGetIndexedDisplayModeFromList and DMDisposeList).

The Display Manager 2.0 power state calls (DMGetAVPowerState and DMSetAVPowerState) control power states for displays without using direct calls to video drivers.

The routine DMSaveScreenPrefs saves the current display configuration to disk.

Display Manager callbacks registered with a process serial number are made within the application's context (A5, patches, resource file chains, etc.).

Bug Fixes

A small memory leak sometimes occurring during window resizing has been corrected.

See Also:

  • The Display Manager documentation on the Reference Library Developer CD.

DMA Serial Driver (SerialDMA)

Enhancements & Bug Fixes

The new DMA Serial Driver corrects every reported DMA Serial Driver problem to date and represents a complete rewrite of the drivers controlling the modem and printer ports on the following computer models:

  • Centris 660AV
  • Quadra 660AV
  • Quadra 840AV
  • Power Macintosh 6100/60
  • Power Macintosh 6100/66
  • Power Macintosh 7100/66
  • Power Macintosh 7100/80
  • Power Macintosh 8100/80
  • Power Macintosh 8100/100
  • Power Macintosh 8100/110.

The new serial drivers are also used in the newer PCI Power Macintoshes including the 7200, the 7500, the 8500, and the 9500 series, and probably others in the future.

Other machines that support the new DMA Serial Driver include Performa models and Apple Workgroup Server models derived from the machines listed above.


Note:
The new DMA Serial Driver is only applicable in Macintosh models where there are DMA channels servicing a standard Z8530 Serial Communications Controller. The new driver is also known as "SerialDMA 2.0."


The new DMA Serial Driver is included in the System 7.5.3 System Enabler and as a result the SerialDMA system extension should not be used on machines configured with System Software 7.5.3. The SerialDMA system extension was made available early to allow users to upgrade the serial driver software on computers running System 7.5 or greater and has since been built into the system software.

SerialDMA has been implemented in native code for PowerPC-based machines.

The new serial driver will return a version number of 9 for the version query Status call (csCode = 9). Applications wishing to take advantage of the new features offered by the SerialDMA 2.0 driver should check for this version number.

Application developers wishing to take advantage of new features offered by the SerialDMA 2.0 driver should refer to Technote 1018 - "Understanding the DMA Serial Driver."


IMPORTANT:
The new serial driver will return a version number of 9 for the version query Status call (csCode = 9). It is not guaranteed that the new features offered by this version of the Serial Driver will necessarily be available in subsequent releases of the driver, nor are driver version numbers guaranteed to be a linear progression. To discover if the new routines are present, it is recommended that developers attempt to make the new calls and check the result returned by the Control routine to determine if the calls are implemented rather than depend upon version numbering of the driver. If the calls are implemented, Control will return noErr; otherwise, if the calls are not implemented, Control will return controlErr.


The device driver interface for the SerialDMA driver now provides for data transmission rates of 115.2k bps and 230.5k bps set through two new control calls:

- Enable 115.2K baud rate (csCode = 115).

- Enable 230.4K baud rate (csCode = 230).

Other configuration parameters such as bits per character, parity, and stop bits are configured by calling SerReset prior to calling the above control calls. See Technote 1018 - "Understanding the DMA Serial Driver" for details.

Applications wishing to utilize these calls should take special care to use the serial driver efficiently; not doing so will cause serious performance degradation. A good discussion of strategies for efficient use of the serial driver can be found in Technote 1018 - "Understanding the DMA Serial Driver".

Another Control call introduced with this version of the serial driver provides facilities for external clocking. This routine was designed to help support MIDI externally clocked data rates and is described in Technote 1018 - "Understanding the DMA Serial Driver."


IMPORTANT:
Be aware that although the new serial driver implements XON/XOFF handshaking in a more sophisticated and efficient manner, the nature of the underlying DMA hardware makes use of this option at higher speeds (57600 bps, for example) an expensive option to implement requiring excessive interrupt processing and forgoing any possible benefits offered by the DMA chip. Apple recommends that developers utilizing software handshaking at higher transmission rates consider moving to another handshaking method when using this version of the serial driver.


Bug Fixes

Some of the more prominent bug fixes present in this new implementation of the DMA Serial Driver include:

The SerialDMA driver behaves correctly with interrupt-based chained read algorithms (completion routines that call Read, that have completion routines that call Read, and so on). Prior to this correction developers utilizing chained read algorithms with the DMA serial driver were required to chain calls together with intervening calls to the Deferred Task Manager.

Break conditions are now reported correctly.

The DMA Serial Driver now responds to control call 16 (bit 7) correctly, allowing DTR to remain negated when the driver is closed. Formerly, it was possible for DTR to become asserted when closing the driver, even when the client software requested otherwise by setting bit 7 to 1 in control call 16.

These bugs were not inherent in the original 68K serial driver, but were problematic in the first generation DMA Serial Driver. For a more complete listing of bug fixes present in the new DMA Serial Driver, refer to Technote 1018 - "Understanding the DMA Serial Driver."

KillIO now works correctly, resetting the appropriate internal structures for the serial drivers. Under the 68K serial driver, calling KillIO for one driver (either in or out) would reset internal variables for both drivers, possibly leaving some requests pending in the other driver's queue. For earlier versions of the serial driver, always call KillIO for both the input and the output driver when using simultaneous queued requests.

See Also:

Dynamic Recompilation (DR) Emulator

System 7.5.3 software includes an updated version of the Dynamic Recompilation Emulator that will replace the 68K DR emulator software installed on the following Macintosh models:

  • Power Macintosh 9500
  • Power Macintosh 8500
  • Power Macintosh 7200
  • Power Macintosh 7500
  • PowerBook 2300
  • PowerBook 5300
  • PowerBook 520 (with an installed PowerPC upgrade card)
  • PowerBook 540 (with an installed PowerPC upgrade card)

The new DR emulator offers improved performance in 68K applications running on the above PowerPC machines by precompiling a greater variety of 68K instructions into a larger executable cache before it is executed. In addition to the increased DR cache size (from 256K to 512K), the DR emulator now does better optimization in the precompiled code it generates. This, along with other finely tuned performance enhancements, allows for improved execution speed of 68K applications running on the above hardware platforms.


Note:
Developers should call FlushInstructionCache, FlushDataCache, or FlushCodeCacheRange whenever modifying code in memory. Preferably, FlushCodeCacheRange should be used instead of FlushDataCache whenever possible to avoid unecessarily flushing the entire translation cache. BlockMove will flush the cache for blocks of data over 12 bytes in length, hence developers should use BlockMoveData when not moving code to avoid unnecessary cache flushing. Software copying PowerPC code should call MakeDataExecutable to guarantee cache coherency on split-cache processors such as the 603 and 604.


See Also:

  • Technical Note HW 6 - "Cache as Cache Can"
  • MC68040 32 bit microprocessor User's Manual
  • Memory Management Utilities: Processor Caches (4-8 to 4-13, and 4-29 to 4-33) in Inside Macintosh: Memory
  • Technical Note PT 39 - "The DR Emulator"
  • "The 68LC040 Emulator" section in Inside Macintosh: PowerPC System Software (page 1-6)

File System

Bug Fixes

A problem introduced with 7.5 update 1.0 preventing 2-byte characters from being used when naming DOS disks has been fixed.

The File System Manager now correctly restores an application's HiHeapMark after an asynchronous cache call.

PCI/PowerPC-based computer systems can now mount volumes larger than 4GB.

Finder Changes

Enhancements

The System 7.5.3 Finder has been significantly revised correcting problems and providing numerous performance enhancements. The following list summarizes the changes present in the new Finder.

There now exists greater than 4GB support on new PCI/PowerPC-based computer systems.

The Finder now checks in an application's resource fork for a FREF entry of type 'alis'. If such an entry exists, alias files are not resolved before they are passed to the application.

File comment information, displayed in Get Info windows, is retained across desktop file rebuilds.

On PowerPC computers, the Finder will use the translucent Drag Manager when dragging icons. Only one icon will appear translucent during a drag, even if more than one icon is selected. Interfaces and documentation are available for developers interested in incorporating translucent dragging into their applications. For more information, refer to the section Translucent Dragging of PixMaps, in this Technote.

The Name field used in Finder windows, displayed using the View by Name, View by Size, View by Kind, or View by Date options, is now wider, allowing for the longer file names to be visible when these options are selected.

For better performance, the processor cache is now flushed more intelligently on both 68040 machines and PowerPC machines.

The Copy Progress window is not updated as often during File Copy operations. This change provides better performance when large numbers of small files are copied, since the machine now spends less time drawing the progress bar than copying files. Previously, the Copy Progress window was updated as often as 30 times per second.

The Finder Update file has been built into the Finder and will no longer be present once system 7.5.3 has been installed.

The Clean Up Window command in the Special menu is no longer available while the clipboard window is active and frontmost. Previously, choosing this command while the clipboard was active would cause a crash.

If the users password has expired or needs to be changed, more meaningful error messages are displayed when attempting to use an alias to mount a server. Previous versions of the Finder simply reported that the server could not be found under these conditions.

The new Finder uses a default letter reader application for opening Powertalk mail messages if one has been specified. Under previous versions of Powertalk, if a user attempted to open a letter the creator type from the SMPLetterInfo structure was used to determine what application should be used to open the letter. This behavior is still provided, but the Finder will first check for a default letter reader application. If a default letter reader application has been defined, then that will be used to open the letter, rather than the application specified by the creator type in the SMPLetterInfo record.

Bug Fixes

The Finder Scripting Extension didn't understand the AppleScript "is in" keyword. For example, the whose clause "every item of ... whose name is in ..." did not work. The Compare procedure always assumed that the first parameter was an object, and the second was either an object or literal data. The "is in" keyword passed the literal data in the first parameter and the object in the second parameter, substituting "contains" as the comparison operator (since there is no "is in" comparison operator). The fix allows the Compare procedure to compare literal data with an object.

Out-of-memory errors caused by emptying the trash on machines where QuickDraw GX is installed have been corrected.

Seemingly erroneous out-of-memory errors reported when attempting to open and close Finder windows should no longer occur. Users may have noticed this problem when the desktop contained few icons, a window with the Kind column was visible, and a large number of different kinds of documents had been displayed since the last restart.

The Find window will now be correctly be brought to the front if Find File is already running in the background when the Find command is chosen.

Fixed Point Math

Enhancements

The performance of fixed-point routines have been improved with a new native implementation, taking advantage of the PowerPC FPU. Special attention was given to the routines FixMul and FracMul, which were hand-coded in assembly language for optimal performance using the 64-bit integer multiply instructions mullw and mulhw. The new implementation translates the fixed-point parameters into floating-point numbers in most cases, performs the calculations in the floating-point domain, then translates the result back into a fixed-point number. Speed improvements over the old PowerPC implementation for the new Fixed math routines on the 601 and 604 processors are between 300% and 600% faster.

Modest performance improvements have been observed in the transfer functions Fix2Frac, Fix2Long, FixRound, Long2Fix, Frac2Fix, Frac2X, and Fix2X.

Developers making extensive use of the fixed-point math facilities may want to keep the following points in mind:

  • Calculations based on smaller values will execute more quickly than calculations using large values.
  • Providing a value of smaller magnitude as the second argument to FixMul and FracMul will lead to better performance when these routines are called. In some cases, some of the processors will shortcut the operation if the upper bits are zero.
  • Rounding and pinning still matches the previous PowerPC implementation (which is slightly different from its 68K counterpart); users of the fixed math routines, however, should not see a difference in the behavior of the package, aside from faster execution.
  • QuickDraw, as well as other parts of the system, make extensive use of the fixed math routines, so developers can expect better performance when they make extensive use of these facilities.

See Also:

  • The "Mathematical and Logical Utilities" chapter of Inside Macintosh: Operating System Utilities.

Font Manager

Bug Fixes

A problem where ResolveIDConflicts would miss a FONT/NFNT conflict in the main resource chain has been corrected.

Hardware Cursor Support

Enhancements

New support for hardware-based cursors has been incorporated into this release of the system software.

Components used by the QuickTime 2.1 Image Compression Manager have been updated for compatibility with hardware cursors.


Note:
Developers drawing directly to screen devices should use the routine ShieldCursor() so their code does not conflict with the cursor.


See Also:

  • The Image Compression Manager section in the "QuickTime 2.1 Developer Info" document.
  • Hardware developers interested in building hardware cursor support into their products should refer to the document Designing PCI Cards and Drivers for Power Macintosh Computers.

InterfaceLib Changes

Bug Fixes

The get1namedresource interface glue code has been corrected to call Get1NamedResource instead of GetNamedResource. get1namedresource is a interface provision dating back to MPWC 2.0 that accepts a C-style string as the name parameter instead of a Pascal style string. get1namedresource does the necessary C-to-Pascal string coercion before calling Get1NamedResource.

MathLib Changes

System 7.5.3 includes MathLib version 2.0.3.

Bug Fixes

This updated version of MathLib corrects a problem could inadvertently alter the rounding direction when the rarely called nextafterd library function was called.

An inaccuracy in the complementary error function erfc in the range [-0.46875,0.0] has been corrected.

Memory Manager

Enhancements

For improved performance in emulated applications, the Modern Memory Manager has been compiled for both PowerPC and 68K thereby eliminating mixed mode switches in the routines HGetState, HSetState, HLock, HUnlock, HPurge, HNoPurge, HClrRBit, HSetRBit, and GetHandleSize.

In the past, the Memory Manager would install bus error handlers during the processing of Memory Manager calls to catch invalid addresses passed to the Memory Manager routines. These bus error handlers have been removed and replaced with simple pointer sanity-checking, resulting in enhanced performance. This change is present on machines shipping with system 7.5.3 installed and is not present in the updated version of 7.5.3.

Bug Fixes

A problem that could significantly slow down the launching of certain third-party applications when virtual memory was enabled has been corrected. Launch times for these applications with virtual memory enabled should now be much closer to the launch time with virtual memory disabled.

The implementation of DisableDataCache on Macintosh IIsi and IIci machines was not flushing the cache during the process of disabling it, causing compatibility problems with certain third-party 68040 expansion cards. This problem has been corrected for those machines.

See Also:

  • For information regarding bus error handlers refer to Technical Note ME 14 "The New Memory Manager and You."
  • Documentation regarding the above listed Memory Manager routines can be found in the "Memory Manager" chapter of Inside Macintosh: Memory.

Menu Manager

Bug Fixes

A problem of the menu bar defproc (MBDF) using a dereferenced handle after it has moved has been corrected. During the calculation of a menu's rectangle, when drawing either pop-up menus or sub menus, the Menu Manager was dereferencing a handle, calling a toolbox routine that could potentially move memory, and then using the dereferenced handle again. Developers encountering this error may have observed sub menus or pop up menus being drawn with incorrect boundary rectangles.

CalcMenuSize was blindly locking and unlocking the MDEF. This caused a problem when the MDEF called CalcMenuSize, because the second call unlocked the MDEF as it was executing. The MDEF would then proceed to make other calls which might move memory. This meant the MDEF could be moved out from under itself, causing intermittent and apparently random crashes. The new CalcMenuSize corrects this problem by saving and later restoring the handle state (using HGetState and HSetState) before returning.

The new system MDEF correctly handles the case where the menu handle is an empty handle. This correction is already present in the 68K version of the Mac OS.

Monitors Control Panel

The Monitors control panel has been updated to depend on the Display Manager and will refuse to launch on machines running pre-System 7.5.3 versions of the Display Manager (it requires Display Manager version 0x00020004 or later).

Additionally, the Monitors control panel has been extended to support both PCI- and NuBus-based Mac OS-based computer systems. Developers writing Monitors control panel Extensions should be aware of the following issues:

  • Monitors control panel extensions cannot write to the 'scrn' resource. All Monitors control panel extensions should treat the screen preferences parameter as read only. Extensions that make changes to the 'scrn' resource and assume those changes have been saved are now obsolete.
  • The Monitors control panel has a new gamma implementation. There is no longer a "special" gamma setting, and gamma settings are always saved. Developers creating Monitors control panel extensions should ensure that they have correctly implemented their cscGetGamma status call, since it will be called by the new control panel. If the current display gamma does not match anything in the list, Monitors control panel will add "Custom" gamma to the list indicating the current one does not match any that the video driver knows about. Developers should make certain that a cscSetGamma Control call followed by a cscGetGamma Status call returns a gamma table containing identical information: Monitors control panel byte-compares gamma tables to determine which gamma is currently set.
  • Monitors control panel supports only NuBus monitors extensions.
  • In the previous implementation of the Monitors control panel, the gamma list would only appear when the Option key was held down. In the new implementation, the gamma list (if one exists) is always displayed in the Options window.

See Also:

  • "Creating an Extension for the Monitors Control Panel" (8-48) in the Control Panels chapter of Inside Macintosh: More Macintosh Toolbox.

Open Transport

System 7.5.3 marks the general release of Open Transport 1.1. Most notably, the Open Transport Library can now be installed and used on 68030 and 68040 machines as well as all PowerPC computers. Documentation regarding Open Transport and the changes present in this release can be found in the Open Transport developer package on the System Software SDK. Changes and improvements over previous releases of Open Transport are described as follows:

Enhancements

  • Improved backwards compatibility for MacTCP applications.

Serial Endpoints:

  • There are now new options for configuring serial endpoints.
  • New naming facilities for accessing additional serial ports installed with plug in cards are available.

ATP Endpoints:

  • New facilities exist for configuring ATP to send either an "exactly once" transaction request or an "at least once" transaction request.
  • Options to configure the ATP retry count, interval between retries, and release timer setting have been added.

For Client Developers:

  • Additions exist in the interface files, including new definitions for previously non-public Open Transport facilities.
  • The routine InitOpenTransport now has no arguments -- it will figure out its environment automatically.
  • More extensive documentation describing error codes returned by many of the Open Transport functions has been included in the Client Developer notes.
  • The Client Developer Notes now contain information regarding access to native
  • Open Transport functions available to native applications running on PowerPC based computers.
  • The Client Developer Notes now contain information addressing the issue of how to implement 'no copy' data reception in Open Transport client software.
  • The Client Developer Notes now contain a description of the Autopush interfaces which allow developers to automatically insert modules into a protocol stack without requiring user intervention.
  • The Client Developer Notes contain information allowing developers to access facilities for transferring provider ownership from one client to another. This will be especially useful for developers writing code that creates endpoints on behalf of other code, transferring ownership of the provider once it has been created.
  • System 7.5.3 provides facilities for configuring a Mac OS-based computer to run with either the classic AppleTalk and MacTCP facilities or with the new OpenTransport facilities. OpenTransport is backwards compatible with classic AppleTalk and MacTCP and can be used with most applications utilizing these facilities without incident; some older applications, however, may have built-in dependencies tied to the classic networking implementation. To provide backwards compatibility for these applications, a user-configurable option has been provided to reconfigure the computer to run with either implementation. This is a user-configurable option available only on those machines which can support both classic AppleTalk and Open Transport. There is no programming interface for accessing this feature -- it is only available as a user-configurable option.

See Also:

  • Open Transport developer package on the System Software SDK

Power Off Key Disabler

Enhancements

Routines allowing developers to control the behavior of the Power Off key have been incorporated into System Software 7.5.3. The Gestalt selector 'pwky' returns a pointer to a function that developers may call from applications to enable or disable the Power Off key. This same routine may be called to configure the Shut Down Alert for automatic dismissal.

The following set of routines and constants illustrate how to access this new routine from within applications.

#if defined(powerpc) || defined(__powerpc)
enum {
    uppPowerOffProcInfo = kPascalStackBased
        | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
        | STACK_ROUTINE_PARAMETER(1, kTwoByteCode)
        | STACK_ROUTINE_PARAMETER(2, kTwoByteCode)
};
#endif

/* constants used as parameters to the power off key routine */
enum {
    kPowerKey = 0x7F,
    kDissablePwKy = 0x6B,
    kEnablePwKy = 0x00,

    kShutdownDlog = 0x7E,
    kNoDismiss = 0x00,
    kOneSecond = 0x70,
    kTenSeconds = 0x400
};

/* declaration for the power off key routine */
typedef pascal OSErr (*PwrKeyProc)(short item, short action);


OSErr DisablePowerOffKey(void) {
    OSErr err;
    PwrKeyProc pPwrKey;
    err = Gestalt('pwky', (long*) &pPwrKey);
    if (err == noErr)
#if defined(powerpc) || defined(__powerpc)
    err = CallUniversalProc((UniversalProcPtr) pPwrKey,
        uppPowerOffProcInfo, kPowerKey, kDissablePwKy);
#else
    err = pPwrKey(kPowerKey, kDissablePwKy);
#endif
    return err;
}

OSErr EnablePowerOffKey(void) {
    OSErr err;
    PwrKeyProc pPwrKey;
    err = Gestalt('pwky', (long*) &pPwrKey);
    if (err == noErr)
#if defined(powerpc) || defined(__powerpc)
        err = CallUniversalProc((UniversalProcPtr) pPwrKey,
            uppPowerOffProcInfo, kPowerKey, kEnablePwKy);
#else
        err = pPwrKey(kPowerKey, kEnablePwKy);
#endif
    return err;
}

/* SetShutdownAlertDismissal allows the caller to configure the
    shutdown alert. The ticks parameter indicates how many
    ticks before the shutdown alert is automatically dismissed.
    a value of zero disables automatic dismissal. For convenience,
    the constants kNoDismiss, kOneSecond, or kTenSeconds are provided. */
OSErr SetShutdownAlertDismissal(short ticks) {
    OSErr err;
    PwrKeyProc pPwrKey;
    err = Gestalt('pwky', (long*) &pPwrKey);
    if (err == noErr)
#if defined(powerpc) || defined(__powerpc)
        err = CallUniversalProc((UniversalProcPtr) pPwrKey,
            uppPowerOffProcInfo, kShutdownDlog, ticks);
#else
        err = pPwrKey(kShutdownDlog, ticks);
#endif
    return err;
}

PowerTalk

Bug Fixes

PowerTalk 1.2.3 fixes a bug where calling SDPNewFindPanel from a native PowerPC application causes an instant crash. This call will now function correctly and as expected.

Printing

This update features several corrections to problems found in the printing software as follows.

Enhancements

LaserWriter 8 (v8.3.3) now supports ColorSync 2.0 and QuickTime compressed images.

Bug Fixes

LaserWriter 8 (v8.3.3) incorporates a new version of PAP that fixes printing problems found with System 7.5.2 and OpenTransport. It corrects two common printing problems found most often on PCI-based computers:

  • freezing when trying to print to a printer that is already in use, and
  • freezing when attempting to print large documents.

The StyleWriter 1200 driver version 2.1.1 fixes a crashing bug on System 7.5.2 capable computers.

Process Manager

Enhancements

The application heap size has been increased by an additional 28 kilobytes on all PowerPC-based computers.

Bug Fixes

Four important bugs have been fixed in this release of the Process Manager. These have not been major problems encountered by users in the past, yet some developers have encountered these problems during development and their queries have been answered here.

Previously, when an application that does not accept suspend/resume events was hidden (using the Hide XXX menu command), and later shown (using the Show All menu command), its frontmost window would remain active (even when that application's window was not the frontmost window).

A call to MoveHHi with a handle inside a private heap zone created within the system heap zone previously would not move the handle as expected. MoveHHi now does the correct address arithmetic and operates on such handles correctly.

Temporary handles allocated by an application in the Process Manager heap, using the routine TempNewHandle, were not removed correctly from the Process Manager's list of "handles to dispose when the application terminates" if the handle was empty when DisposeHandle was called. This bug affected both applications that allocated temporary handles and made them purgeable by calling HPurge (and the handle was in fact purged from memory), and applications making explicit calls to EmptyHandle before calling DisposeHandle. Because such handles would remain in the list of "handles to dispose of when the application terminates," the Process Manager would call DisposeHandle again for the handles when the application terminated, causing corruption of the Process Manager heap. This would lead to unrecoverable errors.


Note:
Applications using temporary handles in the Process Manager heap should ensure they are not empty when DisposeHandle is called while running under versions of the Operating System previous to 7.5.3.


Process Manager no longer trashes memory at *ioNamePtr on _Unmount calls.

See Also:

  • Memory Manager: Allocating Temporary Memory (2-77) in Inside Macintosh: Memory

QuickDraw

Enhancements

System 7.5.3 includes an updated version of QuickDraw, containing several performance enhancements along with the following changes:

Significant parts of the GWorld implementation have been made native for improved performance on PowerPC-based computers.

Quickdraw has been revised to support hardware cursors.

Bug Fixes

A memory leak that occurred under some circumstances in DeviceLoop has been corrected.

Since System 7.1.2, the native implementation of SetCPixel didn't work correctly with mirroring turned on. This has been corrected in this release.

Routines doing operations on Regions have been updated to reduce the frequency of type 11 errors when performing operations on large and complex regions.

Very light shades of gray are no longer mapped to white.

A 50-byte memory leak that would occur under very specific circumstances has been corrected.

A problem of FillPoly trashing memory location $10 (Illegal Instruction Vector) has been corrected.

QuickTime 2.1

With System 7.5.3 comes the introduction of QuickTime 2.1 for Mac OS-based computers. This new version of QuickTime offers a number of new features, performance improvements, and fixes over previous versions of QuickTime. Technical documentation describing how developers can access these new features in applications can be found in the "QuickTime 2.1 Developer Notes."

Enhancements

Since complete details regarding the QuickTime 2.1 feature set can be found in the Release Notes and in the QuickTime 2.1 Developer Info document, the following only represents a summary of a few of the changes and additions present in QuickTime 2.1:

PCI based PowerPC computers are supported.

QuickTime Conferencing is now supported.

MPEG Decoder Card support is now available.

At the request of several third-party developers QuickTime 2.1 now includes new API hooks that enhance the ability of hardware vendors to improve QuickTime performance through hardware acceleration.

A Sprite Toolbox has been added, providing developers with a high performance Sprite engine to simplify the process of creating impressive graphical animation.

Sprite Track codecs have been added to allow Sprite animations to be included in QuickTime movies.

Modifier Tracks can be added to movies, directing media handlers to send their data to other media handlers rather than playing their media directly.

A CD-ROM auto-start feature has been added to allow automatic startup of CD-ROM based products when the CD is inserted in a drive.

Facilities for importing sound files in formats commonly found on the Internet has been incorporated. QuickTime-aware applications such as MoviePlayer or SimpleText can now transparently open and play .WAV and .AU format sound files.

The Image Compression Manager includes several fixes and new facilities. A number of new flags have been defined for codecs along with new facilities for directing codecs to gather data from a user defined data source. These changes are discussed in the "QuickTime 2.1 Developer Info" document.

New facilities for using the computer in full screen mode have been provided. These facilities allow developers to have access to the entire screen without having to worry about the details involved in hiding the menu bar or the control strip. The routines BeginFullScreen and EndFullScreen allow developers to create a window occupying the entire screen for any use.

The Apple Multimedia Tuner has been built into QuickTime 2.1. This release significantly enhances import/export capabilities for Text Tracks, making it easier than ever to incorporate text-based information into QuickTime movies.

See Also:

  • For a more complete description of the new features offered by QuickTime 2.1 refer to the document "QuickTime 2.1 Developer Release Notes."

Resource Manager

Enhancements

The Resource Manager is now implemented in native code for all PowerPC Mac OS-based computers. Along with the obvious performance improvements offered by the new native Resource Manager, there exists one difference in the operation of the Resource Manager over all previous implementations that developers should be aware of. Namely, the routines GetIndType and Get1IndType now return resources in the opposite order than the 68K Resource Manager.

Developers who have built applications which depend on the ordering of resources returned by the indexed Resource Manager routines will have to modify their applications to compensate for this change in the behavior of the Resource Manager.


IMPORTANT:
All applications should assume that the order in which both resources and types are returned by GetIndResource and GetIndType is arbitrary. Applications that must have access to resources in some particular order should gather the resources into a list and then sort that list into the order they require.


System 7.5.3 provides a Gestalt selector that may be used to determine both the presence of the native Resource Manager and the ordering of resources returned by the GetIndType and Get1IndType. If the Gestalt selector kResourceBugFixesAttrs, 'rmbg', is not defined, then the original 68K Resource Manager is in use and developers can assume the original ordering has not changed since 1983. Otherwise, the following constants may be used to test bits in the Gestalt result to determine the ordering of resources returned by the indexed resource manager routines:

#define kGestaltRMTypeIndexOrderingReverse 2    /* reverse ordering */
#define kGestaltRMTypeIndexOrderingUndefined 3    /* ordering information
                           unavailable */

With the native Resource Manager included in System Software 7.5.3, the kGestaltRMTypeIndexOrderingReverse flag will be set. In future Operating Systems, the kGestaltRMTypeIndexOrderingUndefined may be set, in which case applications will not be able to determine the order in which resources are returned. Applications developers should regard the kResourceBugFixesAttrs selector as "for interest only" and should not use it in deliverable applications.

See Also:

  • The Resource Manager chapter of Inside Macintosh: More Macintosh Toolbox.

SCSI Driver Changes

Enhancements

The SCSI Manager is now implemented in native code for all PowerPC-based computer systems.

Bug Fixes

A type 11 error occurring with DAT drives has been corrected.

The SCSI Manager provided in System 7.5 Update 2.0 corrects problems found in the 7.5.3 SCSI Manager when it has been installed on either a PowerBook Duo 210 or a PowerBook Duo 230.

Update 2.0 corrects a problem where the Native SCSI Manager could cause a page fault while loading if virtual memory was on when running on 6100/7100/8100 class machines.

The Native SCSI Manager corrects a problem where the computer would hang if an array or tape drive was being used with SCSI ID 5. This problem would only occur if two SCSI devices (one with the ID 5), connected to the same bus, were utilizing the bus at the same time. This problem did not cause any data corruption, and is present in both the Native SCSI Manager found in System 7.5.3 and System 7.5 Update 2.0.

Sound Manager 3.2

Enhancements

The Sound Manager 3.2 and later includes a native implementation on PowerPC-based computer systems, providing performance improvements of approximately 3-6 times the performance of the emulated 68K implementation.

Alert sounds created using SysBeep() are played asynchronously.

New routines (SndGetinfo() and SndSetInfo()) have been provided for retrieving and changing properties about open sound channels, including hardware settings.

Additional selector values have been defined for use with SPBSetDeviceInfo() and SPBGetDeviceInfo() as well as some additional sound output commands to be used with SndGetinfo(), SndSetInfo(), GetSoundOutputInfo() and SetSoundOutputInfo().

A nil sound output component reference may be used to specify the default device when calling GetSoundOutputInfo() and SetSoundOutputInfo().


IMPORTANT:
Developers should no longer use the siOptionsDialog control call to the sound input driver to allow software to adjust the sound input hardware settings, since this method of configuring the sound input driver will be obsolete under Copland. Sound input hardware developers are encouraged to move their sound input hardware settings from the driver control call to the Sequence Grabber Panel Component facilities provided by QuickTime, because this will be the prefered method for configuring sound input hardware in the future. Developers interested in accessing the sound input hardware settings from applications should do so through the SGSettingsDialog function documented in the "Sequence Grabber Components" chapter of Inside Macintosh: QuickTime Components. For further information about creating Sequence Grabber Panel Components consult the "Sequence Grabber Panel Components" chapter of Inside Macintosh: QuickTime Components. During the transitional period between system versions developers are encouraged to support both methods of configuring sound input hardware settings.


Bug Fixes

A problem on PowerPC-based computer upgrade card systems where the sound input driver over wrote a data structure (which could lead to heap corruption) has been corrected.

New version of InstallMoveHHiPatch that will install on PowerMacs when the old Memory Manager is running. On PowerMacs with our new native PowerPC sound components we use more than 3K of the stack. The MoveHHi() in the new ROMs will only preserve 3K so we have to patch it to preserve more stack space.

The Sound Manager now deals with leftover samples during compression better by preserving them across calls to PlaySourceBuffer(). This allows sequential calls to a compressor with non-packet multiple buffer sizes to seam together without clicks.

Multiply bytesPerSample by 8 to get sampleSize for sound header. This fixes a bug in SetupSndHeader with arbitrary compression formats. The format converter was corrected so it does not ask its source for 8-bit twos-complement data, which no other sound component supports. This fixes problems when the format converter is installed after the mixer and is asked to output 8-bit twos-compliment data.

The sample rate converter now stores the amount to skip into a new buffer. This fixes a problem playing scales with the freqDurationCmd when a new buffer is played before the old buffer has reached its end. This problem could be heard when playing notes in HyperCard.

siHardwareMute has been corrected for the Power Macintosh 8100 series, fixing a problem where it was reporting the hardware as muted in some cases when the sound could be heard.

The siHardwareBusy selector has been corrected for the 8500 series.

Speaker and headphone muting has been added into the Preferences. This allows for the user to specify the speaker is not muted when using external speakers or headphones, and the next time the machine is started the user's preference is restored. Previously, it would default to always muting the speaker if something was inserted into the headphone jack.

See Also:

  • "Sound Secrets" by Kip Olson, develop 13.
  • Inside Macintosh: QuickTime Components.
  • Inside Macintosh: QuickTime.

Standard File Package

Bug Fixes

The following corrections have been made in the Standard File package:

A memory leak in the Standard File package dialogs which resulted in a 10 byte leak per list item drawn has been fixed.

StandardFile no longer calls BlockMove from NULL.

StandardFile no longer calls NewControl with a NULL pointer.

The routine StandardFile uses to draw cells no longer uses an unlocked dereferenced handle.

Standard file was not flushing the data cache before disabling the data cache, causing system crashes under some circumstances. Standard file now correctly flushes the data cache before disabling it.

Thread Manager

Bug Fixes

The Thread Manager package has been updated so it correctly restores FSPSCR when running on PowerPC based computers.

See Also:

  • "Concurrent Programming with the Thread Manager" by Eric Anderson and Brad Post, develop 17.
  • Thread Manager SDK on the MacOS SDK CD-ROM.

Translucent Dragging of PixMaps

Enhancements

With System Software 7.5.3 comes the introduction of translucent dragging of screen objects on PowerPC-based computers. Applications may take advantage of these new facilities by providing a PixMap representation of the object they wish to drag to the new routine SetDragImage before calling TrackDrag.

See Also:

  • For details regarding the use of translucent drag and an example application, refer to the Technote entitled "Drag Manager Additions," which supplements the Drag Manager Programmer's Guide found on the Mac OS SDK.

Video Driver Changes

Enhancements

Some of the video drivers have been updated to support new monitors released since System 7.5.1. Descriptions of these changes as they apply to the different drivers are described here.

The following video drivers have been modified to accommodate the newer HammerHead/Sousa ADB controllable displays:

  • Video driver for the Quadra 700, 900, 950, 800, Quadra/Centris 610, 650, LC 475, 575, 605 and various related Performas.
  • Video Driver for the DuoDock II and DuoDock Plus.
  • Video Driver for the MiniDock and DuoDock.
  • Video Driver for the PowerMac AV video card.
  • Video driver for the PowerMac high-performance video card.
  • Video driver for the LC III series (including the LC 520, the Color Classic, and related Performas), and for built-in internal video on the PowerPC-based computers.
  • Video driver for the Quadra 630, LC 5200, and related Performas.
  • Video driver for the PowerBook 160, 165, 165c, 180, 180c, and 500 series built-in external video.

To minimize visible "flicker" on FSTN LCD panels, the standard WDEF method to determine when not to go into deep modes has been generalized to support the video driver for the PowerBook Duo 210, 230, 250, and PowerBook 160, 165, and 180 built-in video (LCD screen).

Video drivers for the DuoDock II and DuoDock Plus now support the new Get/SetSync and Get/SetPowerstate status and control calls so that the generalized PowerBook/Desktop low-power DPMS modes work correctly.

WorldScript Power Adapter

Bug Fixes

Some text handling problems in the WorldScript Power Adapter have been corrected. These problems appeared as garbled text drawn by the software under certain conditions.

Back to top

Downloadables

Acrobat gif

Acrobat version of this Note (128K).

Download



Back to top


Technical Notes by Date | Number | Technology | Title
Developer Documentation | Technical Q&As | Development Kits | Sample Code




Gray line

Contact ADC |  ADC Site Map |  ADC Advanced Search
For information about Apple Products, please visit Apple.com.
Contact Apple | Privacy Notice
Copyright © 2002 Apple Computer, Inc. All rights reserved.
1-800-MY-APPLE