home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: alt.sys.pdp8
- Path: sparky!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 <L,AC>.
-
- 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 <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 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 <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
- 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.
-