DEC microPDP-11/53 Rebuild

For some time I've been interested in getting hold of a DEC PDP-11, I find it to be an interesting piece of history since the C programming language was originally written on one. The first port of Unix was on a PDP-11. Anyway, I have just managed to buy enough bits to build a viable machine. I say 'bits' because I have not bought a working machine, but components taken from several machines. So I need to figure out how to put it all together.  Obviously this is one of the most recent versions of the machine from the 1980s, not one of the blinky light machines from the 70s.  Still, if I'm going to own a minicomputer this will fit easier into my house...

Anyway, the first thing was to put the backplane into the BA23 mounting box, the backplane also has a distribution panel attached, which exposes the connectors for the disk drives amongst other things.  Here is a start:

Starting to put the cables in

I have put the power supply in place.  But I have not worked out which way round the front panel ribbon cables go yet.  The cable which connects the power supply to the backplane seems to only go one way round which is helpful.  The fan was already in the mounting box, as you can see by the level of dust!  I also have attached the front panel:

The front panel

I have the outer enclosure that this mounting box goes inside, but have not found the cover that goes on the front yet.  I need to look for that.  This is a photo of the other side, showing the installed backplane:

The backplane

I need to keep working out where the cables go - and document their positions for future reference.  But my biggest problem so far has been the power supplies.  I managed to obtain two.  When I bench tested them, the first one went bang and threw out a cloud of smoke.  I believe that this was a large capacitor on the incoming power supply which exploded.  However, after that the power supply seemed to keep working.  The second power supply made strange chirping noises, but also seemed to work.  I think that it might be on its last legs.  I will need to get a stable power supply before I can switch it on.

Z88 PCLink Client - an experiment

Click below to download the application:
PCLink2 Client

My previous work on Z88 serial communications was OK, but you need to use the Z88 and Windows at the same time – meaning that you need about 4 hands.  You can also only send one file at a time.  However, it does work with an out-of-the box, unexpanded Z88 without any additional EPROMs, which is why I wrote it.

But ... a lot of Z88’s have a PCLink2 or EasyLink EPROM installed.  This makes the Z88 act as a server, meaning that all the work could be done from the PC (with some client software).  So ... I’ve decided to have a go at developing a modern Client for that - one that will work on current versions of Windows.  After speaking to Vic from Rakewell we decided that it would be good to have the Z88 act like a memory stick ... to simply appear as a new drive in Windows.  You can then just use Explorer to access your Z88.  But can that be done over a serial connection?  Well I think so ... with the help of a library like Dokan.

So this is my proof-of-concept.  I have tried it on Windows 7 (both 64 and 32 bit versions).  It only uses the PCLink2 protocol, which should work with both PCLink2 and EasyLink EPROMS, but has limitations - it cannot create directories on the Z88 for example.  It works with the ‘official’ Z88 serial link cable.  When the client is running it puts a Z88 icon into your system tray.  Right clicking this icon allows you to browse to the Z88 or exit the client program.

You must connect the Z88 and run PCLink or EasyLink before starting my Windows client software.

Configuration options
There is a Z88.ini file which allows you to set the COM port and the protocol used (at the moment only the PCLink2 protocol is supported).  But you’ll need to edit the Port= setting in the .ini file if you’re using a COM port other than COM1.

WARNING!! this is a proof-of-concept and is very experimental.  It could crash your PC or corrupt the files on your Z88.  I’m only putting it here in case some brave people would like to test it and let me know if they find any problems.

To make it work, you will need to install the following components on your Windows machine:

.Net Framework 3.5
Dokan Library (download and install Dokan-0.6.0)

Z88 Serial Communication - part 2

I have been meaning to make a blog entry about this for ages, but haven't gotten round to it yet.  This is part 2 of my work on establishing serial communications with the Cambridge Z88.  In the first part I described how to install a small Basic program on the Z88 ... this part completes the process by running a matching program on Windows.  This allows data to be sent back and forth, but only a single file at a time.  It uses my own protocol, and allows binary files (like Basic programs) to be sent.

Z88 Serial Communication for Windows

This is program needs .Net Framework v2 (click here for the for the x86 version), so that needs to be installed first, but you've probably got it already.  I've only tried it on Windows 7, although I don't see why it shouldn't work on Windows XP or Vista.

If you have installed the Basic program on your Z88, you can now use this program on Windows.  Just copy the files to a folder and run the .exe file.

NOTE: anything above 9600 baud might work; but I have not found it reliable.  This program works with the genuine Z88 transfer cable, since it uses hardware handshaking to prevent the buffer from filling up.  The serial settings on the Z88 will be set up using the normal Panel settings.  I’ve been using these settings - Transmit baud: 9600, Receive baud: 9600, Parity: None and Xon/Xoff: No.

Sending from the PC
Run the Basic program on the Z88.  Press ‘R’ and <Enter> to say that you’d like to receive a file.  Then enter the name of the file, the name that will be used on the Z88 and press <Enter>.  The Z88 will wait for the file to arrive.  Now on the Windows program select ‘Send’ along with the COM port settings you’re using.  Click the ‘...’ button to browse for the file on your PC.  Finally, when you have selected the file click ‘Transfer’ and you should see the file being transmitted.

Sending from the Z88
In the Windows program select ‘Receive’ along with the COM port settings.  Click the ‘...’ button and select the file name and the folder where the file should be saved.  Then click the ‘Transfer’ button.  The PC will wait for the file to arrive.  Now, run the Basic program on the Z88.  Press ‘S’ and <Enter> to say that you’d like to send a file.  Then enter the name of the file on the Z88 that needs to be transmitted and press <Enter>.  The Z88 will now transmit the file to the PC.

Robot Vacuum Cleaner

A couple of weeks ago I bought a Roomba 531 robot vacuum cleaner from John Lewis with the idea of letting it do the vacuuming whilst we're at work.

Roomba 531

This means that we can vacuum every day; and hopefully that will help my wife's asthma.  This little device is *brilliant* - it does a better job than I do.  We just press the button when we leave for work in the morning and whilst we're on the morning commute the robot is working away.  It makes an excellent job of the edges.  It has a side brush and detects the edge of the room, using the side brush to go right into the edges.  It also goes under things - so under the TV cabinet, wardrobes, etc.. all gets a clean.

It won't fall down the stairs, thanks to sensors that find any drop in the surface level.  There is also a 'dirt' sensor, so it concentrates more effort where it is really needed.

It even has a serial port, so you can access it from your computer.  There are a lot of commands that can be used on the serial interface. How long will I be able to resist hacking the vacuum cleaner?  Maybe I should get one of these Roomba USB boards on order...