jack 68k

Tinkerer
Oct 30, 2021
17
29
13
Madison, Wisconsin
#MARCHintosh 2026 is here and I'm excited to share a project I've been working on.


You may know that many Classic Mac models have a diagnostics mode built into the ROM that you can access over a serial connection. But it's extremely cumbersome, limited, and there are a lot of sharp edges that make it difficult to do much practical with it.

Reconnaissance is a new diagnostics app that runs on your modern machine that makes it easy to run the ROM's built-in diagnostics as well as quite a few custom ones (some of which I have adapted from a certain diagnostic device that repair techs used to have access to...)

The first release supports the following models:
  • Macintosh SE/30
  • Macintosh IIsi
  • Macintosh Iicx
  • Macintosh II
  • Macintosh LC III
Support for more models (notably IIci) will be coming very soon, as well as a public release of full source code and SDK so others can develop custom diagnostic plugins in 68K assembly or C using modern development tools.

The app runs on macOS 14 Sonoma or later, Windows 10, and Windows 11. There's a lot of cool stuff to come and I can't wait to share the next update!

Check out this related thread about USB-serial adapters and cables

Happy #MARCHintosh, everyone!
mac_01_home@2x.png
 
Last edited:

Mac84

Administrator
Staff member
Founder
Sep 4, 2021
309
441
63
New Jersey, USA
www.mac84.net
This is simply amazing, well done! 👏

I see the list of future machines on the website, is the goal to try and support the same systems as the TechStep does (or beyond?). Something like this would be super helpful for Color Classics, LC 550/575, etc. (If possible for such machines).
 

joevt

Tinkerer
Mar 5, 2023
233
96
28
Old World Power Macs have a Serial Test Manager (STM)

On a Power Mac G3, it has a menu and prompt like this:
Code:
>
***************************************
*                                     *
*         Serial Test Manager         *
*                                     *
***************************************

T)  Execute a test, single test number follows command
T0) Run ROM Checksum Test
T1) Run Address Line Test
T2) Run Data Line Test
T3) Run Simple RAM Test
T4) Run Mod3 Forward Test
T5) Run Mod3 Reverse Test
T6) Run NVRAM Test
A)  Execute all ROM-based tests
Q)  Quick test
X)  Exit STM (Continue booting)
?)  Print this menu

>T0
=P
>;#
>T1
=P
>;#
>T2
=P
>T3
=P
>T4
=P
>T5
=P
>t6
=P
>A
=P
>Q
=P
>X
Bye...

The prompt character is >. =P means the test passed.

New World Power Macs have Serial Test Manager in the Mac OS ROM file (until 2001-02-07 New World 7.5.1). But I don't think it has a menu and prompt?

Booting iMac in DingusPPC with a 9.0.4 HD gets me stuck in a Serial Test Manager. Typing *V gives this output:
Code:
STM Version 2.2, Aaron Ludtke 
CTE Version 2.1 
ROM Version 7D 45F4
*V
My ROM Fiend template (using my Hex Fiend.app) says the Test Manager code (search for STM Version) is pointed to by the OS Trap 0x6B which the DispTable.a source file in the supermario repository says is TestManager.

CTE has commands that begin with ! (UTEChar) which are handled by UTECmd in USTEnvirons.a (instead of the STM commands that start with * and are handled in USTTestMgr.a).

The Serial Test Manager menu and the STM commands such as *V may be different things? The code for the serial Test Manager menu is in the Diagnostics.s file or the DiagnosticsGossamer.s file.

These are the versions I could find:
  • 1990/10 - STM Version 2.0, Scott Smyers
  • 1991/10 - STM Version 2.01, Scott Smyers & Aaron Ludtke
  • 1992/03 - STM Version 2.1, Scott Smyers
  • 1992/10 - STM Version 2.2, Aaron Ludtke
Macintosh II is 1987 and its ROM doesn't have a STM Version string. Does it have a *V command?

These are the CTE versions:
  • 1992/03 - CTE Version 1.5.1
  • 1992/10 - CTE Version 2.1
I think the Serial Test Manager menu exists in Old World PCI Power Macs, when Open Firmware was added, after the NuBus Power Macs and before the New World Power Macs.

The Yosemite bootrom ERS document says the STM is part of MiniNub, whatever that is. I don't think I tried activating this with the DingusPPC B&W G3 emulation.
 

Attachments

  • Serial Test Manager Notes.zip
    196.5 KB · Views: 3
  • Like
Reactions: jack 68k

jack 68k

Tinkerer
Oct 30, 2021
17
29
13
Madison, Wisconsin
This is simply amazing, well done! 👏

I see the list of future machines on the website, is the goal to try and support the same systems as the TechStep does (or beyond?). Something like this would be super helpful for Color Classics, LC 550/575, etc. (If possible for such machines).
Thank you thank you!

I intend to support all systems that the TechStep supports, and I would also like to support later machines that have a diagnostic monitor built into the ROM that's accessible by serial connection.

I haven't made a full list of what falls into what category, but this is something I'm actively working on getting organized now that I have the initial version released. I might need some help investigating some machines that I don't own, so I'll post an update here with any calls for information if people want to pitch in and do some investigation :)

I don't know about the 575 specifically but I have a logic board in my Mystic so I should have a better answer to that soon.

This sheet that Adrian Black started is a good start, but it's incomplete
 

eharmon

New Tinkerer
Dec 28, 2022
3
2
3
eharmon.net
Oh wow, I was working on exactly this for the Quadra machines (though just a CLI). It can run most of the STM diagnostics, and I was trying to figure out how to work with UTE as well. I can share my notes offline if you like.
 
  • Like
Reactions: jack 68k

jack 68k

Tinkerer
Oct 30, 2021
17
29
13
Madison, Wisconsin
Oh wow, I was working on exactly this for the Quadra machines (though just a CLI). It can run most of the STM diagnostics, and I was trying to figure out how to work with UTE as well. I can share my notes offline if you like.
Absolutely, I would love to see what you've figured out and hopefully incorporate it. I'll be sharing my source code soon too.