Category Archives: Retro Tech

DEC PDT-11/150 – Part 7. The disk drive belts.

I ordered a pair of 590mm belts from http://www.beltingonline.com/ and  they arrived very quickly. The original belts were 588mm so 590mm should be fine. However, they are too small and don’t fit.

How can a belt that is 2mm bigger than the original be too small? The answer is in the detail or more specifically the tolerances. It says on the website the belts between 500mm and 980mm can be out by +-1.5%. So there’s the problem. The bigger belts may actually be smaller and these ones are.

The motors in the drives are mounted on slides and so can be adjusted to compensate for belt variation but even with the motor adjusted as far as it will go, the new belts still wouldn’t fit.

Back to the supplier. Next I ordered two 600mm belts and these too arrived very quickly.

These fit just fine.

Try again.

So how are we doing now? Mixed results I’m afraid.

The in depth software test is still telling me that there is a problem with drive 1. However, things are a little different with drive 0.

With no disk in drive 0 I see the image on the left, “Read error”. I also see it with an unformatted disk in drive 0 and even with the only PDT disk I have. There are differences however.

With either no disk or an unformatted disk, the message appears very quickly. With the system disk, it retries seven or eight times before showing the message.

I am reasoning then that the drive is able to read something but doesn’t like what it’s reading. I am taking this as progress.

 

DEC PDT-11/150 – Part 5. The new disk controller RAM arrived.

In the last post I had found a faulty RAM chip on the disk controller board and ordered a replacement from a supplier on ebay.

Well, the part arrived Today and one fitting, the error lights on the disk controller went out… For a while.

I can confidently say that we are past the RAM errors and it is trying to boot but the drive makes a lot of stepping type noises and doesn’t settle down for quite a while. Then the some LEDs on the main board and the controller board light up.

This is what we have this time.

This time, according to the manual, they don’t mean RAM error. This time they mean.

1, 4&5 on the main board.

This manual says that this “Verifies that the second pass of the disk drive diagnostic was successfully completed. If an error is indicated, refer to Table 5-4 for the possible fault indicators on the Disk Controller module test phase 2.”

1 on the disk controller.

The manual says “Verifies the position of the disk drive 0 head after a restore command is issued.” and the course of action is “Replace defective drive 0 or module.”.

Replacement isn’t an option so I’m going to have to go in and see what’s occurring.

 

DEC PDT-11/150 – Part 4. Self tests and the drive controller

I have been running some tests and learning a lot about this little machine and its ways.

It has two layers of self-test. The first is a mandatory Power On Self Test (POST). The second layer is an optional interactive test made available by setting switch 4 on the main DIP switch block and activated by the toggle on the back panel (replaced in part 1)

In my second post I couldn’t get to the optional test no matter how I set switch 4 inside and the toggle switch on the back. Instead I was getting an octal number and being dropped into the ODT.

I naively thought that this was some kind of RAM value. It wasn’t. This was in fact an error code from the POST. The value I was given, 170732 means there is a RAM fault on the main board. I have spent some time re-seating all of the socketed chips and I think that’s what fixed this.

So the reason I couldn’t get to the optional test suite was that the POST was failing.

Past the POST.

Now that the basic POST is passing, I can get beyond that to the attempts to boot I showed in the last post.

At this point it doesn’t make any obvious attempt to access the disk drives. I would expect a little graunching to find track 0 or something similar but there is nothing.

Test mode.

I can now try setting the DIP switch and toggle to enable the test mode. With this done and a reboot I get nothing on the terminal at all. Flick the toggle for normal mode and it’s back to the boot prompt. Set the toggle to test and nothing.

The PDT-11 has a number of status LEDS on both the main board and the disk controller. Setting for test mode again, opening up the lid and separating the boards shows us a number of clues.

The main board switches are showing 01111 which means “1 Disk controller module” or “2 Cable G1”. The cable looks fine so it’s the disk controller module.

A look across to the disk controller and its lights are showing 0011 which means  that the LSB RAM IC is faulty. If that’s true, switching the two RAM chips over should move the problem to the MSB.

A quick switch later and the error code on the LEDs has changed to 0010 which means the MSB is now faulty.

These chips are 4bit x 256 bits and some new ones are on order. 🙂

DEC PDT-11/150 – Part 3. Healing hands.

I was preparing to share with you all my efforts driving the ODT with PDP11GUI.

I have been using it to assemble Marco-11 assembler code and squirt it across to the PDT’s ODT. The problem is that when I came to fire up the machine to do a bit more and maybe take some screenshots I can’t get to the ODT because the machine is now asking for a boot floppy!

So that’s how you get it to try and boot. You write about it on your website and shame it into trying. I am part delighted and part deeply suspicious. Computers don’t heal by themselves.

I kind of miss the ODT to be honest. At least with that I could make some progress and fire octal code at it.

So what happens now?

Not much. It doesn’t seem to touch the disk drives when I answer its question. It just tells me there is “No boot on volume” and asks me again. It doesn’t even seem to rattle the disk.

The funny thing is, when it only went to the ODT, it seemed to get the drives to seek to track zero and it’s stopped doing that now. Curious.

 

DEC PDT-11/150 – Part 2.

In the last post I described the PDT-11/150 a little bit and the state of play. It was showing signs of life but not talking to me.

It turns out the cable wasn’t right. Switch to a new cable, fire up GtkTerm and we’re on the right lines.

What we have here is the ODT display. It doesn’t look much but it shows us that the machine is alive and conscious.

Main switch settings.

There is a five switch DIL pack on the top board that sets various options for the machine. The manual gives the following explanations:-

IT seems a little odd that the switch labelled “Auto Baud” should be set to off to turn Auto Baud on. Really? Ah well.

Mine are set as follows:-

  1. ON – Auto Baud is disabled. Baud rate is set to 9600.
  2. ON – Line clock is disabled.
  3. OFF – Enable the DRAM refresh.
  4. OFF – Disable the test mode.
  5. OFF – Disable manufacturer mode.

Setting the switches this way I can get to the prompt you see above.

I have tried getting into the test mode but it doesn’t seem to work on my machine. I wondered if the self test at power up is failing and dropping me into the ODT but the error light on the front goes out so I guess not.

I haven’t turned on the line clock as I don’t know yet if I need an interrupt handler for it. Clearly we need DRAM refresh and fixing the Baud rate at 9600 is just A Good Thing (TM).

Booting?

Now here’s a thing. I can’t find any information about how to get this thing to read a floppy. The manual describes setting the switches to get test mode. It says how to insert a floppy and how to handle them safely but nothing on how to boot the machine.

I’ve looked at both the technical manual and user guide (thanks to Bitsavers) but there is nothing.

A little test.

Although I can’t boot from floppy, I can fire in code using the terminal and things are starting to look brighter.

Here is an example from the ODT page on wikipedia.

This fires the letter ‘A’ at the console port as fast as it can and only stops when you press the reset switch.

Tada!

 

 

DEC PDT-11/150

This is an unusual one. The PDT-11/150 is one of a series of “smart terminals” based on the PDP-11/03’s LSI-11 chip set and so is basically a little PDP-11 atop a pair of massive 8″ disk drives.

It came to me from a friend who presides over a massive collection but is still, like the rest of us, unable to keep everything. His collection is mostly home machines and quite game focused and this business machine doesn’t fit and so I got a message.

This is just the kind of thing I love. The left-field, unloved and under appreciated machines like this are just the cut of my jib.

Details

Looking on the net there is not a lot of details on this one but according to the manual has 16 or 30 (sic) k-words of RAM, 2  8″ floppy drives and 6 serial ports. The processor is the LSI-11 in 3 chips.

From the front the machine is dominated by the floppy drives. The processor and all it’s additions are under the small “lid” and behind the smart label…

The state of things.

It’s not working… I don’t think there is much wrong with it as when I apply power, the disks make moving noises, the LEDs on the front light and go out but I can’t get any life out of the serial port and onto my PC that’s running a serial terminal.

Things to do.

The run mode switch on the back had been bent and become a bit flaky. I’ve replaced it with a new one (RS part number 7109551) but it didn’t make it run properly. It did give me a feeling of satisfaction though 🙂

Multicomp revisited.

Way back in April 2015 I wrote about building an FPGA computer based on Grant Searles Multicomp.

To be honest, it’s not had a lot of use. It has sat, largely unloved, in a cupboard awaiting redisovery. Well. in a roundabout way I have rediscovered it.

Back in September last year, I exhibited a few retro machines at the Centre for Computing History‘s Retro Festival with an old friend. There were quite a few exhibitors from all over the place and one, Neal, was demonstrating the multicomp as a fully loaded 6809 machine. The really nice feature for me was that Neal had used a PCB to build his whereas mine was using a bit of blob board I had kicking around. What was nicer was that Neal had a spare blank board that he was willing to pass on to me.

This board has been sitting on the “Shelf of good intentions” until the right time and its time has come.

Getting started.

The design files for the PCB and instructions can be found on the Retrobrew website and package the information nicely. Be careful when coosing the CF card socket and the RCA connector as there are more than one design of each out there and it’s easy to get a wrong example of each… I have found.

The first step is to solder the connectors and the components for the VGA interface and PS/2 keyboard. This can be considered a minimal system and is a good place to stop and see how you are doing.

At this stage you should have a working 6809 machine with VGA output and 2k of built-in RAM.

This is where I’m up to now. More to follow shortly.

 

 

RetroChallenge 2017/10 – Last day

So another Retrochallenge comes to a close.

What did I do lately?

Well, in the last 24 hours I have tested all of the 74 series chips, with the exception of the 74LS163 (my tester won’t touch them). All were fine, no problems at all.

I swapped the 74LS 163s around to see if the fault moved. It didn’t.

I swapped the 81LS97s, again to to see if the fault moved. It didn’t.

Where are we?

It’s hard to tell.

My newest addition is still not playing ball and I’m stumped as to why, but, that’s not the point of Retrochallenge. The point is to dust off this old kit and have a play and I’ve certainly done that 🙂

 

Roll on RC2018/4

 

RetroChallenge 2017/10 – Slow progress

Well progress has been slow but thanks to some helpful and knowledgeable people (here), progress has been made.

So what do I know now that I didn’t know before? Well, I burned a ROM that just tried to access an imaginary I/O port. When I ran that and watched the _IOREQ_ line, I saw it going up and down which suggests that the program is running correctly from ROM. I put one of my screen-filling ROMS in that just access ROM and screen RAM and didn’t see any _IOREC_ activity so I think I can safely say that the processor is up and running.

About a screen.

I wanted to see if the screen output I’m seeing is coming from video RAM or is being created on the fly by the hardware fault.

So I pulled out a video RAM chip. When I powered on the machine and reset it, the pattern on the screen was different to what I had seen previously. I took another RAM chip out as well and saw a different pattern. Each RAM chip on the Nascom-1 is 1 bit wide and so unfilled sockets will make the corresponding bit float high when accessed.

I think this means that the video RAM is being read correctly or at least feasibly by the video circuitry.

So now I’m looking at the memory addressing and swapping chips to see if the symptoms change. I’m also waiting for some spare 74LS chips to arrive so I have some contingency.

 

More soon.

RetroChallenge 2017/10 – More clues but what do they mean?

So here we are, two thirds of the way through the month and the Nascom-1 is looking just as it did when I started 🙂

But now, take a look at this picture…

This is the Nascom with a ROM in it that fills the screen with NULLs. I’ve just pressed reset.


Now look at this photo…

This is a different ROM. This  one fills the screen with ‘*’s. Again I’ve just pressed reset.

Their behaviour with these ROMs after reset is pretty consistant but not guaranteed.

But what does it mean?

I don’t know, but I’m sure it means something. It could mean I’ve mucked up the ROMs. As 2708s are hard to find and program, I’m using a 2716 in a little adapter that I made myself but they look fine.

With the alternative ROMs in place, we’re only using the screen RAM and the addressing logic, buffers etc.