In celebration of historic PDP-8 applications like the famous Times Square "Zipper" news ticker and numerous light-bulb-matrix stadium score boards that were controlled by PDP-8s, I wanted my own scrolling matrix display to be somehow driven by the PiDP-8 .
What happens here is that the PiDP-11, running 2.11BSD, sends the output of "uptime" every so often to the PiDP-8, which will receive the string and send it to a cascade of LED matrix displays (here 16 x 8x8 dots but you can simple string together almost as many as you wish).
OK, to be honest, this first version does a hell lot of cheating:
- communication between the PiDP-11 and PiDP-8 would ideally be via a true serial connection, but currently the PiDP-11 is using a shortcut by telnet'ing the message to the Raspi hugging the PiDP-8 where it is fed into a simulated TTIX serial connection by SIMH. It should be possible to replace this with a true serial connection I guess.
- the LED matrix displays are "dumb", they need to receive pixel data and commands via a serial (SPI) line. In this first prototype I use a Raspberry Pico microcontroller to handle the actual application logic which includes the storage of the font data. Big cheat!!
- The only thing that the PiDP-8 is currently doing here is to periodically (I put this in an interrupt handler for the 60 Hz clock signal) query the simulated serial input line, and if there is a character waiting it is forwarded to the Raspberry Pico using the I²C bridge that I implemented and described here earlier (the I2C lines are pretty much the only GPIO pins of the Raspberry Pi that are not already used by the blinkenlights and switches...so they make a good interface to the real world). So the bare metal program running on the PiDP-8 is really using only a handful of instructions to do this, to make it more interesting it is also displaying a blinking heart-beat signal using a second Raspberry Pico connected to the same I2C bus, and a joystick controlled LED row via a third Pico, I had demonstrated this last Halloween in a video that explains the details of the I²C bridge a bit)
- As I keep learning the PDP-8 assembly language, I want to gradually replace the cheats and put more logic into the PDP-8 (e.g. storing the font data and with that produce a stream of pixels), so that the Raspberry Pico will in the end only be more like a dumb frame buffer and shift register/delay line memory for scrolling .... more like (I imagine) the real stadium score boards driven by PDP-8s worked back in the old days. Maybe it would be cool to change fonts with the front panel switches or some such.
- And maybe I can find something more useful than the PDP-11s uptime statistics to display...."fortune" cookies come to mind :-)....
Does anyone have documentation or first hand experience of what the PDP-8's role in those score board installations were? I found some patents filed by Stewart-Warner Electronics
but they are rather difficult to make sense of.