Sad Mac Error Codes

The "Sad Mac" is a visual indicator displayed by vintage Macintosh computers (128K, 512K, Plus, SE, and SE/30) when a hardware failure prevents successful startup. Sad Mac error codes are valuable diagnostic tools that pinpoint specific hardware issues.
Understanding Sad Mac Error Codes
[edit | edit source]When you encounter a Sad Mac, it will show an error code in hexadecimal format. This code typically consists of two parts:
- Class Code (First two digits): Identifies the diagnostic test or CPU exception that failed.
- Subcode (Last four digits): Gives specific details about the error, such as identifying a faulty RAM chip.
Macintosh 128K, 512K, 512Ke, and Plus
[edit | edit source]The original ROM-based Macintosh computers (128K, 512K, 512Ke, Plus) use the following Sad Mac format:
Class Code | Meaning | Subcode | Description |
---|---|---|---|
01 | ROM Test Failed | Meaningless | |
02 | Memory Test – Bus Subtest | Identifies specific bad RAM chip | |
03 | Memory Test – Byte Write | Identifies specific bad RAM chips | |
04 | Memory test–Mod3 test | Identifies specific bad RAM chips | |
05 | Memory test–Address uniqueness | Identifies specific bad RAM chips | |
0F | Exception (CPU Error) | Identifies specific exception (e.g., illegal instruction, zero divide) |
Single RAM Chip Identification
[edit | edit source]RAM errors provide a bitmask to identify the faulty chip:
Data Bit | Location | Subcode Bits |
---|---|---|
0 | F5 | 0001 |
1 | F6 | 0002 |
2 | F7 | 0004 |
3 | F8 | 0008 |
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 |
12 | G10 | 2000 |
13 | G11 | 4000 |
14 | G12 | 8000 |
Common Exception Codes (Class 0F)
[edit | edit source]Subcode | Meaning |
---|---|
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 Exception |
000A | Line 1111 Exception |
000B | Other Exception |
000C | Nothing (reserved) |
000D | NMI (Normal indication) |
0064 | Couldn't read System File into memory |
Macintosh SE and SE/30 Expanded Codes
[edit | edit source]Mac SE and SE/30 use an enhanced two-line Sad Mac code format for more detailed diagnostics:
YYYY Code | Meaning |
---|---|
0001 | ROM checksum failed |
0002 | Small RAM chunk failed (Bank B) |
0003 | RAM Bank B failed |
0004 | RAM Bank A test failed |
0005 | External addressing test failed |
0006 | Unable to address VIA1 |
000B | Unable to access SCSI chip |
000C | Unable to access IWM (floppy controller) |
000D | Unable to access SCC (serial ports) |
000E | Data bus test failure |
SE/30 Specific Issues: Simasimac
[edit | edit source]A common SE/30 issue is known as "Simasimac," where vertical stripes appear at startup, It’s often due to leaking capacitors on the logic board causing circuit corrosion. The fix is to thoroughly clean the board, repair any corroded traces (especially around the ROM SIMM and GLU chips), and recap the board. No chime with vertical lines basically means the CPU never even verified the ROM – so likely the ROM isn’t being read properly (dirty ROM SIMM contacts or damaged traces to it are common causes).

Chimes of Death
[edit | edit source]Macintosh II and SE series play distinctive "Chimes of Death" indicating hardware issues at startup, in addition to the Sad Mac icon.
Additional Notes
[edit | edit source]- Always cross-reference Sad Mac codes with physical inspection (capacitor leakage, corrosion, etc.).
- Use diagnostic tools cautiously; incorrect use may damage hardware further.