So cool. The funny thing is that the machines look so modern. Toggling switches must be fun for the first five minutes. After that you'd be hankering after a more efficient method.
Boy do I feel out of date. The first computer I ever had control of was a PDP-8. I wrote simple programs in assembly language, then encoded them on paper tape. But to boot up my PDP, I had to enter machine language (octal) commands. Eight of them, if memory serves. I loved that thing deeply. And I still work with routers.
Yea, my first "real" machine was a PDP-8s, later graduating to the "Straight 8" shown here (it's a joke from Packard auto engines). Before that all I had was a PHA, 256 13 bit words...there of course were no such things as "bytes" then. What a change we've witnessed over our lives. I got a job at DEC for awhile, and knowing the 8 (and 4,7,15) made me reach east coast support in record time...there were quite a few of these in .gov then, and the Arpanet node at ARPA was a 15 (pretty much the same tech with a wider word - 18 bit, or half a PDP 10). The "router" for that was a rack of wirewrapped gear from BBN. Again, what a change we've lived throgh in this world! This is posted from an Intel i5 Nuc, which loafs even though having to draw pictures of characters instead of just putting out a 30 for "zero". We did some pretty cool vector graphics on 8's though, you could scroll through data and stuff = seemed like magic then.
Eight GROUPS of instructions, actually hundreds of specific combinations, most of which are useful, some hardly ever used [but never say never; sometimes instructions have things added to them that are innocuous, but then they form useful constants to save space elsewhere. Go look at the original BIN loader. The HLT instruction is used to compare the latest paper-tape frame to the instruction used as a constant. The nature of the variability of the skip class of instructions is such that you have several choices to implement the desired logic, but the exact one picked was not the most intuitive, but rather the one that used the constant 7402 namely the HLT instruction itself. That program predates what even most of us PDP-8 experts did somewhat later. I bring this up because some snobs looked down on us for squeezing down programs by self-referential means of handy constants, etc. Then I show them the May 1967 BIN loader source code to shut them up. Page zero of the PDP-8 by definition holds 128 words. Some programs make that into just shy of 140 by various tricks. My code is heavily commented including conditional assembly that will cause an error if you screw up the exact conditions needed somewhere else for these dependencies, and the actual instructions that use them have faux page zero literal references to what they MIGHT have been in part of the comments. Thus, if you look at my code and screw up, it's your own damn fault and the code will gripe about it Until they correct the forced assembly error, it won't cleanly load, etc. Yes, some of us still program the PDP-8 [not commercially of course, but you would be surprised just how many there are today, including many younger than the machines!
IIRC, the 8 only had "pages" in the sense of having 7 bits room in some instruction words for addresses, and "banks" were 4k, but it's been awhile since I've worked with one..Sadly, my PDP-8 and PDP-11 collections have moved onto other folks, and all I have left is the front panel from a PDP-15 now. Working at DEC was a blast...I bet some old 8's are still in use at NIH where they had them jammed into closets and other out of the way places (a pain when we were called to fix them). You mean these things make heat?
Only one point about addressing: Actually seven bits relative on ONE of the pages, because any instruction [other than a rare one located on page zero] can choose any of the 128 on page zero OR one of the 128 on its own page [which of course includes the instruction's address itself. Self-referential code was used from the beginning by more than beginners. Even the original BIN loader references the HLT instruction as a constant to save a word of space [because a loader wants to be as small as possible]. Since then, I have made it a few words smaller still, using similar notions for part of it, and also a technique that is valid, but just not available to the original code: The stand-alone version of the BIN loader supports a feature not available in the analogous RIM loader, the ultimate in smaller loaders. [Actually, there is an even smaller one, the "help" loader, which is obscure.] That feature is dynamic choice of high speed reader or the ASR reader on the teletype that was often the console device. The high-order bit of the front-panel switches determined which one, etc. But if you are running this from a storage-based operating system, the operating system can use commands to preselect the device thus avoiding the need to even care about the switches as the loading starts. Thus, the overhead of the code to accomplish the selection makes the loader even shorter, etc. And a minor frill in the process. The program loads both the BIN and RIM loaders, both device-chosen beforehand, etc. But again, admittedly, DEC chose to have two different RIM loaders, both the same size, and a dynamic-choice BIN loader; the BIN loader without a choice could have been distributed in two different versions, but someone felt that it was "good enough". For what I do, no it is not. Why? Because this way you can also place at 07600 a bootstrap back to the storage device [such as DECtape] and as such, you have ALL THREE loaders when paper-tape is in the picture at all [and at all other times, you can avoid paper-tape entirely.] But this could not have been done without using the technique as an example in the BIN loader itself, and doing a whole lot more; one of the cool things about the PDP-8 is that there is so much opportunity to do this, and it is actually done fairly often, just not by beginners.
I still miss octal, despite it not being too good when the world has turned to bytes. It was a lot easier on my brain to memorize the corresponding bit patterns. I "think in it" and have to adjust for hex, all these years later.
Still have one sitting in my living room with a whopping 32k hard drive. They all have personalities; called her Susan. Thanks for the post; brings bad good memories. Hope to see more from you guys.
680F Awesome! Very lucky to have such a machine! Do you have any photos of her? I've been looking for a DEC PDP system for a long time now... Sadly it seems I'm never in the right place at the right time. But someday hopefully I'll have such a system :)
We welcome dedicated newbies, but it is a challenging hobby that may demand too much. If you do want to at least start, there are some museums to visit, at least one of which has me standing next to a 3-cabinet machine with 5 DECtape drives. For those with motivation, you will find there is a whole lot of help available. And simulators that are pretty good to get started; I work on and use the simulator for a lot of program development [CURRENTLY!].
There is quite a lot of help as I have learned over the last few years of being in the hobby. I now have quite a collection, PDP 8/m, PDP 11/05, 11/23, IBM 026 keypunch, IBM 082 card sorter, tons of micros, VAXstations, Alpha systems, HP 21MX Mini, and so on. I have been to an assortment of museums, a few of which I actively help out. I am in contact with Rich Alderson from LCM personally as-well. This is probably going to be my hobby till the day I die. I suppose at some point I may have my own museum as-well :) Happy collecting! And as a note on the Sims, yes there are some fantastic sims out there. SimH is great for many machines especially DEC systems, Hercules is the way to go for mainframe emulation though :) If I want to save the electric that is. I do have an IBM z890, which while not vintage is a mainframe!
I am perhaps the only truly active software developer for the PDP-8 at the moment [and always looking for "new blood" so to speak.] Here are a few of my current projects [in no particular order]: 1) The famous SIMH simulator is a great "engine" trapped in a really bad "interface" that largely cuts it off at the knees. When I first encountered it, I said this is a worthless toy, and that was true as it stands. That said, I have made it into just the heart of a new "body" and made it into a truly useful PDP-8 program development tool. I am currently dividing my time between putting the finishing touches on it [seems some new tidbits come up because of feedback from my small group of "beta testers" as well as stuff that just comes to me, and something actually a bit harder, actually creating a MEANINGFUL manual. My writing sklls over the years have increased immensely and I actually laugh at what I wrote nearly 3 decades ago, so in this department, I am a VERY "late bloomer". [I consider the English language something you have to program!] The net result is something that MUST run under Windows [XP and newer] but by using a lot of arcanity that Windows is actually good at [but difficult to achieve without a lot of experience most people never get to] it is now something that I myself [the world's worst critic of it] deem useful. SIMH did start with an agenda of merely preserving the past. My agenda is to use it practically in the present. If you indicate so, I can put you on the mailing list, etc. This is not just some paper-tape-oriented toy. It runs OS/8 and P/S/8. 2) At the request of some users, I am perfecting a package started by someone else that only runs on the PDP-8/E, F, M and A [suitably configured] largely because the original people had no contact with older machines. Now it will run on the straight-8. At the present, the minimum requirement is an 8K machine of any model other than the -8/S. The only non-standard thing you need is a second serial
they won't, and even if some of them did you still got disc rot to worry about. Good thing we got ps3 emulators which i'm sure will be much better by then.
Very interesting! Although I kept wondering what could it be the purpose of the keyboard? Capture data? Was a compiler available? Now... that was is slow mode (am I right?)... I wonder how fast could it count in the "normal" mode.
Excelente !! Thanks ! greetings from Patagonia Argentina! I Want to build my own old computer replica, I love the "ALTAIR / IMSAI" like computers and I discovered this PDP, I think she is a good plan to build.... I posted advances !! Thanks !!
You have no idea what. Yes, that and a lot more, including running as much as full Fortran IV programs of size. A modestly squeezed version of the famous ADVENTure program runs on it, TECO, and they did sell a dedicated word-processor called WPS8. There's a whole lot more, but the point is that somehow it has slipped away that this was the original USEFUL computer on the small scale, and not a toy which many ignorant people think. It's a 12-bit machine and some ignoramuses think that because 8 is in the name, it must be 8 bits! In fact, one of the models is called PDP-12, probably BECAUSE it's 12-bits. It's an IBM-ism to count bytes by 8 bits at a time. The DEC PDP-10 is a 36-bit word machine and bytes are also supported. How many bits in a byte? You program in what you want! Anything from 1 bit is a byte to 36 bits is a byte. The instructions are universal, etc. And DEC peripherals such as DECtape are 18-bit oriented, a compromise number useful on all models all of which can read each other's files, etc. And lots of cool games, not video, but the hard way drawing graphics on the face of an oscilloscope and refreshing it often enough to avoid flicker, although a high-end peripheral was a graphics processor, but few installations had that one.
The first computer I ever used was a PDP-8, in Plymouth Poly (now University), were they had several of them available to students. It could run 1969 BASIC, FORTRAN, COBOL and other programs. Those computers have no operating system as we know them today; everything is done in machine code. The I/O device location had to be input manually, and the start address of a program also had to be input, all via the rows of switches on the front. Then having committed the addresses, you had to load the machine,mand then run the program, as you see in the video. The ones I used were each linked to five Creed 2300 teleprinters, a hard drive could be added (2.5 MBytes on a swappable 14” platter), as could magnetic tape drives,high speed paper tape drives, and if you were really lucky, a 12” monochrome orange CRT monitor. 'DEC' and 'PDP' stood for 'Digital Electronics Corporation' and 'Professional Data Processor', if my memory is correct. The computer had 4k of RAM, and the circuitry consisted i’d about 200 plug-in boards, each containing up to about two logic gates, all made from discrete components, not integrated circuits. The hard drive cost over £7,000 In early 1970's money, and each additional platter cost above £5,000. Installation fee for the drive was about £350, and a monthly hard drive maintenance and servicing fee of about £60 was also payable. That 4k of RAM could do a surprising amount, despite its limitation, and those computers did everything from playing Moon Lander, to ASCII art, to plotting electron data and AC waveforms in laboratories, running payrolls, running whole businesses, calculating orbital trajectories, and lots more. It really was a different world only 40 years ago.
oops! It came up that the teletype is actually used later (see part 2 and 3) for a demonstration reading paper tape and interacting with a user to play a game. Outstanding!