From: jones@cs.uiowa.edu (Douglas W. Jones)Subject: PDP-8 Frequently Asked Questions (posted every other month)Date: 8 Dec 1996 08:08:08 GMTArchive-name: dec-faq/pdp8Last-modified: Nov 26, 1996Frequently Asked Questions about the DEC PDP-8 computer.	By Douglas Jones, jones@cs.uiowa.edu	(with help from many folks)The most recent version of this file is available by anonymous FTP from:	ftp://rtfm.mit.edu/pub/usenet/alt.sys.pdp8	ftp://ftp.uu.net/usenet/news.answers/dec-faq	ftp://src.doc.ic.ac.uk:/pub/usenet/news.answers/alt.sys.pdp8	ftp://sunsite.unc.edu/pub/academic/computer-science/history/pdp-8/docsAutomatic translations of this document to HTML format (as used by World WideWeb) are available from:	http://www.cis.ohio-state.edu/hypertext/faq/usenet/dec-faq/top.html	http://www.smartpages.com/bngfaqs/alt/sys/pdp8/top.html	http://www.cs.ruu.nl/wais/html/na-dir/dec-faq/.htmlAn obsolete version of this file is available on the Walnut Creek USENETFAQ CDROM.This posting conforms to RFC1153 USENET digest format (with exceptions dueto the fact that it is not really a digest).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 character sets does the PDP-8 support?	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?	Who's Who?----------------------------------------------------------------------Subject: What is a PDP?In 1957, Ken Olson and Harlan Anderson founded Digital EquipmentCorporation (DEC), capitalized at $100,000, and 70% owned by AmericanResearch and Development Corporation.  Olson and Anderson had designedmajor parts of the AN/FSQ-7, the TX-0 and the TX-2 computers atLincoln Labs.  They wanted to call their company Digital ComputerCorporation, but the venture capitalists insisted that they avoid theterm Computer and hold off on building computers.With facilities in an old woolen mill in Maynard Massachusetts, DEC'sfirst product was a line of transistorized digital "systems modules"based on the modules used in building TX-2 at Lincoln Labs; thesewere plug-in circuit boards with a few logic gates per board.  Startingin 1960, DEC finally began to sell computers (the formal acceptance ofthe first PDP-1 by BBN is reported in Computers and Automation, April1961, page 8B).  Soon after this, there were enough users that DECUS,the Digital Equipment Computer User's Society was founded.DEC's first computer, the PDP-1, sold for only $120,000 at a time whenother computers sold for over $1,000,000.  (A good photo of a PDP-1 isprinted in Computers and Automation, Dec. 1961, page 27).  DEC quotedprices as low as $85,000 for minimal models.  The venture capitalist'sinsistance on avoiding the term computer was based on the stereotypethat computers were big and expensive, needing a computer center and alarge staff; by using the term Programmable Data Processor, or PDP, DECavoided this stereotype.  For over a decade, all digital computers soldby DEC were called PDPs.  (In early DEC documentation, the plural form"PDPs" is used as a generic term for all DEC computers.)In the early 1960's, DEC was the only manufacturer of large computerswithout a leasing plan.  IBM, Burroughs, CDC and other computermanufacturers leased most of their machines, and many machines werenever offered for outright sale.  DEC's cash sales approach led to thegrowth of third party computer leasing companies such as DELOS, aspinoff of BB&N.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.  Some earlyDEC computers were not really built by DEC.  With the PDP-3 and LINC,for example, customers built the machines using DEC parts andfacilities.  Here is the list of PDP computers:    MODEL  DATE  PRICE     BITS  COMMENTS    =====  ====  ========  ====  =====    PDP-1  1960  $120,000  18    DEC's first computer    PDP-2            NA    24    Never built?    PDP-3            NA    36    One built by a customer, not by DEC.    PDP-4  1962   $60,000  18    Predecessor of the PDP-7.    PDP-5  1963   $27,000  12    The ancestor of the PDP-8.    PDP-6  1964  $300,000  36    A big computer; 23 built, most for MIT.    PDP-7  1965   $72,000  18    Widely used for real-time control.    PDP-8  1965   $18,500  12    The smallest and least expensive PDP.    PDP-9  1966   $35,000  18    An upgrade of the PDP-7.    PDP-10 1967  $110,000  36    A PDP-6 followup, great for timesharing.    PDP-11 1970   $10,800  16    DEC's first and only 16 bit computer.    PDP-12 1969   $27,900  12    A PDP-8 relative.    PDP-13           NA          Bad luck, there was no such machine.    PDP-14                       A ROM-based programmable controller.    PDP-15 1970   $16,500  18    A TTL upgrade of the PDP-9.    PDP-16 1972      NA    8/16  A register-transfer module system.Corrections and additions to this list are welcome!  The prices givenare for minimal systems in the year the machine was first introduced.The bits column indicates the word size.  Note that the DEC PDP-10became the DECSYSTEM-20 as a result of marketing considerations, andDEC's VAX series of machines began as the Virtual Address eXtension ofthe never-produced PDP-11/78.It is worth mentioning that it is generally accepted that the DataGeneral Nova (see photo, Computers and Automation, Nov. 1968, page 48)grew out of the PDP-X, a 16-bit multi-register version of the PDP-8designed by Edson DeCastro (the designer of the PDP-5; his name appearson many of the blueprints of later PDP-8 systems up through the PDP-8/L).A prototype PDP-X was built at DEC; this and a competing 16-bit designwere apparently submitted to Harold McFarland at Carnegie-MellonUniversity for evaluation; McFarland (and perhaps Gordon Bell, who wasat C-MU at the time) evaluated the competing designs and rejected bothin favor of what we now know as the PDP-11.  Some speculate that Bellrejected the Nova design because the competing proposal used theregister-transfer notation he had introduced in "Bell and Newell,Computer Structures -- Readings and Examples".  An alternate story isthat the reason DEC never produced a PDP-13 was because the number 13had been assigned to what became the Nova; these stories are unlikely.In any case, DeCastro did found Data General, and neither DEC nor DataGeneral talk much about the connection between the PDP-X and the Nova.Today, all of the PDP machines are in DEC's corporate past, except thePDP-11 family, which survives as a line of microcomputers; DEC haspromised to discontinue PDP-11 sales on Sept. 30, 1996.Occasionally, some lab has built a machine out of DEC hardwareand called it a PDP with a new number.  For example, the AustralianAtomic Energy Commission once upgraded a PDP-7 by adding a PDP-15 onthe side; they called the result a PDP-22.------------------------------Subject: What is a PDP-8?The PDP-8 family of minicomputers were built by Digital EquipmentCorporation between 1965 and 1990, although it is worth noting that theterm minicomputer first came into prominence after the machine wasintroduced.  The first use of the term appears to have been made bythe head of DEC's operations in England, John Leng.  He sent back asales report that started: "Here is the latest minicomputer activityin the land of miniskirts as I drive around in my [Austin] Mini Minor."The term quickly became part of DEC's internal jargon and spread fromthere; the first computer explicitly sold as a minicomputer, though,was made by by Interdata (See the Interdata ad in Computers andAutomation, May 1968, page 10).The PDP-8 was largely upward compatible with the PDP-5, a machine thatwas unveiled on August 11, 1963 at WESCON, and the inspiration for thatmachine came from two earlier machines, the LINC and the CDC 160.  Allof these machines were characterized by a 12 bit word with little or nohardware byte structure, typically 4K words of memory, and simple butpowerful instruction sets.Although some people consider the CDC 160 the first minicomputer, thePDP-8 was the definitive minicomputer.  By late 1973, the PDP-8 familywas the best selling computer in the world, and it is likely that it wasonly displaced from this honor by the Apple II (which was displaced bythe IBM PC).  Most models of the PDP-8 set new records as the leastexpensive computer on the market at the time of their introduction.The PDP-8 has been described as the model-T of the computer industrybecause it was the first computer to be mass produced at a cost thatjust about anyone could afford.C. Gordon Bell has said 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 (see CACM, march 1961, photo on page 244, text on page246) was such a machine, and in addition to the hundreds of CDC 160systems sold as stand-alone machines, a derivative 12 bit architecturewas used for the I/O processors on Cray's first great supercomputer,the CDC 6600.Note that Cray's 12 bit machines 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 160architecture lacked the notion of current page addressing, it had nounconditional jump instruction, and the I/O instructions all blockedthe CPU until I/O complete.  As a result, the PDP-8 is both far moreflexible and it supports much tighter programming styles.------------------------------Subject: 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 registers:	PC - the program counter, 12 bits.	AC - the accumulator, 12 bits.	L  - the link, 1 bit, commonly prefixed to AC as <L,AC>.It is worth noting that many operations such as procedure linkage andindexing, which are usually thought of as involving registers, are 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 as indirectaddresses.  These locations are called auto-index registers (despite thefact that they are in memory); 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 <L,AC> (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 ISZ is commonly used to increment a loopcounter and skip if done, and it is also used as an general incrementinstruction, either followed by a no-op or in contexts where it is knownthat the result will never be zero.The JMS instruction stores the return address in relative word zero ofthe subroutine, with execution starting with relative word one.Subroutine return is done with an indirect JMP through the returnaddress.  Subroutines commonly increment their return addresses to indexthrough inline parameter lists or to perform conditional skips overinstructions following the call.The IOT instruction has the following form:	 _ _ _ _ _ _ _ _ _ _ _ _	|1|1|0|_|_|_|_|_|_|_|_|_|	|     |           |     |	|     |   device  | op  |The IOT instruction specifies one of up to 8 operations on one of 64devices.  Typically (but not universally), each bit of the op fieldevokes an operation, and these can be microcoded in right to leftorder.  Prior to the PDP-8/E, there were severe restrictions on theinterpretation of the op field that resulted from the fact that theoperation was delivered as a sequence of IOP pulses, each on a separateline of the I/O bus.  Each line was typically used to evoke a differentdevice function, so essentially, the operation 000 was always a no-opbecause it evoked no functions, and the code 111 evoked all threefunctions in series.As an example of the use of IOT instructions, consider the consoleterminal interface.  On early PDP-8 systems, this was always assumed tobe an ASR 33 teletype, complete with low-speed paper tape reader andpunch.  It was addressed as devices 03 (the keyboard/reader) and 04(the teleprinter/punch):	 _ _ _ _ _ _ _ _ _ _ _ _	|1|1|0|_|_|_|_|_|_|_|_|_|	      |0 0 0 0 1 1|0 0 1  - KSF - keyboard skip if flag	      |0 0 0 0 1 1|0 1 0  - KCC - keyboard clear flag	      |0 0 0 0 1 1|1 0 0  - KRS - keyboard read staticThe keyboard flag is set by the arrival of a character.  The KCCinstruction clears both the flag and the accumulator.  KRS ors the 8 bitinput data with the low order 8 bits of AC.  The commonly used KRBinstruction is the or of KCC and KRS.  To await one byte of input, useKSF to poll the flag, then read the byte with KRB.	 _ _ _ _ _ _ _ _ _ _ _ _	|1|1|0|_|_|_|_|_|_|_|_|_|	      |0 0 0 1 0 0|0 0 1  - TSF - teleprinter skip if flag	      |0 0 0 1 0 0|0 1 0  - TCF - teleprinter clear flag	      |0 0 0 1 0 0|1 0 0  - TPC - teleprinter print staticThe teleprinter flag is set by the completion of the TPC operation (asa result, on startup, many applications output a null in order to getthings going).  TCF clears the flag, and TPC outputs the low order 8bits of the accumulator.  The commonly used TLS instruction is the orof TCF and TPC.  To output a character, first use TSF to poll the flag,then write the character with TLS.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:	 _ _ _ _ _ _ _ _ _ _ _ _	|1|1|0|_|_|_|_|_|_|_|_|_|	      |0 0 0 0 0 0|0 0 1  - ION - interrupts turn on	      |0 0 0 0 0 0|0 1 0  - IOF - interrupts turn offAn interrupt is requested when any device raised its flag.  The consolemaster clear switch resets all flags and disables interrupts.  Ineffect, an interrupt is a JMS instruction to location zero, with theside effect of disabling interrupts.  The interrupt service routineis expected to test the device flags and perform the operations neededto reset them, and then return using ION immediately before the indirectreturn JMP.  The effect of ION is delayed so that interrupts are notenabled until after the JMP.The instructions controlling the optional memory management unit arealso IOT instructions.  This unit allows the program to address up to32K of main memory by adding a 3 bit extension to the memory address.Two extensions are available, one for instruction fetch and directaddressing, the other for indirect addressing.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 <L,AC>                         1 0 0    - RAR - rotate <L,AC> right                         0 1 0    - RAL - rotate <L,AC> left	                 1 0 1    - RTR - rotate <L,AC> right twice	                 0 1 1    - RTL - rotate <L,AC> 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 group                       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 group                       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 (logical or), 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.------------------------------Subject: What does PDP-8 assembly language look like?There are many different assemblers for the PDP-8, but most use acompatible basic syntax; 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.  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 should be avoided because it onlyworks for directly addressed off-page operands, and only when the memorymanagement unit is not being used to address a data field other than thecurrent instruction field.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 most assemblers providea notation 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.Assemblers that support this automatically fill the end of each pagewith constants defined in this way that have been accumulated during theassembly of that page.  Note that the variants "(3" and "[5" (with noclosing parentheses) are usually allowed but the use of this sloppy formis discouraged.  Furthermore, the widely used PAL8 assembler interpretsthe unlikely operand "(3)+1" as being the same as "(3+1)".Arithmetic is allowed in operand fields and constant definitions, withexpressions evaluated in strict left-to-right order, as:		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 include and (&), or (!), multiply (^) and divide(%), as well as a unary sign (+ or -).  Unfortunately, one of the mostwidely used assemblers, PAL8, has trouble when unary operators are mixedwith multiplication or division.	Generally, only the first 6 characters of identifiers are significantand numeric constants are evaluated in octal.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)	LETA=	"A		/ Define LETA as 000011000001 (ASCII A)		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.The $, * and =  syntax used by most PDP-8 assemblers replaces functionsperformed by pseudo-operations on many other assemblers.  In addition,PAL8, the most widely used PDP-8 assembler supports the followingpseudo-operations:		DECIMAL		/ Interpret numeric constants in base 10		OCTAL		/ Interpret numeric constants in base 8		EJECT		/ Force a page eject in the listing		XLIST		/ Toggle listing		XLIST	N	/ Turn on listing if N=0, off if N=1		PAGE 	 	/ Advance location counter to next page		PAGE 	N	/ Set location counter start of page N		FIELD	N	/ Assemble into extended memory field N		TEXT	"STR"	/ Pack STR into consecutive 6 bit bytes		ZBLOCK	N	/ Allocate N words, initialized to zero		IFDEF	S <C>	/ Assemble C if symbol S is defined		IFNDEF	S <C>	/ Assemble C if symbol S is not defined		IFZERO	E <C>	/ Assemble C if expression E is zero		IFNZRO	E <C>	/ Assemble C if expression E is not zero		FIXMRI  OP= VAL	/ Define OP as memory reference instructionConditonally assembled code must be enclosed in angle brackets.  Theenclosed code may extend over multiple lines and, because differentassemblers treat comments within conditionals differently, the closingbracket should not be in a comment and any brackets in comments shouldbe balanced.------------------------------Subject: What character sets does the PDP-8 support?From the beginning, PDP-8 software has generally assumed that textualI/O would be in 7 bit ASCII.  Most early PDP-8 systems used teletypesas console terminals; as sold by DEC, these were configured for markparity, so most older software assumes 7 bit ASCII, upper case only,with the 8th bit set to 1.  On output, lines are generally terminatedwith both CR and LF; on input, CR is typically (but not always) theline terminator and LF is typically ignored.  In addition, the tabcharacter (HT) is generally allowed, but software support output of textcontaining tabs varies.One difficulty with much PDP-8 software is that it bypasses the devicehandlers provided by the operating system and goes directly to thedevice.  This results in very irregular device support, so that, forexample, control-S and control-Q work to start and stop output underOS/8, but the OS/8 PAL assembler ignores them when reporting errors.Most of the better engineered PDP-8 software tends to fold upper andlower case on input, and it ignores the setting of the 8th bit.  OlderPDP-8 software will generally fail when presented with lower casetextual input (this includes essentially all OS/8 products prior toOS/278 V1).Internally, PDP-8 programmers are free to use other character sets, butthe "X notation provided by the assembler encourages use of 7 bit ASCIIwith the 8th bit set to 1, and the TEXT pseudo-operation encourages the6 bit character set called "stripped ASCII".  To map from upper-case-onlyASCII to stripped ASCII, each 8 bit character is anded with octal 77 andthen packed 2 characters per word, left to right.  Many programs use asemi-standard scheme for packing mixed upper and lower case into 6 bitTEXT form; this uses ^ to flip from upper to lower case or lower toupper case, % to encode CR-LF pairs, and @ (octal 00) to mark end ofstring.  Note that this scheme makes no provision for encoding the %,^ and @ characters, nor does it allow control characters other than theCR-LF pair.The P?S/8 operating system supports a similar 6 bit text file format,where upper and lower case are folded together, tabs are stored as _(underline), end-of-line is represented by 00, padded with anynonzero filler to a word boundary, and end of file is 0000.Files under the widely used OS/8 system consist of sequences of 256 wordblocks.  When used for text, each block holds 384 bytes, packed 3 bytesper pair of words as follows:		aaaaaaaa		ccccaaaaaaaa		bbbbbbbb		CCCCbbbbbbbb		ccccCCCCControl Z is used as an end of file marker.  Because most of the PDP-8system software was originally developed for paper tape, binary objectcode is typically stored in paper-tape image form using the above packingscheme.------------------------------Subject: What different PDP-8 models were made?The total sales figure for the PDP-8 family is estimated at over 300,000machines.  Over 7000 of these were sold prior to 1970, and 30,000 weresold by 1976.  During the PDP-8 production run, a number of models weremade, as listed in the following table.  Of these, the PDP-8/E is generallyconsidered to be the definitive machine.  If the PDP-8 is considered tobe the Model T of the computer industry, perhaps the PDP-8/E should beconsidered to be the industry's Model A.    MODEL	DATES	SALES   COST	TECHNOLOGY	REMARKS    PDP-5	63-67	 116		Transistor    PDP-8	65-69 	1450	$18,500	Transistor    LINC-8	66-69	 142	$38,500	Transistor    PDP-8/S	66-70	1024	$10,000	Transistor	Very slow    PDP-8/I	68-71 	3698	$12,800	TTL    PDP-8/L	68-71 	3902	 $8,500	TTL		Scaled down 8/I    PDP-12	69-73?	3500?	$27,900	TTL		Followup to LINC-8    PDP-8/E	70-78	>10K?	 $6,500	TTL MSI	Omnibus    PDP-8/F	72-78?	>10K?	<$5K	TTL MSI Omnibus	Based on 8/E CPU    PDP-8/M	72-78?	>10K?	<$5K	TTL MSI Omnibus	OEM version of 8/F    PDP-8/A	75-84?	>10K?	 $1,317	TTL LSI Omnibus	New CPU or 8/E CPU    VT78	78-80		 $7,995	Intersil 6100	Workstation    DECmate I	80-84			Harris 6120	Workstation    DECmate II	82-86		 $1,435	Harris 6120	Workstation    DECmate III	84-90		 $2,695	Harris 6120	Workstation    DECmate III+85-90			Harris 6120	WorkstationAdditional information is available in part two of this FAQ, where allknown models of the PDP-8, along with variants, alternate marketingnames, and other peculiarities are given.The last years of the PDP-8 family were dominated by the PDP-8 compatiblemicroprocessor based VT78 and DECmate workstations.  The Intersil 6100,also known as the CMOS-8 chip, was developed in 1976; DEC also used thefollowup Harris 6120 microprocessors in many peripheral controllers for thePDP-11 and PDP-15 as well as in the DECmate series of systems.  While allof the earlier PDP-8 systems were open architecture systems, the DECmateshad closed architectures with an integrated console terminals and limitedperipheral options.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	TPA		 68?	Hungarian, a PDP-8/L clone, ran FOKAL        Electronica-100  ?	Russian, discrete transistor technology.        Electronica-100I ?	Russian, probably a PDP-8/I clone.	Electrotechnica-100I ?	Yugoslavian, PDP-8/I?  Possibly same as above.	Saratov-2	 ?	Russian, built like a PDP-8/M but bulkier.	SPEAR u-LINC 100 ?	SPEAR, Inc, Waltham Mass (a LINC clone!)	SPEAR u-LINC 300 ?	SPEAR, Inc, Waltham Mass (a LINC clone!)	DCC-112		 70	Digital Computer Controls, PDP-8/L clone.	DCC-112H	 71	Digital Computer Controls	MP-12		 74	Fabritek, PDP-8/L clone	6100 Sampler	 76?	Intersil, their IM6100 promotional kit	Intercept I	 7?	Intersil, based on IM6100	Intercept Jr	 7?	Intersil, based on IM6100	TLF MINI-12      77     Based on IM6100, in an elegant package.	PCM-12		 7?	Pacific CyberMetrix, based on Intercept bus	PCM-12A		 77	Pacific CyberMetrix, fixed to clock at 4MHz	SBC-8		 84-88	CESI, Based on IM6120, SCSI bus	------------------------------Subject: What about the LINC/8 and PDP-12?Wesley Clark and Charles Molnar, then at Lincoln Labs, built the LINC, orLaboratory INstrumentation Computer, as a personal laboratory computer,finishing the first in March 1962.  The machine was developed in responseto the needs of Mary Brazier, a neurophysiologist at MIT who needed betterlaboratory tools, and it was a followup to the Average Response Computer,an 18 bit special purpose machine built in 1958 for the same purpose.When Lincoln Labs decided that the LINC did not fit their mission, inJanuary 1963, the project moved to MIT, and then in 1964, to WashingtonUniversity in St Louis.  The National Institute of Health funded theproject as an experiment to see if coumputers would be a productive toolin the life sciences.  By the end of 1963, 20 LINCs had been built anddebugged, many by their eventual users.Over 24 LINC systems were built by customers before late 1964 when DECbegan selling a commercial version (see Computers and Automation, Nov.1964, page 43).  By the time DEC introduced the LINC-8, 43 LINC systemshad been installed (see Computers and Automation, Mar. 1966, page 34).In total, 50 LINC systems were built, 21 by DEC, 29 by customers (seeDigital at Work, page 52).  A photo of the last LINC in production useis available from http://www.mit.edu:8001/people/ijs/epl/LINC.htmlWesley Clark wrote a history of the LINC, "The LINC was Early andSmall", published in "A History of Personal Workstations," ACM Press,1988, page 347.The LINC was the first 12 bit minicomputer built using DEC hardware.Like the PDP-5 and other early DEC computers, it was built with SystemModules, DEC's first family of logic modules.  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 the common peripheralsneeded for lab work such as analog-to-digital and digital-to-analogconverters were all bundled into the LINC system.  Users judged it tobe a superb laboratory instrument.One of the major innovations introduced with the LINC was the LINCtape,designed by Tom Stockebrand scaled down from an experimental tape drivedeveloped for the TX-2 at Lincoln Labs.  LINCtapes could be carelesslypocketed or dropped on the floor without fear of data loss, and theyallowed random access to data blocks.  Stockebrand improved on this ideaslightly after he came to DEC, where the improved idea was calledDECtape; DECtape was widely used with all DEC computers made in thelate 1960's and early 1970's.The motives behind the development of LINCtape were the same motivesthat led IBM to develop the floppy disk almost a decade later, and infact, DECtape survived as a widely used medium until DEC introduced theRX01 8 inch floppy disk drive around 1975, and even after this, DECtapewas only slowly phased out.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.  The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 to be calledthe LINC-8/I, but it was sold as the PDP-12.  Both the LINC-8 and thePDP-12 had impressive consoles, with separate sets of lights andswitches for the LINC and PDP-8 halves.The success of the LINC-8 also led to the development of a clone, theSPEAR micro-LINC.  This machine used Motorola MECL integrated circuitsand was available for delivery in (June 1965? this date must be wrong!).The LINC-8 and PDP-12 could run essentially any PDP-8 or LINC program,with the exception of the few programs that relied on the primitiveinterrupt structure of the original LINC architecture; on the LINC-8,all interrupts were handled by the PDP-8 side of the hardware.  Becausethe LINC-8 and PDP-12 had instructions for switching between modes, anew body of software was developed that required both modes.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.Various versions of LAP, the Linc Assembly Program, were the dominantassemblers used on the LINC; the original version of LAP was a crossassembler written on the TX-2.  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.LAP6-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.  These were eventually displaced by the OS/8 variantknown as OS/12.------------------------------Subject: Where can I get a PDP-8 today?The IM6100 chip is still available (Electronic Expediters, (818)781-1910(in North America) listed them at US$23.50 each as of 10/1994), and CESImay still make their clone, for a high price, but you can't buy a newDEC PDP-8.  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.After about 1976, Reuters bought as many as 10,000 OMNIBUS basedmachines per year, with perhaps 2000 per year going to other customers.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.  An emulator is available from DECUS,catalog number RB0128; This and other emulators are available from:  ftp://sunsite.unc.edu/pub/academic/computer-science/history/pdp-8/emulators  ftp://ftp.cs.uiowa.edu/public/jones/pdp8/emulator.txt.Z  ftp://ftp.digital.com/pub/DEC/sim/sources/sim_2.2d.tar.ZThe final collection of emulators listed above includes emulators for theNova and other DEC machines as well as the IBM 1401.An emulator for the Apple Mac is available by E-mail from Bernhard Baehr(bb@informatik.uni-hannover.de).Finally, you can always build your own.  The textbook "The Art ofDigital Design," second edition, by Franklin Prosser and David Winkel(Prentice-Hall, 1987, ISBN 0-13-046780-4) uses the design of a PDP-8 asa running example.  Many students who have used this book were requiredto build working PDP-8 systems as lab projects.  "Modern VLSI Design - Asystem approch" by Wayne Wolf (1994 Prentice-Hall) use the PDP-8 as adata-path example.It is worth noting that there are a sufficient number of PDP-8 systemsstill operational that some companies still manufacture peripherals.For example, Storage Computer (http://www.storage.com/) makes RK05compatable semiconductor "disk drives" that can be directly connected tothe Omnibus RK05 controllers of the PDP-8/E,F,M and A.------------------------------Subject: Where can I get PDP-8 documentation?The key documents published by DEC describing each model of the PDP-8are all 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 out.Douglas Jones has made a small number of bound photocopies of DEC's1973 introduction to programming, perhaps the definitive introductionto the PDP-8, and the other early DEC handbooks need similar treatmentbefore they all crumble.Some PDP-8 refernce material has been transcribed into Hypertext formatand is available over WWW from:	http://www.cs.uiowa.edu/~jones/pdp8/index.htmlMaintenance manuals are harder to find, but more valuable.  If you needone, you usually need to find someone willing to photocopy one of thefew surviving copies.  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.  The most difficult to copymaterial is the large prints, many of which would be quite useful ifphotoreduced, but this is expensive.------------------------------Subject: 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 mid 1970's.  This included a paper-tape basedtext editor, the PAL III and MACRO-8 assembler, and a FORTRAN compiler,as well as a library of support routines.  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.  Note that much of thispaper-tape-based software is based on memory-use and I/O conventions thatare incompatible with later disk-based systems.The DECtape Library System was a DECtape oriented save and restore systemthat was available from the start.  The resident portion of this systemoccupies only 17 words of memory (7600-7625 octal), and it allowed savingand restoring absolute core images as named files on a reel of DECtape.Initially, program development was still done with paper tape, and onlyexecutable memory images were stored on DECtape, but eventually, a limitedDECtape-based text editor was introduced, along with a DECtape basedassembler.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).It was quite slow, but it also used very little of the available memory.MS/8 or the RL Monitor System, was developed starting in 1966 byRichard F. Lary; it was submitted to DECUS in 1970.  This was a diskoriented system, faster than the above, with tricks to make it runquickly on DECtape based systems.POLY BASIC was a BASIC only system submitted to DECUS and later sold byDEC as part of its EduSystem marketing program.  EduSystem 25 Basicis available from:	ftp://nickel.ucs.indiana.edu/pub/DEC/PDP8/Langs/Edu25BasicP?S/8 was developed starting in 1971 from an MS/8 foundation.  It runson minimal PDP-8 configurations, supports somewhat device independantI/O and requires a random-access device for the file system (DECtape israndom-access!).  P?S/8 runs compatibly on most PDP-8 machines includingDECmates, excepting only the PDP-8/S and PDP-5.  P?S/8 is still beingdeveloped!Richard F. Lary developed a system called the Fully Upward CompatibleKeyboard Monitor; and between a Wednesday and the following Friday, aprototype was up and running from DECtape.  The original intention ofthis project was to build a programming environment for the PDP-8 thatlooked like TOPS-10 on the PDP-10.  A year later, this was released asProgramming System/8 (or PS/8), and then renamed OS/8 in 1971 becauseEli Glaser (a salesman from Long Island) said he could sell more systemswith an operating system than with a programming system, and because, byrenaming the system, DEC could increase the price despite Nixon'swage-price freeze.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.  RX01 images ofOS/8 Version 3Q are available, with DEC's free non-commercial use licence,from:	ftp://ftp.cs.uiowa.edu/public/jones/pdp8/os8distr.txt.Z	ftp://ftp.digital.com/pub/DEC/sim/software/os8swre.tar.ZThe second site above also includes an incomplete but useful RK05 imageof OS/8 Version 3R.OS/8 V3D was renamed OS/78 (to match the VT78), and in followups to thisdistribution, support for Omnibus machines was no longer important.  OS/78V4 was developed for the DECmate I, and the name OS/278 used for theversions released with later DECmate machines.  These have unnecessaryincompatabilities with earlier versions of OS/8.  OS/278 and relatedmaterial is available from DECUS as catalog item 800941, or from:	ftp://ftp.telebit.com/pub/pdp8/os278	ftp://ftp.update.uu.se/pub/pdp8	ftp://sunsite.unc.edu/pub/academic/computer-science/history/pdp-8/os8Some OS/8 documentation is available on line from:	ftp://ftp.dbit.com/pub/pdp8/docOS8 (no slash) may still be viable.  It requires 8K of main memory, anextended arithmetic unit, and DECtape hardware.  Unlike most PDP-8operating systems, it uses a directory structure on DECtape compatiblewith that used on the PDP-10.The timesharing system TSS-8 was developed by Don Witcraft and John Everettat DEC, starting in late 1967, and with the first beta sites up and runningin the fall of 1968.  This was based on a protection architecture proposed byAdrian Van Der Goor, a grad student of Gordon Bell's at Carnegie-Mellon.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.The first installation was at Lexington High School in Massachusetts,and the second was at Northern Arizona University.  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 or paper-tape environments.Other timesharing systems developed for the PDP-8 include MULTI-8, ETOS,MULTOS, and OMNI-8; some of these required nonstandard memory managementhardware.  By the mid 1970's, some of these were true virtual machineoperating systems in the same spirit as IBM's VM-370; they typicallysupported some version of OS/8 running on a 32K virtual PDP-8 assignedto each user.  Some could support different user operating systems oneach virtual machine, others supported addressing of more than 4K fordata, but limited code to field zero of a process's virtual memory.The source for MULTOS is available from:	ftp://ftp.update.uu.se/pub/pdp8/multos8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.RTS/8 was a real-time system developed by DEC, developed from an earliersystem, SRT8, dating back to at least 1974.  Curiously, even the lastversions of RTS/8 continued to support paper-tape and DECtape.  Sourcecode for most of the versions of RTS and SRT are available from:	ftp://sunsite.unc.edu/pub/academic/computer-science/history/pdp-8/rts8WPS was DEC's word processing system, developed for the 8/E with a VT50terminal with special WPS keycaps replacing the standard keycaps, andwidely used on the 1980's vintage machines.  It was heavily promoted onthe VT-78, and when the DECmates came out, DEC began to suppress knowledgethat DECmates could run anything else.  WPS-11 was a curious distributedsystem using a PDP-11 as a file server for a cluster of VT-78 WPS systems.DECmate/WPS Version 2.3 is available from DECUS for the DECmate II andDECmate III under the catalog entry DM0114.COS-310, DEC's commercial operating system for the PDP-8, supported theDIBOL language.  COS-310 was a derivative of MS/8 and OS/8, but with anew text file format.  The file system is almost the same as OS/8, butdates are recorded differently, and a few applications can even run underboth COS and OS/8.  COS was the last operating system other than WPSpromoted by DEC for the DECmates.------------------------------Subject: What programming languages are supported on the PDP-8The PAL family of assembly languages, particularly PAL III and PAL8 areas close to a standard assembly language as can be found for the PDP-8;these are included with all OS/8 distributions.  They produce absoluteobject code and there are versions of PAL for minimally configuredmachines, although these have severe symbol table limitations.  Crossassemblers that are somewhat compatable with PAL can be obtained from:	ftp://ftp.cs.uiowa.edu/public/jones/pdp8/pal.c.Z	ftp://sunsite.unc.edu/pub/academic/computer-science/history/pdp-8/emulators/grayMACRO-8 was DEC's first macro assembly language for the PDP-8, but itwas rarely 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 (developed by ICS); it is includedwith the standard OS/8 software distributions.  MACREL was developed in(unfulfilled) anticipation of similar use.  MACREL was heavily used bythe DECmate group at DEC.  MACREL is available from	ftp://ftp.update.uu.se/pub/pdp8/os8RALF, the relocatable assembler supporting RTPS FORTRAN is also includedin OS/8 standard distributions.  FLAP, an absolute assembler, was derivedfrom RALF.  Both SABR and RALF/FALP are assemblers that handle theirintended applications but have quirky and incompatible syntax.A subset of FORTRAN was supported on both the PDP-5 and the originalPDP-8.  Surviving documentation describes a DEC compiler written in 1964by Larry Portner, nicknamed "Fivetran", 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, and was also adapted to the Disk MonitorSystem (the latter version had overlay support that was never carriedforward into more modern systems).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).  Versions of FORTRAN is available from	ftp://ftp.update.uu.se/pub/pdp8/os8FOCAL, an interpretive language comparable to BASIC, was available onall models of the family, including the PDP-5 and PDP-8/S.  Versions ofFOCAL run under OS/8, P?S/8 and other systems, and there were many specialpurpose overlays for FOCAL developed by DEC and by various users.  DEC'slater FOCAL releases for the PDP-8 included code to deliberately introducesubtle bugs when run on a DCC 112 computer!  Various versions of FOCALare available from:	ftp://nickel.ucs.indiana.edu/pub/DEC/PDP8/Langs/Focal	ftp://ftp.cs.uiowa.edu/public/jones/pdp8/coreimages.txt.ZMany versions of BASIC were also available, from DEC and other sources.DEC BASIC was widely used on PDP-8 systems sold under the EduSystemmarketing program.  A paper-tape version was available that ran in 4Kand was compatible with disk based systems, versions distributed withOS/8 and TSS-8, an 8K stand-alone time-sharing version was available,and there were others.  EduSystem 25 Basic is available from:	ftp://nickel.ucs.indiana.edu/pub/DEC/PDP8/Langs/Edu25Basic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.  One version is availablefrom:	ftp://nickel.ucs.indiana.edu/pub/DEC/PDP8/Langs/Algol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.A Pascal S interpreter, requiring a 28K PDP-8/E configuration, is availablefrom:	ftp://nickel.ucs.indiana.edu/pub/DEC/PDP8/Langs/PascalA LISP interpreters was written for the PDP-8; the original versionran in 4K (originally written in Germany?); a disassembled and commentedversion of this was the basis of expanded versions that eventuallycould utilize up to 16K.  One version of LISP is available from:	ftp://nickel.ucs.indiana.edu/pub/DEC/PDP8/Langs/LispPOLY SNOBOL was a version of SNOBOL that was somewhere betweenGriswold's definitions of SNOBOL 3 and SNOBOL 4.TECO, the text editor, was included in the standard OS/8 distributions andis a general purpose language (the Emacs editor began as a set of Tecomacros!).  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 F. Lary and Stan Rabinowitz made itmore compatible with other versions of TECO, and the result of this workis the version distributed by DECUS (catalog number 110450 is the manual).RT-11 TECO for the PDP-11 is a port of this code.DECUS also lists the PAGE8 language (catalog numbers 800936), the VISTAeditor (catalog number 800938), and the ICE text editor (catalog number800939).------------------------------Subject: Where can I get PDP-8 software?DEC is still making computers, but they've largely forgotten about thePDP-8.  The main DEC WWW server is	http://www.digital.com/DECUS, the DEC User Society, is still alive and well, and their submissionform still lists PAL8 and FOCAL as languages in which they acceptsubmissions!  The DECUS library catalog is available on-line atdecus.org; www access is through gopher.decus.org or	http://www.decus.org/To quote the README file from the DECUS on-line catalog, "Items fromolder DECUS Library catalogs are still also available (provided theirmedia can still be read), but machine readable catalog information isnot available for these."  Direct questions by E-mail toINFORMATION@DECUS.ORG.Bob Supnik at DEC has rescued OS/8 from oblivion within DEC and hasmanaged to get DEC to grant a non-commercial free-use licence for OS/8to all who wish to use it.  In addition, he has released a demonstrationversion of OS/8 for his PDP-8 emulator, available with a copy of thefree-use licence from:	ftp://ftp.digital.com/pub/DEC/sim/software/os8swre.tar.ZThe following anonymous FTP sites also contain publically accessablearchives of PDP-8 software and other information:#	ftp://ftp.telebit.com/pub/pdp8	ftp://ftp.update.uu.se/pub/pdp8	ftp://nickel.ucs.indiana.edu/pub/DEC/PDP8	ftp://ftp.cs.uiowa.edu/pub/jones/pdp8	ftp://sunsite.unc.edu/pub/academic/computer-science/history/pdp-8The latter archive also maintains an archive of traffic in alt.sys.pdp8in the directory ...pdp8/usenet and an archive of traffic in thepdp8-lovers mailing list in .../pdp8/pdp8-lovers.The archive at Indiana contains source code for many PDP-8 compilers andinterpreters, as well as common utilities and games.------------------------------Subject: Where can I get additional information?The companion faq on PDP-8 models and options contains a detailed productionhistory of the PDP-8 as well as a high level description of incompatabilitiesbetween models.  This is available from:	http://www.cis.ohio-state.edu/hypertext/faq/usenet/dec-faq/top.html	http://www.smartpages.com/bngfaqs/alt/sys/pdp8/top.html	http://www.cs.ruu.nl/wais/html/na-dir/dec-faq/.htmlThe file WHAT-IS-A-PDP8, by Charles Lasner contains considerableadditional information; this file is available by ftp from:	ftp://ftp.telebit.com/pub/pdp8/WHAT-IS-A-PDP8A modest attempt at an on-line PDP-8 manual is available from:	http://www.cs.uiowa.edu/~jones/pdp8/man/The mailing list pdp8-lovers@zach1.tiac.net reaches a number of PDP-8owners and users, not all of whom have USENET feeds.  (This list does notaccept postings from nonsubscribers; to subscribe, send 'subscribe' asthe body of an E-mail message to pdp8-lovers-request@zach1.tiac.net).This mailing list replaces the older list pdp8-lovers@ai.mit.edu, whichwas destroyed by repeated commercial spamming.  The server also offerssubscribers access to an archive of traffic on the list.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 accurate and complete(but difficult to read).------------------------------Subject: 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 make much practical use of it.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, have built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 was farbetter documented and far more open.Preservation of the PDP-8 has proven to be of immense practical valuein defending against the rising tide of patents in the area ofinteractive graphics.  For example, when Sanders Associates sued theOdyssey division of Magnavox, the key testimony in this suit was SteveRussell's Spacewar, originally written for the PDP-1 in the fall of 1961.The fact that documented versions of Spacewar and other computer gamesdating back to the early 1960's could still be run on a surviving LINC-8apparently played an important part in arriving at an out-of-courtsettlement that ended, for practical purposes, the Sanders claim tothe technology behind all video games.  It is far easier to prove thatsome software technology existed by demonstrating it on original hardwarethan by waving a dusty listing in front of someone's face!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.------------------------------Subject: Who's Who?You can't beat the book Digital at Work (Digital Press, 1992) for shortwriteups on the people inside DEC who made the PDP-8!C. Gordon Bell is generally credited with the original design of thePDP-8.  He was also involved with recommending what became the PDP-11when that design was competing with the design that probably became theNOVA, and as vice president of research, he oversaw the development ofthe DEC VAX family.Alan Kotok worked with Bell in working up the original specificationsof the PDP-8.Edson DeCastro was a key man in the design of the PDP-5 through thePDP-8/L, then founded Data General to build the Nova.Ben Gurley designed most of the big DEC machines, starting with thePDP-1.  The actual design work on the -8, however, was done by EddeCastro, who later founded Data General to build the Nova.Ken Olson ran DEC from the beginning.Ed Yourdon, who later became well known as a programming methodologyguru, helped hack up the PAL III assembler for the -8 from PAL II.Richard Merrill invented FOCAL and wrote the original (1968) and classicFOCAL-69 interpreters for the PDP-8.  He also did early translations ofthe interpreter to PDP-7/PDP-9 code and perhaps the earliest PDP-11version.  In addition, he wrote the EDIT-8 paper-tape based text editorbased on the FOCAL built-in text editor.Richard F. Lary developed the RL Monitor System, and then went on todevelop OS/8, with help from Ed Friedman and another programmer namedPaul, under the management of Chuck Conley.Charles Lasner developed P?S/8, and he is widely known as a leader inthe movement to preserve these historic machines.  He created thealt.sys.pdp8 newsgroup.Wesley Clark developed the LINC while working at Lincoln Labs; this wasthe first 12 bit minicomputer built with DEC parts.Mary Allen Wilkes Clark developed the early LAP programs for the LINC.Don Witcraft wrote the TSS-8 scheduler, command decoder and UUOhandler, after working on the first swapping monitor for the PDP-10.John Everett wrote the disk handler, file system, TTY handlerand  680-I service routine for TSS-8, after working on the Disk MonitorSystem and PAL-D, the first disk-based version of PAL.Douglas W. Jones wrote this FAQ, but prior to the summer of 1992, he'dnever used a PDP-8.  He has also written a report on how to photocopyand archivally bind ailing paperback books such as DEC's handouts, aPAL-like cross assembler in C, and a UNIX-based PDP-8 emulator.------------------------------End of PDP-8 Frequently Asked Questions (posted every other month)******************************************************************