2007 07 30 Continuing with the TU56
S
M
L
XL
So, back to the TU56.
To make a long story short, I didn't have enough extender cards. I had 6 "single" extenders, and I would
have needed 8 (each extender was about half the required length). I had two "double" extenders, but each
one was a different length (if you can believe it -- and it wasn't a small difference, it was several inches!).
Finally, I found another double extender that looked like it was home-made (bad soldering job and six or seven
of the bus pins had come unsoldered), and the connector was copper, not gold plated.
On this one, some idiot decided to put black electrical tape over the pins that would normally go into
the omnibus! WHY???
|
S
M
L
XL
In any event, an hour later (with Goo Gone, Rubbing Alcohol, and 600-grain sand paper) I was able to get all
of the crap off the connectors.
This is the M868 controller "up on blocks".
Now that everything is set up, I need to get the scope out and start probing.
|
2007 08 18 The TD8E TU56 Controller
Next, I started on the M868 TD8E controller.
I assumed that the controller was fully operational, and ran the dumptd8e program from
David Gesswein's PDP-8 Archive under the "PDP-8 Dump
and restore programs" link.
However, this was a dismal failure -- it rewound the tape and did not stop; the tape was flapping on the source reel.
Ok, time to fix things.
Based on the M868 schematics, I decided that the first thing to test is the IOT command decode.
This is E45 (a DEC8251 chip).
I wrote the following test program:
0000 7200 CLA / AC is empty
0001 1007 LOOP, TAD C6770 / Load the IOT base constant
0002 7404 OSR / get the switch registers
0003 3004 DCA .+1 / self-modifying code for next instruction
0004 7000 NOP / this is the IOT
0005 5001 JMP LOOP / go back and do it again
0006 5001 JMP LOOP / this is in case the IOT was a skip IOT
0007 6770 C6770, 6770 / this is the base IOT
With this program running at location 0000, it was a simple matter of probing pins 12, 11, 10, 9, 3, 4, and 5 (decode values 1 through 7,
respectively) while putting in the SR values 0001 through 0007 to verify that the appropriate pin went low periodically.
The value at location 0007 is the IOT instruction that's ored with the switch register; modify this if you are using a
different unit number (this is for units 0 and 1, or simply put in a constant of 6740 and use the two bits at 0030 in
the switch register to select a unit as well.)
|