State Ports

Our programs were assembled out of simple processes that shared synchronous access to an I/O space. Jeff Bradford built a LED display that could capture one byte of that space for debugging purposes.

Dozens of I/O address were statically allocated to standard processes that were frequently reused components of our programs.

Processes would write to their allocated I/O port on every significant state change. Typical states were: waiting for input, computing, waiting to write output, and allocating memory.

Processes would encode their state using a 1-of-8 code so that only one LED would be on at any given time.

LED brightness would indicate the degree to which any particular state was rate-limiting.

Square pins adjacent to LEDs provide performance measures that could be observed with an oscilloscope.

Square pins adjacent to LEDs provide stable sync for debugging attached hardware.

Thumbwheels select I/O address to be decoded and latched into LEDs.

See also Test Point for a web equivalent.