From news.columbia.edu!rpi!usc!cs.utexas.edu!uunet!news.uiowa.edu!news Wed Jan 6 02:33:40 EST 1993 Article: 131 of alt.sys.pdp8 Newsgroups: alt.sys.pdp8 Path: news.columbia.edu!rpi!usc!cs.utexas.edu!uunet!news.uiowa.edu!news From: jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879) Subject: Re: [--- DECMATE PDP-8 ---] Sender: news@news.uiowa.edu (News) Message-ID: <1993Jan5.150212.26676@news.uiowa.edu> Date: Tue, 5 Jan 1993 15:02:12 GMT References: Nntp-Posting-Host: pyrite.cs.uiowa.edu Organization: University of Iowa, Iowa City, IA, USA Lines: 19 Reposted from comp.sys.dec.micro, so please send E-mail replies to the address below, not to me. >From article , by winston@merk.com (Winston Smith): | | I have a DECMATE I (PDP-8) and an RX02 Pedestal. I currently use the | DECMATE as a VT52, but I was wondering if this machine could actually be | used for telecomm or anything else apart from word processing. The word | processing program that came with it was very nice, but just about | --EVERY-- keypress caused disk I/O to occur, which lead me to wonder if the | DECMATE I had any addressable RAM for data, apart from the program space. | Are there any utilities or programming languages made for this thing, or do | I essentially have a dataterminal? I realize that 4K to 8K was probably | considered an expansive amount of memory back in the days when this thing | was made, but I am wondering if it can do anything else? (Games written | with a PDP-8 assembler, perhaps? LIFE ? LEM ? SPACEWAR! ? PONG ?....) | Is the RX02 Pedestal useful for anything? (that is, assuming I could find | some floppies for it....) I'm curious.... | From news.columbia.edu!sol.ctr.columbia.edu!caen!uunet!news.uiowa.edu!news Fri Jan 8 22:53:10 EST 1993 Article: 132 of alt.sys.pdp8 Newsgroups: alt.sys.pdp8 Path: news.columbia.edu!sol.ctr.columbia.edu!caen!uunet!news.uiowa.edu!news From: jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879) Subject: FAQ Sender: news@news.uiowa.edu (News) Message-ID: <1993Jan8.161622.29829@news.uiowa.edu> Date: Fri, 8 Jan 1993 16:16:22 GMT Nntp-Posting-Host: pyrite.cs.uiowa.edu Organization: University of Iowa, Iowa City, IA, USA Lines: 705 Frequently Asked Questions about the PDP-8 By Douglas Jones, jones@cs.uiowa.edu (with help from many folks) Contents What is a PDP? What is a PDP-8? What is the PDP-8 instruction set? What does PDP-8 assembly language look like? What different PDP-8 models were made? What about the LINC/8 and PDP-12? Where can I get a PDP-8 today? Where can I get PDP-8 documentation? What operating systems were written for the PDP-8? What programming languages were supported on the PDP-8 Where can I get PDP-8 software? Where can I get additional information? What use is a PDP-8 today? What is a PDP? For over a decade, all programmable digital computers sold by Digital Equipment Corporation were sold as Programmable Data Processors (PDPs) instead of computers. I have DEC documentation that actually calls them "PDPs", so this is not improper usage. DEC's first computer, the PDP-1, had a selling price of only $120,000 at a time when competing machines were selling for over $1,000,000. Everyone (DEC's stockholders included) knew that computers were big and expensive and needed a computer center and a large staff, and apparently, DEC chose to avoid dealing with these stereotypes by entirely avoiding the term "computer". DEC built a number of different computers under the PDP label, with a huge range of price and performance. The largest of these are fully worthy of large computer centers with big support staffs. Here is the list of PDP computers: MODEL DATE PRICE BITS COMMENTS ===== ==== ======== ==== ===== PDP-1 1960 $120,000 18 DEC's first computer PDP-2 24 Never built? PDP-3 36 Only 1 was ever built. PDP-4 1962 18 DEC used these in their factory. PDP-5 1963 $30,000 12 The ancestor of the PDP-8. PDP-6 1964 36 A really big computer; only 23 built. PDP-7 1965 ~$60,000 18 Widely used for real-time control. PDP-8 1965 $18,500 12 The smallest and cheapest PDP. PDP-9 1966 $35,000 18 An upgrade of the PDP-7. PDP-10 1967 36 A PDP-6 revival, great for timesharing. PDP-11 1970 $10,800 16 DEC's first and only 16 bit computer. PDP-12 1969 $27,900 12 Originally known as the LINC-8/I. PDP-13 Bad luck, there was no such machine. PDP-14 A ROM-based controller, not a computer! PDP-15 1970 $16,500 18 A TTL upgrade of the PDP-9. PDP-16 1972 8/16 A register-transfer module system. Corrections and additions to this list are welcome! The prices given above are the prices for minimal systems in the year the machine was first introduced. The bits column indicates the word size. It's worth noting that the DEC PDP-10 became the DECSYSTEM-20 as a result of marketing considerations, and DEC's VAX series of computers began as the Virtual Address eXtension of the PDP-11/78. Today, all of the PDP machines are in DEC's corporate past, with the exception of the PDP-11 family of minicomputers and microprocessors. What is a PDP-8? The PDP-8 family of minicomputers were built by Digital Equipment corporation between 1965 and 1990 (if you include the PDP-5, the starting date should be 1963). These machines were characterized by a 12 bit word, with no hardware byte structure, a 4K minimum memory configuration, and a simple but powerful instruction set. By 1970, the PDP-8 was the best selling computer in the world, and many models of the PDP-8 set new records as the least expensive computer on the market. The PDP-8 has been described as the model-T of the computer industry. C. Gordon Bell (who later was chief architect of the PDP-11 and who, as Vice President, oversaw the development of the VAX) says that the basic idea of the PDP-8 was not really original with him. He gives credit to Seymour Cray (of CDC and later Cray) for the idea of a single-accumulator 12 bit minicomputer. Cray's CDC 160 family, sold starting around 1959, certainly was a very similar 12 bit architecture, and the peripheral processors of Cray's first supercomputer, the CDC 6600, are also familiar to PDP-8 programmers. Note that the CDC 160 and CDC 6600 peripheral processors had 6 basic addressing modes, with variable length instruction words and other features that were far from the simple elegance of the PDP-8. Despite its many modes, the CDC architecture lacked the notion of current page addressing, and the result is that for examples that don't involve indexing, PDP-8 code is frequently just as effective as the code on the CDC 12-bit minicomputers. What is the PDP-8 instruction set? The PDP-8 word size is 12 bits, and the basic memory is 4K words. The minimal CPU contained the following visible registers: PC - the program counter, 12 bits. AC - the accumulator, 12 bits. L - the link, 1 bit, commonly prefixed to AC as . It is worth noting that many operations such as procedure linkage and indexing which are usually thought of as involving registers were done with memory on the PDP-8 family. Instruction words are organized as follows: _ _ _ _ _ _ _ _ _ _ _ _ |_|_|_|_|_|_|_|_|_|_|_|_| | | | | | | op |i|z| addr | op - the opcode. i - the indirect bit (0 = direct, 1 = indirect). z - the page bit (0 = page zero, 1 = current page). addr - the word in page. The top 5 bits of the 12 bit program counter give the current page, and memory addressing is also complicated by the fact that absolute memory locations 8 through 15 are incremented prior to use when used for indirect addressing. These locations are called the auto-index registers (despite the fact that they are in memory), and they allow the formulation of very tightly coded array operations. The basic instructions are: 000 - AND - and operand with AC. 001 - TAD - add operand to (a 13 bit value). 010 - ISZ - increment operand and skip if result is zero. 011 - DCA - deposit AC in memory and clear AC. 100 - JMS - jump to subroutine. 101 - JMP - jump. 110 - IOT - input/output transfer. 111 - OPR - microcoded operations. The ISZ and other skip instructions conditionally skip the next instruction in sequence. The subroutine calling sequence involves putting the return address in relative word zero of the subroutine, with execution starting with relative word one. Return from subroutine is done with an indirect jump through the return address. Subroutines frequently increment their return addresses to index through inline parameter lists or to provide return codes by conditionally skipping the next instruction. The IOT instruction has the following form: _ _ _ _ _ _ _ _ _ _ _ _ |1|1|0|_|_|_|_|_|_|t|c|s| | | | | | | device | op | The IOT instruction specifies one of 8 operations on one of 64 devices; typically (but not universally), each bit of the op field evokes an operation as follows: If the s bit is set, the instruction causes a skip if the device is ready, if the c bit is set, the device ready status is reset and, for some devices, AC is also cleared, and if the t bit is set, data is either ored with AC or output from AC to the device. IOT instructions may be used to initiate data break transfers from block devices such as disk or tape. The term "data break" was, for years, DEC's preferred term for cycle-stealing direct-memory- access data transfers. Some CPU functions are accessed only by IOT instructions. For example, interrupt enable and disable are IOT instructions, as are instructions controlling the optional memory management unit that is needed to address more than 4K words. A wide variety of operations are available through the OPR microcoded instructions: _ _ _ _ _ _ _ _ _ _ _ _ Group 1 |1|1|1|0|_|_|_|_|_|_|_|_| 1 - CLA - clear AC 1 - CLL - clear the L bit 1 - CMA - ones complement AC 1 - CML - complement L bit 1 - IAC - increment 1 0 0 - RAR - rotate right 0 1 0 - RAL - rotate left 1 0 1 - RTR - rotate right twice 0 1 1 - RTL - rotate left twice In general, the above operations can be combined by oring the bit patterns for the desired operations into a single instruction. If none of the bits are set, the result is the NOP instruction. When these operations are combined, they operate top to bottom in the order shown above. The exception to this is that IAC cannot be combined with the rotate operations on some models, and attempts to combine rotate operations have different effects from one model to another (for example, on the PDP-8/E, the rotate code 001 means swap 6 bit bytes in the accumulator, while previous models took this to mean something like "shift neither left nor right 2 bits"). _ _ _ _ _ _ _ _ _ _ _ _ Group 2 |1|1|1|1|_|_|_|_|_|_|_|0| 1 0 - SMA - skip on AC < 0 \ 1 0 - SZA - skip on AC = 0 > or 1 0 - SNL - skip on L /= 0 / 0 0 0 1 - SKP - skip unconditionally 1 1 - SPA - skip on AC >= 0 \ 1 1 - SNA - skip on AC /= 0 > and 1 1 - SZL - skip on L = 0 / 1 - CLA - clear AC 1 - OSR - or switches with AC 1 - HLT - halt The above operations may be combined by oring them together, except that there are two distinct incompatible groups of skip instructions. When combined, SMA, SZA and SNL, skip if one or the other of the indicated conditions are true, while SPA, SNA and SZL skip if all of the indicated conditions are true (logical and). When combined, these operate top to bottom in the order shown; thus, the accumulator may be tested and then cleared. Setting the halt bit in a skip instruction is a crude but useful way to set a breakpoint for front-panel debugging. If none of the bits are set, the result is an alternative form of no-op. A third group of operate microinstructions (with a 1 in the least significant bit) deals with the optional extended arithmetic element to allow such things as hardware multiply and divide, 24 bit shift operations, and normalize. These operations involve an additional data register, MQ or multiplier quotient, and a small step count register. On the PDP-8/E and successors, MQ and the instructions for loading and storing it were always present, even when the EAE was absent, and the EAE was extended to provide a useful variety of 24 bit arithmetic operations. What does PDP-8 assembly language look like? Here is an example: START, CLA CLL / Clear everything TAD X / Load X AND I Y / And with the value pointed to by Y DCA X / Store in X HLT / Halt X, 1 / A variable Y, 7 / A pointer Note that labels are terminated by a comma, and comments are separated from the code by a slash. There are no fixed fields or column restrictions. The "CLA CLL" instruction on the first line is an example of the microcoding of two of the Group 1 operate instructions. CLA alone has the code 7200 (octal), while CLL has the code 7100; combining these as "CLA CLL" produces 7300, the instruction to clear both AC and the link bit. As a general rule, except when memory reference instructions are involved, the assembler simply ors together the values of all blank separated fields between the label and comment. Indirection is indicated by the special symbol I in the operand field, as in the third line of the example. The typical PDP-8 assembler has no explicit notation to distinguish between page zero and current page addresses. Instead, the assembler is expected to note the page holding the operand and automatically generate the appropriate mode. If the operand is neither in the current page nor page zero, some assemblers will raise an error, others will automatically generate an indirect pointer to the off-page operand (This feature should be avoided when it is available). Note, in the final two lines of the example, that there is no "define constant" pseudo-operation. Instead, where a constant is to be assembled into memory, the constant takes the place of the op-code field. The PDP-8 has no immediate addressing mode, but the assemblers provide a mechanism to allow the programmer to ignore this lack: TAD (3) / add 3, from memory on the current page. TAD [5] / add 5, from memory on page zero. JMP I (LAB) / jump indirect through the address of LAB. The assembler automatically fills the end of each page with constants defined in this way that have been accumulated during the assembly of that page. Arithmetic is allowed in operand fields and constant definitions, but expressions are evaluated in strict left-to-right order, as shown below: TAD X+1 / add the contents of the location after X. TAD (X-1) / add the address of the location before X. Other operators allowed included and (&), or (!), multiply (^) and divide (%). Generally, identifiers are not limited in length, but only the first 6 characters are significant. All numeric constants are in octal, unless a DECIMAL pseudo-op has been used to change number base (change back with the OCTAL pseudo-op). Other assembly language features are illustrated below: / Comments may stand on lines by themselves / Blank lines are allowed *200 / Set the assembly origin to 200 (octal) NL0002= CLA CLL CML RTL / Define new opcode NL0002. NL0002 / Use new opcode (load 0002 in AC) JMP .-1 / Jump to the previous instruction X1= 10 / Define X1 (an auto-index register address) TAD I X1 / Use autoindex register 1 IAC; RAL / Multiple instructions on one line $ / End of assembly The assembly file ends with a line containing a $ (dollar sign) not in a comment field. What different PDP-8 models were made? The following basic models of the PDP-8 were sold by DEC: MODEL DATES SALES COST TECHNOLOGY REMARKS PDP-5 63-65 Transistor Limited compatibility PDP-8 65-68 >1000 $18,500 Transistor Table-top or rack LINC-8 66-69 153 $38,500 Transistor Rack only PDP-8/S 66-70? >1000? $10,000 Transistor Incompatable, slow! PDP-8/I 68-70? >2000? $12,800 TTL Pedistal or rack PDP-8/L 68-70? >2000? $8,500 TTL Scaled down 8/I (1) PDP-12 69-71 3500 $27,900 TTL Followup to LINC-8 PDP-8/E 70-78 >10K? $7,390 TTL MSI Omnibus (2) PDP-8/F 72-78? >10K? <$7K TTL MSI Omnibus Based on 8/E CPU PDP-8/M 72-78? >10K? <$7K TTL MSI Omnibus OEM version of 8/F PDP-8/A 75-84? >10K? <$7K TTL LSI Omnibus New CPU or 8/E CPU VT78 78-80 > ? Microprocessor Intersil IM6100 Dm I (3)80-84 Microprocessor Intersil IM6120 Dm II 82-86 Microprocessor Intersil IM6120 Dm III 84-90 Microprocessor Dm III+ 85-90 Microprocessor (4) Notes (1) Memory upgrade to 32K words was eventually sold. (2) The PDP-8/E is considered by many to be the definitive PDP-8. If the PDP-8 was the model-T of the computer industry, perhaps the PDP-8/E was the model-A. (3) Dm stands for DECmate. (4) The total sales figure for the PDP-8 family is estimated at over 300,000 machines. Over 8500 of these were sold prior to 1970. When possible, the costs given above are for a minimal system consisting of 4K of main memory, a console teletype, and the minimal software needed to use the machine (FOCAL, BASIC, or a paper-tape based assembler). Additional information on costs and production is needed! The above list does not include many PDP-8 variants sold by DEC to meet the needs of various special users. For example, the Industrial-8 was really just a PDP-8/E with a different nameplate and color scheme. Burger King had thousands of PDP-8/M based point-of-sale systems with no standard peripherals. In addition, DEC made many peripheral controllers for the PDP-11 and PDP-15 that used IM6100 microprocessors. The following PDP-8 compatible or semi-compatible machines were made and sold by others; very little is known about many of these: MODEL DATE MAKER, NOTES MP-12 6? Fabritek TPA 68? Hungarian, possibly a DEC PDP-8/L in drag DCC-112 70-71 Digital Computer Controls DCC-112H 71 Digital Computer Controls 6100 Sampler 7? Intersil, their IM6100 promotional kit Intercept 7? Intersil, based on IM6100 Intercept Jr 7? Intersil, based on IM6100 SBC-8 84-88 CESI, Based on IM6120, SCSI bus What about the LINC/8 and PDP-12? Lincoln Labs developed the LINC, or Laboratory INstrumentation Computer, under a grant from the National Institute of Health in the early 1960's. This computer was built using DEC modules, and along with the CDC 160, it paved the way for the PDP-5 and PDP-8. When compared with the PDP-8, the LINC instruction set was not as well suited for general purpose computation, but far better suited for complex data acquisition and control applications. Within a year of the introduction of the PDP-8, DEC released the LINC-8, a machine that combined a PDP-8 with a LINC in one package. This was not a dual processor, in the sense of allowing both machines to execute in parallel, but rather, a machine with two operating modes, LINC-mode and PDP-8-mode. The sales success of the LINC-8 led DEC to re-engineer the machine using TTL logic in the late 1960's; the new version was originally developed as the LINC-8/I, but it was sold as the PDP-12; thousands were sold. Both the LINC-8 and the PDP-12 had impressive consoles, with full sets of lights and switches for the registers of each processor. These machines could run essentially any PDP-8 or LINC software, but because they included instrucitons for switching between modes, a third body of software was developed that required both instruction sets. One feature of LINC and LINC-8 software is the common use of the graphic display for input-output. These machines were some of the first to include such a display as a standard component, and many programs used the knobs on the analog to digital converter to move a cursor on the display in the way we now use a mouse. LAP, the Linc Assembly Program, was the dominant assembler used on the LINC. WISAL (WISconson Assembly Language) or LAP6-W was the version of this assembler that survived to run on the PDP-12. Curiously, this includes a PDP-8 assembler written in LINC code. LAP-6 DIAL (Display Interactive Assembly Language) evolved from this on the PDP-12 to became the dominant operating system for the PDP-12. The 8K version of this is DIAL MS (Mass Storage), even if it has only two LINCtape drives. Where can I get a PDP-8 today? The CESI machine may still be on the market, for a high price, but generally, you can't buy a new PDP-8 anymore. There are quite a few PDP-8 machines to be found in odd places on the used equipment market. They were widely incorporated into products such as computer controlled machine tools, X-ray diffraction machines, and other industrial and lab equipment. Many of them were sold under the EduSystem marketing program to public schools and universities, and others were used to control laboratory instrumentation. Reuters bought the tail end of the Omnibus based production run. If you can't get real hardware, you can get emulators. Over the years, many PDP-8 emulators have been written; the best of these are indistinguishable from the real machine from a software prespective, and on a modern high-speed RISC platform, these frequently outperform the hardware they are emulating. It is worth noting that the PDP-8, when it was introduced in 1965, was about as fast as was practical with the logic technology used at the time. The PDP-8/E was the last attempt at making a faster PDP-8, and it was about as fast as the core memory then available could handle without interleaving or other tricks. Where can I get PDP-8 documentation? The 1973 Introduction to Programming was probably DEC's definitive manual for this family, but it is out of print, and DEC was in the habit of printing much of their documentation on newsprint with paperback bindings, which is to say, surviving copies tend to be yellow and brittle. DEC distributed huge numbers of catalogs and programming handbooks in this inexpensive paperback format, and these circulate widely on the second-hand market. When research laboratories and electronics shops are being cleaned out, it is still common to find a few dusty, yellowed copies of these books being thrown in the trash. Maintenance manuals are harder to find, but more valuable. Generally, you'll need to find someone who's willing to photocopy one of the few surviving copies. Fortunately, DEC has been friendly to collectors, granting fairly broad letters of permission to reprint obsolete documentation, and the network makes if fairly easy to find someone who has the documentation you need and can get copies. What operating systems were written for the PDP-8? A punched paper-tape library of stand-alone programs was commonly used with the smallest (diskless and tapeless) configurations from the beginning up through the late 1970's. Many paper tapes from this library survive to the present at various sites! The minimum configuration expected by these tapes is a CPU with 4K memory, and a teletype ASR 33 with paper tape reader and punch. The DECtape Library System was an early DECtape oriented save and restore system that allowed a reel of tape to hold a directory of named files that could be loaded and run on a 4K system. Eventually, this supported a very limited tape-based text editor for on-line program development. This did not use the DECtape's block addressable character; the software was based on minimal ports of the paper-tape based software described above. The 4K Disk Monitor System provided slightly better facilities. This supported on-line program development and it worked with any device that supported 129 word blocks (DECtape, the DF32 disk, or the RF08 disk). MS/8 or the R-L Monitor System, developed starting in 1966 and submitted to DECUS in 1970. This was a disk oriented system, faster than the above, with tricks to make it run quickly on tape based systems. POLY BASIC, a BASIC only system submitted to DECUS and later sold by DEC as part of its EduSystem marketing program. P?S/8, developed starting in 1971 from an MS/8 foundation. Runs on minimal PDP-8 configurations, supports device semi-independant I/O and a file system on a random-access device, including DECtape. P?S/8 runs compatably on most PDP-8 machines including DECmates, excepting only the PDP-8/S and PDP-5. P?S/8 is still being developed! OS/8, developed in parallel with P?S/8, became the main PDP-8 programming environment sold by DEC. The minimum configuration required was 8K words and a random-access device to hold the system. For some devices, OS/8 requires 12K. There are a large number of OS/8 versions that are not quite portable across various subsets of the PDP-8 family. TSS/8 was developed in 1968 as a timesharing system. It required a minimum of 12K words of memory and a swapping device. It was the standard operating system on the EduSystem 50 which was sold to many small colleges and large public school systems. Each user gets a virtual 4K PDP-8; many of the utilities users ran on these virtual machines were only slightly modified versions of utilities from the Disk Monitor System. Other timesharing systems developed for the PDP-8 include MULTI-8, ETOS (which required special hardware), MULTOS, and OMNI-8; these were similar to TSS/8, and by the mid 1970's, many of these were true virtual machine operating systems in the same spirit as IBM's VM-370. All are able to support OS/8 running on a 32K virtual PDP-8 assigned to each user. Some could support multiple user operating systems, others required OS/8 as the user system. CAPS-8 was a cassette based operating system supporting PAL and BASIC. There are OS/8 utilities to manipulate CAPS-8 cassettes, and the file format on cassette is compatible with a PDP-11 based system called CAPS-11. WPS was DEC's word processing system that was widely used on the 1980's vintage machines with a special WPS keycaps replacing the standard keycaps on the keyboard. This was written in the 1970's. COS-310, DEC's commercial operating system for the PDP-8, supported the DIBOL language. COS-310 was a derivative of OS/8, but with a new text file format. It maintains only very limited compatibility with OS/8. What programming languages are supported on the PDP-8 The PAL family of assembly languages are as close to a standard assembly language as can be found for the PDP-8. These produce absolute object code and versions of PAL will run on minimally configured machines (but with a small symbol table). MACRO-8 was DEC's first macro assembly language for the PDP-8, but it was never used outside the paper-tape environment. MACREL and SABR are assembly languages that produce relocatable output. SABR is the final pass for the ALICS II FORTRAN compiler, and MACREL was developed in (unfulfilled) anticipation of similar use. There was also RALF, the relocatable assembler supporting RTPS FORTRAN, and FLAP, an absolute assembler derived from RALF. Both SABR and RALF/FALP are quirky assemblers that barely handle their intended applications. A subset of FORTRAN was supported on both the PDP-5 and the original PDP-8. Surviving documentation describes a DEC compiler from 1964 and a compiler written by Information Control Systems from 1968. The latter, ALICS II FORTRAN, was originally a paper tape based compiler, but it forms the basis of the OS/8 8K FORTRAN compiler. RTPS FORTRAN required 8K and a floating point processor; it had real-time extensions and was a full implementation of FORTRAN IV (also known as ANSI FORTRAN 66). OS/8 F4 is RTPS FORTRAN stripped of the requirement for hardware floating point (if the hardware is missing, it uses software emulation). FOCAL, an interpretive language comparable to BASIC was available on all models of the family, including the PDP-5 and PDP-8/S. Varsions of FOCAL run under PS/8, P?S/8 and other systems. BASIC was also available, and was widely used on PDP-8 systems sold under the EduSystem marketing program. A paper-tape version was available that ran in 4K, there were versions that ran under OS/8 and TSS/8, and there was an 8K stand-alone time-sharing version. DIBOL was DEC's attempt at competing with COBOL in the commercial arena. It was originally implemented under MS/8 but most versions were sold to run under the COS operating system. Algol was available from a fairly early date. At least two Pascal compilers were developed for the PDP-8. One was a Pascal-S interpreter, written in assembler, the other was a Pascal-P compiler with a P-code interpreter written in assembler. At least two LISP interpreters were written for the PDP-8; one runs in 4K, the other can use up to 16K. TECO, the text editor, is available, and is also a general purpose language, and someone is working on a PDP-8 C. The story of TECO on the PDP-8 is convoluted. Russ Ham implemented TECO under his OS8 (without a slash) system. This version of TECO was pirated by the Oregon Museum of Science and Industry (OMSI), where the system was ported to PS/8. Richard Lary ported it from there to OS/8; this version, in turn, was modified by Stan Rabinowitz to make it compatible with the version under RT-11 on the PDP-11, and this is the version distrubuted by DECUS. Where can I get PDP-8 software? DECUS, the DEC User Society, is still alive and well, and their submission form still lists PAL-8 and FOCAL as languages in which they accept submissions! There is a young but growing FTPable archive of PDP-8 software at ftp.telebit.com in directory /pub/pdp8. Where can I get additional information? The file WHAT-IS-A-PDP8, by Charles Lasner contains considerable additional information; this file is included in the FTPable archive cited above. This file gives details of every model of the PDP-8, including the small quirks and incompatabilities that (to be generous) allow software to determine which model it is running on. These quirks also make it all too easy for careless programmers to write almost portable software with very obscure bugs. The mailing list pdp8-lovers@ai.mit.edu reaches a number of PDP-8 owners and users, not all of whom have USENET feeds. The USENET newsgroup alt.sys.pdp8 is fairly new, but someday, the newsgroup and mailing list will be gatewayed to each other. Many "archival" books have included fairly complete descriptions of the PDP-8; among them, "Computer Architecture, Readings and Examples" by Gordon Bell and Allen Newell is among the most complete (and difficult to read). Considering Bell's role in the design of the PDP-8 and the history of DEC, the description in this book should be accurate! What use is a PDP-8 today? What use is a Model T today? Collectors of both come in the same basic classes. First, there are antiquarians who keep an old one in the garage, polished and restored to new condition but hardly ever used. Once a year, they warm it up and use it, just to prove that it still works, but they don't have much practical use. PDP-8 systems maintained by antiquarians are frequently in beautiful shape. Antiquarians worry about dust, chipped paint, and missing switches, and they establish newsgroups and mailing lists to help them locate parts and the advice needed to fix their machines. In the second class are those who find old machines and soup them up, replacing major parts to make a hotrod that only looks like the original from the outside, or keeping the old mechanism and putting it to uses that were never intended. Some PDP-8 owners, for example, are building PDP-8 systems with modern SCSI disk interfaces! There is serious interest in some quarters in constructing an omnibus board that would support an IDE disk of the variety that was mass-produced for the IBM PC/AT. Last, there are the old folks who still use their old machines for their intended purposes long after any sane economic analysis would recommend such use. If it ain't broke, don't fix it, and if it can be fixed, why bother replacing it? Both Model T Fords and the classic PDP-8 machines are simple enough that end users can maintain and repair them indefinitely. All you need to keep a vintage -8 running are a stock of inexpensive silicon diodes and a stock of 2N3639B or better, 2N3640 transistors. Unlike most modern personal computers, PDP-8 systems were routinely sold with complete maintenance manuals; these included schematic diagrams, explanations of not only how to use the devices, but how they are built, and suggestions to those considering building their own peripherals. Compared with many so-called "open systems" of today, the PDP-8 seems to have been far better documented and far more open. Finally, the PDP-8 is such a minimal machine that it is an excellent introduction to how computers really work. Over the years, many students have built complete working PDP-8 systems from scratch as lab projects, and the I/O environment on a PDP-8 is simple enough that it is a very appropriate environment for learning operating system programming techniques. From news.columbia.edu!sol.ctr.columbia.edu!destroyer!cs.ubc.ca!unixg.ubc.ca!kakwa.ucs.ualberta.ca!ee.ualberta.ca!jeremi Mon Jan 11 04:00:04 EST 1993 Article: 133 of alt.sys.pdp8 Newsgroups: alt.sys.pdp8 Path: news.columbia.edu!sol.ctr.columbia.edu!destroyer!cs.ubc.ca!unixg.ubc.ca!kakwa.ucs.ualberta.ca!ee.ualberta.ca!jeremi From: jeremi@ee.ualberta.ca (William Jeremiah) Subject: Ok I know this is a group for pdp-8 computers but... Message-ID: Sender: news@kakwa.ucs.ualberta.ca Nntp-Posting-Host: bode.ee.ualberta.ca Organization: University Of Alberta, Edmonton Canada Date: Sun, 10 Jan 1993 21:26:53 GMT Lines: 7 I have the chance to but a pdp-11 with accessories. What I want to know is how I could get unix for it (or did unix come with it?) >>Jerry -- Insanity is inherited; you get it from your kids! From news.columbia.edu!rpi!zaphod.mps.ohio-state.edu!sol.ctr.columbia.edu!eff!world!mbg Mon Jan 11 04:00:19 EST 1993 Article: 134 of alt.sys.pdp8 Newsgroups: alt.sys.pdp8 Path: news.columbia.edu!rpi!zaphod.mps.ohio-state.edu!sol.ctr.columbia.edu!eff!world!mbg From: mbg@world.std.com (Megan B Gentry) Subject: Re: Ok I know this is a group for pdp-8 computers but... Message-ID: Organization: The World Public Access UNIX, Brookline, MA References: Date: Mon, 11 Jan 1993 05:27:10 GMT Lines: 5 You'll need to give more info (vmsnet.pdp-11 would be more appropriate, or comp.sys.dec[.micro]) Whether you can install unix (or a derivative) depends on what model pdp-11. Megan From news.columbia.edu!rpi!usc!cs.utexas.edu!qt.cs.utexas.edu!yale.edu!cs.yale.edu!ccsua.ctstateu.edu!beeler_daj Mon Jan 18 23:11:53 EST 1993 Article: 135 of alt.sys.pdp8 Newsgroups: alt.sys.pdp8 Path: news.columbia.edu!rpi!usc!cs.utexas.edu!qt.cs.utexas.edu!yale.edu!cs.yale.edu!ccsua.ctstateu.edu!beeler_daj From: beeler_daj@ccsua.ctstateu.edu Subject: DECMATE II Message-ID: <1993Jan16.055418.1@ccsua.ctstateu.edu> Lines: 6 Sender: news@cs.yale.edu (Usenet News) Nntp-Posting-Host: ccsua.ctstateu.edu Organization: Yale University, Department of Computer Science, New Haven, CT Date: Sat, 16 Jan 1993 10:54:18 GMT Is there any one out the with info on software available for a DECMATE II ? Thanks, Dan From news.columbia.edu!sol.ctr.columbia.edu!spool.mu.edu!uunet!news.uiowa.edu!news Mon Jan 18 23:20:29 EST 1993 Article: 136 of alt.sys.pdp8 Newsgroups: alt.sys.pdp8 Path: news.columbia.edu!sol.ctr.columbia.edu!spool.mu.edu!uunet!news.uiowa.edu!news From: jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879) Subject: PDP-8/M/F front panel Sender: news@news.uiowa.edu (News) Message-ID: <1993Jan19.024526.22047@news.uiowa.edu> Date: Tue, 19 Jan 1993 02:45:26 GMT Nntp-Posting-Host: pyrite.cs.uiowa.edu Organization: University of Iowa, Iowa City, IA, USA Lines: 34 I've just gotten down to work debugging the front panel on my second hand PDP-8/F. 3 of the LED's won't go out (and one more won't go on) in the data row. The problem is in the 74L54 chips that are used to multiplex the data for the data lights. I can't get 74L54 chips, but I can get 74LS54 chips, these have the right pinout, and more importantly, three of the 74L54 chips have already been replaced with 74LS54 chips. So, I verified that the problem is indeed in those chips by replacing one, and now I have to wait for 3 more (since I bought the last one in stock from the electronics place near my office. But, my question is, what is the problem with the 74L54 chips in the 8/F front panel? I'm replacing 4, and three others have been replaced some time ago. Did DEC screw up when they selected this chip? Is there something dangerous about the way it is driven that tends to burn it up? By way of information, the symptom I'm getting is an output that goes from 2.5 to 4.5 volts as the inputs change, instead of 0.3 to 4.5 volts (more normal). This suggests a blown output transistor, as if the chip tried to sink too much current at some time (difficult to do, considering that it only drives a 7404 chip). A second question is, does anyone know of a source of 74L54 chips? The 74LS54 seems to work, but it would be nice to use the right part if I could get one. The 74LS54 loads its inputs just slightly more than the 74L54, and one of the inputs is the DATA bus, so this could matter in a fully configured system. Any experience or warnings about this would be appreciated. Doug Jones jones@cs.uiowa.edu