Diagnostic Serial Console: Difference between revisions
No edit summary |
Separate Apple sourced fact from community bench work: cite the hosted Apple TechStep User Guide (whose CPU Tests Vol 1 ROM pack covers Classic/SE/SE-30/II/IIx/IIcx but NOT the Plus) and Adrian Black's Test Manager spreadsheet; mark the SIMM/data-bus and response-code findings as original research; drop the unverified Command-Power entry method; add a References section |
||
| (8 intermediate revisions by the same user not shown) | |||
| Line 6: | Line 6: | ||
| image = | | image = | ||
| sect = {{{1|}}} | | sect = {{{1|}}} | ||
| issue = is currently under constant change. The contents of this page ''may'' be innacurate | | issue = is currently under constant change. The contents of this page ''may'' be innacurate. | ||
| talk = {{{talk|Talk:Diagnostic Serial Console}}} | | talk = {{{talk|Talk:Diagnostic Serial Console}}} | ||
| fix = | | fix = If you find innacurate content, please help by [https://wiki.retrotechcollection.com/index.php?title=Diagnostic_Serial_Console&veaction=edit improving] this page. | ||
| date = {{{date|}}} | | date = {{{date|22/08/2025}}} | ||
| cat = | | cat = | ||
| all = | | all = | ||
}} | }} | ||
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 [https://docs.google.com/spreadsheets/d/1zsc7ET5fyiOYWj1_AzOgafbrCVFED-7jzLH6ruCiAVE/ Macintosh Diagnostics / Test Manager] | The [[Macintosh Plus]], [[Macintosh SE|SE]] and [[Macintosh SE/30|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 [https://docs.google.com/spreadsheets/d/1zsc7ET5fyiOYWj1_AzOgafbrCVFED-7jzLH6ruCiAVE/ Macintosh Diagnostics / Test Manager] | ||
== Quick Start Guide == | == Quick Start Guide == | ||
| Line 39: | Line 39: | ||
*R ; Check results | *R ; Check results | ||
</pre> | </pre> | ||
== Where the information on this page comes from == | |||
'''This page is a mixture of two kinds of material, and you should treat them differently.''' | |||
* '''Apple's own Test Manager interface exists and was used by Apple's service tooling.''' Apple's ''TechStep User Guide'', hosted on this wiki, describes the TechStep unit communicating with a Macintosh through its built-in serial port and the '''Macintosh modem port''', and its '''CPU Tests, Volume 1''' ROM pack as covering the '''Macintosh Classic, SE, SE/30, II, IIx and IIcx'''.<ref name="techstep">Apple Computer, ''Apple TechStep User Guide'', hosted at [[Apple TechStep User Guide]]. Source for the TechStep's built-in serial port and its use to communicate with a Macintosh through the '''modem port'''; for the ROM-pack model coverage of CPU Tests, Volume 1 (Macintosh Classic, SE, SE/30, II, IIx and IIcx) and of the SCSI HD Tests pack; for the standard port pack's complement of one SCSI, two serial, two ADB and one stereo audio port; and for TechStep's own one-second power-on self-test of its microprocessor, serial interface, RAM and battery.</ref> '''The Macintosh Plus is not in that list''' — this wiki has found no Apple document covering the Plus, so treat Plus-specific behaviour described here as unconfirmed. | |||
* '''The command tables, response codes and bit-level observations below are community and bench work, not Apple documentation.''' The principal published reference is Adrian Black's ''Macintosh Diagnostics / Test Manager'' spreadsheet.<ref name="black">Adrian Black, ''Macintosh Diagnostics / Test Manager'', https://docs.google.com/spreadsheets/d/1zsc7ET5fyiOYWj1_AzOgafbrCVFED-7jzLH6ruCiAVE/ . Community-compiled command and test reference for the Macintosh serial Test Manager.</ref> The SIMM-slot-to-data-bus mapping, the response-code interpretations and the address-boundary behaviour further down this page are '''original research native to this wiki''', recorded from a bench machine. They are observations, not Apple specifications, and they have not been cross-checked against every ROM revision. | |||
Apple published no user-facing documentation of the Test Manager command set that this wiki has been able to find. If you hold one, it belongs here. | |||
== Entering Diagnostic Mode == | == Entering Diagnostic Mode == | ||
| Line 61: | Line 71: | ||
Some hardware failures will automatically trigger diagnostic mode entry. This includes severe memory failures, ROM checksum errors, or critical hardware component failures. | Some hardware failures will automatically trigger diagnostic mode entry. This includes severe memory failures, ROM checksum errors, or critical hardware component failures. | ||
=== Verification === | === Verification === | ||
| Line 72: | Line 80: | ||
== Diagnostic Architecture and Hardware Integration == | == Diagnostic Architecture and Hardware Integration == | ||
The SE/30 diagnostic | The SE/30's diagnostic routines live in ROM at 0x40800000 and run outside Mac OS entirely. The system utilizes the modem serial port for bidirectional communication with diagnostic equipment, enabling direct memory manipulation, register access, and component-level testing through specialized command protocols originally developed for Apple's TechStep professional diagnostic hardware. | ||
The diagnostic ROM routines perform direct 68000 assembly operations using register A6 for return address management during early boot phases when no stack is available. Critical system components including the Glue Logic Chip (UI8), F258 RAM multiplexers, and PAL chips (UH7, UI6) participate in diagnostic operations through carefully orchestrated bus control and timing relationships. The 68030 CPU's integrated Memory Management Unit works in conjunction with address decode logic to enable precise hardware validation at the component level. | The diagnostic ROM routines perform direct 68000 assembly operations using register A6 for return address management during early boot phases when no stack is available. Critical system components,, including the Glue Logic Chip (UI8), F258 RAM multiplexers, and PAL chips (UH7, UI6) participate in diagnostic operations through carefully orchestrated bus control and timing relationships. The 68030 CPU's integrated Memory Management Unit works in conjunction with address decode logic to enable precise hardware validation at the component level. | ||
=== Serial Communication Protocol === | === Serial Communication Protocol === | ||
The diagnostic interface implements a specialized serial protocol operating at 9600 baud with 8 data bits, no parity, and 2 stop bits, differing from standard Mac OS serial communication which uses 8-N-1 formatting. Upon entering diagnostic mode, the system outputs an identification string in the format <code>*APPLE*876543210000*1*</code> where the final <code>*1*</code> serves as the machine identifier. This handshake protocol establishes communication between the Mac and diagnostic equipment, with the Mac continuously transmitting status information until commands are received. | The diagnostic interface implements a specialized serial protocol operating at 9600 baud with 8 data bits, no parity, and 2 stop bits, differing from standard Mac OS serial communication, which uses 8-N-1 formatting. Upon entering diagnostic mode, the system outputs an identification string in the format <code>*APPLE*876543210000*1*</code> where the final <code>*1*</code> serves as the machine identifier. This handshake protocol establishes communication between the Mac and diagnostic equipment, with the Mac continuously transmitting status information until commands are received. | ||
Hardware handshaking is disabled in diagnostic mode, and commands may not echo exactly as typed due to the continuous output stream | Hardware handshaking is disabled in diagnostic mode, and commands may not echo exactly as typed due to the continuous output stream. | ||
=== Connecting to the Diagnostic Console === | === Connecting to the Diagnostic Console === | ||
| Line 744: | Line 752: | ||
* Not all diagnostic tests work on every model; compatibility varies with ROM version. | * 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. | * SE/30 and other 256k ROM Macs do '''not''' support certain diagnostic commands listed here. | ||
* There is '''NO''' overflow protection when testing memory. If you attempt to address memory space beyond what is installed, the system will write to and read from wrapped memory locations, typically the first byte of memory. | * There is '''NO''' overflow protection when testing memory. If you attempt to address memory space beyond what is installed, the system will write to and read from wrapped memory locations, typically the first byte of memory. This is normal opperation and actually how the system calculates the RAM capacity. | ||
** If you are testing with any 1MB installed, the memory won't overflow. This can be an issue if you're testing RAM manually. | |||
* if you enter diag mode via NMI button, the Identify (''5) will report 000001300F, so won't tell you RAM size, but if you ask for RAM size'' ''(''T000000010001) then it works and subsequent Indentify (*5) calls work again. | |||
* Algorithmic memory tests (T0002, T0005, T0006) are hardcoded to test 8MB address space and will fail on systems with less memory installed. This represents normal diagnostic behavior, not hardware failure. | * Algorithmic memory tests (T0002, T0005, T0006) are hardcoded to test 8MB address space and will fail on systems with less memory installed. This represents normal diagnostic behavior, not hardware failure. | ||
* The diagnostic interface operates independently of Mac OS memory management and can access hardware directly, enabling component-level troubleshooting impossible through normal software methods. | * The diagnostic interface operates independently of Mac OS memory management and can access hardware directly, enabling component-level troubleshooting impossible through normal software methods. | ||
* Modern reproduction boards such as the SE/30 Reloaded may exhibit identical diagnostic behavior to original Apple hardware, confirming that diagnostic failures often represent normal responses to hardware limitations rather than board-specific issues. | * Modern reproduction boards such as the [[Macintosh SE/30 Reloaded Logic Board|SE/30 Reloaded]] may exhibit identical diagnostic behavior to original Apple hardware, confirming that diagnostic failures often represent normal responses to hardware limitations rather than board-specific issues. | ||
* The "Simasimac" pattern (vertical stripes at startup) is a common SE/30 issue often caused by leaking capacitors on the logic board causing circuit corrosion. | * The "[[Sad Mac Error Codes|Simasimac]]" pattern (vertical stripes at startup) is a common SE/30 issue often caused by leaking capacitors on the logic board causing circuit corrosion. | ||
== References == | |||
<references /> | |||
[[Category:Apple Vintage Computers]] | [[Category:Apple Vintage Computers]] | ||
[[Category:Apple Troubleshooting Guides]] | [[Category:Apple Troubleshooting Guides]] | ||