chevron_left chevron_right
Login Register invert_colors photo_library


Stay updated and chat with others! - Join the Discord!
Thread Rating:
  • 0 Vote(s) - 0 Average


Assembling a PDP-11/23+ in 2019 filter_list
Author
Message
Assembling a PDP-11/23+ in 2019 #1
If this looks too long, there's a TL;DR at the end. With that out of the way, onto the main point.

Alright, so why the hell would anyone want a PDP-11 of all the things? Well, why not?

The PDP-11 is a line of 16/18/22-bit computers that's been around since 1970, used into the 90s, and still in service within random industries. One of the later minicomputers before they were phased out for proper modern servers and PLCs, the things are pretty well-known. For me, the architecture holds value as my first proper coding job was porting old RSX-11M+ based software from a PDP-11/70, and as I love old computers I've always wanted my own proper PDP-11 - the PDP-8/I I own has been amazing, and this is the next "reasonable" step in minicomputers from that.

So, past being a (probably stupid) collector, is there any real use to this thing? Probably not much - there's some local companies who would hire for knowing how to mess with the hardware, but that's not nearly that amazing of a reason. My end goal would be setting this up on a terminal and making it just look nice, possibly using it as an IRC client and maybe running a webpage? Whatever, it'll find some sort of use in the house as somehow even the PDP-8 holds a serious place for me.

Being a 11/23+, this isn't going to be the full cabinet system with a blinkenlights frontpanel that most people would think of. I would love all the bits and bobs like a 9-track tape reader, a proper VT-100 terminal, etc. with the issue being that all this hardware is damn pricey in cost itself or the freight shipping to get it where I live. I do own a Teletype ASR33 and a paper tape reader, but I'm honestly unsure if this mid-60s tech would be up to spec for a PDP-11, as it's all made to work nice on my PDP-8, so the current plan is to use an old tube monitor and IBM PS/2 machine running Kermit with a serial input as a dumb terminal with some other functions

So, now onto the build...




Step One - Getting the very basic parts

So, where do you find this type of stuff at? Well for me, the best start is eBay - home of overpriced resellers and the occasional neat thing. The best idea would probably be working with others on forums as prices would be cheaper and parts probably tested, but I want to see how much of this can rely on luck finding good deals.

The first, and most important, part of the computer which I need is a backplane. Without this I have no way to connect modules and they'll do nothing but sit around looking pretty - I'm not buying this for a collection, I want it to actually work, so we need the backplane. Looking around, we're somewhat screwed on eBay - the best option price-wise is a 9-slot H9276 backplane, but Slot 1 has a slight chip and pin floating around. This would be an issue to me but honestly I'm planning on currently running three boards tops, maybe more later, so this is the least of worries.

Thinking about it now a card cage could be helpful as it would properly hold stuff up, but I have no doubt I can find my own solution or a good deal on one later as I'm not spending $250 more just for some metal to keep cards locked upright. At the end of the day my largest worry is how to get air across the CPU, but whatever that shouldn't be too hard - I just need to make some sort of case. Maybe the 3D printer will get some use? After all, that is how I make S-100 card rails.

[Image: HWa3gWel.png]

Total Price So Far: $69.00



With that out of the way, we need to start thinking of a system. My initial idea was to get a smaller, 2-slot-wide KDJ11 processor, the M8192. After a bit of research into this I realized it was probably not the best idea, as all M8192s available were either in the hundreds of dollar range or $75, missing half the ICs, and which couldn't accept a FPU. Personally I'd love to have a FPU just for the hell of it, so after some more research I looked at the other Q-Bus KDF11 options and found a M8189 for $92ish after shipping. Not only is this a quad-width card supporting 22-bit with everything I need on it, allowing more RAM and having a slot for not only a FPU but also spots for boot diagnostic PROMs, it even has two RS232 serial ports which save me the price of needing a dedicated Serial I/O card to hook up a terminal!

Not finding any better deals, I decided to pull the trigger on this CPU board and if it works I'll find a FPU to add on later in time.

[Image: JTHADwPl.png]

Total Price So Far: $160.69



Finally for the initial setup, I decided that it may be a good idea to own some amount of RAM for the computer to work on. Most 22-bit four-slot memory boards seem to be upwards of the $250 range, but 18-bit two-slot memory boards can be had for $35 and shipping. 32K of RAM seems like not much at all, I mean my Apple II+ is stock 48K, but whatever it's somewhere to start and the price is low enough that I honestly wouldn't mind buying enough to go to say 256K which would have been more impressive for a machine that could be out of 1981. I think this CPU can address around 1MB if not more which would be cool, but that's for a later date.

So, one card it is, and we'll see how it goes. It should be good for testing the MMU, and I mean heck maybe I'll key in some silly program to see how it runs.

[Image: bSCyfZSl.png]

Total Price So Far: $194.69




So, time to wait for the parts to come in. My backplane and RAM are supposed to arrive at the end of next week with the CPU a few days later. I'm not *too* worried about a PSU at the moment, the machine just needs +5V and +12V. I've heard ATX power supplies can be re-purposed with a slight mod to implement a 60hz clock signal in the form of a square wave so UNIX doesn't flip out, but that comes later. The biggest worry in that is listening to how people say they do it, with three or four 500W ATX PSUs to drive their kitted-out setup.

Speaking of UNIX, we still need some form of storage - there's some cool SCSI cards that cost an absolute arm and a leg, but trying to keep the price reasonable for being something that would've come in a cabinet-size case I'm going to attempt to stick away from that. Maybe tape drives will be the way to go, or there's a way to adapt in something like a CF card?

I'll update the thread as items come in, try to address any questions with my limited knowledge of the 11/70, and hopefully we'll find out in the next week or two if this stuff powers on without letting out a ton of smoke. Out of all the builds in the past, this has to be the most excited I've been since doing a S-100 machine and it won out over some RC2014-based platform.



Spoiler: TL;DR
I'm building my own PDP-11/23+ for hopefully a reasonable price. With a 18/22-bit CPU, (starting with) 32K of RAM, and a 9-slot backplane on order my goal is to make my own little mainframe over the course of the summer. The hope is to have a slightly modern but still DEC-styled machine at the end of it all.
airgames, on 08 Dec 2014 - 5:24 PM, said:
close this discussion of dick !!
I broke !!
thanks

'backin89', on 22 Dec 2010 - 6:40 PM, said:
Igot your fucking crackpipe bitch. i dont even smoke cigarrettes. i hope you all sleep in the fucking cold

[+] 1 user Likes BurritoBeans's post
Reply

RE: Assembling a PDP-11/23+ in 2019 #2
"All the bonus from work gone on making a jackfuck mini." - were his words to me on discord.

Reply

RE: Assembling a PDP-11/23+ in 2019 #3
Well, a few days later and some of the parts have come in - time to start testing stuff out!

Step Two - Power Supplies and Component Testing



So before the parts came in I got to thinking how I'm going to get a power supply. There are a few of the real ones on eBay, the issue is that they run ~$375 and $100 on the shipping, which for that price I could just buy the whole damn 11/23+ case. The other obvious option was getting some Mean Well bricks and tying them together - this again would've been pretty obvious and maybe even smarter, say have a 5V100A and a 12V40A, but again we're talking a big pricetag.

What I ended up doing was ripping the PSU out of an old computer I had built, my i7-870 rig from ten or so years back, which hadn't worked. Testing the supply I found that everything I needed was fine, so I said "ah screw it" and cut some cables. Move the fan to the top so I have room, add a switch to turn the thing on by connecting the green wire to ground, and there's a functional supply that can (in theory) give me 5V50A and 12V70A - a little less on the 5V than I'd like but I do realize for now that I'm not powering any proper old disk drives so I don't really *need* the massive 5V line.

With that up and running, it's time to connect it to the backplane. This was real easy, all you have to do is put the wires to the conveniently-labeled screw terminals (thanks guy with a paint pen however long ago) and it's all ready to go.

[Image: 93NFsbQh.jpg]



So, with the backplane powered, there's still a few headers on this which need addressed. The one major thing is a little 10-pin header on the opposite side of the screw terminals - this header is where you would usually plug in a RTC and Power-On module. What's important is the "Power-On" part - this card, usually built in with or near the backplane terminator to reduce signal reflection, tells the system at the flip of a switch to pull a line high, generates a 60Hz square wave, and then lowers the active line which completes the system powering on. I don't have this card and I don't plan on buying one - this can probably be done with an Arduino, it's just a case of doing it. Still, that's a worry for another time.

The next thing to do is install my 32K of RAM - wow, a whole 32K! I realize now that I need to probably modify or buy different RAM at some point, it's only 18-bit and has no parity which some operating systems will want, but hey I just plan on running RT11 for now which is meant to run on a bare PDP-11/05 with the 8K core module. The card slots into the second slot back on the left side, the top reserved for my M8189 CPU card whenever it arrives, and then it's done. By giving the system power I can't tell much about this RAM, but I can test it for voltages and all the 74-series logic is sitting happy at the state it should so I'm going to say this RAM is probably good.

[Image: CnRZ5BAh.jpg]



So that's it for now, as all I can do is wait on the CPU. I'm going to look into making my own clock signal, for what I get it's not hard and can be done with some real simple logic, it's just doing it at this point. The current plan is after getting the CPU to test it on a terminal, it has RS232 ports which I absolutely love, and then the next step will be getting some sort of storage. I found out my PDP-8/I 9-track is compatible, but I don't want to wire wrap 200 new connections - wrapping that thing for the 8 was enough work.

TL;DR - I got my backplane and 32K of RAM. After "modifying" an ATX PSU I tested everything, it tests fine, and it's just waiting on the CPU card. I need to look into generating a clock signal and some form of storage that doesn't require modifying my only 9-track tape drive.
airgames, on 08 Dec 2014 - 5:24 PM, said:
close this discussion of dick !!
I broke !!
thanks

'backin89', on 22 Dec 2010 - 6:40 PM, said:
Igot your fucking crackpipe bitch. i dont even smoke cigarrettes. i hope you all sleep in the fucking cold

Reply

RE: Assembling a PDP-11/23+ in 2019 #4
Well, a few days later and the CPU came!

Step Three - Stupid DIP switches



Alright, so yeah my M8189 CPU came in the mail, and boy is it a monster.

[Image: o9dLLLqh.jpg]



Plugged into the backplane it takes up the standard full row of four slots, and man it's a beast to slot into place. With the RAM module right behind it this thing is nice and comfortable and it's just a lot of fun to look over and see. I plugged it in and tried powering the PSU on, but it just flickered on and off - ok, something isn't right here. After a bit of looking at wires I realized that I didn't have any of the sense wires connected to their respective lines and I was even using the 12V Sense line on the backplane, a few wire nuts later and that problem was solved. After adding some old PC case fans on said wire nuts we should be good to go.

[Image: zG2WJIDh.jpg]



So, with the power supply now staying on, it's time to see if this board works. The +5V LED is shining nice and green like it should, and I'm getting some sort of code on the red LEDs. A quick look in the manual shows that these are actually octal status lamps, with the three representing the first bit (read from right to left, so 101 is equal to a 5) and then the one on the right side of the green LED representing the second bit. The code I'm getting, 0-010, ends up translating out to it not being able to find a boot medium. This is expected as I have no form of data input applied and is actually real nice to see as instead of an error code about the CPU being off it's just that it couldn't find any storage. A quick jumper change later and we get 1-111, meaning that the system is HALTed - perfect.

Now, getting data into and out of this is the next step. There's two RS232 ports on the top but they're of course DECs own cable - simple enough, this is what we have female pin connectors for. The translation from DEC to RS232 looks something like this:

------DEC | 232------
(GND) 002 | 005 (GND)
(TX +) 003 | 002 (RX)
(RX -) 007 | 005 (GND)
(RX +) 008 | 003 (TX)
(GND) 009 | 005 (GND)

...with note that RX- and the second ground, pin 9, must be connected for RS-232 to work properly. A DE9 to DE25 adapter later and I had this ready to hook to a terminal... well, if I had another VT52 at home. My PDP-8 is using the Teletype and the VT-52 is at work set to dial into said PDP-8 (if anyone wants to mess with TSS/8 maybe I'd be willing to open the spare six users? PM me if you want to play with that) so I wasn't going to move any of that equipment. So, I finally found a use for my crappy old IBM 55SX - I'd much rather use my 30-286, but whatever that thing needs its floppy drive recapped. Put the serial cable to the back of the IBM, load up my terminal of choice (Kermit), and we're ready to try sending some data.

[Image: yAp9sl2h.jpg]



And that didn't work, I just got a garbage character - we should be seeing the memory address and then a @ prompt. I checked all my stuff against the manual, the DIP switch for Serial Interface #1 is set to 9600baud just like the DIP switch settings, and we have no data. A quick probe with a scope and what the heck, there is data going across the lines - what's wrong now? Two hours of finnicking with wire wrap posts and jumpers later I find out that my DIP switches are backwards from the manual, and that in actuality what the manual calls the "OFF" position is my "ON" position - whoops. So, the opposite setting of 9600 is 1200, and by setting Kermit to 1200 we have text coming to the terminal. A quick flip of switches later so we're going at the full 19200baud rate and what do you know, it works perfectly.

[Image: a5xOoPHh.jpg]



By default, being in a HALTed state, the computer boots to what it calls ODT, the On-line Debugging Tool. This pretty much lets you type in octal data and examine addresses, an alternative to the old way of having a big frontpanel of switches and lights like the older models of PDP-11 and back. It's not as pretty as say a 11/70 but we have all the same features in here - great! With the proper prompt up we can run a few diagnostics and I've confirmed that my CPU is fine, my MMU can see and address all 32KWords of RAM, and that both serial lines work fine.

The next step from here is finding a way to load data in, with my current idea being to go for the cheap option of paper tape. I have a proper punch and reader on my Teletype and while it would probably be smart to just get an analog modem and connect this to said Teletype so I can read and write data from upstairs, I really don't want to be stuck on 110 baud. My plan is to eventually run 2.9 if not 2.11 BSD (basically a port 4.3BSD to this machine) or some variant of UNIX, the current issue being that I'd need a lot more RAM and a proper hard disk drive. I know old CNC paper tape readers can do ~2400baud as they're high-speed readers, so maybe finding a serial one and then punching my own tape off the teletype to read in will be what I go for - in theory this will get me the ability to run some simple stuff like compilers for C and FORTRAN and make the machine somewhat useful.



TL;DR - I got my CPU card. After setting up an old IBM to act as a serial terminal and finding that my DIP switches were backwards from the manual I got the board communicating and tested at anywhere from 50Baud to a "blazing fast" 19200Baud. My next step is to hunt down a paper tape reader if not a proper floppy or hard drive solution, tape would be neat too but 9-tracks aren't cheap.
airgames, on 08 Dec 2014 - 5:24 PM, said:
close this discussion of dick !!
I broke !!
thanks

'backin89', on 22 Dec 2010 - 6:40 PM, said:
Igot your fucking crackpipe bitch. i dont even smoke cigarrettes. i hope you all sleep in the fucking cold

Reply

RE: Assembling a PDP-11/23+ in 2019 #5
Really want to build a PDP-11/70, that red is just as sexy as it gets. Problem is, as you were explaining that's unibus, and harder to get the parts for.
(This post was last modified: 06-02-2019, 07:30 AM by Skullmeat.)

Reply

RE: Assembling a PDP-11/23+ in 2019 #6
You've got some pretty interesting stuff going on there. Thanks for sharing your project.
[Image: dHJ4Beo.gif]
Hidden Lesson: Reactions are always instinctive whereas responses are always well thought of.

Reply

RE: Assembling a PDP-11/23+ in 2019 #7
Well, some fiddling around later and we have RT-11 booting somewhat fine!



Part 4 - Memories of ADVENTURE



So, at the end of the last post I made I said "The next step from here is finding a way to load data in, with my current idea being to go for the cheap option of paper tape." which is still a goal but actually not needed anymore apart from looking neat and having physical media. Thanks to some real old stuff from DECUS, I found out that someone actually wrote software to not only load emulated paper tape but even emulated magnetic storage.

There's an odd piece of hardware, the TU58 DECTape II reader, which uses cassettes that hold 256K of data and communicated over serial. Finding these nowadays seems impossible, I've seen less for these than the old 10MB removable hard disks, but the software is well-dumped onto sites if you know what to look for. A real cool program for Linux and Win32, tu58em, lets you simulate these with pre-made images for XXDP diagnostics and DECs RT-11 OS. Well, being my only way to get data in, this looks like my best option.

[Image: tu58.jpg]

Now, one thing to address with the serial line units (SLUs) on this board - they are nice and do work fine, but they're bound to be more finnicky than a proper SLU card. Looking at most 11/23+ setups they still have a four-port SLU card put behind the RAM and in front of the disk controller as not only does that allow multiple consoles and timesharing but also higher speed and reliability on said consoles. Reliability has been a big issue so far with this, and I honestly may need to make a SLU card one of my next additions to the backplane.

So, loading TU58s isn't too tough - put the 22-line ODT bootloader in (Using LF instead of CR helps a ton I found out way too late), go to address 1000 (or whatever your bootloader says to use), and hit G which tells it to execute. Start the tape emulator and watch it go! If this was a frontpanel -11 like a -11/70 you'd HALT the processor, key in the loader via switches, LOAD ADRS to 1000, and then take the HALT switch off and start the program.

[Image: 7Ywi2uv.png]

If it read right then data will start being loaded from the (emulated) TU58 drives, and you'll eventually see a . prompt -awesome, you're in!

[Image: lAtdsxv.png]

A quick test shows the system setup - turns out my module which I thought was 32KBytes is actually 32KWords - well, should've realized that KW was the proper measurement for the time. 4KW gets taken by RT-11 so in effect we only have 28KW to work with, this is equal to the highest end 16-bit PDPs as they maxed out on 64KB of RAM. Being 22-bit I can address up to 4MB, I just need to find a 4MB (or 4 1MB) cards to see that happen.

So, what can we do in RT-11? Well, not a ton to start with. There's compilers for BASIC, FORTRAN IV, and even a very early version of C alongside some games, and diagnostics. Coming up on being 50 years old the OS was mostly meant to house software which would normally come on paper tape and is meant for scientific or industrial purposes. So, being me, I decided to load up a classic - Super Star Trek - and was immediately confused as I have never read the manual.



Trying to load more stuff I find that 32KW is really not that much, but does seem enough for ADVENTURE and honestly every program from the early days when I finally find a proper FORTRAN IV compiler instead of just the IDE - did you know they even have a TCP/IP stack for these things? Sadly going up a step to multi-user OSes will take 64KW if not more, as unlike the PDP-8/I 8K isn't nearly enough per user, with 16KW being considered "not much" on the -11.




So that's all I can do for now, and man am I happy I have a proper OS. The new goal for expanding the system looks something like this:

-Get some sort of physical storage medium, preferably disk-based but in actuality probably paper tape
-Get more RAM, be it more 32KW cards or a proper 22-bit 128KW or 256KW card like what would have shipped with the system
-Find a dedicated SLU card for added reliability

...with the hope being that I can get most of those components in the sub-$100 area. SLUs seem to be able to be had for $20ish shipped and RAM for $35 to $1000 depending how much and what type (we're not going for core unless I find a really good deal, sadly they only ever made 8K modules), and then who knows how much for drives.



TL;DR - I got RT-11, the single-user real-time OS from 1970, to boot. I tried out the first Star Trek game, got confused, and realized I need more hardware.

--while editing this I found a company who actually has TU-58s for sale, priced around $225 per dual-tape drive. This is a lot for an old storage method that holds barely anything, but honestly that's better than some paper tape reader and punch units I've found. Who knows, maybe this will be the first drive I own?
airgames, on 08 Dec 2014 - 5:24 PM, said:
close this discussion of dick !!
I broke !!
thanks

'backin89', on 22 Dec 2010 - 6:40 PM, said:
Igot your fucking crackpipe bitch. i dont even smoke cigarrettes. i hope you all sleep in the fucking cold

Reply

RE: Assembling a PDP-11/23+ in 2019 #8
Well, it's been a bit so I figure it's time to update this.

Part 5 - MFM = Pain

So, yeah last time I posted I got RT-11 working and then that was about it. Well, a while later and now the system has not only expanded in software from just knowing how to use the OS but also hardware.

Meet my two new cards, a M8045-KB 256KB/22-bit RAM module and a M7555 RQDX3 disk controller.

[Image: yatdOghl.jpg]


The RAM is exactly what you'd expect, and as-of writing this post I'm probably actually going to be replacing it with a 1MB/22-bit card which gives me more room to work with and if I were to try and max out RAM wouldn't require two backplane extensions due to needing 16 slots just for 4MB - 2MB cards or a single 4MB card would be beautiful but the chance of seeing those appears to be slim-to-none.

The RQDX3 on the other hand is the new fun part of the system - not only do I not have the card or rackmount box for the system which would have a distribution panel for the signals but I also don't have any drives which would natively work with it. DEC had "their own" floppies and hard drives, some rebranded almost TEAC drives for floppies and usually a Seagate drive which allowed for 10/20/40MB of storage on hard disks, but due to the time (1987 for this card) the hard drives are the old Winchester MFM disks. This makes my life a pain as finding these disks, especially the larger capacity Maxtor 2190s to hold 159MB, would cost tons of money and probably not run for more than a few weeks without rebuilding components and replacing other bits in the controller board.

So, how does one get around this? Well, turns out the cheap Gotek FDD emulators can emulate a standard 34-pin MFM floppy drive, someone has a MFM hard drive emulator using either FPGAs or a dedicated board, and I can make my own signal distribution board on perfboard/stripboard or a PCB using designs from other people. In theory this lets me support four FDDs and four HDDs on the system for just under 700MB of storage, in actuality I doubt I'll go that far with it. This *should* let me do things like boot UNIX, 2.9BSD (maybe even 2.11?) and run the TCP/IP stack for other operating systems to get the thing online.

Past the added hardware I've just been playing with software as it turns out a clone of the LSI-11/03 or11/23 was used to make stuff like the original Tetris (The Soviet machine is an Electronika 60) and the DEC original was one of the first ports for DUNGEON, the precursor to Zork, so there's some neat gaming history behind this thing. I couldn't get any of the stuff that needed Cyrillic to work for a bit, turns out there's a VT52 character set which I don't have for my real VT52s but is supported on emulators making all of these playable for me.

[Image: KWBfLSgl.png]


Coming soon the hope is to do what I've done with my PDP-8 and add more SLUs onto it while running a timesharing OS so that people can "dial in" and have a terminal to use, maybe get the C Compiler running, maybe get an ethernet card, and just get more RAM in the thing - it supports up to 4MB so I'm 1/16th of the way there anyways.
airgames, on 08 Dec 2014 - 5:24 PM, said:
close this discussion of dick !!
I broke !!
thanks

'backin89', on 22 Dec 2010 - 6:40 PM, said:
Igot your fucking crackpipe bitch. i dont even smoke cigarrettes. i hope you all sleep in the fucking cold

Reply






Users browsing this thread: 1 Guest(s)