Hacker News new | past | comments | ask | show | jobs | submit login
Building the PiDP-11 Dec PDP-11 Replica Minicomputer (bigdanzblog.wordpress.com)
47 points by ecliptik 4 days ago | hide | past | favorite | 32 comments

I'm trying to build a real pdp-11/70. Mentioning the project to people I work recently with I realized that pretty much nobody knows the significance of this machine now. So perhaps worthwhile mentioning that it's the computer that the developers of the later versions of Unix used (by later I mean V6,7). It's also the target machine for Unix prior to the 1980s. Unix on an '11 is basically the ancestor of all the systems we use today. e.g. you could sit down at a terminal and you'd have familiar commands like cd, ls, grep, and you could to a first approximation get work done, write and compile C programs and so on.

I do not know if by "build" you mean building from scratch a real PDP-11, or just repairing an old real PDP-11, or just building an accurate emulator.

Most real PDP-11 from the later years of the seventies had processors made with bipolar bit-slice circuits from the AMD 2900 series and memories made with 16 kbit chips like Mostek 4116 and these had to be supported by a large number of MSI and SSI Schottky TTL integrated circuits.

Maybe a few such ancient integrated circuits in working state could still be found, but for a complete PDP-11 a very large number is needed (a 256 kB memory needs 128 DRAM chips, the maximum 4 MB memory needs 2048 DRAM chips, the CPU might need 40 to 100 bipolar logic chips). I do not believe that attempting to reproduce the large size and the great power consumption of a real PDP-11 can provide an improved self-teaching experience in comparison with the implementation of a clock-cycle-accurate emulator of PDP-11/70 on a modern FPGA board.

Also should say that I am a digital design engineer from the 70's/80's so tackling this tech is not a problem per se, but the goal is more about time-travel -- re-creating the smell, sound, flashing front panel lights, heat and feeling of being in the room next to a multi-user pdp-11.

I have a complete set of cards pulled 20 years ago from a working system.

I knew a guy (Marc Crispin) who had a PDP-20 in his spare bedroom.

His power bill was . . . large.

Where a "PDP-20" is a later version of a PDP-10, marketed as a DECSYSTEM-20 and intended by DEC to run TOPS-20.

oh. that was the first DEC I used- remember it from my childhood. It was replaced shortly after with a VAX/VMS machine. I fled to UNIX shortly after.

Yeah an 11/70 needs 3-phase which I don't have.

It is more important if you have enough electrical power available.

Building or buying a 3-phase inverter or a power supply unit that could replace the original power supply are much easier tasks than building the logic boards of PDP-11/70, which you have.

If the power requirements exceed what is available at your location, you could still make the PDP-11/70 work for very short times, by using a large enough UPS with a 3-phase inverter or with a substitute power supply, and charging the UPS, then starting the PDP-11/70 with the UPS disconnected from mains.

The power requirements can be reduced a lot in comparison with a real PDP-11/70 if only the processor boards are used and the memory boards are replaced by a modern FPGA board implementing the protocol of the DEC memory bus.

The maximum size of the PDP-11 memory (4 MB) is small enough that it can be implemented with the internal SRAM of many FPGA chips, no external DRAM memory is needed.

> It is more important if you have enough electrical power available.

I have 7.5KV in my yard so absolute power is not a problem.

Good point about emulating memory and thereby getting away with a smaller PSU. Also need to emulate a disk drive. I have controllers for various drives but no physical drives (those are tricky to get working today even if they can be tracked down due to degradation of materials).

Oh, I think quite a few people do (plenty of PDP11 programmers about). It's easy enough to fire up an emulator and run a C compiler like its 1978 (or Fortran, come to that).

What's the definition of 'real' here?

Out of TTL or FPGA?

At one time I did think about creating one from TTL, but I have a set of original cards now so probably easiest to just use those, either by building or buying a backplane and associated PSU.

Original source of the PiDP kit that is being built:


The best I could find was a Dhrystone Benchmark of about 800MIPS for the PDP11/70.

The Raspberry PI3 is rated 2,411MIPS.

This emulator must be much faster than the original PDP11 even with the emulation software.

800MIPS? Not off an 11/70, for sure - much, much slower than that. 11/23's were as fast (or faster, depending on options and application) and they were maybe a single MIP or so (still got a couple of PDP11's kicking about, every so often I fire them up just to check my hearing).

From memory.

(The original) VAX 11/780 was a 1 MIPS machine. 32 Bit.

pdp 11 was a slower machine. plus it was 16 bit. slow clock, a relatively cheap o'scope could be used to snoop the buses.

The original PDP-11/70 was 0.7 vax mips. So it was 70% as fast as a Vax 11/780. I believe (from memory) the Vax 11/780 could do ~1757 dhrystone 2.1 mips so a PDP-11/70 would be about 1230 dhrystone mips. https://wiki.cdot.senecacollege.ca/wiki/Dhrystone_howto

Indeed, back in the day we bolted QBus backplanes to the side of DIN41612 backplanes and wire-wrapped across to a bunch of boards each with 100+ TTL chips on them (the 5V PSUs were something like 120A). The bus clocked at around a MHz, hence loosely the instruction rate (and back then, the addressed memory or peripheral needed to ack the bus cycle or there'd be a bus fault).

50 cent ESP-8266 would make excellent PDP-11. Except much too much memory. And 20 times too fast.

..."just to check my hearing"

I got a good laugh out of that....

Yes. Looks like I slipped a few decimal points.

The RetroBytes guy on Youtube has a (slightly annoying) video featuring this kit. If I had the time it would be a fun project.


At Rose-Hulman they had a PDP-11/70 running RSTS that they had modified to have more than 128 terminals connected to. It's my understanding that it had 128K of RAM, and 144 terminals at one point circa 1982.

I made an 11/40 to hook up to the PiDP-11 panel: https://github.com/aap/fpga11 Unfortunately no disk or anything (that's always the hard part) and also it's not an 11/70. Need to do both of these eventually.

Kind of amazing the sort of functionality that old multiuser/timesharing systems were able to deliver. 128K (words, presumably) of RAM seems a bit low though for 128+ users.

When the resources were limited, it is amazing what people could do with those systems. Nowadays, it is amazing that calc.exe needs 2 seconds to start and sharing files between systems has not improved much from that era. Oh, and 30 years ago a blinking cursor was not such a challenge as it is today.

You typically had a few run time systems, like BASIC+, TECO, and others running (Compilers), and the Batch Queue, then a user with 1 file open and an edit buffer.

Yeah, it really was amazing how they pulled it off. Given my current machine with 32 Gigs of RAM, I could give 32,000 users a megabyte each. Moore's law was a wild ride.

This computer looks so cool. The colors, the switches, the lights :-)

Nice but I'd prefer an FPGA implementation. ;-)

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact