PiDP-11 Retro Computer Build - Computerphile

The Replica PDP-11: A Modern Take on a Classic Computer System

In this article, we will explore the replica PDP-11, a modern computer system designed to mimic the classic PDP-11 series of computers. The author of the video, who showed their own PDP-1173 in a previous video, is now showcasing a modern replica based on a Raspberry Pi.

The PDP-11 was a popular computer system in the 1960s and 1970s, known for its octal-based word sizes and ASCII character set. However, as computers began to use 8-bit word lengths, the PDP-11 series had to adapt to meet this new standard. As a result, the machine featured three switches with zero through two, seven on each of them, followed by a 21-bit most significant bit.

One of the unique features of the PDP-11 was its control panel, which consisted of a large board with several components. The author notes that this panel was a lot to work with, requiring manual input of addresses and data to be stored in the machine's memory. However, with the advent of modern computers, such as the Raspberry Pi, it is now possible to replicate the PDP-11 experience using a single device.

The replica PDP-11, built on a Raspberry Pi, features a similar design to the original computer system. The author has programmed a simple program that uses the machine's registers to perform basic arithmetic operations. The program increments the address register by one each time it is called, causing the LED display to move across the screen.

One of the most impressive aspects of this project is its speed and efficiency compared to an actual PDP-11. While the author notes that an actual PDP-11 would take a long time to execute the program, the replica PDP-11 can complete it in mere seconds. This is due to the much faster processing capabilities of the Raspberry Pi.

The author also notes that one of the benefits of using a replica computer system like this is its energy efficiency. While an actual PDP-11 would consume hundreds of watts of power, the replica PDP-11 consumes only five watts, making it an attractive option for those looking to save energy.

In addition to its technical advantages, the author also notes that the replica PDP-11 has some practical applications. For example, they plan to use the system as a home server, running a web server and potentially crashing it with a large number of users. This will allow them to test their skills in troubleshooting and repairing computer systems.

Overall, the replica PDP-11 is an impressive project that showcases the power and versatility of modern computer systems. By replicating the classic PDP-11 experience on a Raspberry Pi, the author has created a unique and fascinating piece of technology that can be enjoyed by anyone interested in computer systems and history.

"WEBVTTKind: captionsLanguage: enIn the previous video I showed my PDP1173 that came quite late in the history of PDP 11Whereas what we brought in here is a replica a modern replica based on a Raspberry PiAlthough much earlier PDP 11 the pdp-11 70 and these were much more visually interestingThey had sort of flashing lights on the front and toggle switches that you can you knowPipe up and down in order to program the machineSo it comes as a kit we have been setting this not an advert for themBut I do think is a pretty cool kit. So we have a bag full of switchesWe have LEDs and a couple of chips and some diodes and some resistors. This is the front panel. Let's see how quickly I canpeel off theYeahvery brief overviewThese are the LEDs showing the data in the currently selected address the LEDs showing the current addressthe few status LEDs to show kind of what mode the pdp-11 is in and then you can switch theseAddresses and data to different registers and things with the rotary switches on the right and then we have this boardSo we're going to solder up some of this today. Maybe not all of itAnd on the back here, we put a Raspberry Pi soMay not have been very sensible. It is to Hilo so I think I might trap these bits inThe casealright, so let's start with the smallest components that's going to beSort of this row of diodes across hereThese diets do have to go in the right way. I think I'm only gonna do two or something is the wrong way aroundTry not to fix hold on your lens as wellSee how they've done that quite nice actually only three diodes butYeah, we're not actually gonna build this entire thing right nowIt took me about three hours and I had a sandwich in the middle soquite a bit smaller than aactualPdp-11 70 so pdp-11 70 would meet some 19 inches. I'm usingImperial because that's how they measure the racksAnd it would be I don't know howSo you have sort of the control panel which is of this big and then under that you have the card cageSo quite a lot larger than this thing, but most people don't want a full pdp-11 70 in the houseAlthough if you want to send me oneThat's fineSo let's talk a little bit aboutPdp-11 in general and then we can kind of explain the console a little bit moreThe PDP series of computers was basically all based aroundoctal soall of the word sizes of these PDP's wasin multiples of six pre ASCII and in order to representKind of the full character set you it needs six bitsSo your word length of the machine would be sort of12 or 36 or you know 18, so that was convenient as well because we could think aboutinstructions or code listings in octal so each digit would beThree switches on the front of here the pdp-11 though was late 60s early 70sWhen ascii was really sort of taking off and you know, all computers were going to be using ASCIISo the side effect of that is that we wanted 8-bit word lengthMachines or 16, you know multiples of 8So an interesting side effect of dec wanting to stick with this optimal notation while also switching to ASCII and 8-bit basedWord lengths is that we have sort of three switches and three switches and three switchesSo, you know zero through two seven on each of these with in at the very end this 21 bits the most significant bit onThe machine is just on its own. It's all aloneSo you can see they were clinging on to octal and they didn't want to give it upI think we should probably enter a small program you're using the switches will chase a light across the screenthat's generally like sort of the hello world when you don't have a terminal with you when you firstset up the PI DP 11 and first boot up it will kind of do this idle LED pass on aActual PDP 1170 would knit on this we would just wait and do nothingSo I have on my phone here a short program, which is I think commonly called chasing lightSo what we're gonna do is we're going to halt and reset the machineWell, we're going to make sure we put the right address in. So we're starting at 1,000 load addressand we're going to sayso 5,000 deposit5 2 0 0So each time you do this you're selecting with something that's like writing a number and then you're saying write put this in a registerYeah, you're actually putting it straight intoThat's yeah, that's just the default so once you deposit it increments the address register so you don't have to you knowmanually insert the address first and load it and then you I meanthis is a lot of work so you wouldn't want to do this foryou wouldn't want to sort of yeah type in the address and then also toggle in theData that you want in there. So I'm gonna put this back to 0 and then 1000 which is our starting addressload that andunhold and then continueWhat they done wrongIf not thatSee the thing is I grew up in an age where we had to type in inbasic new program listings and that felt like it was really hard work and now I'm seeing theWell, yeah, so this was 20 years before yeah. Yeah. So the Busey was 82 and this was sort of late 60s. YeahYeahProbably we're gonna I'm gonna reset a whole machinewhich is there's a secret kind of reset button on here on the PI DP 11, soLet's seeIt's finally running we tried it a couple of times to enter it I think sometimes because there's a simulator running in the backgroundInterrupting it from what it's currently doing and trying I think it introduces an extra layer of sort of problems. Whereas a actual pdp-11You would enter the program and hopefully overdrawn probably the first time but we got it running so you can seeThere is an LED chasing directly across the screen at the momentWe can actually hold this machine and then we can run it one instruction at a time. So you see the address registerIncrementing by one each time and every few instructions. This will jump across to the left until it wraps back aroundYeah overflows and comes back to its zero this machine is so much faster than an actual pdp-11The speed at which it's chasing across the screen is one not screenBut you know the console is office and it would be on on a an actual pdp-11Essentially what this program is doing is we clear the register zeroWe increment it by one so that it hasyou know a bit in it and then we rotate that register to the left once wereset the bus which just adds a little bit of a delay so that we can actually see the LEDs changing andThen finally we jump back to instructionsSo they rotate so when this bit gets to the end of the sixteen bits, it wraps around back two bit zeroSo we we see this bit moving very quickly from address zero to sixteenI would ideally like my pdp-11 to be on 24/7 at home, but that would cost me about three hundred pounds a yearwhereas this is five watts andThat's about five pounds a yearWhen this is a home I have it now running a web serverMaybe I can give Shawn a link and we can see if we can crash it with someswarms of peopleThat'll be fun. I mean, that's that's the other thing because it simulated youyou can just take it back up of your SD card andIf something goes wrong, you can go straight back to it. SoWhen you're actually playing with hardware, there's so many things that can go wrong from like, you know disks crashing on our lo2 drivesPower supplies failing it's always a fun repair but in this I meanIt depends if you're more interested in the software or the hardware. I think I'm more interested and I like them bothSend me a few fuel EvanI'm gonna disconnect it fromfrom the mainsI think it should be fine anyway, butI will spin it around. I'll just remove these ribbon kWe probably wouldn't get one when the mouse is moved\n"