[LisaFAQ] > [Lisa Software] > [MacWorks]

4.6.2. I got a Sad Mac error from MacWorks, what does it mean?

Source http://www.cs.dartmouth.edu/~woz/lisatech/page32_33.html ( Lisa/Macintosh XL Do-it-yourself Guide published by Sun Remarketing, Inc. )

Sad Mac error code 0F0084

Sad Mac error code 0F0064 pertains to any Lisa hard drive formatted under MacWorks 3.0 or MacWorks XL. At the time the original MacWorks was written, other Macs weren't equipped with hard drives. The old System software, written to 400K floppy disk specifications, has trouble dealing with big disk directories. If over 100 files accumulate, everything slows down and eventually fails. Error code 0F0064 generally indicates an irreparable problem with the System & Finder. There are three possible fixes. The first fix involves rebooting from the hard drive while holding down the Option key. (If you are looking at the sad Mac screen hold down the left option key and press and release the power switch button.)If MacWorks itself is OK, you'll get a floppy disk icon with a blinking question mark. At that point, insert the MacWorks System disk. It'll load, you'll get the standard "Welcome to Macintosh" signon message, and, shortly thereafter, both disk icons (the floppy disk icon and the hard disk icon) should appear. Now all you have to do is replace the System files. To do that, open the System folder on the MacWorks System disk, select the System & Finder and drag them to the hard disk. A dialog box asking whether to "Replace items with the same names with the selected items?" will appear. Click OK and thats all there is to it.

The second fix applies when the hard drive icon doesn't appear. In that event, you need a special disk called Hard Disk Mount. Hard Disk Mount may be obtained from Sun Remarketing for a cost of $15. Here's the complete repair procedure:

1. If the computer is on, reach around the back with your righ hand and press the reset button. If the computer is off, turn it on.

2. Immediately after hearing the first click, tap any key but Caps Lock.

3. When the STARTUP FROM menu appears, insert the HD Mount disk and click the disk drive icon or hold down the Apple key and press the 2 key (the one on the keyboard, not the one on the keypad) to proceed.

4. When the HD Mount disk ejects, you'll see a floppy disk icon with a blinking question mark. "Hard Disk Mount" will be written under it.

From here on, the repair is the same as above. Insert the MacWorks System disk, and shortly thereafter, both the floppy disk icon and the hard disk icon will appear. Replace the System files and that's all there is to it.

Note: Hard Disk Mount is for repair purposes only. It's not an upgrade! Replacing regular MacWorks with Hard Disk Mount (using the Hard Disk Install Utility) is not recommended.

The third fix is to replace MacWorks XL with MacWorks Plus. MacWorks Plus provides full 128K ROM emulation, including the HFS file system, support for hard drives, support for SCSI drives, and it lets you use later versions of the Macintosh System and Finder. Install MacWorks Plus and you'll never see error code 0F0064 again.

What do the sadmac errors mean?

Source: http://www.nd.edu/~madmacs/sad_mac.html

NOTE These apply to real Mac's, not really applicable to the Lisa. Here only for completeness.

The Sad Mac

What is the Sad Mac?

Usually when one turns on their Macintosh, it smiles at them (Happy Mac). But once in a
long while it kind of snarls at you. First, lets explain what happens the moment you flick
the switch, or hit the power key inside your Macintosh.

Once your Macintosh is brought up to full power the Mac runs what's called in the computer world
a Power On Self Test (POST). Several memory and system diagnostic tests take place. If any one of
these test fails, the Sad Macintosh icon appears. The Macintosh SE will have two 8-digit
hexadecimal numbers displayed under the icon, remarkably similar to the icon pictured above.

How do I make a Sad Mac happy again?

Most hardware failures that display a Sad Macintosh error will do so before the floppy
drive or hard drive start spinning. If a Sad Macintosh appears after the disk starts spinning,
the first digits of the error code are usually 'OF' and often indicate corrupted software. If
you get this error code, try restarting the Macintosh with the Option and Command keys held
down to rebuild the desktop file. You also may be able to fix these problems by reinstalling
system software.

If all else fails it means their is a problem with the hardware and you should take
your Mac to an Apple Qualified technician. Attempting repairs yourself will void Apple's
warranty, of course, you don't have to tell them you tried to fix it yourself...

If you've never seen a Sad Mac before and you have this urge, try hitting the interupt
button (plastic things on the side of compact macs, little buttons on the front of newer
Macs, or some weird keyboard combination on others) while the Mac is checking the RAM
(this is when the screen is grey and and void of all else at start up). Of course, i'm
not recommending it to anybody because I'm sure there is some way it might affect something adversely.

-----------------------------------------------------------------------------------

Sad Mac Error Codes On the original ROMs (128k, 512k, 512ke, Plus):

When you press the interrupt button on the side of your Macintosh when booting, 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 and the
second four are the sub code. The class code tells what part of the diagnostic program found
the error and 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 Couldn't 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.

The traditional Macintosh error codes are displayed like this:




Where "F" indicates an exception occurred, and "3" indicates an illegal instruction occurred. On the
Macintosh SE and II, the display would appear:



Please note that 00000003 is a hex number.

The new poweron error codes have the following format:


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.

$0005 The RAM External addressing test failed. The Z field
indicates a failed address line.

$0006 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:




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.


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 a particular 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:






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 codes
Below 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.

$01 - ROM test failed. Minor error code is $FFFF, means nothing.
$02 - RAM test failed. Minor error code indicates which RAM bits
failed.
$05 - RAM external addressing test failed. Minor error code
indicates a failed address line.
$06 - Unable to properly access the VIA 1 chip during VIA
initialization. Minor error code not applicable.
$08 - Data bus test at location eight bytes off of top of memory
failed. Minor error code indicates the bad bits as a
16bit mask for bits 1500. This may indicate either a bad
RAM chip or data bus failure.
$0B - Unable to properly access the SCSI chip. Minor error code
not applicable.
$0C - Unable to properly access the IWM (or SWIM) chip. Minor
error code not applicable.
$0D - Not applicable to Macintosh Portable. Unable to properly
access the SCC chip. Minor error code not applicable.
$0E - Data bus test at location $0 failed. Minor error code
indicates the bad bits as a 16bit mask for bits 1500.
This may indicate either a bad RAM chip or data bus
failure.
$10 - Video RAM test failed. Minor error code indicates which RAM
bits failed.
$11 - Video RAM addressing test failed. Minor error code contains
the following:
upper word = failed address (16-bit)
msb of lower word = data written
lsb of lower word = data read
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.
$15 - Power Manager failed its self-test. Minor error code
contains the following:
msw = error status of transmission to power manager.
lsw = Power Manager self-test results (0 means it
passed, non-zero means it failed)
$16 - A failure occurred while trying to size and configure the
RAM. Minor error code not applicable.

Minor error codesPower 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

$01 ROM checksum test.
$02 RAM test.
$05 RAM addressing test.
$06 VIA 1 chip access.
$08 Data bus test at top of memory.
$0B SCSI chip access.
$0C IWM (or SWIM) chip access.
$0D Not applicable to Macintosh Portable. SCC chip access.
$0E Data bus test at location $0.
$10 Video RAM test.
$11 Video RAM addressing test.
$14 Power Manager board power on.
$15 Power Manager self-test.
$16 RAM sizing.


Power Manager communication error codes

$CD38 Initial handshake.
$CD37 No reply to initial handshake.
$CD36 During send, no start of a handshake.
$CD35 During a send, no finish of a handshake.
$CD34 During a receive, no start of a handshake.
$CD33 During a receive, no finish of a handshake.


CPU exception codes (as used by the startup tests)

$0100 Bus error exception code
$0200 Address error exception code
$0300 Illegal error exception code
$0400 Zero divide error exception code
$0500 Check inst error exception code
$0600 cpTrapcc,Trapcc,TrapV exception code
$0700 Privilege violation exception code
$0800 Trace exception code
$0900 Line A exception code
$0A00 Line F exception code
$0B00 Unassigned exception code
$0C00 CP protocol violation
$0D00 Format exception
$0E00 Spurious interrupt exception code
$0F00 Trap inst exception code
$1000 Interrupt level 1
$1100 Interrupt level 2
$1200 Interrupt level 3
$1300 Interrupt level 4
$1400 Interrupt level 5
$1500 Interrupt level 6
$1600 Interrupt level 7

[LisaFAQ] > [Lisa Software] > [MacWorks] (Comment on this answer)