I had ad PDP11/20 panel lying around, as well as a Raspberry PI-2, the PI has a
General-IO port and since the PI is fast enough to simulate an '11 faster
than a real '11 so why not try put it together.
Some documentation was
needed, schematics
for the panel and a description
on how the panel was intended to be used. Now the panel has
18 switches and lamps for address, but the 11/20 only used 16, but as
I want to use more than 64KiB memory in the simulation the extra bits
will come in handy.
The IO for PI is 3.3V and the panel has 5V TTL logic levels. This is
OK for PI to Panel since TTL input levels are 3.3V compatible.
The panel has 42 lamps and 25 switches.
The PCB with lamps and switches.
The solder-side of the PCB.
Some lamps was broken and had to be replaced, the lamps are 10V lamps
but run at a little bit less than 8 volts to get a longer life. They
are also pre-heated when not lit so they should light up faster
without large current spikes.
Front side of front-panel
Back side of front-panel
This is the component side of the interface board. This is a prototype
board that i had lying around that was stripped and reused for this
project.
As an interesting side note, most of the IC:s on the interface board
are manufactured between 1986 and 1991, while the PI is from 2014. So
the age difference from the panel (1970) to the interface IC:s is
about 20 years while age difference from the interface to the PI is
about 25 years. Also interesting that no IC:s on the panel was bad,
but three "new" unused IC:s for the interface board was dead.
Back side of interface board
I also needed a box to put the thing in, that should have exactly the
right dimensions, which I could not find so had to build one.
Test to see that all the parts will fit. To the far left there is an 8V
supply for the lamps and next to it is the 5V supply for the PI and the
other logic.
As the right connectors was almost impossible to find and would take
a lot of extra space I decided to solder the cables directly to the
board, carefully avoiding to get any solder on the gold plated
areas... in case I should someday find an 11/20 in without a front
panel.
Panel in box with cables fixated.
Added the mounting base for the interface board and the power supplies.
Adding the interface board.
Everything in place except the cables.
Complete unit.
Note that there was no key-switch following with the panel so i had
to find one as close as possible, it is not the correct one but quite
close. The key-switch now only controls the power to the lamps so
they can be turned off when the panel is not in use.
Component placement on the interface board.
Schematics is
here. Of course some optimizations are possible. For example
changing U2 from 74AC138 to 73ACT138 would make U1 unnecessary. As the
external logic is slower than the PI delay loops are needed between
writing address and data as well as reading the results. As the number
of I/O:s on the PI is limited (there are 17 GPIO-only pins and I may want to use the UART or
SPI later) so I decided to go for 4 bit input instead instead of 8.
Another thing that could be better is the level-shift from 5V logic to
3.3V which is here done by a resistor divider, using a level-shift IC
would be be speedier but I did non have any suitable device at
hand. As a late change the latches was changed from level-triggered to
edge-triggered so with a change of the port driver U3 can be removed.
Patches and connections to the panel. The panel is designed for a -20V supply for
the switches. Probably to break any oxide that can build up in the
switches. Some patches are needed if a -20V supply is not available.
As I did not intend to use a -20V supply i made the patches. So far it
seems to work OK.
Some videos showing the blinkenlichts for some different operating systems:
DOS V10
One of the first operating systems for the PDP11. Used for sysgen of early versions of RSTS
Very primitive by today's standard
RSX11 V4.0
RSX11 the most used operating system for real-time control on the PDP11
RSTS/E V8.0
RSTS/E is a more all-round os, it comes with emulators for RT11 and RSX. V8.0
is the latest version with the "original" feel before DCL was mandatory.
BSD 2.11
The latest and greatest version of BSD-UNIX for PDP11.