hobbyist USB hacking w/ FTDI chips, PDP-1 (was Re: [OT] USB v 'legacy' interfaces)

From: Eric Smith <eric_at_brouhaha.com>
Date: Wed Feb 2 17:20:41 2005

Fred wrote:
> But I don't think that I will ever be able to build anything USB.\

J.C. Wren wrote:
> Then you haven't looked very closely at the offerings from FTDI.

Fred wrote:
> It looks like there is still some hope for tinkerers.

I used a module made by DLP Design (available from Mouser), based on one
of the FTDI chips, to make a bus probe for HP handheld calculators,
in order to capture a dump of the firmware during a self-test.

In May of 2004 I used the same bus probe to hook up the PDP-1 at the
Computer History Museum to my laptop.

We had just gotten the PDP-1 CPU working, and didn't yet know how well the
memory was working. It was possible that the core memory (12K*18) may
have still contained interesting bits, since core is nonvolatile. So
we wanted to capture a dump of the entire 12K, but didn't have any easy
way to do it.

We used the front panel to read the first four words of the core memory,
then experimented with depositing various values in those four words
and reading them back. Once we convinced ourselves that those four
works worked OK, we used them for some trivial test loops, and single
stepped them to make sure that the CPU was working OK, and to make sure
that if it wasn't, it wouldn't go off into the weeds scribbling all over
core. Single-stepping worked fine, so then we ran the test loops, and
they ran fine.

We dumped the next 28 words of memory manually using the front panel,
to make room for a 31-word memory dump program I wrote. The dump program
dumps a single 4 Kword memory "module", but you can select which module.
The program used three of the status flags, which are software-controlled
and have indicators on the front panel, as its output. It dumped memory
one bit at a time by copying the state of one memory bit into one of the
flags, then cycling another flag on then off again to act as a strobe.
The third flag was used for word synchronization.

Once we single-stepped through this dump program and verified that it
worked, we hooked up the outputs of the status flag flip-flops to a
spare DEC 1209 lamp driver module, and the outputs of that to my USB
probe (using the DLP module).

I had written a Linux program to receive data from the DLP module,
so we ran that, then started the dump program on the PDP-1. It dumped
one 4 Kword memory module in about ten seconds. We verified that the
dump contained the dump program itself in the first 31 words, and
spot-checked some other addresses. Everything looked good, so we
dumped the other two memory modules.

So that's the first use of USB interfaced to a PDP-1. :-)

AFAIK, no one has tried to figure out what the memory contained.
When the machine had last been run in Boston, the memory was not
working correctly, so I expect that it was just portions of the
diagnostics and memory test paterns from those diagnostics. But
if anyone wants to examine them, they are online here:
    http://pdp-1.org/Software/misc/

Currently the restoration team is working on getting the console
typewriter repaired and fixing a fault in the power control of the
Type 30 Precision CRT Display.

The console typewriter was a device sold by Soroban Engineering,
consisting of an IBM Model B electric typewriter with added encoder
and decoder units. A typewriter repair company got the basic
typewriter working again, and the restoration team fixed some minor
mechanical problems in the decoder. It was briefly working
correctly, but then two of the decoder bars started sticking.

The power control of the display system was miswired. After we
finished restoring the power supplies and reinstalling them,
testing the deflection transistors, and thoroughly cleaning everything,
we tried to power it up. The fans came on, then about six seconds
later the circuit breaker tripped.

There is a "sail switch" (otherwise known as a vane switch) that
is used to sense airflow to the deflection tansistors. It is a
rotary-action microswitch with a square metal plate soldered to
the arm. When the fans produce enough airflow, the microswitch is
actuated, which is supposed to energize a mercury-wetted relay in
the power control, which then energizes the main relay that provides
AC power to the power supplies.

The power control was miswired such that the sail switch was wired
directly across the AC line in parallel with the fans. So when the
fans got up to speed and the switch closed, it acted as a dead short,
tripping the circuit breaker. The switch contacts fused together,
so that subsequent attempts to power it up with the power supplies
disconnected resulted in the circuit breaker tripping immediately.

Last night the team determined that it wasn't just the sail switch
that was miswired; the whole power control is wired substantially
differently than the documentation indicates, and in such a manner
that it basically cannot work correctly. We surmise that someone
was trying to repair some problem with it, probably without the
benefit of the documentation, and screwed it up royally. Next week
we will rewire it back to factory specifications.

Whoever worked on it before also appears to have attempted to pry
the metal cover off of one of the mercury-wetted relays. The relay
works properly. It was in a position in the power control that
should have had no function when used in the Type 30 display, but
the way the power control was kludged up it actually was wired to
do something.

Eric
Received on Wed Feb 02 2005 - 17:20:41 GMT

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:37:35 BST