DEC PDP-12 Restoration Blog starting 1/1/18


Back to working on the LINCtapes.

Last week we tried to "mark" a LINCtape.

The first pass blindly writes the Timing and Mark tracks to the tape.

It then turns the tape around and writes the Reverse Block Numbers and Reverse CRC.

It failed instantly on the second pass, so maybe the Timing or the Mark tracks were not written correctly.

We checked the frequency of the clock for the reel motors on the TU56 tape drive.

It measured 40.86 Hz, so we adjusted it a little closer to 40 Hz.

We checked the capacitor voltage waveform for the reel motors and compared the 'scope image to what is in the TU56 manual.

The manual shows a spike in the sine wave, where the 'scope showed a pure sine wave.

Next week I will bring my LCR meter so we can measure the reel motor capacitors and make sure that the are 100uF.

We looked at the tape head signals for the timing track and mark track when "marking" a tape.

Click on the image for a larger view.

The two 'scope channels show the voltage across the two coils in the Timing Track head.

You can see extra glitches in the transitions which could cause problems when reading the Timing Track.

Click on the image for a larger view.

The two 'scope channels show the voltage across the two coils in the Mark Track head.

There are no glitches in the Mark Track transitions.

We need to find out why there are glitches when writing the Timing Track.

Next week we will look at the TTL signals that drive the G882 modules that make the Timing Track and Mark Track signals.


Still running great for demonstrations today, except for the LINCtapes.


Gary Boden donated two replica SPACEWAR! controller boxes.

We need to add two toggle-switches and a push-button to each, and cable them into the backplane. One toggle-switch is for rotate left/right, the other is for thrust/hyperspace. The push button is for firing torpedoes. The PDP-12 has 12 GPIO signals that can be use to read the positions of the switches. It will be much easier to use the controller boxes than the console switches.


We finished the prototype of the SPACEWAR! control boxes. We had to swap the polarity of the switches in software, and swap two wires to make everything behave intuitively. Now we can order the expensive telephone leaf switches and finish the real control boxes.

The diskette drives should "clunk" when the PDP-12 processor is initialized, but that stopped working a while ago. Both drives were spinning, so AC power was OK. The cooling fan was not working, but that was simply a disconnected wire.

We decided to start at the beginning, and connected the 'scope to the INITIALIZE L signal from the PDP-12's Posibus. The signal looked OK, so we chased it through the DW8-E chassis', through the RX8-E, to the cable that goes to the RX02. The RX INIT signal gets buffered and redriven within the RX02, and the signal did not look good. I was ready to replace the defective receiver IC, but Alex suggested that I check the power supply voltages. Nope, no DC power in the RX02. After 30 minutes of checking I found that the AC fuse only protects the power supply, and not the fans and floppy drive motors. That is a very strange design. A new fuse, the drives are "clunking" again, and the RX02 diskettes are working OK.


Charles Lasner visited today. He gave us an RK05 disk image that contained an encode and decode program that will convert between binary and text versions of a file. He used the encode program to convert an RX01 image containing P?S/8 for the PDP-12 to a text file. We used serialdisk to connect the RK05 disk image to the PDP-12 running OS/8. We put a blank floppy diskette in the RX01 drive, and used the decode program to convert the text image of the RX01 back to binary and write it to the RX01 in image mode. Once that was done, we executed the OS/8 "BOOT /RX" command and the PDP-12 booted P?S/8 from the floppy diskette. It is very interesting to have a new OS running on a 45 year old computer.

P?S/8 System Status SYSTAT V10d Friday 14-SEP-18

System: RX01:0 (02)

Version: 8Z

Console: KL8:0 (01) (Disabled)

CPU Type: PDP-12

Physical Memory: 8K

Maximum Memory: 4K (Limited by System)

Logical Memory: 4K

EAE: Available

Handler Information:

Name Block Length Entry Block Size

SYS 0123 01 000 00200

NUL 0123 01 034 00200

DTA 0124 01 011 00200

RXA 0125 03 000 00200

RKA 0130 04 000 00200

RKB 0130 04 005 00200

LTA 0134 01 000 00200

DSU 0135 01 075 00200

DSL 0135 01 026 00200

LIN 0136 01 000 00200

LTD 0137 01 000 00400

LID 0140 01 000 00400

FLP 0141 01 000 00200

<FREE> 0142 21

Free Slots: 02


We finished the Spacewar control boxes.

We used vintage 1974 Switchcraft 60312DL 4-pole double throw momentary contact switches. We are only using 2 of the 8 contacts in the switch. These are very robust switches so they should take a lot of abuse and last a long time. For Hyperspace, we connected one switch contact to the left and right rotation signals through diodes.We used a modern 28mm arcade bushbutton that has a microswitch on the bottom for the rockets.

We have two GPIO signals routed each switch box that are currently unused.

We might wire one to the hyperspace switch and modify the code to match.

This would let us use that switch for forward/backward when running the tank game.

Click on the image for a larger view.

You can see the diodes connected to two of the contacts on the left switch (right-left) and then through the green wire to one of the switch contacts on the right.

When the right switch is pushed up, it activates both the left & right signals which causes the ship to go into hyperspace.

This matches the behavior of the console switches.

Click on the image for a larger view.


We made and attached bottoms to the Spacewar control boxes.


The last time Charles Lasner was here we made a bootable P?S8 floppy disk and tested it on the PDP-12.

It worked fine for several hours, and then died.

Today we ran simple RX8-E diagnostics that Mike wrote to make sure that the basic functions of the floppy controller worked OK.

They all worked OK, so we tried some of the controller & drive tests.

These didn't work, and showed that the ready bit in the drive was not on.

After some fiddling, cable wiggling, and poking the drives decided work OK.

I am not sure what was broken, but at least the floppies are working again.

I ran the TANK program so we could figure out how the console switches control the game.

The switch usage is different from Spacewar, so we will need to change the TANK program.

I haven't found the source code for the program yet, so it will be a challenge to modify it.