Jump to content

Sad Mac Error Codes

From RetroTechCollection
Revision as of 16:12, 12 March 2025 by Josh (talk | contribs) (Created page with "The "Sad Mac" icon indicates a hardware issue encountered by your Macintosh during startup. Below is a comprehensive guide to understanding and diagnosing Sad Mac error codes. == Original ROMs (Macintosh 128K, 512K, 512Ke, Plus) == When you press the interrupt button on your Macintosh during startup, a Sad Mac icon with code '''0F000D''' appears, indicating a memory test. Sad Mac codes are structured in two parts: * The first two characters are the '''Class Code'''...")
(diff) โ† Older revision | Latest revision (diff) | Newer revision โ†’ (diff)

The "Sad Mac" icon indicates a hardware issue encountered by your Macintosh during startup. Below is a comprehensive guide to understanding and diagnosing Sad Mac error codes.

Original ROMs (Macintosh 128K, 512K, 512Ke, Plus)

When you press the interrupt button on your Macintosh during startup, a Sad Mac icon with code 0F000D appears, indicating a memory test.

Sad Mac codes are structured in two parts:

  • The first two characters are the Class Code โ€“ identifying the type of diagnostic.
  • The last four characters are the Sub Code โ€“ specifying the exact error or bad memory chips.

Class Codes

Code Description
1 ROM Test Failure (Sub-code 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

Exception Codes

Class Code Sub Code Meaning
F (Exception) 0001 Bus Error
0002 Address Error
0003 Illegal Instruction
0004 Zero Divide
0005 Check Instruction
0006 Trap 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 and Macintosh II ROMs

Sad Mac codes were updated in the Macintosh SE and II to incorporate additional testing and 32-bit support. Error codes display in a different format:

Traditional Mac Macintosh SE/II Display
0F0003 0000000F
00000003

Power-On Error Code Format

Power-on errors have the format:

XXXXYYYY
ZZZZZZZZ
  • XXXX: Internal state (ignore).
  • YYYY: Indicates exception or power-on test failure.
  • ZZZZZZZZ: Additional fault information.

YYYY Error Codes

Code Meaning
0001 ROM checksum test failed
0002 Small RAM chunk failed in Bank B (bit masks: AA BB CC DD)
0003 RAM test failure in Bank B after chunk tested by 0002
0004 RAM test failure in Bank A
0005 RAM external addressing test failed
0006 VIA1 chip addressing failure
0007 VIA2 chip addressing failure (Macintosh II only)
0008 Front Desk Bus access failure
0009 MMU access failure
000A NuBus access failure
000B SCSI Chip access failure
000C IWM chip access failure
000D SCC Chip access failure
000E Data Bus test failed (bad SIMM or bus issue)
000F Reserved (Macintosh compatibility)
FFxx 680xx exception occurred (xx specifies exception type)

FFxx Exception Codes

Exception Description
01 Bus Error
02 Address Error
03 Illegal Instruction
04 Zero Divide
05 Check Instruction
06 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-16 Interrupt Levels 1-7
17-1D FPCP exceptions (floating-point coprocessor)
1E PMMU configuration
1F PMMU illegal operation
20 PMMU access level violation

Troubleshooting Tips

  • Memory Errors: Replace identified SIMMs or RAM chips.
  • ROM Errors: Verify ROM seating or replace ROM chips.
  • Bus or Address Errors: Check logic board and ICs.