Sad Mac Error Codes: Difference between revisions
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'''..." ย |
No edit summary |
||
| Line 1: | Line 1: | ||
The "Sad Mac" | 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 == | ||
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. | |||
Sad Mac | == Macintosh 128K, 512K, 512Ke, and Plus == | ||
The original ROM-based Macintosh computers (128K, 512K, 512Ke, Plus) use the following Sad Mac format: | |||
{| class="wikitable" style="text-align:center; width:100%;" | |||
{| class="wikitable" | |+ '''Original ROM (Mac 128K, 512K, 512Ke, Plus) Sad Mac Codes''' | ||
|- | |- | ||
! 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 Chip Identification === | === Single RAM Chip Identification === | ||
{| class="wikitable" | RAM errors provide a bitmask to identify the faulty chip: | ||
! Data Bit | ย | ||
{| class="wikitable" style="text-align:center; width:100%;" | |||
|+ '''Single Chip Identification''' | |||
|- | |||
! Data Bit | |||
! Location | |||
! Subcode Bits | |||
|- | |- | ||
| 0 || F5 || 0001 | | 0 || F5 || 0001 | ||
| Line 33: | Line 58: | ||
|- | |- | ||
| 2 || F7 || 0004 | | 2 || F7 || 0004 | ||
|- | |||
| 3 || F8 || 0008 | |||
|- | |- | ||
| 3 || F8 || 0008 | | 3 || F8 || 0008 | ||
| Line 54: | Line 81: | ||
| 12 || G9 || 1000 | | 12 || G9 || 1000 | ||
|- | |- | ||
| | | 12 || G10 || 2000 | ||
|- | |- | ||
| | | 13 || G11 || 4000 | ||
|- | |- | ||
| | | 14 || G12 || 8000 | ||
|} | |} | ||
== | == Common Exception Codes (Class 0F) == | ||
{| class="wikitable" | {| class="wikitable" style="width:100%; text-align:center;" | ||
|+ '''Common Exception Codes''' | |||
|- | |- | ||
| | ! Subcode | ||
! Meaning | |||
|- | |||
| 0001 || Bus Error | |||
|- | |- | ||
| 0002 || Address Error | | 0002 || Address Error | ||
| Line 75: | Line 105: | ||
| 0005 || Check Instruction | | 0005 || Check Instruction | ||
|- | |- | ||
| 0006 || | | 0006 || Traps Instruction | ||
|- | |- | ||
| 0007 || Privilege Violation | | 0007 || Privilege Violation | ||
| Line 81: | Line 111: | ||
| 0008 || Trace | | 0008 || Trace | ||
|- | |- | ||
| 0009 || Line 1010 | | 0009 || Line 1010 Exception | ||
|- | |- | ||
| 000A || Line 1111 | | 000A || Line 1111 Exception | ||
|- | |- | ||
| 000B || Other Exception | | 000B || Other Exception | ||
|- | |- | ||
| 000C || Nothing | | 000C || Nothing (reserved) | ||
|- | |- | ||
| 000D || NMI (Normal indication) | | 000D || NMI (Normal indication) | ||
| Line 94: | Line 124: | ||
|} | |} | ||
== Macintosh SE and SE/30 Expanded Codes == | |||
ย | Mac SE and SE/30 use an enhanced two-line Sad Mac code format for more detailed diagnostics: | ||
== Macintosh SE and | |||
ย | |||
ย | |||
ย | |||
ย | |||
ย | |||
ย | |||
{| class="wikitable" style="width:100%; text-align:center;" | |||
{| class="wikitable" | |+ '''SE & SE/30 Extended Codes''' | ||
|- | |- | ||
! 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 | |||
| 000E || Data | |||
|} | |} | ||
=== | == Diagnostic Serial Console (Mac SE/SE30) == | ||
The Macintosh SE and SE/30 support a diagnostic console over serial for advanced troubleshooting, accessed through the Modem port: | |||
ย | |||
=== Accessing the Diagnostic Console === | |||
:* Connect the Macintosh Modem port to your modern computer with a serial cable (RS-422 to RS-232). | |||
:* Use serial communication software like PuTTY (9600 baud, 8-N-1). | |||
:* Hold the interrupt button at startup to enter diagnostic mode. | |||
|- | ย | ||
| | === Diagnostic Commands === | ||
{| class="wikitable" style="width:100%; text-align:center;" | |||
|+ '''Common Diagnostic Commands''' | |||
|- | |- | ||
! Command | |||
! Function | |||
|- | |- | ||
| | | T (1,2,3...) || Run test suite (RAM, SCSI, floppy) | ||
|- | |- | ||
| | | MW || Memory Write | ||
|- | |- | ||
| | | R || Register Dump | ||
|- | |- | ||
| | | S || SCSI Test | ||
|- | |- | ||
| | | F || Floppy Drive Test | ||
|} | |} | ||
== | == SE/30 Specific Issues: Simasimac == | ||
A common SE/30 issue is known as "Simasimac," where vertical stripes appear at startup, caused by leaking capacitors or damaged ROM/RAM connections. Fixing involves recapping and repairing traces. | |||
ย | |||
[[File:Simasimac_issue.jpg|thumb|300px|"Simasimac" vertical stripes]] | |||
ย | |||
== Chimes of Death == | |||
Macintosh II and SE series play distinctive "Chimes of Death" indicating hardware issues at startup, in addition to the Sad Mac icon. | |||
== Additional Notes == | |||
* Always cross-reference Sad Mac codes with physical inspection (capacitor leakage, corrosion, etc.). | |||
* Use diagnostic tools cautiously; incorrect use may damage hardware further. | |||
Revision as of 16:35, 12 March 2025
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
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
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
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)
| 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
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 |
Diagnostic Serial Console (Mac SE/SE30)
The Macintosh SE and SE/30 support a diagnostic console over serial for advanced troubleshooting, accessed through the Modem port:
Accessing the Diagnostic Console
- Connect the Macintosh Modem port to your modern computer with a serial cable (RS-422 to RS-232).
- Use serial communication software like PuTTY (9600 baud, 8-N-1).
- Hold the interrupt button at startup to enter diagnostic mode.
Diagnostic Commands
| Command | Function |
|---|---|
| T (1,2,3...) | Run test suite (RAM, SCSI, floppy) |
| MW | Memory Write |
| R | Register Dump |
| S | SCSI Test |
| F | Floppy Drive Test |
SE/30 Specific Issues: Simasimac
A common SE/30 issue is known as "Simasimac," where vertical stripes appear at startup, caused by leaking capacitors or damaged ROM/RAM connections. Fixing involves recapping and repairing traces.

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