Diagnostic Serial Console: Difference between revisions
Tags: Mobile edit Mobile web edit |
Tags: Mobile edit Mobile web edit |
||
| Line 6: | Line 6: | ||
** Baud Rate: 9600 | ** Baud Rate: 9600 | ||
** Data bits: 8 | ** Data bits: 8 | ||
** Stop bits: | ** Stop bits: 2 | ||
** Parity: None | ** Parity: None | ||
* Once connected, restart your Macintosh while holding the interrupt switch or issuing an interrupt command to enter diagnostic mode. | * Once connected, restart your Macintosh while holding the interrupt switch or issuing an interrupt command to enter diagnostic mode. | ||
Revision as of 11:27, 21 August 2025
The Macintosh Plus, SE and SE/30 feature a built-in diagnostic console accessible via a serial connection, which can be used for detailed hardware troubleshooting. Originally designed for use with specialized Apple diagnostic tools, this diagnostic mode can also be accessed via a standard serial connection using software such as PuTTY or similar serial terminal programs. Adrian Black's spreadsheet on this topic provides the most useful breakdown of how to use the diagnostic console Macintosh Diagnostics / Test Manager
Connecting to the Diagnostic Console
Connect your Macintosh to another computer using a serial cable (via the modem port):
- Set your serial terminal (such as PuTTY) to the following:
- Baud Rate: 9600
- Data bits: 8
- Stop bits: 2
- Parity: None
- Once connected, restart your Macintosh while holding the interrupt switch or issuing an interrupt command to enter diagnostic mode.
Commands & Tests
Below are detailed descriptions and commands for running specific diagnostic tests:
| Command | Test Description |
|---|---|
*T |
Runs preprogrammed diagnostic tests. Use with specific codes to run targeted tests. |
| *T0000 | No operation (null test) |
| *T0001 | ROM Checksum – Verifies ROM integrity. Errors indicate corrupted or damaged ROM. |
| *T0002 | Small RAM Chunk Test – Checks initial RAM area for immediate failures. |
| *T0003 | Full RAM Test (Bank B) – Tests full Bank B RAM after small chunk passes. |
| *T0004 | Full RAM Test (Bank A) – Checks the second RAM bank thoroughly. |
| *T0005 | Address Line Test – Verifies RAM addressing and unique addressing capability. |
| *T0006 | VIA1 Access Test – Checks the proper operation of VIA1 chip. |
| *T0007 | VIA2 Access Test (Mac II only) – Checks VIA2 chip operation. |
| *T0008 | Front Desk Bus Test – Verifies access to Front Desk Bus components. |
| *T0008 | MMU Access Test – Tests access to the Memory Management Unit. |
| *T0009 | NuBus Access Test – Ensures NuBus communication is functional. |
| *T000A | SCSI Chip Test – Confirms proper operation of SCSI controller. |
| *T000B | IWM Chip Test – Verifies floppy drive controller functionality. |
| *T000C | SCC Chip Test – Tests Serial Communications Controller for proper operation. |
| *T000D | Data Bus Test – Validates data bus functionality, identifying bit faults. |
Custom Non-Critical Tests
Non-critical tests use a different format:
Format: *TXXY
- XX = Hexadecimal test number
- Y = Number of repetitions
Example: *T841 runs test 0x84 once.
| Hex Code | Test Description |
|---|---|
| 80 | Video RAM Test – Tests VRAM operation (Macintosh II). |
| 81 | Video Interface Test – Checks functionality of video hardware interface. |
| 82 | VIA Test – Comprehensive VIA chips test. |
| 83 | SCSI General Test – Tests general SCSI functionality. |
| 84-86 | SCC (Serial Communications Controller) Tests – Checks serial communications. |
| 87 | SCSI General Test – General SCSI device communication test. |
| 88 | Sound Test – Verifies audio hardware function. |
Interpreting Response Codes
The console returns hexadecimal response codes:
| Response Code | Meaning |
|---|---|
020004030000 |
Test-specific failure indication (consult specific test for details). |
020004030000 |
Data Bus Error accessing RAM. |
| 0F000D | NMI button pressed during boot (normal indication). |
RAM Chip Identification (Subcode Explanation)
For memory tests, subcodes identify specific faulty chips:
| Data Bit | Chip Location | Subcode Bits (Hexadecimal) |
|---|---|---|
| 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 |
Important Notes
- Not all diagnostic tests work on every model; compatibility varies with ROM version.
- SE/30 and other 256k ROM Macs do not support certain diagnostic commands listed here.