ID=01 Bus ErrorThis means the computer tried to access memory that doesn't exist. You can
get this error on almost any Macintosh. If one of these computers tried to access
one or more bytes beyond the total number of bytes in RAM, you see a bus error.
You should never see this error on a Macintosh Plus or SE, because address references
that are out of bounds "roll over". This means if one of these computers
tries to access one byte beyond the total bytes in RAM, it actually accesses
the first byte in memory. If you see this error on a Macintosh Plus or SE, it's
reporting the wrong error or having hardware problems.

ID=02 Address ErrorThe Motorola 68000 microprocessor can access memory in increments of one
byte (8 bits), one word (16 bits), or one long word (32 bits). The microprocessor
can access a byte of information at an odd or even memory address. But it must
access a word or long word at an even memory address. So, when the microprocessor
attempts to read or write a word or long word at an odd address, you see this
error. Since that's a 50/50 proposition when running random code, this one shows
up quite often.

ID=03 Illegal InstructionThe computer has a specific vocabulary of machine language instructions
it can understand. If a computer tries to execute an instruction that isn't
in its vocabulary, you see this error code. It's less likely than error 02,
but still very common.

ID=04 Zero Divide ErrorThis error results if the microprocessor divides two numbers, and the divisor
is zero. Sometimes a programmer puts these in as debugging aids, and then forgets
to take them out.

ID=05 Range Check ErrorProgrammers can use an instruction in the Motorola 68000 to check if a number
is within a certain range. This error indicates that the number tested isn't
in the specified range.

ID=06 Overflow ErrorEach number stored in a computer is given a certain amount of space. The
larger the number, the more space is needed to represent the number. An overflow
condition results if a generated number is too big for its allotted space. A
Motorola 68000 instruction tests for an overflow condition, and displays this
error if it detects an overflow.

ID=07 Privilege ViolationThe Motorola 68000 runs in Supervisor or User mode. The Macintosh should
always be in Supervisor mode, but sometimes is placed in User mode. Some of
the instructions can only be executed in Supervisor mode. If the computer attempts
one of these instructions while in User mode, a Privilege Violation error results.

ID=08 Trace Mode ErrorA programmer can use a runtime debugger while in Trace mode. This allows
tracing through a program one instruction at a time. You see this error if a
debugger isn't installed and the 68000 is accidentally placed in Trace mode.

ID=09 and ID=10 Line 1010 & 1111 TrapThere are many routines in the Macintosh ROM that can be called by placing
instructions in a program that aren't in the 68000's vocabulary. When the 68000
encounters such an instruction, it looks it up in the instruction table. This
table gives the location of routines paired with each instruction. If it finds
an entry in the table for the instruction, it branches to the routine. If there's
no entry for the instruction, you see one of these errors.

ID=12 Unimplemented Core RoutineA programmer might set breakpoints in parts of a program to inspect for
errors. This requires using a debugger. If a debugger isn't installed when a
breakpoint occurs, you see this error code.

ID=13 Uninstalled InterruptThe Macintosh uses an interrupt to identify when devices like keyboards
and disk drives need service. Routines must be available in memory to tell the
computer how to service the device. If those routines aren't available, you
see this error.

ID=15 Segment Loader ErrorMacintosh programs are broken up into segments, and each program will always
have at least one segment. Multiple segments allow loading parts of the program
into memory to provide more room for data in internal RAM. The segment loader
is responsible for loading a needed segment into RAM. If the segment loader
can't do this, you'll see this error.

ID=17 through ID=24 Missing Packages 0-7The Macintosh uses packages to do specific tasks. Some of the packages are
International Utilities, Binary-Decimal Conversion, Standard File Utilities,
and Disk Initialization. These packages are located in the System file. If you
get these errors, you probably have a damaged System file. Error codes 15, 16,
26, 27, 30, and 31 also come up when the System file is damaged. Try replacing
the System file.

ID=25 Memory Full ErrorYou've probably run out of RAM. But you can get this error when an earlier
error causes the Macintosh to falsely detect an out-of-memory condition.

ID=28 Stack Ran into HeapThis is similar to the Memory Full error. It's a good idea to save your
work frequently, and keep current backups of your hard disk data. When a system
crash does occur, you'll lose less data if you've taken these precautions.

TOPIC
-----I get an error Type 11 on my Power Macintosh computer when a program
crashes. I never got this error on my 68k based Macintosh computers. Is
this a new error for the Power Macintosh?

DISCUSSION
----------A Type 11 error is listed as a hardware exception error. However,
As with all Macintosh Type xx errors, they usually do not identify a particular
software or hardware component error. Type xx errors are more general in
nature. You may see more Type 11 errors on a Power Macintosh computer because
of problems with the software-based 68k emulator. The emulator allows the
RISC processor to run older Macintosh software. If the emulator gets corrupted
while loading into RAM, then some of the failures caused by this are reported
as Type 11 or Hardware Exception errors. The emulator can get corrupted
by either incompatible software or faulty ardware.

Step 2
------Contact the software vendor for compatibility information if the
problem only occurs in one application, and you can reproduce it consistently.

Step 3
------Turn off all extensions and control panels if the error occurs
in an application that is fully compatible with a Power Macintosh computer.
Check the application again. If the problem goes away, then troubleshoot
your extensions, control panels or fonts. Large numbers of fonts can cause
similar errors, troubleshoot by moving them from the Fonts folder to another
folder. If you still have problems, follow Step 4.

Step 4
------Perform a clean installation of the system software, then test
the system performance for a few days. If the problems continue, particularly
in the Finder, there may be an issue with your Apple or non-Apple hardware.

Step 5
------Disconnect any external or internal SCSI devices that have been
may added (or exchanged for the original Apple hardware) and continue testing.
Since SCSI device drivers load into memory when the Macintosh is turned
on, they can generate conflicts similar to extension conflicts. If you
are using a non-Apple formatting utility, contact the vendor of the utility
for compatibility information. Removing internal SCSI devices is best performed
by an Apple-authorized service provider.

Step 6
------Remove any extra third-party RAM and test. This is best performed
by an Apple-authorized service provider. Also verify that you are not using
composite RAM.

Step 7
------Remove Level 2 Cache RAM, if present, and test. If you continue
to get Type 11 errors using a clean version of the system software without
any third-party hardware attached (including internal or external SCSI
devices, additional RAM, or Level 2 cache RAM), you need to have your computer
serviced by an Apple-authorized service rovider.

This article is one of many available through the Apple Fax center. For
a complete list of available Fax documents, search the Tech Info Library
for Apple Fax Document Index or call the Apple Fax line at 1-800-505-0171
and select document number 20000 (Apple Fax - Document Index - Product
Support Literature). The Apple Fax center is available free of charge 24
hours a day, 7 days a week.

TOPIC
-----This Technote explains some of the causes of "Type 11" and
"No FPU Installed" errors, along with debugging hints to help you find
and fix them. It also focuses on what you as a programmer can do to prevent such
errors.

DISCUSSION
----------Both Type 11 and No FPU Installed errors occur on Power Macintosh
computers, depending on various factors. Both error messages are the result of
programming errors. The No FPU Installed error usually means that your program
is executing data rather than instructions. The Type 11 error is any error (such
as a bus error) in native code.NOTE: In this Technote, I will occasionally mention third-party
products by name. If a third-party product is mentioned by name, it's meant to
be a possible solution for you to investigate, not a recommendation. DTS doesn't
evaluate third-party tools, nor maintain complete lists of possible third-party
solutions. You should consult catalogs of development tools such as:

Macintosh Development Tools & Languages

the Redgate Macintosh Registry

the ubiquitous Internet

the APDA catalog and

reviews in technical magazines to find a product that fits your needs.

There are many Web sites on the Internet for example, Apple's Third-Party
Development Products Database at lists many Macintosh development tools. Perhaps
you may find an appropriate tool to meet your development needs in this way.

About "No FPU Installed" Errors
===============================On a Power Macintosh computer, the error message No FPU Installed
usually means your code has jumped to a non-code area and is executing garbage.
Somewhere in that data (which is being interpreted as instructions) is an
instruction whose op code begins with the hex value F. No FPU Installed is
equivalent to a Type 10 Error i.e., your program has attempted to execute an
unknown instruction op code starting with the hex value F.
On a Power Macintosh, No FPU Installed means that some program has jumped to
an area of data and has tried to execute any data word starting with the hex
value F. The PowerPC chip has floating point support built in, but that
floating-point support is different from the Motorola 680x0 family floating-
point support. The Motorola 680x0 family uses an external floating-point unit.
(There are also external memory management units (MMUs) and other specialized
coprocessors.) Motorola 680x0 CPUs use instructions starting with hex value F as
instructions for these coprocessors.

680x0 Microprocessor Instructions
---------------------------------All Motorola 680x0 microprocessors have instructions consisting of at
least one word (the operation word); some instructions can have up to eleven
words (see the Motorola MC68020 32-bit Microprocessor User's Manual, Third
edition, page 3-1.) The operation word determines what kind of instruction is to
be executed.
For example, the instruction
MOVE.B D1, D2
translates to the hexadecimal value
1401
This instruction starts with the hex value 1. The instruction
FMOVE.X FP3,-(A7)
translates to
F227 6980
This instruction starts with the hex value F.

F-line Instructions
-------------------The Motorola 680x0 architecture was originally designed to support a
floating- point coprocessor chip. This chip, the Floating Point Unit (FPU),
communicates with the CPU via a special set of instructions called F-line
instructions. These instructions always start with an operation word beginning
with the hex value F.
A program can be compiled to take advantage of the hardware assistance the
FPU provides, and thus yield faster floating-point calculations than would be
available with SANE (the Standard Apple Numerics Package). Such programs would
have instructions in the program which start with the hex value F. A program
only using SANE would never have an instruction starting with the hex value F.NOTE: Some Macintosh models, such as the Macintosh SE/30, the
Macintosh IIci, and the Macintosh IIfx, shipped with an FPU coprocessor
installed. Other 680x0-based Macintosh computers, such as the Macintosh IIsi and
the Macintosh Color Classic, had an optional FPU coprocessor. For these
machines, it was possible to purchase an optional card with an FPU coprocessor.

68040 & 68040LC Microprocessors
-------------------------------With the introduction of the 68040 and 68040LC chips, things got a bit
more complicated. The 68040 microprocessor has most of the 68882 FPU included on
the chip. Not everything in the 68881/68882 FPU is in the 68040 chip, however
just the routines that Motorola determined were most frequently used. The rest
of the FPU routines are automatically emulated by software. Because the FPU is
"built-in," as it were, the 68040 chip handles instructions that start
with an operation word beginning with the hex value F by itself. There is no way
to add a coprocessor to a 68040 chip; the instructions are never brought out of
the chip itself.
The 68040LC is a cost-reduced version of the 68040 chip. Savings came about
by removing the FPU portion of the chip. Not only does a 68040LC chip have no
FPU, there is no way to add one.

The Power Macintosh
-------------------Power Macintosh computers emulate a Motorola 68040LC, i.e., a machine
without FPU support. When you get a bomb with the message No FPU installed, it
means some instruction has been executed with an operation word starting with
the hex value F, and that your program is running on a machine without a FPU.
This machine could be one of the following:

a Macintosh with a 68020 or 68030 microprocessor and no FPU coprocessor

a Macintosh with a 68040LC microprocessor (which can never have a FPU)

a Macintosh with a PowerPC chip running 68K code in emulation (since the
68K emulator emulates a 68040LC microprocessor).

Power Macintosh computers contain very fast floating-point support as part of
the CPU. This floating-point support is different from the floating-point
support provided by the Motorola 680x0 microprocessors. Inside Macintosh:PowerPC
Numerics, describes Power Macintosh floating-point support.

Defining a Type 11 Error
========================A Type 11 error means an illegal interrupt vector on a 680x0 machine.
On a Power Macintosh, a Type 11 error is any exception in native code not
handled by one of the installed exception handlers. On a Power Macintosh, a Type
11 error can be almost any error that occurred in native code. Type 11 errors
may include:

an address error

a bus error

an illegal instruction error that occurred in native code.

The exception handlers installed for native code don't correctly handle the
particular condition which was raised, and the error is returned back to the
System Error manager via the Mixed Mode manager. The System Error manager maps
all such exceptions to the system error Type 11 Error.
If you install Macsbug 6.5.2 or later, some Type 11 errors may be reported as
a PowerPC unmapped memory exception. This is equivalent to a bus error, i.e., an
error indicating your program is accessing memory that doesn't exist.
The Modern Memory Manager was designed to be less forgiving than the classic
(68K) Memory Manager. Disposing of something twice, disposing of memory that was
never allocated, and other memory handling problems will often generate a Type
11 error, while on a 68K machine the problem may go unnoticed.

Example #1: Writing Past the End of an Array
--------------------------------------------Writing past the end of an array can be a subtle and difficult-to-find
bug. Example #1 shows you why.
;=======================================================
;Begin C Code
;
void IAmGoingToCrash(void)
{
Str27 badArray;
BlockMoveData("\pThis string is too long for this array",
badArray, 39);
}
;
;End C Code
;=======================================================

NOTE: I've made the bug very obvious; it may not be quite so obvious,
however, in your code. In this example, I've put a string of 39 characters into
an array defined to hold 27 characters. This overwrites the stack, which
contains such useful things as your return address. On a 68K Mac, this causes a
bus error. On a PowerPC Mac in 68K emulation, this causes a bus error. On a
Power Macintosh in native code, this causes a Type 11 error.

NOTE: I've made the bug very obvious; it may not be quite so obvious,
however, in your code. In this example, I've created a pointer to non-existent
memory (-2 isn't a valid address) and then tried to access the memory to which
the pointer refers. On a 68K Mac, this causes a bus error. On a PowerPC Mac in
68K emulation, this also causes a bus error. On a Power Macintosh in native
code, this causes a Type 11 error.

Other Situations Causing Type 11 Errors
=======================================The following sections document some of the known bugs in various
products that may cause Type 11 errors.

Color Picker vs Third-Party SCSI Drivers
----------------------------------------One reproducible problem stems from a known bug in several third-party
SCSI hard disk drivers. The bug causes the Color Picker to crash when trying to
resolve a boot volume alias it makes at startup time. This problem exists in any
system when Color Picker 2.0 or 2.0.1 is installed and the boot volume is not a
removable drive. The fundamental cause of the problem is that the SCSI driver
incorrectly marks the boot drive as a removable drive during the boot process
and changes it to be properly marked as a fixed device after startup. To find
its code, the Color Picker resolves the boot volume alias it made during
startup. Since the alias passed to the Alias Manager is for a removable drive,
the Alias Manager can't resolve the alias (since the device is now marked as
fixed.) The Color Picker design did not anticipate the boot volume not being
found. This results in a Type 11 error. The fix is to upgrade your SCSI driver
to a later version.

Calling a Routine That May Move Memory at Interrupt Time
--------------------------------------------------------The Apple Media Kit, release 1.2, had a problem that could cause random
errors. During a VBL task, AMK was calling SetCCursor. SetCCursor can possibly
move memory. Moving memory during interrupt time is a very bad idea. The Memory
Manager may be in an unstable state, such as compacting memory, when an
interrupt routine gets called. This can cause a Type 11 error in native code. A
replacement cursor.c file has been provided in the Apple Media Tool/Programming
Environment Runtime folder, and we do have a replacement Runtime
Maker:Codes:Program file for Apple Media Tool. If you are currently developing
titles, replacing these files and rebuilding your projects will remove the bug.

Not Enough Heap Space
---------------------There are some situations where having small amounts of memory
available in the system heap may lead to a Type 11 error. As an example, if the
shared library manager can't load a shared library, you may get a Type 11 error.
This can happen when QuickTime tries to load a decompressor for certain kinds of
images.

Writing Past the End of an Array
--------------------------------In OpenTransport 1.0.5 or earlier, there was a bug in the TCP/IP
control panel code that could corrupt memory if there were more than 256 zones
and a MacIP server was found in a zone past the 256th zone. Under these
conditions, the control panel code wrote past the end of one of its buffers.
This bug would manifest itself if the user opened the select zone dialog and the
TCP/IP control panel was left open long enough for the NBP lookup calls for
zones past the 256th zone to complete. This is corrected in OpenTransport 1.0.6
and later, but is given here as an example of a Type 11 error.

Insufficient Stack Space
------------------------Heavy use of local variables or recursion may cause your program to run
out of stack space. When this happens, you may have crashes that are difficult
to track down. Increasing your program's stack is one solution. Whenever you are
using a large number of local variables or recursive routines, you should
increase your program's stack (using the procedure listed in Inside Macintosh:
Memory on page 1-40).
As an extreme example, a faceless background application (documented in
Technical Note PS 2) has only a 2K stack by default. A 68K application has 24K
of stack on most modern machines (8K if no Color QuickDraw is installed, 32K if
A/UX is installed.) You can use the low memory accessor function LMGetDfltStack
to find your current stack size. Native QuickDraw has several changes in
algorithms that have increased the size of some structures. PowerPC alignment
issues may cause the size of data structures to increase. Check your compiler
documentation for further details.
To help detect collisions between the stack and the heap, a stack sniffer VBL
task is installed that compares the current ends of the stack and heap and
generates a system error 28 in case of a collision. Unfortunately, the Thread
Manager is forced to disable the stack sniffer whenever it is installed. (This
is because threads can have a stack in places where the stack sniffer doesn't
expect them; if the stack sniffer is enabled, it would generate a system error
28.) This means you don't have the same level of protection as you did under
older system software versions without the Thread Manager installed.

Too Much Recursion in QuickDraw
-------------------------------Native QuickDraw before version 2.4.1 used a recursive routine to
handle regions. This recursive code could cause your stack to run into the heap
when handling certain region shapes. Version 2.4.1 of QuickDraw changed to a
non-recursive routine which eliminates this error. (You can detect the version
of QuickDraw using the Gestalt selector qd which returns a version.) In general,
recursion on PowerMacs is dangerous unless you have substantial stack space
available; PowerPC stack frames are very large, and putting many of them on the
stack may quickly exhaust available stack.

Interrupts Not Handled by Device Drivers
----------------------------------------Some Type 11 errors may legitimately be illegal interrupt vector
errors, rather than simply unhandled exceptions in native code. If a device
driver for a NuBus or PCI card does not install an interrupt service routine,
but the card raises an interrupt, you will receive a Type 11 error. This will
happen whether you are running in 68K code or PowerPC code. The only solution
for such a problem is to update the driver to correctly handle the interrupt
issued by the card.

Other Programming Errors
========================Common programming errors may cause Type 11 or No FPU Installed errors.
These include the same kinds of errors that usually result in address errors on
680x0-based Macintosh computers. For example:

Indexing through an array incorrectly so that your program goes outside
the memory allocated for that array (as demonstrated above).

Some Techniques To Help Avoid Type 11 Errors
============================================The following techniques may help resolve situations that might lead to
Type 11 errors:

Test your code carefully.

Install the Debugging Modern Memory Manager, available on the Tool chest
Developer CD. This version of the Modern Memory Manager has additional
checks installed which allow you to track down and eliminate many memory
management bugs.

Use extensions such as EvenBetterBusError (found on the Tool chest
Developer CD) in conjunction with Macsbug 6.5.2 or later, to detect use of
uninitialized pointers or handles.

Use third-party testing tools such as QC by Onyx or MemoryMine by
Adianta.IMPORTANT: It goes without saying that good testing before you
release a product will prevent expensive customer support calls later on.

User-Level Recommendations
--------------------------Here are some user-level suggestions recommended by Apple for
unexplained Type 11 or No FPU installed errors:

Upgrade your hard disk driver(s) to the latest version available. There
are some known problems between SCSI Manager 4.3 and some SCSI disk drivers.
Starting with System 7.5, the SCSI Manager 4.3 is installed on all Macintosh
Quadras and Power Macintosh computers. There are some known programming
problems in some older third-party disk drivers.

Upgrade to the latest System Software appropriate for your system. Several
significant bug fixes in system updates should reduce the number of Type 11
and No FPU Installed errors you encounter.

Do a clean install of your System Software. Use the Extensions Manager
control panel to determine if any additional control panels or extensions
are conflicting with your system software.

Some Type 11 errors may result from corrupted PRAM. Unfortunately, most of
extended PRAM is undocumented. (See Inside Macintosh:Operating System
Utilites, chapter 7, Parameter RAM Utilities, for what details are
documented.) You can restore your default PRAM values by holding down
Command-Option-P-R at system startup time, or by using a shareware utility
such as TechTool.

Make sure you are not using composite RAM in a Power Macintosh. Memory
specifications are in the developer hardware notes for each computer.

Some users claim that installing the shareware extension SoftwareFPU cuts
down on No FPU Installed problems. This extension emulates the Motorola FPU
(at a considerably slower speed), thus preventing bombs from software which
incorrectly makes FPU calls. This may alleviate no FPU Installed errors, but
it doesn't address the fundamental problem, namely that some software is
executing unexpected data or making illegal calls to a non-existent FPU.

Upgrade any software you find that causes repeatable errors.

Summary
=======There are no easy solutions for handling Type 11 Error or No FPU
Installed errors. Only careful debugging and testing can reduce the number and
frequency of these errors. Most problems stem from common programming errors.

This article provides information about a non-Apple product. Apple Computer,
Inc. is not responsible for its content. Please contact the vendor for
additional information. The Tech Info Library article titled "Locating
Vendor Information" can help you search for a particular vendor's address
and phone number.

This article is one of many available through the Apple Fax center. For a
complete list of available fax documents, search the Tech Info Library for Apple
Fax Document Index or call the Apple Fax line at 1-800-505-0171 and select
document number 20000 (Apple Fax - Document Index - Product Support Literature).
The Apple Fax center is available free of charge 24 hours a day, 7 days a week.

There is no handler for this data type installed for the current application

-812

rcDBWrongVersion

Wrong version number

-813

rcDBPackNotInited

The InitDBPack function has not yet been called

Help Manager Errors

-850

hmHelpDisabled

Help balloons are not enabled

-851

hmResNotFound

????

-852

hmMemFullErr

????

-853

hmBalloonAborted

Because of constant cursor movement,the help balloon wasn't displayed

-854

hmSameAsLastBalloon

Menu and item are same as previous menu and item

-855

hmHelpManagerNotInited

Help menu not set up

-856

hmBadSelector

????

-857

hmSkippedBalloon

No ballon content to fill in

-858

hmWrongVersion

Wrong version of Help Manager resource

-859

hmUnknownHelpType

Help message record contained a bad type

-860

hmCouldNotLoadPackage

????

-861

hmOperationUnsupported

Bad method parameter

-862

hmNoBalloonUp

No balloon showing

-863

hmCloseViewActive

User using CloseView won't let you remove balloon

AppleTalk - PPC Toolbox Errors

-900

notInitErr PPC

Toolbox has not been initialized yet

-902

nameTypeErr

Invalid or inappropriate locationKindSelector in location name

-903

noPortErr

Invalid port name; Unable to open port or bad port reference number

-904

noGlobalsErr

System unable to allocate memory, critical error

-905

localOnlyErr

Network activity is currently disabled

-906

destPortErr

Port does not exist at destination

-907

sessTableErr

PPC Toolbox is unable to create a session

-908

noSessionErr

Invalid session reference number

-909

badReqErr

Bad parameter or invalid state for this operation

-910

portNameExistsErr

Another port is already open with this name

-911

noUserNameErr

User name unknown on destination machine

-912

userRejectErr

Destination rejected the session request

-915

noResponseErr

Unable to contact application

-916

portClosedErr

The port was closed

-917

sessClosedErr

The session has closed

-919

badPortNameErr

PPC port record is invalid

-922

noDefaultUserErr

User has not specified owner name in Sharing Setup control panel

-923

notLoggedInErr

Default user reference number does not yet exist

-924

noUserRefErr

Unable to create a new user reference number

-925

networkErr

An error has occurred in the network

-926

noInformErr

PPCStart failed because target application did not have an inform pending

-927

authFailErr

User's password is wrong

-928

noUserRecErr

Invalid user reference number

-930

badServiceMethodErr

Service method is other than ppcServiceRealTime

-931

badLocNameErr

Location name is invalid

-932

guestNotAllowedErr

Destination port requires authentication

AppleTalk - NBP Errors

-1024

nbpBuffOvr

Buffer overflow in LookupName

-1025

nbpNoConfirm

Name not confirmed on ConfirmName

-1026

nbpConfDiff

Name confirmed at different socket

-1027

nbpDuplicate

Duplicate name exists already

-1028

nbpNotFound

Name not found on remove

-1029

nbpNISErr

Error trying to open the NIS

ASP Errors (XPP driver)

-1066

aspBadVersNum

Server cannot support this ASP version

-1067

aspBufTooSmall

Buffer too small

-1068

aspNoMoreSess

No more sessions on server

-1069

aspNoServers

No servers at that address

-1070

aspParamErr

Parameter error

-1071

aspServerBusy

Server cannot open another session

-1072

aspSessClosed

Session closed

-1073

aspSizeErr

Command block too big

-1074

aspTooMany

Too many clients (server error)

-1075

aspNoAck

No ack on attention request (server err)

AppleTalk - ATP Errors

-1096

reqFailed

Request to contact router failed: retry count exceeded

-1097

tooManyReqs

Too many concurrent requests

-1098

tooManySkts

Too many concurrent responding-sockets

-1099

badATPSkt

Bad ATP-responding socket

-1100

badBuffNum

Bad response buffer number specififed

-1101

noRelErr

No release received

-1102

cbNotFound

Control Block not found; no pendingasynchronous calls

-1103

noSendResp

AddResponse issued without SendResponse

-1104

noDataArea

No data area for request to MPP

-1105

reqAborted

ERdCancel function called for this ERead [SendRequest aborted by RelTCB]

Data Stream Protocol - DSP driver Errors

-1273

errOpenDenied

Open request denied by recipient

-1274

errDSPQueueSize

Send or receive queue is too small

-1275

errFwdReset

Read terminated by forward reset

-1276

errAttention

Attention message too long

-1277

errOpening

Attempt to open connection failed

-1278

errState

Bad connection state for this operation

-1279

errAborted

Request aborted by dspRemove or dspClose function

-1280

errRefNum

Bad connection reference number

HFS Errors

-1300

fidNotFound

File ID not found [No file thread exists]

-1301

fidExists

File id already exists

-1302

notAFileErr

Specified file is a directory

-1303

diffVolErr

Files on different volumes

-1304

catChangedErr

Catalog has changed and CatPosition may be invalid

-1305

desktopDamagedErr

The desktop database has become corrupted - the Finder
will fix this, but if your application is not running with the Finder,
use DTReset or DTDelete

AOCE General Errors (-1500 to -1521)

-1500

kOCEToolboxNotOpen

toolbox not open; perhaps it's closing

-1501

kOCEInvalidCommand

request code passed to trap call invalid

-1502

kOCEInvalidRef

reference to object obsolete/invalid

-1503

kOCEBufferTooSmall

buffer supplied too small for task

-1504

kOCEVersionErr

some manner of software version mismatch

-1505

kOCESyncAsyncErr

op tried synchronously; may only be done async, or vice versa

-1506

kOCEInternalErr

OCE toolbox has an internal error

-1507

kOCENotAnOwner

operation can only be done by object's owner

-1508

kOCENotImplemented

feature not implemented

-1509

kOCENotAuthenticated

user must be authenticated

-1510

kOCEAlreadyExists

object being added already exists

-1511

kOCEDoesntExist

object being referenced doesn't exist or cannot be found

-1512

kOCEConnectionErr

unable to open or maintain network transport

-1513

kOCEConnectionClosed

connect has closed

-1514

kOCEInvalidRecipient

invalid recipient/address for command

-1515

kOCEInvalidIndex

invalid index (out of range)

-1516

kOCERefIsClosing

object references being closed, cannot complete command

-1517

kOCEHasPendingMsgs

-1518

kOCEInvalidConfiguration

-1519

kOCERequiredServicesNotAvailable

-1520

kOCEServerInactive

-1521

kOCEMoreDiskSpaceNeeded

inadequate disk space to safely complete operation

-1522

kOCEParamErr

paramErr invalid parameter passed to toolbox

AOCE Authentication Errors (-1540 to -1571)

-1540

kOCEReadAccessDenied

-1541

kOCEWriteAccessDenied

-1542

kOCEAccessRightsInsufficient

stream needs to be authenticated, or not authorized, or someone other than agent trying to TPFC, or problem in server-to-server authentication

-1543

kOCEUnsupportedCredentialsVersion

don't know how to read version of credentials

-1544

kOCECredentialsProblem

couldn't successfully decrypt credentials

-1545

kOCECredentialsImmature

current time < first valid time

-1546

kOCECredentialsExpired

current time > expiry time

-1547

kOCEProxyImmature

current time < proxy start time

-1548

kOCEProxyExpired

current time > proxy expiry time

-1549

kOCEDisallowedRecipient

recipient not specified in proxy

-1550

kOCENoKeyFound

found no key for entity in question

-1551

kOCEPrincipalKeyNotFound

couldn't decode proxy because principal has no key

-1552

kOCERecipientKeyNotFound

recipient has no key

-1553

kOCEAgentKeyNotFound

in TPFC, agent has no key

-1554

kOCEKeyAlreadyRegistered

entity already has a key

-1555

kOCEMalformedKey

key is of an unknown encryption method, or key doesn't match password

-1556

kOCEUndesirableKey

password too short, key too simple, or trying to change cluster key to the same value

-1557

kOCEWrongIdentityOrKey

in CheckIdentity, name doesn't exist or key is wrong

-1558

kOCEInitiatorKeyProblem

either we couldn't find the initiator's key or we found it but couldn't successfully decrypt instructions or proxy

-1559

kOCEBadEncryptionMethod

specified encryption method is not supported

-1560

kOCELocalIdentityDoesNotExist

LocalIdentity has to be setup

-1561

kOCELocalAuthenticationFail

LocalIdentity Login has to be done for this operation

-1562

kOCELocalIdentitySetupExists

LocalIdentity setup exists, use change instead of setup

-1563

kOCEDirectoryIdentitySetupExists

DirectoryIdentity setup exists, use change instead of setup

-1564

kOCEDirectoryIdentitySetupDoesNotExist

DirectoryIdentity setup does not exist

-1565

kOCENotLocalIdentity

use LocalIdentity calls instead!

-1566

kOCENoMoreIDs

identity table is full

-1567

kOCEUnknownID

identity passed is not valid

-1568

kOCEOperationDenied

LocalID operation denied

-1569

kOCEAmbiguousMatches

ambiguous matches found in resolving CIDs (more than 1 CID)

-1570

kOCENoASDSPWorkSpace

No ASDSP workspace passed for Open Secure Stream

-1571

kOCEAuthenticationTrouble

generic authentication problem

AOCE Catalog Errors (-1610 to -1646)

-1610

kOCENotLocal

server
does not serve requested dNode

-1611

kOCETooBusy

server cannot complete call at this time

-1612

kOCEDatabaseFull

disk full

-1613

kOCETargetDirectoryInaccessible

catalog server not responding

-1614

kOCEBogusArgs

args not formatted correctly on wire

-1615

kOCENoSuchDNode

requested dNode does not exist

-1616

kOCEDNodeUnavailable

could not find any servers that serve requested dNode

-1617

kOCEBadRecordID

invalid RecordID (usually name and/or type don't match cid)

-1618

kOCENoSuchRecord

specified record does not exist

-1619

kOCENoSuchAttributeValue

attribute value that was passed does not exist

-1620

kOCENoSuchPseudonym

specified pseudonym does not exist

-1621

kOCEAttributeValueTooBig

self-explanatory

-1622

kOCETypeExists

type already exists in record

-1623

kOCEMoreData

only a warning - buffer not big enough

-1624

kOCERefNumBad

RefNum is not valid

-1625

kOCEStreamCreationErr

problem creating stream

-1626

kOCEOperationNotSupported

the specified catalog does not support operation

-1627

kOCEPABNotOpen

specified Personal Catalog is not open to make the operation

-1628

kOCEDSAMInstallErr

specified CSAM could not be installed

-1629

kOCEDirListFullErr

catalog list is full, try removing an entry

-1630

kOCEDirectoryNotFoundErr

catalog was not found in the list

-1631

kOCEAbortNotSupportedForThisCall

this call cannot be aborted

-1632

kOCEAborted

this call was aborted

-1633

kOCEOCESetupRequired

LocalIdentity Setup is required

-1634

kOCEDSAMRecordNotFound

CSAM Record not found

-1635

kOCEDSAMNotInstantiated

CSAM is not instantiated

-1636

kOCEDSAMRecordExists

CSAM record already exists

-1637

kOCELengthError

supplied buffer was too small

-1638

kOCEBadStartingRecord

Lookup starting record is not within range

-1639

kOCEBadStartingAttribute

Lookup starting attribute is not within range

-1640

kOCEMoreAttrValue

attribute value could not fit into buffer (even though it was the only value)

-1641

kOCENoDupAllowed

-1642

kOCENoSuchAttributeType

-1643

kOCEMiscError

some other error

-1644

kOCENoSuchIcon

no matching icon from GetDirectoryIcon

-1645

kOCERLIsDontMatch

RLIs do not match in lookup

-1646

kOCEDirectoryCorrupt

Serious disk fill corruption problem

AppleEvent Errors

-1700

errAECoercionFail

Data could not be coerced to therequested descriptor type

-1701

errAEDescNotFound

Descriptor record was not found

-1702

errAECorruptData

Data in an Apple event could not be read

-1703

errAEWrongDataType

Wrong descriptor type

-1704

errAENotAEDesc

Not a valid descriptor record

-1705

errAEBadListItem

Operation involving a list item failed

-1706

errAENewerVersion

Need a newer version of the Apple Event Manager

-1707

errAENotAppleEvent

Event is not an Apple event

-1708

errAEEventNotHandled

Event wasn't handled by an Apple event handler

-1709

errAEReplyNotValid

AEResetTimer was passed an invalid reply

-1710

errAEUnknownSendMode

Invalid sending mode was passed

-1711

errAEWaitCanceled

User canceled out of wait loop for replyor reciept

-1712

errAETimeout

Apple event timed out

-1713

errAENoUserInteraction

No user interaction allowed

-1714

errAENotASpecialFunction

Wrong keyword for a special function

-1715

errAEParamMissed

Handler did not get all required paramters

-1716

errAEUnknownAddressType

Unknown Apple event address type

-1717

errAEHandlerNotFound

No handler found for an Apple event or a coersion

-1718

errAEReplyNotArrived

Reply has not yet arrived

-1719

errAEIllegalIndex

Not a valid list index

AOCE Standard Mail Errors (-1900 to -1928)

-1900

kSMPNotEnoughMemoryForAllRecips

-1901

kSMPCopyInProgress

-1902

kSMPMailerNotInitialized

-1903

kSMPShouldNotAddContent

-1904

kSMPMailboxNotFound

-1905

kSMPNoNextLetter

-1906

kSMPHasOpenAttachments

-1907

kSMPFinderNotRunning

-1908

kSMPCommandDisabled

-1909

kSMPNoMailerInWindow

-1910

kSMPNoSuchAddress

-1911

kSMPMailerAlreadyInWindow

-1912

kSMPMailerUneditable

-1913

kSMPNoMatchingBegin

-1914

kSMPCannotSendReceivedLetter

-1915

kSMPIllegalForDraftLetter

-1916

kSMPMailerCannotExpandOrContract

-1917

kSMPMailerAlreadyExpandedOrContracted

-1918

kSMPIllegalComponent

-1919

kSMPMailerAlreadyNotTarget

-1920

kSMPComponentIsAlreadyTarget

-1921

kSMPRecordDoesNotContainAddress

-1922

kSMPAddressAlreadyInList

-1923

kSMPIllegalSendFormats

-1924

kSMPInvalidAddressString

-1925

kSMPSubjectTooBig

-1926

kSMPParamCountErr

enclosure
count <>1

-1927

kSMPTooManyPages

Exceeding
the image page limit

-1928

kSMPTooManyEnclosures

AOCE Standard Directory Errors (-1950 to -1953)

-1950

kSDPNoSearchText

-1951

kSDPTooManyLoginAttempts

-1952

kSDPNoSelection

-1953

kSDPPersonalDirectoryRepairFailed

AOCE Digital Signature Errors (-1970 to -1983)

-1970

kSIGOperationIncompatibleErr

context in use for different type of operation

-1971

kSIGCertificateQueryDenied

can't query certificates with this context

-1972

kSIGVerifyFailedErr

verification failed

-1973

kSIGInvalidCredentialErr

verified OK but credential out of date, either pending or expired

-1974

kSIGIndexErr

the index given is outside range of allowable values

-1975

kSIGSignerErr

problem with signer or signature

-1976

kSIGPasswordErr

password incorrect

-1977

kSIGInternalsErr

internal error occurred like a bad digest,context or signature

-1978

kSIGToolboxNotPresentErr

for client services (ie servers) to report back - not returned bythe TB

-1979

kSIGContextPrepareErr

context either prepared with VerifyPrepare, SignPrepare or DigestPrepare already or has been corrupted

-1980

kSIGNoDigestErr

no digest in signature

-1981

kSIGConversionErr

unabld to convert attribute to Mac format

-1982

kSIGSignerNotValidErr

signer has either expired or is pending and can not sign

-1983

kSIGNoSignature

standard file signature not found

AppleTalk - ATP Errors

-3101

buf2SmallErr

Packet too large for buffer; partial data returned

-3102

noMPPErr

No MPP error

-3103

ckSumErr

Check sum error

-3104

extractErr

Extraction error

-3105

readQErr

Read queue error

-3106

atpLenErr

ATP length error

-3107

atpBadRsp

ATP bad response error

-3108

recNotFnd

Record not found

-3109

sktClosedErr

Socket closed error

Open
Transport Errors

-3150

kOTBadAddressErr

The specified protocol address was in an incorrect format or
contained illegal information.

-3151

kOTBadOptionErr

The specified protocol options were in an incorrect format
or contained illegal information.

-3152

kOTAccessErr

The user does not have permission to negotiate the specified
address or options.

-3153

kOTBadReferenceErr

The specified EndpointRef or TEndpoint * does not refer to a
valid endpoint.

-3154

kOTNoAddressErr

The endpoint could not allocate an address, or an address
was required and not supplied by the client.

-3155

kOTOutStateErr

The function was issued in the wrong sequence.

-3156

kOTBadSequenceErr

An invalid sequence number was specified, or a NULL call
pointer was specified when rejecting a connection request.

-3158

kOTLookErr

An asynchronous event has occurred on this endpoint.

-3159

kOTBadDataErr

The amount of client data specified was not within the
bounds allowed by the endpoint.

-3160

kOTBufferOverflowErr

The number of bytes allocated to hold a result is greater
than zero, but not sufficient to store the result.

-3161

kOTFlowErr

The endpoint is in asynchronous mode, but the flow control
mechanism prevents the endpoint from accepting any data at this time.

-3162

kOTNoDataErr

This endpoint is in non-blocking mode, but no data is
currently available. It is also returned by LookupName when no names are
found.

-3163

kOTNoDisconnectErr

No disconnect indication is available.

-3164

kOTNoUDErrErr

No unit data error indication currently exists on this
endpoint.

-3165

kOTBadFlagErr

An invalid flag was specified.

-3166

kOTNoReleaseErr

No orderly release indication currently exists on this
endpoint.

-3167

kOTNotSupportedErr

This action is not supported by this endpoint.

-3168

kOTStateChangeErr

The endpoint is undergoing a transient state change. This
error is returned when a function call is made while an endpoint is in the
process of changing states. The client should wait for an event indicating
the endpoint has finished changing state and call the function again.

Note: The equivalent state-change error code, TSTATECHNG, is not
described in the 1992 X/Open XTI specification.

This error is also returned if you attempt to use an
"incompatible" function while another operation is still ongoing
(for example: calling SndUData while an OptionManagement call is still
outstanding).

-3169

kOTStructureTypeErr

An unsupported structure type was passed in the structType
field. This error is also returned when the structType field is
inconsistent with the endpoint type.

-3170

kOTBadNameErr

The endpoint name is invalid.

-3171

kOTBadQLenErr

The argument qlen when the endpoint was bound with Bind was
zero.

-3172

kOTAddressBusyErr

The requested address is in use, or this endpoint does not
support multiple connections with the same local and remote addresses.
This result code indicates that a connection already exists. As a return
value for a Bind call, it may also indicate that no dynamic addresses are
available for protocols or configuration methods that allow dynamic
addressing.

-3173

kOTIndOutErr

There are outstanding connection indications on the
endpoint. All other connection indications must be handled either by
rejecting them with SndDisconnect, or by accepting them with Accept.

-3174

kOTProviderMismatchErr

The endpoint that is to accept the connection is not the
same kind of endpoint as this one.

-3175

kOTResQLenErr

When this endpoint was bound (see Bind), the qlen parameter
was greater than zero. But to accept a connection on an alternate
end-point, such as this one, the endpoint must be bound with a qlen
parameter equal to zero.

-3176

kOTResAddressErr

The address to which this endpoint is bound differs from
that of the endpoint that received the connection request; thus, this
endpoint cannot accept this connection request.

-3177

kOTQFullErr

The maximum number of outstanding indications has been
reached for the endpoint.

-3178

kOTProtocolErr

An unspecified protocol error occurred.

-3179

kOTBadSyncErr

A call to Sync was made at non-SystemTask time.

-3180

kOTCanceledErr

An outstanding call was canceled.

0000

kOTNoError

The function completed execution without error.

Print Manager w/LaserWriter Errors

-4096

???

No free Connect Control Blocks available

-4097

???

Bad connection reference number

-4098

???

Request already active

-4099

???

Write request too big

-4100

???

Connection just closed

-4101

???

Printer not found, or closed

File Manager Extensions Errors

-5000

accessDenied

Incorrect access for this file/folder

-5006

DenyConflict

Permission/Deny mode conflicts with the current mode in which this
fork is already open

When I turn on my Macintosh, I get a black screen with a "sad
Macintosh" face and the numbers 020016. There is no listing for this
error code in any of my manuals. What does it mean?

DISCUSSION

The particular error code that appears with the "sad Macintosh"
is not as important as WHEN it occurs. If the Macintosh can start up from
a different system diskette, then the problem is probably with the system
software on the other disk. System problems are usually identified when
you get a "happy Macintosh" face and the "Welcome to Macintosh"
screen before the "sad Macintosh."
If the "sad Macintosh" face appears immediately at power up,
that usually suggests an issue with the logic board or memory. Try starting
up from a floppy disk before assuming it's a hardware problem.
Sad Mac Error Codes Description
On the Original ROMs (Macintosh 128k, 512k, 512ke, Plus):
When you press the interrupt button on the side of your Macintosh when
starting up, you should get a sad Mac icon with '0F000D' and some bits
cycling under the icon indicating it is performing a memory test.
This numeric code is in two parts:

The first two characters are the class code. The class code tells what
part of the diagnostic program found the error.

The second four are the sub code. The sub class code tells what the
error was. In the case of a bad RAM chip, the sub class identifies the
bad chip (this was very helpful to homegrown upgraders).

Class Code

Sub Code

1 = ROM test failed

Meaningless

2 = Memory test - bus subtest

identifies bad chips

3 = Memory test - byte write

identifies bad chips

4 = Memory test - Mod3 test

identifies bad chips

5 = Memory test - address uniqueness

identifies bad chips

Single Chip Identification

Data Bit

Location

Sub Code Bits

0

F5

0001

1

F6

0002

2

F7

0004

3

F8

0008

4

F9

0010

5

F10

0020

6

F11

0040

7

F12

0080

8

G5

0100

9

G6

0200

10

G7

0400

11

G8

0800

12

G9

1000

13

G10

2000

14

G11

4000

15

G12

8000

Class Code

Sub Code

F = Exception

0001 Bus error

0002 Address error

0003 Illegal instruction

0004 Zero divide

0005 Check instruction

0006 Traps instruction

0007 Privilege violation

0008 Trace

0009 Line 1010

000A Line 1111

000B Other exception

000C Nothing

000D NMI (normal indication)

0064 Couldnt Read System File into Memory

Macintosh SE & Macintosh II ROMs:
The Sad Mac error codes have been changed to incorporate additional
power for testing and to support the 32-bit world. Generally, the same
codes are used for 68000 exceptions as the Macintosh, however they are
displayed differently. TraditionalThe traditional Macintosh error codes are displayed like this: 0F0003
Where F indicates an exception occurred, and 3 indicates an illegal
instruction occurred. On the Macintosh SE and II, the display would appear:
0000000F
00000003

Note: 0000003 is a hex number. Power OnThe new power-on error codes have the following format:

XXXXYYYY
ZZZZZZZZ

Where XXXX is internal test manager state information (ignore this),
YYYY contains codes that indicate either an exception code, or the test
number for a power on test failure. The ZZZZZZZZ code contains additional
failure information to help track down the problem. YYYY Error Codes:

$0001

The ROM checksum test failed. Ignore the Z field.

$0002

The first small chunk of RAM to be tested failed. The Z field indicates
which RAM Bit(s) failed. This small chunk of RAM is always in Bank B.
Example:
$AABBCCDD
AA=8 bit mask for bits 31-24
BB=8 bit mask for bits 23-16
CC=8 bit mask for bits 15-8
DD=8 bit mask for bits 7-0

$0003

The RAM test failed while testing bank B, after passing the chunk tested
for code $0002. The Z field indicates which bits failed as in code $0002.

$0004

The RAM test failed while testing bank A. The Z field indicates which
bits failed as in code $0002.

Unable to properly address the VIA1 chip. The Z field is not applicable.

$0007

Unable to properly address the VIA2 chip (Macintosh II only). The Z
field is not applicable.

$0008

Unable to properly access the Front Desk Bus. The Z field is not applicable.

$0009

Unable to properly access the MMU. The Z field is not applicable.

$000A

Unable to properly access NuBus. The Z field is not applicable.

$000B

Unable to properly access the SCSI Chip. The Z field is not applicable.

$000C

Unable to properly access the IWM chip. The Z field is not applicable.

$000D

Unable to properly access the SCC Chip. The Z field is not applicable.

$000E

Failed Data Bus test. The Z field indicated the bad bit(s) as a 32-bit
mask for bits 0-31. This may indicate either a bad SIMM or data bus failure.

$000F

Reserved for Macintosh compatibility.

$FFxx

A 680xx exception occurred during power on testing.

The xx indicates the exception:

$01 Bus Error

$02 Address Error

$03 Illegal Instruction Error

$04 Zero Divide

$05 Check Instruction

$06 cpTrapCC, Trap CC, Trap V

$07 Privilege violation

$08 Trace

$09 Line A

$0A Line F

$0B unassigned

$0C CP protocol violation

$0D Format exception

$0E Spurious interrupt

$0F Trap 015 exception

$10 Interrupt Level 1

$11 Interrupt Level 2

$12 Interrupt Level 3

$13 Interrupt Level 4

$14 Interrupt Level 5

$15 Interrupt Level 6

$16 Interrupt Level 7

$17 FPCP bra or set on unordered condition

$18 FPCP inexact result

$19 FPCP divide by zero

$1A FPCP underflow

$1B FPCP operand error

$1C FPCP overflow

$1D FPCP signalling NAN

$1E PMMU configuration

$1F PMMU illegal operation

$20 PMMU access level violation

Macintosh Portable ROMs:The bootup code in the Macintosh Portable contains a series of startup
tests that are run to ensure that the fundamental operations of the machine
are working properly. If any of those tests fail, a Sad Mac icon appears
on the screen with a code below that describes what failure occurred. Here
is a typical example of a Sad Mac display with an error code below it:
SAD MAC CODE
05460203 = (D7.L)
000OB6DB = (D6.L)
The two codes are actually the contents of the two CPU data registers
D6 and D7. The upper word (upper 4 hex digits, in this case 0546) of D7
contains miscellaneous flags that are used by the start-up test routines
and are unimportant to just about everybody except a few test engineers
within Apple. The lower word of D7 is the major error code. The major error
code identifies the general area the test routines were in when a failure
occurred. D6 is the minor error and usually contains additional information
about the failure, something like a failed bit mask.
SAD MAC CODE BROKEN DOWN
Test Flags Major Error
0546 0203
Minor Error Minor Error
0000 B6DB
The major error is further broken into the upper byte that contains
the number of any 68000 exception that occurred ($00 meaning that no exception
occurred), and the lower byte that usually contains the test that was being
run at the time of failure. If an unexpected exception occurred during
aparticular test, then the exception number is logically ORed into the
major error code. This way both the exception that occurred as well as
the test that was running can be decoded from the major error code:
SAD MAC CODE FURTHER BROKEN DOWN
68000 Exception Test Code
02 03
In this example, the code says that an address error exception ($0200)
occurred during the RAM test for Bank A ($03); $0200 ORed with $03 = $0203.
Major Error CodesBelow is a brief description of the various test codes that might appear
in the major error code:
**Warning**: Some of these codes may mean slightly different things
in Macintosh models other than the Macintosh Portable. These descriptions
describe specifically how they are used in the Macintosh Portable.

Data value written also indicates which address line is being actively
tested.

$12

- Deleted

$13

- Deleted

$14

- Power Manager processor was unable to turn on all the power to the
board. This may have been due to a communication problem with the Power
Manager. If so, the minor error code contains a Power Manager error code,
explained in the next section.

- A failure occurred while trying to size and configure the RAM.
Minor error code not applicable.

Minor error codes Power Manager Processor Failures
If a communication problem occurs during communication with the Power
Manager, the following error codes will appear somewhere in the minor error
code (usually in the lower half of the code, but not always):
$CD38 Power Manager was never ready to start handshake.

$CD37 Timed out waiting for reply to initial handshake.

$CD36 During a send, Power Manager did not start a handshake.

$CD35 During a send, Power Manager did not finish a handshake.

$CD34 During a receive, Power Manager did not start a handshake.

$CD33 During a receive, Power Manager did not finish a handshake.
Diagnostic Code Summary
Below is a summarized version of the Sad Mac error codes:
Test Codes