Multi-Processor Debugging

We came up with a variety of ways to understand complex computations spread between multiple cpus and attached hardware.

Source Level Traps inserted in the compiler's intermediate representation and handled by a library.

State Ports were decoded from the I/O space and presented in LED lights and square pins.

Circular Buffer in RAM that gave you something to look at after a crash.

All before people accepted the notion of design for testability.