• Please review our updated Terms and Rules here

Reviving the PDP-12 at the RICM

Maybe the Protective Overlay is work off of the tapes that we have been using?

We will try the alcohol swab on more tapes to see what we get.
 
The crew at the LCM sent us a listing of the kaleidoscope program that they use when demonstrating their PDP-12. I toggled it in and it works OK. Knobs 7 & 8 control the pattern on the display. If you fiddle with the knobs you can find settings that will cause a sequence of patterns to display.

You can watch the kaleidoscope program run here: https://youtu.be/_KZG_kE-K-0
 
Last edited:
The rebuilt display turned out very nicely and works great. The processor and memory are working well and are now reliable. The only problem that we still see is the TC12 LINCtape controller sometimes not finding blocks on a tape with block numbers less than 0007. We still suspect the TC12 LINCtape, but have not found the fault yet.

Once that gets fixed we will connect the Omnibus expansion chassis and debug the PC05 eader/punch and the RK05 disk. The RK8F disk controller is slightly different from the normal RK8E controller. These controllers are a three board set and are likely difficult to debug. Hopefully it won't cause too much trouble. We just received some RK05 disk drives that can be a source of spare parts.

The system came with an RX02 diskette drive and a RX8E controller. I have the same setup in my PDP-8/e so I can use the 8/e for debugging the diskette for the PDP-12. The diskette was never offered on the PDP-12, but it should work OK.
 
The crew at the LCM sent us a listing of the kaleidoscope program that they use when demonstrating their PDP-12. I toggled it in and it works OK. Knobs 7 & 8 control the pattern on the display. If you fiddle with the knobs you can find settings that will cause a sequence of patterns to display.

You can watch the kaleidoscope program run here: https://youtu.be/_KZG_kE-K-0

Very, very nice! Is the listing available somewhere?

It would be interesting to get it running on a suitable PDP-8(something) with comparable D/A capability (and A/D for the "knobs"), like the AX08.

Thanks,

paul
 
Paul,

This is what they sent. It runs in LINC mode on the PDP-12, so it will be a bit of work to port it to a PDP-8.

LivingComputerMuseum.org
LINC ORG 4020 Kaleidoscope
4020 1020 LDA I,00 Load AC, full register
4021 0000 variable HLT Halt
4022 0343 SCR 03 Scale right N places
4023 0017 COM Complement AC
4024 1140 ADM 00 Add AC to memory (sum also in AC)
4025 0034 xxx xx xxxx
4026 1560 BCL I,00 Bit clear (any combination of 12-bits)
4027 4000 STC 0000 Store and clear AC (full address)
4030 4001 STC 0001 Store and clear AC (full address)
4031 2043 ADD 0043 Add memory to AC (full address)
4032 0141 DIS 01 Display point on oscilloscope
4033 1020 LDA I,00 Load AC, full register
4034 1777 variable DSC I,17 Display character on oscilloscope (2 x 6 matrix)
4035 0343 SCR 03 Scale right N places
4036 1140 ADM 00 Add AC to memory (sum also in AC)
4037 0021 XOA Extended Operations Buffer to AC
4040 1120 ADA I,00 Add memory to AC (index class)
4041 1400 SHD 00 Skip: Right half AC unequal to specified half of memory register Y
4042 1060 STA I,00 Store AC (index class)
4043 0000 variable HLT Halt
4044 0141 DIS 01 Display point on oscilloscope
4045 0103 0106 SAM 03 Sample analog chan N
4046 4051 STC 0051 Store and clear AC (full address)
4047 0107 0107 SAM 07 Sample analog chan N
4050 1120 ADA I,10 Add memory to AC (index class)
4051 0000 variable HLT Halt
4052 0451 APO Skip: Ac contains positive number
4053 6020 JMP 0020 Jump to register Y
4054 1560 BCL I,00 Bit clear (any combination of 12-bits)
4055 7774 JMP 1774 Jump to register Y
4056 0470 AZE not Skip: AC not equals 0000 or 7777
4057 6020 JMP 0020 Jump to register Y
4060 1120 ADA I,00 Add memory to AC (index class)
4061 0340 SCR 00 Scale right N places
4062 1040 STA 00 Store AC (index class)
4063 0022 xxx xx xxxx
4064 4035 STC 0035 Store and clear AC (full address)
4065 6020 JMP 0020 Jump to register Y
 
Yesterday we chased a strange problem in the TU56 tape drive. The right drive works OK if the left drive is OFF. If the left drive is in LOCAL OR REMOTE the right drive had problems finding blocks. Setting the left drive to LOCAL OR REMOTE enables the power to the reel motors, so it looks like a problem in the G848 Motor Drive modules or in the G847 Dual Motor Voltage Control. There may also be a problem in the H724 power supply if if cannot supply enough +18/+38 for the reel motors.
 
The LINC clearly has some quite interesting instructions in its repertoire. The AX08 was a very simple interface, consistent with the "basic" I/O philosophy of the PDP-8.

Looks like a nice algorithm from which to learn the LINC instruction set. Merci beaucoup!

Paul,

This is what they sent. It runs in LINC mode on the PDP-12, so it will be a bit of work to port it to a PDP-8.

LivingComputerMuseum.org
LINC ORG 4020 Kaleidoscope
4020 1020 LDA I,00 Load AC, full register
4021 0000 variable HLT Halt
4022 0343 SCR 03 Scale right N places
4023 0017 COM Complement AC
4024 1140 ADM 00 Add AC to memory (sum also in AC)
4025 0034 xxx xx xxxx
4026 1560 BCL I,00 Bit clear (any combination of 12-bits)
4027 4000 STC 0000 Store and clear AC (full address)
4030 4001 STC 0001 Store and clear AC (full address)
4031 2043 ADD 0043 Add memory to AC (full address)
4032 0141 DIS 01 Display point on oscilloscope
4033 1020 LDA I,00 Load AC, full register
4034 1777 variable DSC I,17 Display character on oscilloscope (2 x 6 matrix)
4035 0343 SCR 03 Scale right N places
4036 1140 ADM 00 Add AC to memory (sum also in AC)
4037 0021 XOA Extended Operations Buffer to AC
4040 1120 ADA I,00 Add memory to AC (index class)
4041 1400 SHD 00 Skip: Right half AC unequal to specified half of memory register Y
4042 1060 STA I,00 Store AC (index class)
4043 0000 variable HLT Halt
4044 0141 DIS 01 Display point on oscilloscope
4045 0103 0106 SAM 03 Sample analog chan N
4046 4051 STC 0051 Store and clear AC (full address)
4047 0107 0107 SAM 07 Sample analog chan N
4050 1120 ADA I,10 Add memory to AC (index class)
4051 0000 variable HLT Halt
4052 0451 APO Skip: Ac contains positive number
4053 6020 JMP 0020 Jump to register Y
4054 1560 BCL I,00 Bit clear (any combination of 12-bits)
4055 7774 JMP 1774 Jump to register Y
4056 0470 AZE not Skip: AC not equals 0000 or 7777
4057 6020 JMP 0020 Jump to register Y
4060 1120 ADA I,00 Add memory to AC (index class)
4061 0340 SCR 00 Scale right N places
4062 1040 STA 00 Store AC (index class)
4063 0022 xxx xx xxxx
4064 4035 STC 0035 Store and clear AC (full address)
4065 6020 JMP 0020 Jump to register Y
 
Two more days of debugging on the PDP-12 LINCtape controller didn't accomplish much. We now a lot more about what is not broken, but haven't found the intermittent problem with reading tapes.

Since we replaced the bad tape head on the right drive we speculated that we introduced a tape head skew problem that was causing problems when reading tapes created on other drives. The left drive was untouched, so we thought that one might work better. The left motor for the left drive in the TU56 was sticking so much that it would not turn under its own power. We suspected bad bearings, so that should be an easy mechanical fix. When we removed the motors we found that the motor shafts turned freely. We found that there is a pair of bushings and spring on the motor shaft that take up the play and make the tape alignment more accurate. The lubricant on bushings and shaft had dried out and was sticky. Unfortunately after cleaning and reassembly we found that the left drive would barely read a tape. Oh well.
 
We found that there is a pair of bushings and spring on the motor shaft that take up the play and make the tape alignment more accurate. The lubricant on bushings and shaft had dried out and was sticky

I think this is very common on old drives. I had to clean and relubricate all 4 of my spindles. The bushings were originally oil impregnated and likely long dried out. I heated mine and cooled them in oil to try to reimpregnate them. An additional problem area is if they have been running dry and dirty for a while as they will slowly grind away the motor shaft.

As well as acting as thrusts to minimise end float I believe that the small amount of friction they provide is intended to prevent tape creep when 1 reel has a significantly different tape diameter to the other.
 
Last edited:
We checked and adjusted all five timing settings in the TC12 LINCtape controller. The Maintenance Manual needs a lot more notes about the Auto Restart speed settings. This facility allows you to put the processor in Single Step and have the Continue button automatically pressed ad a controllable rate. The PDP-9 has this capability too. I wish the other PDP-8s did. If the rate is set too high you will see the LTD ACIP Delay activate twice and measure a delay that is more than twice real value.

Most of the delays are controlled by M307 One Shot flip-chips. These boards have Fairchild 9601 ICs in them. We didn't have any spares, so we bought some on eBay just in case...

The TC12 has extensive maintenance capabilities and will let the processor simulate just about any condition in the TC12. With a short toggle-in program we were able to check all of the basic timing signals LTT TP0 L, LTT TP2 L, LTT TP3 L, and LTT TP4 L signals. We adjusted LTD XTLK H from 9.15 us to 9.5 us according to the written notes in the maintenance manual, where the spec was 9 us. We adjusted LTD TTOK, LTD TAPE FAIL Delay, LTD ACIP Delay, and the Mark Clock.

Unfortunately none of these adjustments made any difference, and the LINCtapes still misbehave.
 
We Charles Lasner's recommendation and swapped the TU56 DECtape drive from the PDP-12 with a TU55 from the PDP-8/I. Neither drive works in the other system. Both drives get selected, the brakes turn off, but there is no motion. Very strange. We will debug this later this week.

Last week we adjusted the 40HZ signal that controls the speed of the TU56 DECtape drive. The speed was about 10% lower than it should have been. Increasing the tape speed seems to have made the behavior worse. I put my hand on the tape reels to slow them down and it actually booted OS/12.
 
Hi All;
M-Thompson, ""
Last week we adjusted the 40HZ signal that controls the speed of the TU56 DECtape drive. The speed was about 10% lower than it should have been. Increasing the tape speed seems to have made the behavior worse. I put my hand on the tape reels to slow them down and it actually booted OS/12. ""
So, maybe if You adjust the Frequency to cause the drive to go slower by about what You slowed it down, You could have it boot from that Drive.. And then, if You want, put in a different tape and Re-adjust for the correct frequency and re-write to that tape..

THANK YOU Marty
 
We will slow down the TU56 after we figure out why the TU55 doesn't work in the PDP-12, and the TU56 doesn't work in the PDP-8/I.

If the TU56 works when set to a slow tape speed, then we can speed it up a little and fiddle with the TC12 timing settings until it works again. Maybe the manuals have the wrong timing settings, or maybe something else is broken that is preventing the TC12 from working when configured according to the manual.
 
We found that the TU56 uses a double-sided paddle card for the control signals and the TU55 uses a single-sided paddle-card. The TC12 tape controller in the PDP-12 will work with either tape drive if you have the right cable. We borrowed a control and data cable from the PDP-8/I. The TU56 in the PDP-12 was wired for +5V, but can use +10V or +5V. The TU55 needs just 50ma of +10V, so we ran a wire from a +10V backplane pin to the TU55. After these modifications the TU55 operated correctly in the PDP-12.

It behaved better than the TU56, and sometimes would boot OS/8. We continued chasing the issue and found glitches on data channel 3. We have swapped every module that relates to data channel 3, but have not been able to fix the glitches.

We put the TU56 back in the PDP-12, and the TU55 back in the PDP-8/I. The TU56 behaves worse than the TU55, but that may be due to the timing adjustments in the TU56. I have to make the same adjustments in my personal TU56, so by next I will know how to adjust the TU56 in the PDP-12.

At this point we are really stumped as to why the TC12 doesn't work correctly. We are going to try a few remaining ideas like running the TC12 from a laboratory power supply. We would welcome any ideas that you have.

In two weeks I will bolt the two cabinets together, connect DW8E-PC Omnibus Expansion Chassis to the PDP-12 CPU, remove the Omnibus boards from the chassis, reform the caps in the DW8E-PC, and power it on. If the power supply looks OK I will reinstall the PC8-E PC04 paper tape reader/punch controller, reform the caps in the PC04, and see if the reader/punch works. Then I will repeat the same procedure with the RK8F and the RK05. We have the pack that came with the system, but are not sure if it contains OS/8 or LAP6-DIAL.

I tested the RX02 that came with the system in my PDP-8/e and it works OK. I need to test the RX8E, and if that works I will install it in the Omnibus Expansion Chassis. We will leave the LE8-FA LP01 controller out of the Omnibus Expansion Chassis because we need the slot for the RX8E. If the diskettes work, it will be the only PDP-12 that we know of with diskette drives.
 
We found a bad SP380 on a M7102 in the DW8E the Omnibus expansion chassis. This would not let the SKIP instructions work with the diskette, RK05, or paper tape reader/punch. Once we replaced the SP380 we were able to boot OS/8 from an RX01 floppy. This may be the only PDP-12 to ever do that.
 
Back
Top