[dgcx] has been working on reimplementing a PDP-10/x on an FPGA for the last 2 and a half years. This surprised us because we’re only hearing about this project now.
After designing three versions, [dgcx] eventually ended up with a one-FPGA implementation of a PDP-10 and an awesome PDF writeup. Although PDP-10 emulators do exist, this project isn’t an emulation – the system actually has the 36-bit word length of the original, implemented on five 4096 kilobit SRAM chips. This is a fully functioning replica, and even has CHAOSNET implemented with a small Ethernet controller.
Like the miniature Cray-1 on an FPGA, the only thing left to do is put the PDP-10 clone into an awesome case like the working PDP-1 replica. We imagine [dgcx] could get the digital models of a real PDP-10 fairly easily.
With very old computers, it’s very hard to find software to run on these machines. This was the same problem the builder of the tiny Cray had. If any Hack A Day readers know where [dgcx] could find some old DEC software, be sure to post something in the comments. Otherwise, he may just get started porting the first edition of Unix.
I am pretty sure that the source/binaries for ITS are out there somewhere.
ITS isn’t exactly available. There are some issues with it. But the original software is. Visit this site for it:
http://http://pdp-10.trailing-edge.com/
Nice idea though…..
ITS is very much available: http://github.com/PDP-10/its
That’s cool. If the PDP-11 is implemented, I really hope it’s not to run the Therac-25 program. Worst… program… ever.
But there are quite a few PDP-11 implementations out there:
http://opencores.org/project,w11
http://labo.nshimizu.com/pop11.html
I know there are more, these two are just those that I remember well.
This is a PDP-10, not a PDP-11. So the obvious application to run on it, besides ITS and EMACS or TENEX and MACRO-10, is a PDP-8 emulator.
(At one time, the fastest PDP-8 in existence was an emulator running on a PDP-10, though presumably there are now PDP-8 emulators that run on Unix and can therefore run on modern hardware.)
The very first Unix ran on a PDP-7, but most of the early ones ran on PDP-11s.
ITS has a PDP-11 emulator. Used to run Logo, among other things.
That’s rather lovely. Nice write-up.
I’m not sure what it is about old computer architecture re-implementations that put a huge grin on my face…
Well, for me, it’s the thought that we are doing things that were unimaginable in my childhood. We are taking a computer and putting it inside a computer. Not only that, I could run THOUSANDS instances of these computers if I were so inclined.
For more DEC folklore, a PDP11 is available at http://opencores.org/project,w11
My question comes from ignorance, not because of a perceived superiority of my method, but – why were external SRAMs chosen instead of using internal BRAMs in the Spartan 3e? Not enough room on chip?
I thought UNIX and C were both originally developed on a PDP-10?
No on a PDP-11, and possibly on a different PDP family member.
But you’re close. There is a huge amount of software for the fellow.
I should have googled BEFORE I posted. I hate it when I do that.
NetBSD had a pdp10 port in the tree at one point…
I wouldn’t have been surprised. Unfortunately, my NetBSD 1.2 CDs (1997) don’t show any signs of PDP10 (or 11) support. There is gcc available: http://pdp10.nocrew.org/netbsd/
I believe what you’re thinking of is 2.11BSD, which explicitly supported the PDP10. Getting a copy is left as an exercise for the reader. Will this version work?
http://vak.ru/doku.php/proj/pdp11/211bsd
http://www.netbsd.org/ports/pdp10/
It doesn’t look like it’s gotten very far, though.
Getting 1st Edition Unix wouldn’t help you get any software… you’d be much better off with TOPS-20 or TOPS-10 or ITS, all of which are available on the Internet, AND were designed for 36-bit PDP-10s, not the 16-bit PDP-11s.
I love those old computers-in-FPGA projects!
Just skimmed over the manual,it seems a lot of effort went into it.Excellent project,keep em coming.
ps:I agree with Andrew on the new commenting system.
What will happen if a post with 300 replies or more occurs?
DGCX, if you happen to read this, it would be awesome if you could post the original Eagle (or equivalent) files for the FPGA PCB on your site; suitable for sending to a PCB manufacturer. I’m sure a few people will appreciate it. Publicly available PCB designs for FPGAs are almost non-existent.
Completely agree. Unfortunately the entire linked site has now disappeared. Can’t even read the documentation :-!
People who’ve never met the PDP10 shouldn’t assume that it is “similar” to a PDP11 just because the numbers are close together. The PDP10 was DEC’s “mainframe” computer, with an architecture featuring 36-bit words and word addressability. Getting C to run on the PDP10 was a major challenge, and I don’t think they ever ran any flavor of unix. DEC released both of their major operating systems (TOPS10 and TOPS20) for hobbyist use quite a long time ago, and there have been software-based emulators as well (running on “x86 micromachines”, many times faster than the fastest DEC HW ever made.)
The original PDP6 (DEC’s first 36bit computer, more or less) was supposed to have been about 3000 gates; I’ve always wondered if it was an architecture suitable for cramming into a single chip FPGA. (Things are complicated by the importance of the memory pager, which was less transparently documented…)
For those who care about old unix, you can run a flavour of it on a PIC32:
http://code.google.com/p/retrobsd/wiki/Board_Sparkfun_UBW32
Just tried it on my UBW32 !Brilliant, this should have its own Hackaday entry.
And I totally agree, it should. Another target board is Digilent Max32 “Arduino”, BTW.
now if we could get a GE 645 or Honeywell 6180 on an fpga then we could run multlics
Everyone seems to have missed the fact that I *do* have software for the machine. It runs a custom version of ITS. It runs it well enough that I routinely sit upstairs, connected to the machine via TELNET running over CHAOSNET, editing in EMACS.
I have not sir. It was understood by me that you’ve already crossed that hurdle.
They have.
Unfortunately this is NOT a fully functional PDP-10… it is lacking that awesome front panel display of blinkn lights!
We used to watch those from afar to monitor the 3d rendering programs. It was easy to pick up the patterns. Westworld, Tron Light Sail, Flight of The Navigator, Explorers and others were made using one (with the Foonly doing much of the heavy lifting).
Alas, later DEC PDP10 version (KL10) also lacked the blinky lights. You can build a light panel for your emulator, though: http://www.sparetimegizmos.com/Hardware/Panda.htm (Hmm. A design in need of updating.)
When looking for software for this, you might consider checking with anyone who rescues old big iron. One such group is RCS/RI. I know they have an actual PDP-10, so I would imagine they’ve got some software for it too.
Love the elegant look of the board…it screams out for a clear lucite box. Also, this would be an excellent project to add to OpenCores (opencores.org).
I don’t know if this might be helpful, but here it is: http://minnie.tuhs.org/cgi-bin/utree.pl and ftp://minnie.tuhs.org/UnixArchive have some ancient UNIX stuff. {TUHS=The UNIX Heritage Society} Also, how hard would it be to modify the code in the Lions’ Book to run on a pdp10? Impossible?
Actually yes it would indeed be impossible. What you’re looking at is Original UNIX, as running on the PDP-11.
The PDP-10 is special system in and of itself. It was also considered to be useful for managing the Internet, but the PDP-11 took over. There are a few operational systems out there….
A PDP-10 was a 100-user mainframe (with internet connectivity, sort of) in the same timeframe that the biggest PDP-11s supported maybe 20 users (and didn’t run unix unless you were AT&T or a university.) It was the Vaxen that took over (4.2bsd!!!); PDP11s were never a major force on the Internet (though they got used as appliances like routers and dialin systems and such.)
I dunno. You can look back at the sort of hardware mods that universities made to their mainframe computers (say, like the SAIL “Datadisk” terminals) for more-or-less general use, and it makes a lot of today’s efforts look pretty simplistic. OTOH, those hacks were NEEDED because the alternatives were pretty sucky.
Not quite true. At the height of the PDP-11’s popularity there were an equal amount of them working at the universities, including UCB, they are of course the creators of BSD. It was developed from UNIX.
Internet connectivity was possible both at the dialout/dialin level, and via Ethernet to more capable hardware. They were also used to run textile hardware which is why DEC made that bad decision to sell the line to Mentec.
So both is true, from a certain point of view.
I have been running a pdp-10 emulator on top of linux which runs on top of vmware ESXi-5.0.
I had used a PDP-10 on the University of Pittsburgh Computing Center in 1982. They still had a PDP-10 running then.
I would like to find the editor that Pitt used to use. It was written in house at the University of Pittsburgh
To get a PDP-10 TOPS-10 prompt try this command from your internet connected computer:
telnet jeffreyfall.com:2020
Try a systat
Great work on the PDP-10 on an FPGA.
Cheers
Jeffrey Fall
Great writeup on a PDP-10 on an FPGA.
Can’t get the .pdf. Webserver is down.
I put the Panda distribution up live on a linux system which runs on top of ESXi 5.0
try to log into this PDP-10 as
telnet jeffreyfall.com:2020
Try a systat
The website has moved to here
http://fpgaretrocomputing.org/pdp10x/
TECO – Text Editor and COrrector – the coolest text editor ever running on DECsystem-10 and TOPS-10
I used both PDP-10 (KL10s running TOPS20 v3.x -> 5.x when deinstalled) and pdp-11 (running RSTS/E officially and a late night AT&T Unix back in the 1979->1986 time frame). I loved teco. I was the system manager on a 11/45 (converted to an 11/44) and I used teco for all sorts of things. The weirdest thing I ever did in teco (that should have been in some non-interpreted language) was a Cheshire label program (3 up). They used to take the full alumni list of the law school, dump it out in a particular format then run it thru my teco script and a couple of days later Cheshire labels.. I eventually rewrote it in fortran. Ran orders faster but wasn’t anywhere near as fun to write. I also wrote a teco script to create boot tapes for RSTS/E. It would get a directory listing of the equiv of the root directory and put the required pieces on tape in the right order to make a recovery tape. This was after we found out the hard way our full backups didn’t quite work. I did recover the system but it was freaking painful. Thus the teco script to save future pain. I greatly enjoyed working as both a TOPS20 system guy and a RSTS/E system manager. Definitely a nice introduction to computing