ADC Membership Technical Business Join ADC
Search Advanced Search
Technical Note TN1096
Mac OS 7.6.1

CONTENTS

Technote menu gif

With the release of MacOS 7.6, Apple completed the first step of our incremental release strategy for the Mac OS. This strategy calls for annual reference releases (full standalone installations sold in retail channels) with updates in between.

Mac OS 7.6.1 is the next step in the execution of this strategy. This update to Mac OS 7.6 has two main goals:

  • Improve stability through bug fixes.

  • Make the features of Mac OS 7.6 available to recently introduced computers which are not supported by the initial release.

This update is not intended to deliver any new features, nor does it deliver updates to technologies already available through download sites on the Internet and online services.

For a detailed description of Mac OS 7.6, see Technote 1090 -- Mac OS 7.6.

 Updated: [Feb 08 1998]






Delivery of Mac OS 7.6.1

There are three ways to get Mac OS 7.6.1 Update.

1) There is a four floppy disk image set which is available via the Internet, various other on-line services, and by calling the Apple Order Center. This update will apply to any machine currently running Mac OS 7.6. Machines running a version of system software prior to Mac OS 7.6 must first upgrade to Mac OS 7.6 before applying Mac OS 7.6.1 Update.

2) Several machines were released at approximately the same time as Mac OS 7.6. These machines did not run Mac OS 7.6 at the time of introduction. (For a full list, see the section New CPU's Supported.) A CD-ROM containing a full Mac OS 7.6.1 install is available for these machines. This CD-ROM is available for customers with these computers through the Mac OS Up-To-Date program

For more information about qualified machines, see the Mac OS Up-To-Date web site. This site will be continually updated as any new machines are introduced. In the U.S.A., you may call 1-800-335-9258. For customers outside the U.S.A., contact the local Apple support center for further information.

3) The PowerBook 3400 has a special version of this update, available on five floppy disk images. This update is available via the Internet, various other on-line services, and by calling Apple's customer support departments. This update will only apply to the PowerBook 3400, which when introduced ran a special version of Mac OS 7.6.

Back to top

Changes and Improvements from Mac OS 7.6

Process Manager

Type 11 errors

The biggest change in Mac OS 7.6.1 is the removal of nearly all type 11 errors. Most crashes in Power PC-native code previously were mapped to the "miscellaneous hardware error" code, which is 11. We now calculate the real error code and report the correct number. Refer to -- Technote 1011 Understanding Type 11 & No FPU Installed Errors on the Power Macintosh for more details.

Previously, when MacsBug was not installed, a type 11 error would bring up a "Sorry, a system error has occurred" dialog and force an immediate reboot. Now most of these errors will instead "unexpectedly quit" the foreground application. We strongly advise customers to restart after this occurs, but they should use the Restart item in Finder's Special menu or the Shut Down command in the Apple menu.

Type 12 errors

Under Mac OS 7.6, applications which had a Debugger or DebugStr instruction would cause a type 12 error and force an immediate restart. Now this problem will produce an 'application unexpectedly quit' condition and allow a controlled restart.

No More Type 112 errors

Applications which repeatedly install the same Time Manager task can cause a situation where the VM deferred-task queue overflows. This would cause a Type 112 error under Mac OS 7.5.5 or Mac OS 7.6 and a crash or hang of the system under older system software versions. Mac OS 7.6.1 prevents this condition by detecting duplicate Time Manager tasks and not installing them. For more details see Technote 1069 -- System 7.5.5

Process Manager heap

We now reserve some memory (300K) in the Process Manager heap when available memory is between minimum and preferred launch sizes. This gives things like QuickTime some breathing room by preventing applications from occupying all available memory.

Default Stack Size

Background-only applications had their default stack size increased from 2K to 8K. This helps avoid stack/heap collisions. (The problem is that background-only applications written in a high-level language such as C, C++, or Pascal may invoke library initialization routines before their code can increase the stack using the techniques documented in Technote 1070 or Inside Macintosh: Memory.) See Technote 1070 -- Background-Only Applications for more details on background-only applications, default stack sizes, and how to modify your default stack size.

CFM-68K Runtime Enabler

Under Mac OS 7.6, the Code Fragment Manager was disabled on 680X0 machines. Mac OS 7.6.1 now installs the updated CFM-68K Runtime Enabler on 680X0 machines.

For the full story behind the CFM-68K bug, see Technote 1084 -- Running CFM-68K Code at Interrupt Time: Is Your Code at Risk?

ObjectSupportLib 1.2

With the introduction of a new CFM-68K library, a new ObjectSupportLib library was also needed. Previous versions of OSL have bugs and/or lack support for CFM-68K applications. For more information see Technote 1095 -- Object Support Library Version History.

Memory Manager

BowelsOfTheMemoryMgr

When you are displaying addresses in Macsbug, MacsBug shows offsets from the last symbol it can find. In the Modern Memory Manager on Power Macintosh computers up to Mac OS version 7.6, the last symbol was __HSetStateQ. The code after __HSetStateQ consists of various internal Memory Manager subroutines. So, if there's a hang or crash in an internal Memory Manager subroutine, it shows up in MacsBug as __HSetStateQ+xxxxxxxx.

Various system software engineers were tired of seeing bug reports that said __HSetStateQ was crashing, so beginning with Mac OS 7.6, we decided to add a new last symbol to the Memory Manager. As a consequence, bug reports would be somewhat more informative. We thought of naming the new symbol YourHeapIsCorrupt (since that's usually the case when a program crashes the Memory Manager) but decided on BowelsOfTheMemoryMgr instead because that's where you are.

So, if you're crashing or hanging at BowelsOfTheMemoryMgr+xxxxxxxx, type HC to see if your heap is corrupted (it probably will be) and then start debugging your code to find out how it got corrupted.

Unlocked Handles

We fixed a condition in the Memory Manager which only affected Quicktime. The Memory Manager was unlocking handles at an inappropriate time when these handles were used by QuickTime. This only affected QuickTime; a normal application is only affected by this bug if it uses QuickTime.

Drivers

ATA (IDE)

  • Crashes could occur when performing large (> 1 MB) data transfers via the ATA Manager. Large transfers are broken into multiple transactions. Each transaction could add a stack frame to the stack, risking a stack overflow. This has been fixed.

  • The SCSI and ATA managers share a common deferred task queue rather than each maintaining its own. Previously, the ATA Manager was performing as though all tasks in the queue were its own. As a result, during some concurrent ATA and SCSI operations, an ATA deferred task may not be executed. This usually appears as a system hang for about 10 seconds during access to the ATA drive, and then it would recover. The ATA Manager now checks the queue for its deferred task rather than assuming all queued tasks are its own.

Floppy

The ability to write to MFS disks has been disabled, as such writes often resulted in errors or system hangs. These disks are now read-only.

Serial

There was a problem on the PowerBook 3400 and PowerMac 5400, 5500, 6400 and 6500 which involved framing errors in cases where the RxD+ line was grounded. This could occur under two conditions:

  • An attached serial device (such as a modem or digital camera) was turned off.

  • Use of an RS-232 cable that grounds the unused pins.

This was fixed by adding a reset when the serial driver detects a frame error. A reset was also added on boot if we detect the condition ocurring at startup.

ATI Graphics Accelerator

The previous versions (Graphics Accelerator and Graphics Accelerator 2 extensions) caused long interrupt latencies which impaired video capture. These interrupt latencies have been reduced with the ATI Graphics Accelerator 1.1.4 extension which is installed with Mac OS 7.6.1.

DriverLoaderLib

The Driver Loader Library scans the System Folder for files of type 'ndrv' to find disk based drivers. In the past, only one 'ndrv' could be included in a single file. The Driver Loader would get the first fragment in the file and look for the exported symbol "TheDriverDescription" to determine if the file contained a valid 'ndrv' and to determine which device the driver was for.

The DriverLoaderLib (DLL) was revised to support multiple 'ndrvs' in a single file. 'ndrv' files that contain a single driver will load with no problem. Changes to the DLL to accomplish support for multiple 'ndrvs' in a single file were as follows:

  1. The 'cfrg' must be of extended type.
  2. code fragment name must match the name of the device.

For example, the IMS driver in Mac OS 7.6.1 contains two 'ndrvs' in the "9600 Graphics Accelerator" file. A drivers 'cfrg' resource looks like:

#define UseExtendedCFRGTemplate 1

#include "CodeFragmentTypes.r"

resource 'cfrg' (0) {
    {
        extendedEntry {
            kPowerPC, kFullLib, kNoVersionNum, kNoVersionNum,
            kDefaultStackSize, kNoAppSubFolder,
            kIsLib,kOnDiskFlat,kZeroOffset,kWholeFork,
            "IMS,tt128mb8A",/* standard internal name: used by CFM */
                             /* must match the name of the DEVICE */

            /* start of extended info */
            'ndrv',    /* DLL looks for this to see if ndrv */
            "",
            "",
            "",
            "IMS TwinTurbo 128M8A"    /* external name: may be seen by user */
        }
    }
};

The DLL looks to see how many members are in the file, and for each member, looks for this extended 'cfrg' resource to determine if the 'cfrg' contains a 'ndrv'.

Miscellaneous

  • Previously, there were three PowerBook low battery warnings. There are now only two warning dialogs for PowerBook low battery warning. This was done in response to user testing. This affects all but the original portable. The warnings are as follows:
    • approximately 10 seconds before sleep.

    • approximately 2-4 minutes before the 10 second warning.

  • "Monitors & Sound" is now installed on all PowerPC or supported 680x0 based CPUs if AppleVision software is present. AppleVision 1.5.1 (which is installed as part of Mac OS 7.6.1) requires 'Monitors & Sound'.

  • Fixed a problem in very low brightness/contrast levels in which a gradient pattern would appear on the screen on some models of the PowerBook 1400. This change adjusts the range of allowed settings so the problem does not appear.

  • Mac OS 7.6 did not include two minor bug fixes made in the DR emulator for 7.5.5. See Technote 1069 -- System 7.5.5 for more details on System 7.5.5. These bug fixes are now included in 7.6.1.

  • Added GetPort and SetPort calls for the startup screen during the boot process. This allows password dialogs in disk drivers to work properly.

  • Fixed the handling of gamma correction in the video driver on the 7200, 7500, 8500, and the 3400. If a fixed frequency monitor is attached to a 7200, 7500, 8500 or any of their speedbumps, and if the bits per pixel is 256 colors, the disk based driver will not apply the std gamma table to the hardware.

  • Energy Saver settings were not being saved if the shutdown and start up time were more than 24 hours apart. This is now fixed.

Back to top

New CPU Support

The following Macintosh models were not qualified for the release of Mac OS 7.6. It is necessary to use the Mac OS 7.6.1 CD to update these CPUs to 7.6.1. The models are as follows:

  • Power Macintosh models:
    • 4400
    • 5500
    • 6500
    • 7300
    • 8600
    • 9600

  • PowerBook 3400
    • Note: The PowerBook 3400 has a seperate update or the Mac OS 7.6.1 CD can be used.

Updated Components

Apple System Profiler 1.1.4

Added support for IDE-based CD-ROM drives.

Apple Video Player 1.6/Video Startup

  • Apple Video Player is now scriptable.
  • Support for PCMCIA cards on PowerBook 3400s for video capture and TV reception.

Apple CD-ROM 5.3.3

Added support for faster IDE-based CD ROM drives. Previously, version 5.3.1 of the Apple CD-ROM driver tried to handle all SCSI CD-ROM drives, regardless of whether the drive already had an existing driver supporting it. This caused problems with special hardware such as CD-ROM jukeboxes which required more support than the Apple CD-ROM driver had available. Versions before or after version 5.3.1 correctly work only with Apple CD-ROM drives.

Apple Dual Processor HAL 1.4.1

This is the hardware abstraction layer that allows the Multiprocessing API Library to see multiple processors. It must be stored in the same folder as the Multiprocessing API Library in order to be effective. Non-Apple hardware may require additional or different HALs. This was added to support 9600 MP CPUs.

PC Card Extension 2.5

Will automatically mount PCMCIA storage devices (PC Cards) on the Finder Desktop. Available on all PowerBooks with PCMCIA slots. Previously, this was not done automatically and a utility was required to mount the PC Card.

New or Updated Components for PowerBook 3400

These were all added specifially for PowerBook 3400 support.
  • PowerBook 3400 Ethernet 1.0
  • PowerBook 3400 Internal 33.6
  • PowerBook 3400 Modem 1.0
  • PowerBook Ethernet (PCI) 1.1
  • PowerBook Zoomed Video 1.0
  • Serial (Built-in) 1.2.2
  • AutoRemounter 1.2.3
  • Control Strip 1.4
  • Energy Saver 2.0.4
  • General Controls 7.5.8
  • Infrared 1.0.1
  • Powerbook 7.6
  • TrackPad 7.5.7
  • IrDALib 1.0.1/IrLanScannerPPC 1.0.1

Back to top

Known Problems

L2 Cache on Power Macintosh 5400 and Performa 6400 add CPUs

When you install Mac OS 7.6.1 Update on most machines in the PowerMacintosh 5400, Performa 6360, and Performa 6400 product lines, the L2 cache is disabled. This will result in slower performance on these machines. This problem came about because of an interaction between another bug fix and a compiler optimization. (The bug fix was originally in code of the "5400/6400 Update 1.1" extension. With Mac OS 7.6.1 Update, this code is now part of the System file.) If you are using Mac OS 7.6, installing the "5400/6400 Update 1.1" extension will result in the same performance degradation. You can download the 54xx/64xx L2 Cache Reset fix at the Apple Support Area of http://www.apple.com.

Connectix Speed Doubler

There is a problem using Speed Doubler versions 1.3.1 and earlier and version 2.0 when used with Mac OS 7.6.1. If you use one of these Speed Doubler versions, it will be disabled when you install Mac OS 7.6.1 Update. Connectix is aware of this problem and is providing a free update. For more information, see the Connectix web site at http://www.connectix.com or call 800-839-3632. You can also e-mail them at Technical Services at Connectix

LaserWriter 8.3.4

There is a problem with printing to a file using a desktop printer with Mac OS 7.6.1 and LaserWriter 8.3.4. It will not work with the new CFM-68K fix on the 680x0 computers. This problem only occurs on 680x0 computers after installing Mac OS 7.6.1 Update. The work around is to use LaserWriter 8.4, which can be downloaded from Apple SW updates http://swupdates.info.apple.com/Apple_Support_Area/Apple_Software_Updates/ US/Macintosh/Printing/LaserWriter or America Online (keyword: AppleComputer), and CompuServe (GO APLSUP). To get a list of authorized mirror sites on the Internet, visit: http://support.info.apple.com/ftp/mirrors.html.

For customers outside the U.S.A., contact the local Apple support center for further information.

CFM and Long Symbol Names

There is a CFM error with symbol names over 63 characters long. This is most often seen in Java applets. The first option for a workaround is to use symbol names that are less than or equal to 63 characters. If you must use long symbol names then this is the workaround:

 pascal OSErr   MyFindSymbol    ( CFragConnectionID     connID,
                                  ConstStr255Param      symName,
                                  Ptr *                 symAddr,
                                  CFragSymbolClass *    symClass )
 {
    OSErr err;

    err = FindSymbol ( connID, symName, symAddr, symClass );

    if ( (err == paramErr) && (symName[0] > 63) ) {
       // Oops, we're using the CFM that has the paramErr bug.

       long index, limit;
       Str255 name;

       err = CountSymbols ( connID, &limit );
       if ( err != noErr ) goto EXIT;

       for ( index = 0; index < limit; index += 1 ) {
          err = GetIndSymbol ( connID, index, name, symAddr, symClass );
          if ( err != noErr ) goto EXIT;
          if ( EqualString ( name, symName, false, false ) ) goto EXIT;
       }
       err = cfragNoSymbolErr;

   }

 EXIT:
    return err;

 }

This will be fixed in Mac OS 8 and the limit will be 255 characters.

PowerBooks and Open Transport 1.1.2

Because Open Transport 1.1.2 was released before the PowerBook 3400, some of the resources in Open Transport 1.1.2 are older than what is required for the PowerBook 3400. Customers with a PowerBook 3400 computer who require OT 1.1.2 need to follow a specific installation order to ensure compatibility. After installing Open Transport 1.1.2 on a PowerBook 3400, you must immediately install Mac OS 7.6.1 Update for PowerBook 3400. This will update the appropriate localtalk resources. Problems with older resources are evident when switching between Infrared and LocalTalk. Switching can result in a crash. If you experience problems when switching networks, you should reinstall the Mac OS 7.6.1 Update.

DayStar 68040 Upgrade Card and Virtual Memory

Virtual Memory in the Mac OS 7.6.1 Update is incompatible with DayStar 68040 accelerator cards. You cannot use the DayStar 68040 accelerator card until Virtual Memory is turned off. Mac OS 7.6 and the Mac OS 7.6.1 Update will turn Virtual Memory on for 680x0 machines if there is less than 16 MB of RAM. If there is 16 MB of RAM or more, then the current setting is preserved. So therefore if you have less than 16 MB of RAM and a DayStar 68040 Upgrade card, then this is the workaround:

  1. Take the card out of the machine.
  2. Upgrade to Mac OS 7.6
  3. Upgrade to Mac OS 7.6.1
  4. Turn VM off.
  5. Replace the card and restart.

3D Images and OpenDoc 3DMF Viewer

3D images cannot be viewed with OpenDoc 3DMF Viewer 1.0.1 with QuickDraw 3D 1.5 or 1.5.1 installed. If QuickDraw 3D 1.5 or 1.5.1 is installed, a message about insufficient memory appears when attempting to place a 3D image in an OpenDoc document. Increasing the viewer's memory size with the Get Info command in the File menu does not solve the problem. To use the 3DMF Viewer, install an earlier version of QuickDraw 3D.


1710 Series Monitors and 6100/7100/8100 CPUs

After installing the Mac OS 7.6.1 Update, resolutions above 640 x 480 are lost on 1710 series AppleVision displays on NuBus-based Power Macintosh CPUs that are connected to the AV display connector. This problem also occurs on the High Performance Video card for non-AV Power Macintosh 7100/8100 CPUs. Other AV cards may also exhibit this problem. This only happens if connected to the AV display connector, not the onboard video. This does not effect the PCI based Power Macintosh CPUs.

There are two workarounds for this problem:

  1. Connect the AppleVision display to the onboard video connector.

  2. Perform a clean install of Mac OS 7.6. This will provide all the resolutions that are supported by the AV display connector.

Back to top

References

Technote 1090 -- Mac OS 7.6 provides a detailed description of the numerous changes and improvements provided by Mac OS 7.6.

See "About Mac OS 7.6.1 Update" for more customer and user oriented information.

Back to top

Downloadables

Acrobat gif

Acrobat version of this Note (56K)

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