A lot of mistakes in this article, although it's well-intentioned.
There is a direct lineage from the PDP-1 to the PDP-4, and the 18-bit lineage ends with the PDP-15 (missing).
The dual-mode PDP-12 (PDP-8 + LINC) is missing from the 12-bit lineage.
The VAX (VAX-11 initially) was an offspring of the PDP-11 and the VAX-11 could natively run PDP-11 user-mode code. DEC then tried to use the VAX to unify both the 10 and 11 markets.
The PDP-11 and VAX software heritage lives on mostly in C and UNIX (NetBSD being the closest relative), and in VMS / NT. The PDP-10 heritage lives on mostly in Emacs.
"However, even its most powerful configuration wasn’t powerful enough to attract many pdp-10 users."
They didn’t serve the same markets.
The PDP-10 was a time-sharing system that shone more for LISP than FORTRAN. For heavy number crunching and matmuls (the FORTRAN playground), 16-bit PDP-11s were usually used, paired with an auxiliary array processor such as the AP-120B or the CSPI MiniMAP. Those array processors could deliver more than 10 MFLOPS back then, when a mini-computer crunching 50-100 KFLOPS was already considered fast.
I would have thought the vax owed more to the pdp-11 culture than the pdp-10. If you don’t want to move the line add a second one. Berkeley Unix really helped things network and hack and that came from the 11 onto the vax.
That's what I think too. The VAX is a lot more like the PDP-11 than the PDP-10. Hard core 36-bit PDP-10 programmers (like DIGEX, who I quoted in response to Walter's comment) were dismissive of and looked down on the 32 bit VAX.
Doug Humphrey's nickname was DIGEX, and he had a PDP-10 in his living room in Westchester Tower Apartments that he acquired from a loading dock at the University of Maryland. It was challenging to haul up in the elevator! It had two power cords, and two of us had to plug them in at the same time, into outlets on different circuits, so it got both hot legs.
He started one of the first ISPs by that name, which was later acquired by Worldcom:
> it wasn’t called a computer then, because the word “computer” back then meant big mainframe systems that ran batch calculations
PDP being a minicomputer (at the time), it could do that too and cheaper. What I heard the reason for this was to circumvent procurement restrictions. The word "computer" meant a high level of scrutiny, but obviously a "Programmable Data Processor" isn't a computer because it doesn't have the word "computer" in it (duh). So just a sales / marketing trick.
I just made a PDP-7 and Type 340 vector graphics display emulator that runs in the web browser, based on SIMH, in order to reincarnate and run 128 pages of PDP-7 assembly language source code listings of a CAD system called PIXIE written at Cambridge by Heinz Lemke.
It also boots PDP-7 UNIX, the one this article is about. Log in as ken, password ken:
The listing the emulator runs was assembled 12 February 1972. I wanted to look and feel first hand how the radial menus work, so here's that code running in the browser:
I asked Mitch Bradley, who is the Forth guru who wrote OpenFirmware, if there was a Forth system for the PDP-7, so in one day he and Claude created one, including a Turtle Graphics library for the Type 340 vector graphics display! It turns out that the PDP-7 instruction set is perfect for Forth, and its inner interpreter loop is only three instructions.
It's easy to make virtual real and fictional PDP-7 devices that, like the actual Type 340 vector graphics display, plug in custom IOT instructions and even perform DMA, like a Turing Machine co-processor, the Ultimate Machine (Minsky's design, which Claude Shannon built, that just turns itself off), and a Data Hand (like VPL's Data Glove) that tracks your hand with the webcam:
Turing Machine (adds IOT instructions and uses DMA to run TM programs out of 18 bit core memory, which it animates with Forth turtle graphics and Type 340 display character generator):
Ultimate Machine + Data Hand = Ultimate Hand (combines the above devices into an interactive Ultimate Machine that lets you turn it off with your own hand, animated with Forth turtle graphics):
The Type 340 was a real PDP-7 device. Shannon's box was a real box, and the DataGlove was a real glove, but neither was a PDP-7 peripheral. These are virtual devices that plug in the way a real one did: their own IOT instructions, and DMA.
>We control the horizontal. We control the vertical. The machine in the page is ours, all of it at once: every register, every word of core, every device, and the host around them. Nothing here is a black box we have to squint at through a keyhole. So when something would be better, we make it better, from whichever side is closest. The 1960s machine stays honest. Everything around it is ours to invent.
>The rule throughout: instance first. Hardwire what SYMELEC needs, comment where the abstraction would go, generate it lazily when a second instance demands it. Work backwards from the software you want to run.
>An emulator: a stand-in for a cabinet, so the original program can run. PDP-7 is the first plug-in instruction set, for PIXIE. Type 340 on a canvas, light pen as a hit-test.
Heinz Lemke, who wrote the PDP-7 code from 1967 to 1972, is still doing cool things, running the CARS (Computer Assisted Radiology and Surgery) conference that he founded:
I first encountered a reference to Heinz's paper on PIXIE and radial menus in December 1986, and I have been working on tracking down the PIXIE papers and videos and source code since February 2019.
Please explain to me what objection you have to using AI to OCR and correct the scans of 128 pages of line printer listings, and then implement an emulator that runs in the web browser? It simply would not have been possible to do without AI, and I am paying for it all out of my own pocket, on my own time. How would you suggest I did anything differently? Do you want to volunteer your own time to help out with this project without using AI? Or do you think I just should not have done it at all?
To round out the timeline I'd include the TX-0, first computer based on transistors, and essentially the experimental prototype/proof of concept of what became the PDP-1. https://en.wikipedia.org/wiki/TX-0
then on the other end of the timeline, the DECSYSTEM-20 which wasn't any longer called PDP but it was simply an upgraded PDP-10. https://en.wikipedia.org/wiki/DECSYSTEM-20
The DEC 20 I was familiar with was a PDP-10 with a PDP-11 as a frontend (i/o) processor. I recall one of the cookie messages was "Help I'm trapped in a PDP-11"
A lot of mistakes in this article, although it's well-intentioned.
There is a direct lineage from the PDP-1 to the PDP-4, and the 18-bit lineage ends with the PDP-15 (missing).
The dual-mode PDP-12 (PDP-8 + LINC) is missing from the 12-bit lineage.
The VAX (VAX-11 initially) was an offspring of the PDP-11 and the VAX-11 could natively run PDP-11 user-mode code. DEC then tried to use the VAX to unify both the 10 and 11 markets.
The PDP-11 and VAX software heritage lives on mostly in C and UNIX (NetBSD being the closest relative), and in VMS / NT. The PDP-10 heritage lives on mostly in Emacs.
"However, even its most powerful configuration wasn’t powerful enough to attract many pdp-10 users." They didn’t serve the same markets.
The PDP-10 was a time-sharing system that shone more for LISP than FORTRAN. For heavy number crunching and matmuls (the FORTRAN playground), 16-bit PDP-11s were usually used, paired with an auxiliary array processor such as the AP-120B or the CSPI MiniMAP. Those array processors could deliver more than 10 MFLOPS back then, when a mini-computer crunching 50-100 KFLOPS was already considered fast.
I would have thought the vax owed more to the pdp-11 culture than the pdp-10. If you don’t want to move the line add a second one. Berkeley Unix really helped things network and hack and that came from the 11 onto the vax.
That's what I think too. The VAX is a lot more like the PDP-11 than the PDP-10. Hard core 36-bit PDP-10 programmers (like DIGEX, who I quoted in response to Walter's comment) were dismissive of and looked down on the 32 bit VAX.
Doug Humphrey's nickname was DIGEX, and he had a PDP-10 in his living room in Westchester Tower Apartments that he acquired from a loading dock at the University of Maryland. It was challenging to haul up in the elevator! It had two power cords, and two of us had to plug them in at the same time, into outlets on different circuits, so it got both hot legs.
He started one of the first ISPs by that name, which was later acquired by Worldcom:
https://en.wikipedia.org/wiki/Digex
The Digex Video! - Part 1:
https://www.youtube.com/watch?v=IsgROO4MIvc
DEF CON 12 - Doug Mohney, DIGEX At the Dawn of the Commercial Internet:
https://www.youtube.com/watch?v=uxMq-x9rlJM
The article also didn't mention the PDP-15, which was the fifth and last 18 bit DEC machine of the PDP-1 => 4 => 7 => 9 => 15 lineage.
PDP being a minicomputer (at the time), it could do that too and cheaper. What I heard the reason for this was to circumvent procurement restrictions. The word "computer" meant a high level of scrutiny, but obviously a "Programmable Data Processor" isn't a computer because it doesn't have the word "computer" in it (duh). So just a sales / marketing trick.
I learned how to program on a PDP-10. Lots of great memories.
"If you're not playing with 36 bits, you're not playing with a full DEC!" -Doug Humphrey (DIGEX) tormenting VAX weenies at DECUS
I just made a PDP-7 and Type 340 vector graphics display emulator that runs in the web browser, based on SIMH, in order to reincarnate and run 128 pages of PDP-7 assembly language source code listings of a CAD system called PIXIE written at Cambridge by Heinz Lemke.
It also boots PDP-7 UNIX, the one this article is about. Log in as ken, password ken:
https://hyperties.org/cabinet/unix/
Same cabinet runs DECUS DUEL (the spacewar), DEC's light pen test, a lunar lander, and guess-the-number, besides PIXIE and the Forth below.
Here's a music video I cut from the 1969 films of that system running on the PDP-7 and Titan at Cambridge. PIXIE has the first known radial menus:
https://www.youtube.com/watch?v=jDrqR9XssJI
Cambridge librarian David Chapman digitized the uncut films from the Cambridge University Library:
https://www.youtube.com/watch?v=j9R63T2xGCA
https://www.youtube.com/watch?v=lCrl5QmQ9aA
The listing the emulator runs was assembled 12 February 1972. I wanted to look and feel first hand how the radial menus work, so here's that code running in the browser:
https://hyperties.org/cabinet/symelec/
Here's the PDP-7 assembly source code I recovered. The page runs the image it assembles to:
https://github.com/SimHacker/WillWrightShowForFood/blob/main...
I asked Mitch Bradley, who is the Forth guru who wrote OpenFirmware, if there was a Forth system for the PDP-7, so in one day he and Claude created one, including a Turtle Graphics library for the Type 340 vector graphics display! It turns out that the PDP-7 instruction set is perfect for Forth, and its inner interpreter loop is only three instructions.
Mitch Bradley's PDP-7 Forth:
https://github.com/MitchBradley/pdp7forth
How Mitch's Forth works, and my enhancements (full names, CREATE DOES>, PIXIE rings):
https://github.com/SimHacker/WillWrightShowForFood/blob/main...
Video demo of PIXIE and FORTH on the PDP-7 Cabinet Emulator with the Type 340 Vector Graphics Display:
https://www.youtube.com/watch?v=lo8kdY-5i6c
It's easy to make virtual real and fictional PDP-7 devices that, like the actual Type 340 vector graphics display, plug in custom IOT instructions and even perform DMA, like a Turing Machine co-processor, the Ultimate Machine (Minsky's design, which Claude Shannon built, that just turns itself off), and a Data Hand (like VPL's Data Glove) that tracks your hand with the webcam:
Turing Machine (adds IOT instructions and uses DMA to run TM programs out of 18 bit core memory, which it animates with Forth turtle graphics and Type 340 display character generator):
https://hyperties.org/cabinet/turing/
Forth Turing Machine driver and renderer:
https://github.com/SimHacker/WillWrightShowForFood/blob/main...
Ultimate Machine (adds IOT instructions to control and monitor device that turns itself off, and animate it with Forth turtle graphics):
https://hyperties.org/cabinet/ultimate/
Forth Ultimate Machine driver and renderer:
https://github.com/SimHacker/WillWrightShowForFood/blob/main...
Minsky and Shannon's Ultimate Machine (sometimes called Useless, but Marvin considered it Ultimately useful):
https://en.wikipedia.org/wiki/Useless_machine
Data Hand (adds IOT instructions to read hand position, orientation, and pose, and draws hand with Forth turtle graphics):
https://hyperties.org/cabinet/hand/
Forth Data Hand driver and renderer:
https://github.com/SimHacker/WillWrightShowForFood/blob/main...
Ultimate Machine + Data Hand = Ultimate Hand (combines the above devices into an interactive Ultimate Machine that lets you turn it off with your own hand, animated with Forth turtle graphics):
https://hyperties.org/cabinet/ultimate-hand/
Forth Ultimate Hand demo putting it all together:
https://github.com/SimHacker/WillWrightShowForFood/blob/main...
The Type 340 was a real PDP-7 device. Shannon's box was a real box, and the DataGlove was a real glove, but neither was a PDP-7 peripheral. These are virtual devices that plug in the way a real one did: their own IOT instructions, and DMA.
Here's the manifesto about the emulator design:
https://github.com/SimHacker/WillWrightShowForFood/blob/main...
>We control the horizontal. We control the vertical. The machine in the page is ours, all of it at once: every register, every word of core, every device, and the host around them. Nothing here is a black box we have to squint at through a keyhole. So when something would be better, we make it better, from whichever side is closest. The 1960s machine stays honest. Everything around it is ours to invent.
Cabinet Design:
https://github.com/SimHacker/WillWrightShowForFood/blob/main...
>The rule throughout: instance first. Hardwire what SYMELEC needs, comment where the abstraction would go, generate it lazily when a second instance demands it. Work backwards from the software you want to run.
Cabinet README:
https://github.com/SimHacker/WillWrightShowForFood/blob/main...
>An emulator: a stand-in for a cabinet, so the original program can run. PDP-7 is the first plug-in instruction set, for PIXIE. Type 340 on a canvas, light pen as a hit-test.
Holy slop dump. I miss when humans did cool things.
Heinz Lemke, who wrote the PDP-7 code from 1967 to 1972, is still doing cool things, running the CARS (Computer Assisted Radiology and Surgery) conference that he founded:
https://cars-int.org/
I first encountered a reference to Heinz's paper on PIXIE and radial menus in December 1986, and I have been working on tracking down the PIXIE papers and videos and source code since February 2019.
Please explain to me what objection you have to using AI to OCR and correct the scans of 128 pages of line printer listings, and then implement an emulator that runs in the web browser? It simply would not have been possible to do without AI, and I am paying for it all out of my own pocket, on my own time. How would you suggest I did anything differently? Do you want to volunteer your own time to help out with this project without using AI? Or do you think I just should not have done it at all?
To round out the timeline I'd include the TX-0, first computer based on transistors, and essentially the experimental prototype/proof of concept of what became the PDP-1. https://en.wikipedia.org/wiki/TX-0
then on the other end of the timeline, the DECSYSTEM-20 which wasn't any longer called PDP but it was simply an upgraded PDP-10. https://en.wikipedia.org/wiki/DECSYSTEM-20
The DEC 20 I was familiar with was a PDP-10 with a PDP-11 as a frontend (i/o) processor. I recall one of the cookie messages was "Help I'm trapped in a PDP-11"
[dead]