home *** CD-ROM | disk | FTP | other *** search
/ ftp.update.uu.se / ftp.update.uu.se.2014.03.zip / ftp.update.uu.se / pub / pdp11 / faq < prev    next >
Text File  |  1996-12-11  |  94KB  |  2,000 lines

  1. The PDP-11 FAQ
  2.  
  3.  
  4. Introduction
  5.      The PDP-11 was, and is, an extremely successful and influential
  6.      family of machines which has spanned over two decades from the early
  7.      1970s through the mid 1990s. This note is an attempt to gather
  8.      some of the knowledge on this family and present it for the benefit
  9.      of those who are enthusiasts, curious, or downright confused as to
  10.      what the -11 was and is, and how it related and still relates to its
  11.      world.
  12.  
  13.      The information presented is compiled from the memory and
  14.      notebooks of both myself and a number of people who have filled in
  15.      the many gaps in my memory or set me straight on certain details.
  16.      Feel free to mail any of the maintainers at faq11@village.org
  17.      with any data you feel should be included, corrected or updated.
  18.  
  19. Contents
  20.  
  21. - What is a PDP?
  22. - What is a PDP-11?
  23. - What different PDP-11 models were made?
  24. - Differences between the 11/70 and the 11/83, 11/93.
  25. - Other fun PDP11's.
  26. - The Never 11's
  27. - Non-DEC 11's
  28. - Part Number Format
  29. - PDP-11 Relative Performance
  30. - What operating systems were written for the PDP-11?
  31. - What programming languages are supported on the PDP-11?
  32. - Memory address convention (for this FAQ), and the GPRs
  33. - What is the PDP-11 instruction set?
  34. - The PDP-11 Maintenance Panel and front panel 
  35. - Trivia/Humour/Stories
  36. - Who's Who?
  37. - Mark Crispin's 1986 list of PDP's 
  38. - Appendix A: Related FAQ Sites
  39. - Appendix B: Where can I buy [whatever] for my PDP-11?
  40. - Editors/Maintainers of the PDP-11 FAQ
  41. - Revision History
  42.  
  43. ========================================================
  44. What is a PDP?
  45. Extracted from the PDP-8 FAQ By Doug Jones.  Used with his permission.
  46.  
  47. Digital Equipment Corporation (DEC) was founded in 1957, with
  48. facilities in an old woolen mill in Maynard Massachusetts; at first,
  49. they sold transistorized "systems modules", plug-in circuit boards
  50. with a few transistorized logic gates per board.  Starting in 1960,
  51. though, DEC began to experiment with selling computers; by 1961, they
  52. had sold enough that DECUS, the Digital Equipment Computer User's
  53. Society was founded.
  54.  
  55. DEC's first computer, the PDP-1, sold for only $120,000 at a time
  56. when other computers sold for over $1,000,000.  Everyone (the
  57. government and DEC's stockholders included) knew that computers were
  58. big and expensive and needed a computer center and a large staff; DEC
  59. chose to avoid dealing with these stereotypes by entirely avoiding the
  60. term "computer"; thus, for over a decade, all digital computers sold
  61. by DEC were called Programmed Data Processors (PDPs).  In early DEC
  62. documentation, plural form "PDPs" is used as a generic term for all
  63. DEC computers. [Ken Olsen claimed that the board of directors would
  64. not let him call the machines computers because some contemporary
  65. study had predicted that the world market for computers would be very
  66. small - less than 100 if memory serves.  They were mollified with
  67. Programmed Data Processor, however, and PDP lives to this
  68. day. -MMcC]
  69.  
  70. DEC built a number of different computers under the PDP label, with
  71. a huge range of price and performance.  The largest of these are fully
  72. worthy of large computer centers with big support staffs.  Many early
  73. DEC computers were not really built by DEC.  With the PDP-3 and LINC,
  74. for example, customers built the machines using DEC parts and
  75. facilities.  Here is the list of PDP computers:
  76.  
  77.     MODEL  DATE  PRICE     BITS  COMMENTS
  78.     =====  ====  ========  ====  =====
  79.     PDP-1  1960  $120,000  18    DEC's first computer
  80.     PDP-2            NA    24    Never built?
  81.     PDP-3                  36    One was built by a customer, none by DEC.
  82.     PDP-4  1962            18    Predecessor of the PDP-7.
  83.     PDP-5  1963   $27,000  12    The ancestor of the PDP-8.
  84.     PDP-6  1964  $120,000  36    A big computer; 23 built, most for MIT.
  85.     PDP-7  1965  ~$60,000  18    Widely used for real-time control.
  86.     PDP-8  1965   $18,500  12    The smallest and least expensive PDP.
  87.     PDP-9  1966   $35,000  18    An upgrade of the PDP-7.
  88.     PDP-10 1967  $186,500  36    A PDP-6 successor, great for timesharing.
  89.     PDP-11 1970   $10,800  16    DEC's first and only 16 bit computer.
  90.     PDP-12 1969   $27,900  12    A PDP-8 relative.
  91.     PDP-13           NA          Bad luck, there was no such machine.
  92.     PDP-14                       A ROM-based programmable controller.
  93.     PDP-15 1970   $16,500  18    A TTL upgrade of the PDP-9.
  94.     PDP-16 1972 $.8-$4,000 NA    8/16  A register-transfer module system.
  95.  
  96. Corrections and additions to this list are welcome!  The prices
  97. given are for minimal systems in the year the machine was first
  98. introduced.  The bits column indicates the word size.  Note that
  99. the DEC PDP-10 became the DECSYSTEM-20 as a result of marketing
  100. considerations, and DEC's VAX series of began as the Virtual
  101. Address eXtension of the never-produced PDP-11/78.
  102.  
  103. It is worth mentioning that it is generally accepted that the Data
  104. General Nova was originally developed as the PDP-X, a 16-bit
  105. multi-register version of the PDP-8.  A prototype PDP-X was built at
  106. DEC before the design was rejected.  This and a competing 16-bit
  107. design were apparently submitted to Harold McFarland at Carnegie-Mellon
  108. University for evaluation; McFarland (and perhaps Gordon Bell, who was
  109. at C-MU at the time) evaluated the competing designs and rejected both
  110. in favor of what we know as the PDP-11.  (A less common version of
  111. this story is that the reason that DEC never produced a PDP-13 was
  112. because the number 11 was assigned to what became the Nova; this is
  113. unlikely because the PDP-X prototype came before the PDP-11.)  Both
  114. DEC and Data General are quiet about these stories.
  115.  
  116. Today, all of the PDP machines are in DEC's corporate past, with the
  117. exception of the PDP-11 family of minicomputers and microprocessors.
  118.  
  119. Of course, occasionally, some lab builds a machine out of DEC
  120. hardware and calls it a PDP with a new number.  For example, the
  121. Australian Atomic Energy Commission once upgraded a PDP-7 by adding
  122. a PDP-15 on the side; they called the result a PDP-22.  See Mark
  123. Crispin's 1986 list of PDP's elsewhere in this document.
  124.  
  125. ========================================================
  126. What is a PDP-11?
  127. Evolution of the PDP-11 family of computers.
  128.  
  129. During the late 1960s DEC had built a successful business based mainly
  130. on the success of its 12-bit PDP-8 series of minicomputers.  However,
  131. the time had come for the introduction of a 16-bit machine to
  132. replace/supercede the -8. Edison DeCastro designed a 16-bit machine,
  133. but after a disagreement left DEC, formed DG, and built the initial
  134. success of that company on his 16-bit NOVA. There was much rancor
  135. surrounding the events of DeCastro leaving DEC and setting up
  136. DG. Stories abound as to the reasons of the bitterness, but I have
  137. never been able to get an authoritative source to confirm what really
  138. happened.
  139.  
  140. DEC eventually countered with its entry into this market segment -
  141. the PDP 11/20. This machine was to father a whole industry; lay the
  142. foundations on which the VAX would later be built; and virtually
  143. launch the OEM industry attracted to the connectability and
  144. extendability of the UNIBUS, and later, Q-Bus. Indeed, Computer
  145. Engineering by Bell/Munge/McMcNamara refers to the VAX-11/780 as being
  146. another -11 rather than the start of a new and different family. The
  147. early VAXes, of course, had PDP-11 compatability mode built in, and
  148. many VMS utilities were taken from RSX and run in compatability mode
  149. for a number of years until eventually replaced by native mode
  150. utilities sometime around VMS V3.0.
  151.    
  152. Since then, the PDP-11 had 16 to 22 implementations, depending on
  153. how you count them, many with variants. The following attempts to
  154. briefly track the evolution and progression.
  155.  
  156. In 1969 the -11 family was projected as follows:
  157.  
  158.    Model  CPU   Comments
  159.    ------ ----- ----------------------------------------
  160.    11/20  KA11  Origin of the species 1x performance.
  161.    11/10   -    .7 of the 11/20, technologically cost reduced 11/20 in
  162.                 MOS. [This obviously became the 11/05, 11/10]
  163.    11/30  KA11  [Seems to have been the same as an 11/20 packaged with a
  164.                 little more memory, etc. I believe this is what
  165.                 eventually became the 11/20 that actually shipped]
  166.    11/40  KB11  2x performance. 
  167.    11/45  KB11  2x performance. [Seems to have been intended to be an 11/40
  168.                 with MMU. [Looks like this became the 11/40 that
  169.                 eventually shipped.]
  170.    11/50  KC11  2x performance. Hardware floating point 32 bit
  171.                 processor.  [I believe the 32 bit refers to the FPU!]
  172.    11/55  KC11  2x performance. With MMU. [It looks like the 11/50 plus 11/55
  173.                 became the eventual 11/45]
  174.    11/65  KD11  4x performance. 32 bit seperate memory bus, 32 bit processor.
  175.  
  176. It is interesting to note how things progressed in reality.
  177. Technology allowed, and the market drove, the production, within a
  178. couple of years, of machines considerably in advance of what was
  179. envisaged on April 3 1969. It is also interesting to note that some
  180. people were already thinking 32 bits!
  181.  
  182. ========================================================
  183. What different PDP-11 models were made?
  184.  
  185. - Jun 1970:
  186.      11/20, 11/15 born. Small Scale integration. 4 or 8k words
  187.      mem, 28k max. (Some documentation referred to 32k max memory, but
  188.      the top 4k was reserved for the I/O space. Machines with 28 KW core
  189.      were rare, and most were shipped with 4 KW or 8 KW). Magnetic Core
  190.      Memory.  TTY ASR33 console. Papertape reader/punch typical I/O.
  191.      Clock State cpu control.  [All subsequent PDP-11 machines were to
  192.      be microcoded]. The processor boards, all 15+(?) of them plugged
  193.      into a 3 bank 4 x 6 slot backplane. Each 4 KW of memory occupied a
  194.      further 4 x 6 slot backplane with some 13(?) modules. There was
  195.      room in the 11" CPU drawer for three or four (?) such backplanes.
  196.  
  197.      Q: Why has the 11/20 18 bit addresses on the UNIBUS but only a
  198.      CPU capable of handling 16 address bits ?)
  199.  
  200.      A: Because it was always intended to provide an MMU option to
  201.      allow for extended addressing.
  202.  
  203.      No matter what memory configurations, 16 bit, 18 bit or 22
  204.      bit were to be employed throughout the life of the PDP-11 family,
  205.      the top 8 KB were always reserved for I/O addresses, registers, etc.
  206.      In particular (list provided by Megan Gentry):
  207.  
  208.      - The I/O page is 8 KB standard
  209.      - Some systems (PDT) have 4 KB I/O pages
  210.      - Some systems can be configured for 4 KB I/O pages
  211.      - There is a quirk in the memory management units
  212.        which cause the microcode to assume an 8 KB I/O page
  213.        regardless of the jumper configuration - so, if you have a
  214.        system configured for a 4 KB I/O page and turn on the memory
  215.        management unit, the system will suddenly think it has an 8 KB
  216.        I/O page.  This can cause, for example, RT-11XM to go south
  217.        really quickly.
  218.      - The address of the I/O page (8 KB) is, on 16-bit systems,
  219.        160000.  On 18-bit systems, 760000.  And on 22-bit systems,
  220.        17760000.
  221.  
  222. - Jun 1972
  223.      11/45. This was the first of the highspeed processors that begat
  224.      11/50, 11/55 and 11/70. 11/45 was microcoded, SSI/MSI, memory
  225.      bus, core, MOS or bipolar memory. Max Memory 256 KB addressable
  226.      via optional 18 bit Memory management unit. Optional Floating
  227.      Point Unit. 11/55 had special bipolar high speed mem. Fast
  228.      peripheral to memory slots Split I&D spaces. Introduced some
  229.      extra instructions such as MUL, DIV, ASH, ASHC, SPL. The 11/45,
  230.      /50 and /55 had the same CPU - the differences being in memory
  231.      types, bus layouts, etc.  The 11/70 was to have essentially the
  232.      same cpu, with modifications to allow for Cache, 22-bit
  233.      addressing and, for the first time, non-Unibus memory.
  234.  
  235.      The PDP-11/45/50/55 had two Unibuses, normally joined by a single
  236.      spaced jumper. The second Unibus has no arbitration, and was part
  237.      of dual-ported fastbus memory. If you had fastbus memory (which
  238.      made a 45 a 50 or 55), a second processor could access the
  239.      memory. The only problem was that with the Unibus A and B split,
  240.      DMA devices on Unibus A could not see the fastbus memory.  I [not
  241.      MMcC] had a PDP11/50 and PDP11/20 set up in such a fashion, with
  242.      the PDP11/20 doing high speed A/D sampling and signal averaging
  243.      using shared memory with the PDP11/50.
  244.  
  245.      The fastbus memory is an independent high speed data bus internal
  246.      to the 11/45 xx processors, with up to two solid state memory
  247.      controllers and had each controller had two ports one for the CPU
  248.      and the other available for a second Unibus where concievably a
  249.      high speed DMA device could directly write to the memory. The DMA
  250.      device on the `second' bus had to have a Unibus priority
  251.      arbitration system, so you could in fact connect another CPU to
  252.      it a bit like the DTS07's in concept.  Note that, just to confuse
  253.      the issue, this is not the same as the product/feature later
  254.      marketed as FASTBUS.
  255.  
  256.      KB-11 was the original /45 cpu, and used the FP-11 asynchronous
  257.      FPP. Later machines under the /45 label were core memory /55s.
  258.  
  259. - Jan 1973
  260.      11/40, 11/35. Price same as 11/20, higher performance. (See
  261.      tables and chart below for relative performance of the various
  262.      PDP-11 processors) Small- and Medium-Scale Integration.
  263.      Architecture of CPU like 11/45 without the raw power. Memory
  264.      Management Unit, EIS/FIS Extended and Floating instruction sets
  265.      as options.  Introduced with Core memory, and later with MOS.
  266.      Microcoded. Max Memory 256 KB. Extra instructions such as SOB XOR
  267.      MARK SXT and RTT introduced. MUL, DIV etc implemented in the EIS
  268.      option.
  269.  
  270. - Jun 1972
  271.      11/05, 11/10. Performance same as 11/20, lower price.
  272.      Microcoded.  2-board processor. New 8 KW 3-board core memories
  273.      were introduced with the /05 and /40. Later on, 16 KW memories
  274.      were used before core got supplanted my MOS Memory. I remember
  275.      these memories spec'd for a 980ns read/write cycle. I also
  276.      remember the 11/05 CPU boards having the most green ECO wires I
  277.      had ever seen on a machine. The cost of adding those wires
  278.      manually must have, on reflection, added significantly to the
  279.      cost of manufacture of the 11/05. Later board revisions
  280.      eliminated these almost completely.  It is interesting to
  281.      consider that modern design, simulation and testing tools has
  282.      virtually eliminated the ECO wire practice - a practice that we
  283.      took for granted during the '70s and early '80s.
  284.  
  285.      The /05 front panel has the following control switches:
  286.  
  287.             LOAD ADRS   EXAM    CONT   ENABLE/  START  DEP
  288.                                        HALT
  289.  
  290.      When HALTed, the CONTinue key performed a single instruction per
  291.      key depression (as do all the other 11's with front panels.)
  292.  
  293.      There is a single 16 bit ADDR/DATA multiplexed display and a
  294.      single RUN status light.  The power switch has the following
  295.      positions : OFF / POWER / PANEL LOCK.
  296.  
  297. - Mar 1975
  298.      11/70. CPU very similar to 11/45 in raw performance. Machine
  299.      introduced with had core initially and MOS later. These machines
  300.      introduced Cache, 22-bit Memory management of up to 4
  301.      MB. Optional Floating point processors. Massbus periperal
  302.      controllers which had a direct path to memory first appeared on
  303.      this machine. Note that MASSBUS (RH70's) adapters attached
  304.      directly to memory were unique to the 11/70 -- MBAs only
  305.      otherwise appeared on different series (PDP-10, VAX etc).  Unibus
  306.      systems could use MASSBUS peripherals, but the controllers
  307.      (RH11's) spoke over the Unibus and lost most of the speed
  308.      advantage. While this machine was not the fastest -11 (that title
  309.      belongs to the bipolar memory equipped 11/55), no other -11 could
  310.      approach the 11/70 in terms of I/O throughput over its multiple
  311.      massbus/memory bus architecture.
  312.  
  313.      The KB-11B was the original 70 cpu. Similar to the KB11 based
  314.      11/45, plus unbus map, 22-bit, MBCs etc.  The 11/70 had the
  315.      `feature' of the slowest bus of ANY -11. And when a UNIBUS
  316.      peripheral did DMA, EVERYTHING stopped! This is one of
  317.      the reasons the Seti upgrades are so good. They enable the RHs,
  318.      CPU, and UNIBUS to all operate in parellel.
  319.  
  320.      KB-11C: The FP-11 proved `featureful' in practice, and was
  321.      replaced with a faster synchronous FP-11C. This required the
  322.      `FP-11C compatible KB-11.'
  323.  
  324.      The 11/70 was a 18 month overnight wonder to fill the gap left by
  325.      the late development of the 32-bit wonder box! :-) 
  326.  
  327.      The C/D cpus used the FP-11C FPP. In fact, the KB-11C is referred
  328.      to as the `FP-11C compatible KB-11' in some manuals. 
  329.  
  330.      - Relative CPU performance: 0.60  (VAX780 = 1.0)
  331.      - Technology:               SSI/MSI TTL
  332.      - I/O Bus Capacity:         4 MASSBUS ports
  333.      - Space Requirements:       9.0 square feet (2 H960)
  334.      - Power Requirements:       6,000W
  335.  
  336. - 1975 (ish)
  337.      LSI-11, first of the microprocessor -11s, implemented on 4
  338.      chips. Used the T(iny)-11 chipset from Western Digital First of
  339.      the Q-bus machines (All others above were UNIBUS).  Implemented
  340.      on a single quad height board. Performance approximately equalled
  341.      that of the 11/05. Minimal size. Aimed at OEM imbedded
  342.      controllers etc.
  343.  
  344. - Jun 1976
  345.      11/55 had special high speed (300 ns) bipolar mem. Floating point
  346.      as option. Kernel, Supervisor and User CPU operating modes.
  347.      Otherwise identical to 11/45. Interestingly, a table in
  348.      Bell/Mudge/McNamara's Computer Engineering (page 406) shows the
  349.      11/55 performance relative to the 11/03 for basic instructions
  350.      per second as 41 (vs 36 for the /70) and Whetstones of 725 (vs
  351.      671 for the /70). Obviously the 300 ns bipolar memory made a
  352.      difference in raw performance. Of course this system could not
  353.      approach the /70 in throughput.
  354.  
  355.      KB-11D The 18 bit version of the C. used in /55s and very late
  356.      /45s.  I think all /50s were KB-11 cpu's. (PaulR)
  357.  
  358.      The big difference between a /50 and a /55 is the /55 is a KB-11D,
  359.      not a KB-11 cpu:
  360.  
  361.      - KB-11:   11/45, 11/50
  362.      - KB-11B:  11/70
  363.      - KB-11C:  11/70
  364.      - KB-11D:  11/55
  365.      - KB-11Cm: 11/74*
  366.      - KB-11E:  11/74* that never shipped.
  367.  
  368.      * See the Never 11's section.
  369.  
  370. - 1976 (ish)
  371.      LSI-11/2 (11/21?) KD11-HA. Double height module follow-on to
  372.      LSI-11.  Performance of an 11/05, but priced much less.  Qbus.
  373.      Lacks onboard memory and WCS chip socket.  Basically the same
  374.      chipset.  Both used in PDP-11/03 systems.  LSI-11 sucks more
  375.      power than the LSI-11/2.
  376.  
  377.      The LSI-11/2 chipset was not the T-11, but simply "the LSI-11
  378.      chipset," manufactured by WDC for DEC. The T-11 is a similar
  379.      architecture on a single 40-pin DIP that was used only in the
  380.      Falcon SBC-11/21 and a few controllers (e.g. RQDX3, DEUNA).
  381.      FIS/EIS upgrade microms (MICrocode ROMS) were available for the
  382.      LSI-11, and at least on the PDT-11s there was a special 2-in-1
  383.      version of the regular CPU microms that would free up a socket
  384.      for the FIS/EIS microm.
  385.  
  386.      The T-11 was also used in the KXT11-CA Quad width `communications
  387.      processors' that allowed you to have multiple CPU's on the Qbus
  388.      per se.
  389.  
  390. - Jun 1975
  391.      11/03 Same microprocessor as 11/2. Performance the same as the
  392.      11/05, but priced much less.  Qbus. More expandable than
  393.      LSI-11/2. Aimed at low end of 11/05 market.
  394.  
  395. - Sep 1975
  396.      11/04 Same microprocessor as 11/2, 11/03. Follow-on to 11/05.
  397.      Performance of an 11/05, priced much less.  UNIBUS.
  398.  
  399. - Mar 1976
  400.      11/34. Follow-on to 11/40 with same performance at lower
  401.      cost. Two board cpu in SSI/MSI TTL. Initially had a two-switch
  402.      KY11-LA front panel (Halt&Boot).  Optional calculator-style Octal
  403.      KY11-LB front panel later, although most customers opted to have
  404.      this as time progressed. The KY11-LB could be used to singlestep
  405.      or microstep a program for diagnostic use. The /34 style memory
  406.      managment was 18 bit and the memory management was standard.
  407.  
  408. - Jun 1977
  409.      11/60. Intended follow-on to 11/40 at the high end/same
  410.      price. Higher performance. Writable control store for custom
  411.      instructions. Too costly, too late.  Memory management was 18 bit
  412.      and standard. Floating point instructions were standard - but
  413.      implemented by the CPU microcode. There was a floating point
  414.      coprocessor option. The 60 was to have been a 22 bitter
  415.      originally.
  416.  
  417. - Mar 1978
  418.      11/34a, 11/34c.  The /34a with the "right cache" presented a
  419.      higher level of performance than the then "hot machine" of the
  420.      time - I believe it was the /60 - in the eyes of -11 engineering /
  421.      central engineering.  The "c" upgrade was the re-establishment
  422.      of the original cache.  Thus, the /34c was an internal mythical
  423.      model to allow FS to keep track of what systems had the upgrade -
  424.      much like the /35 vs /40 clock mod that made the /35 faster.
  425.  
  426. - 1978?
  427.      PDT family. PDT 11/110, 11/130, 11/150. 
  428.      The PDT-11/110 and -11/130 were built into the cardcage of a
  429.      VT100 (along with the terminal).  The 11/110 simply had code to
  430.      allow down-loading of the PDP-11. It had no peripherals. The
  431.      11/130 had two TU58's mounted just under the monitor. The
  432.      PDT-11/150 was built into a table-top unit which also had two
  433.      RX01 equivalent drives, and the cpu board was built into the the
  434.      Floppy box.  The PDT-150 had separate VT100 and systems box. The
  435.      system box for the single disk unit: 51.0 cm (20.08 in) length X
  436.      33.02 cm (13.0) width X 20.9 cm (8.23 in) height and 33 pounds.
  437.      Dual disk unit: same, but 34.8 cm (13.42 in) height and 46
  438.      pounds.  The box slopes to the front and has a small front panel
  439.      that reads `digital PDT-11' and has four LEDs ("1", "2", "RUN",
  440.      "POWER"). LED 1 Lights to indicate a system error when in the
  441.      self-test mode.  LED 2 lights to indicate that the system is
  442.      waiting for an autobaud response from the console terminal.
  443.      Otherwise both can be controlled by a user program. The top of
  444.      the case is plastic and is held fast by two screws; undoing these
  445.      allows access to the CPU and logic. Two RX01 drives (8.5"
  446.      floppies) are mounted in the bottom 75% of the cabinet.  There
  447.      are three terminal ports, one console port, one printer port, and
  448.      one modem port. The 3 terminal ports are optional.  All of the
  449.      connectors, save for the modem port, are female DB25 connectors,
  450.      which I have been told is rare. Depending upon the version of
  451.      RT-11 being used, the machine expects either VT52 or VT100
  452.      console/terminal input -- I believe that versions prior to 4.0
  453.      default to VT52. The stock memory appears to be about 30K words
  454.      (not including the I/O page).  It is also noteworthy that the
  455.      RX01 firmware is suspected of not being strictly "real" RX01.
  456.      The PDT will write fresh single-density formatting every time it
  457.      writes to the disk.  It's also interesting to note that the
  458.      physical device name for the drives is PD: instead of DX: The
  459.      documentation calls the drive controller an RXT-11.  It also
  460.      claims that a PDP11/V03 with RXV11 is compatible with the
  461.      PDT11/150.  The print set shows 27 sectors/track for the PDT.
  462.      The RX02 User's Guide shows 26 sec./trk.
  463.  
  464.      All three PDT's had the equivalent of an 11/2 (same chip set, in
  465.      fact) and 60 KB addressable (rather than 56 KB, since it had only a
  466.      4 KB I/O page) These machines, running RT11, could be viewed as
  467.      being the forerunners of today's PCs. They were never marketed as
  468.      such, and thus faded into obscurity.  Although there is no I/O bus,
  469.      per se, the print set gives the controller card equivalent for the
  470.      on-board circuits:
  471.  
  472.      - Console Terminal:       DLV11-A
  473.      - Asynchronous Comm Port: DLV11-E
  474.      - Printer:                LAV11
  475.      - Cluster Controller:     DLV11-A
  476.      - Floppy Disk Port:       RXT-11/RX01
  477.      - Line Time Clock:        KW11-L
  478.      - Synchronous Comm:       DUV11
  479.  
  480.      A useful table from the PDT-11/150 User Guide:
  481.  
  482.                PDT-11/15x-yz
  483.  
  484.           x is     console terminal:
  485.  
  486.           0        NONE
  487.           1        VT100-AA, VT100-AB
  488.           2        LA120-AA, LA120-BA, LA120-DA
  489.           3        LA34-DA, LA34-HA
  490.           4        LS210-HE, LS210-HJ
  491.           5        LA36-HE, LA36-HJ
  492.  
  493. - 1980 (ish)
  494.      11/44. Successful follow-on to 11/40 high end/11/70 low end.
  495.      Almost 11/70 power at 11/40 price. UNIBUS. Also, it could have
  496.      the CIS option.
  497.  
  498.      - Relative CPU performance: 0.42  (VAX780 = 1.0)
  499.      - Technology:               SCHOTTKY TTL MSI
  500.      - Maximum memory:           4 MB ECC MOS
  501.      - Maximum I/O throughput:   5 MB/s UNIBUS
  502.      - Cache size:               8 KB
  503.      - Cache Cycle time:         275 ns
  504.      - Space requirements:       4.4 square feet (H9642)
  505.      - Space requirements:       6.3 square feet (H9645)
  506.      - Power requirements:       1,224W
  507.  
  508. - 1979
  509.      11/23. Successful follow-on to 11/03. Single F(onz)-11 chip.
  510.      11/34-ish performance at lower cost. Qbus.  F11 chip does 22 bit
  511.      addressing, but only 18 address lines brought out in earliest
  512.      versions; all 22 brought out on later revs of the KDF11-A.
  513.  
  514. - 1980 (ish)
  515.      11/24. successful follow-on to 11/04, 11/34. F-11 chip. Price of
  516.      11/04, performance of 11/34.  The 11/23 and /24 had the 11/34
  517.      style memory management.  They both had 22 bit addressing, but
  518.      for the /24, the UNIBUS map (to map 18-bit UNIBUS DMA addresses
  519.      onto the 22 bit memory address) was a (rather rare) option
  520.      called, I believe, a KT24.
  521.  
  522. - 1984(ish)
  523.      PRO-350, PRO-325. This machine was released as one of a
  524.      triumvirate of PCs by DEC. The PCs consisted of the DECmate-II
  525.      PDP-8/WPS based dedicated word processor; the 8080/8086 based
  526.      Rainbow, and the F-11 based PRO-325/350. Although the machines
  527.      were well engineered, they were not successful in the marketplace
  528.      for a number of reasons.  First, the customer base was confused
  529.      by being offered three totally separate, incompatible
  530.      offerings. Second, the Rainbow, although able to run both CP/M
  531.      and MS/DOS, was incompatible in both hardware and software with
  532.      the IBM PC that was establishing the defacto standards for the
  533.      industry. And third, the PRO-350 was based on a bounded,
  534.      restricted version of RSX11, and was viewed as an oddity in the
  535.      marketplace.
  536.  
  537.      The PRO-325 was the same as a PRO-350, but it only had the RX50's
  538.      in it; the PRO-350 also had an RD-series hard drive (originally
  539.      an RD50, but with newer controllers you could have up to an
  540.      RD52).  The PRO-380 was the same as the PRO-350 with respect to
  541.      devices.  All three had a bitmap display.  The PRO-325/350 was
  542.      based on the F-11 (11/23) chip set.  The PRO-380 was based on the
  543.      J-11 (11/73) chip.  They all were desktop units, though an option
  544.      allowed them to be mounted in a tower configuration.
  545.  
  546. - 1986(ish?)
  547.      PRO-380. This was an upgrade to the PRO-350, using the J-11
  548.      chipset. The market opportunity was closed to it at this time,
  549.      and they only had limited success. The PRO-350/380 probably saw
  550.      most use as console devices/frontends for a number of the VAX8000
  551.      series machines.
  552.  
  553. In the following sections, quotes marked [-PSH] are extracts from the
  554. 1987 "PDP-11 Systems Handbook"
  555.  
  556. - 198x
  557.      11/73, Follow-on to 11/23, 11/24. J(aws)-11 chip. Similar cost,
  558.      higher performance.  Replacement for 11/44.
  559.  
  560.          The MicroPDP-11/73 computer provides one-third more compute
  561.          power than the MicroPDP-11/53, ... 15-megahertz J-11 chip ...
  562.          Memory is expandable in 1- and 2-Mbyte increments ....
  563.          [-PSH]
  564.  
  565.      11/73 is the KDJ11-A or KDJ11-B.  (The -B just puts things like
  566.      the console SLU and boot roms onto one board; some revs also have
  567.      PMI memory ...  the boundary between the 11/73 and 11/83 is a bit
  568.      fuzzy...).  There was never a UNIBUS equivalent of the /73.  The
  569.      /73 didn't replace either the /44 or the /70.  (Nothing
  570.      replaced the 11/70!  Nothing else had the I/O throughput, and the
  571.      CPU was only just outrun by the 11/83 / 11/84.)
  572.  
  573. - 1987(?)
  574.      11/53. Essentially a stripped down /73.  KDJ11-D I think -- J11
  575.      chip, 15MHz, lacked cache or FPA options, has (slowish) onboard
  576.      memory.  There wasn't a /54.
  577.  
  578.          The heart of the MicroPDP-11/53 is a 15-megahertz, J-11
  579.          single board computer with 0.5 Mbytes of onboard memory ...
  580.          The MicroPDP-11/53 PLUS supermicrosystem ...  has an
  581.          additional 1 Mbyte of memory for a total of 1.5 Mbytes of
  582.          onboard memory.  [-PSH]
  583.  
  584. - 198x
  585.      11/83, 11/84  Higher performance versions of 11/73.
  586.  
  587.          The computing power of the MicroPDP-11/83 has twice the
  588.          performance of the MicroPDP-11/73 .... The MicroPDP-11/83, by
  589.          combining an 18-megahertz J-11 chip and a companion
  590.          floating-point accelerator chip with a new private memory
  591.          interconnect on one module, ....  [-PSH].
  592.  
  593.      The MicroPDP-11's (11/23+, /73 and /83) were in a tower
  594.      configuration which could be configured for desktop use, or the
  595.      innards removed and rack-mounted.  (The differences between the
  596.      /73 and the /83 were simply:
  597.  
  598.          - The board clock speed, 15 MHz vs 18 MHz
  599.          - the type of memory.  The 11/83 had PMI memory which was
  600.            configured before it on the Qbus.)
  601.  
  602.      The 11/8x can't go much above 18 MHz. While the original design
  603.      called for 20 MHz, neither the J11's nor the gate arrays were up
  604.      to it. They use Private Memory Interconnect (PMI) much like the
  605.      11/70 did years earlier. The memory (for the /83) lives in the
  606.      usual PMI slots, and then a bus adapter brings the bus out to the
  607.      UNIBUS.  DEC realized that they had a lot of customers with
  608.      UNIBUS peripherals, but they didn't want to build another UNIBUS
  609.      processor (the previous one being the 11/24), so they expanded on
  610.      the 11/24 + KT-24 concept and came up with the 11/84.
  611.      Considering that at that time, all DEC had on the Qbus was the
  612.      RD-series and the KDA50 which started out as a real power pig,
  613.      UNIBUS was the way to go if you wanted a system with big (but
  614.      genuine DEC) disks and high-end tapes.
  615.  
  616.      - Relative CPU performance: 0.72  (VAX780 = 1.0)
  617.      - Technology:               J-11 18 MHz Chipset MSI/LSI
  618.      - Maximum memory:           4 MB PMI ECC MOS
  619.      - Bus Capacity:             5 MB/s UNIBUS
  620.      - FPA standard, FPP standard
  621.      - Cache:                    8 KB
  622.      - Space Requirements:       6.2 square feet (H9642)
  623.      - Power Requirements:       1,100W
  624.      
  625. - 1990
  626.      11/93, 11/94 Possibly the last PDP, they're just the 83/84 CPU
  627.      board with a higher clock speed.  The 11/93 and /94 are a new
  628.      design which uses the J11 CPU. Instead of cache, the entire main
  629.      memory (2 or 4 MB) is on-board w/ 70 ns parts. A new memory
  630.      controller gate array lets the CPU at the memory during NPR
  631.      transfers (even during block mode). A Z80 CPU controls 8 emulated
  632.      DL ports (this subsystem is called a DLV22) with buffering, etc.
  633.      The board uses the same 18 MHz DCJ11-AE as the 11/8x - all the
  634.      speed improvements are from a more modern board design. The 11/9x
  635.      will go above 18 MHz.
  636.  
  637.      DEC marketing material:
  638.      
  639.      Product Description
  640.      
  641.      The PDP-11/94 is the newest and most powerful member of the
  642.      PDP-11 family of multiuser systems.  The PDP-11/94 features a
  643.      new, performance-enhanced processor that combines the DCJ11/FPJ11
  644.      chip sets with 2 Mbyte or 4 Mbyte of high-speed onboard memory,
  645.      eight buffered, programmable asynchronous serial lines and a time
  646.      of year clock.  The single-board implementation of the processor
  647.      effectively complements the configuration flexibility and
  648.      expansion capacity of enhanced UNIBUS systems packaging.
  649.      
  650.      FEATURES 
  651.     
  652.      - A new performance-enhanced single-board CPU features Digital's
  653.        C-MOS 18 MHz J-11 chipset, FPJ-11 coprocessor, parity memory, and
  654.        eight buffered serial lines
  655.      - The full PDP-11 instruction set including floating-point and EIS
  656.        instructions, plus an integral floating-point coprocessor
  657.      - Sophisticated 22-bit memory management, dual register set,
  658.        separate instruction and data space, and three system modes:
  659.        kernel, supervisor, and user
  660.      - 2 or 4 Mbyte of onboard high-density parity memory 
  661.      - Private Memory Interconnect (PMI) architecture for high-speed
  662.        data transfers and enhanced system performance
  663.      - 64 Kbyte bootstrap/diagnostic ROM facility and 8-Kbyte EEPROM
  664.        (100% diagnostic coverage)
  665.      - Program-controlled line-frequency clock 
  666.      - Eight-line buffered programmable EIA/CCITT serial-line
  667.        asynchronous interface
  668.      - ASCII console logic for system control and debugging 
  669.      - Time of year clock 
  670.      - Full battery backup support available 
  671.      - Concurrent processing that allows the simultaneous execution of
  672.        instructions and DMA transfers
  673.      - New compact design that requires less power and offers more
  674.        expansion capacity and configuration flexibility
  675.      - Consistent UNIBUS systems packaging: standard 10.5 inch by 19
  676.        inch rackmount design center, H9642- and H9645-based systems
  677.        cabinets
  678.      - Board-Level upgrade packages for installed PDP-11/84s 
  679.  
  680. ========================================================
  681.  
  682. Differences between the 11/70 and the 11/83, 11/93
  683.  
  684. Here's an excerpt from an old Micronote (#039) (Thanks Richard Wallace)
  685.  
  686.       +---------------+                                    +-----------------+
  687.       | d i g i t a l |                                    |  uNOTE # 039    |
  688.       +---------------+                                    +-----------------+
  689.       +----------------------------------------------------+-----------------+
  690.       | Title:  Differences between KDJ11-A and KDJ11-B    | Date: 8-Aug-85  |
  691.       +----------------------------------------------------+-----------------+
  692.       | Originator:  Peter Kent                            | Page 1 of 5     |
  693.       +----------------------------------------------------+-----------------+
  694.                                       Purpose
  695.  
  696.       The purpose of this MicroNote is to identify and discuss the differences
  697.       between the KDJ11-A and KDJ11-B CPU modules.
  698.  
  699.       [ Stuff Deleted ]
  700. Cache
  701.  
  702. For a full discussion of cache memory as used on the KJD11-A and
  703. KDJ11-B refer to MicroNote #9 and the KDJ11-A and KDJ11-B User's
  704. Guides. Both CPU modules have a similar cache organization using a
  705. nine bit tag. This nine bit field contains information that is
  706. compared to the address label, which is part of the physical address.
  707. When the physical address is generated, the address label is compared
  708. to the tag field. If there is a match it can be considered a hit
  709. provided that there is entry validation and no parity errors.  The
  710. KDJ11-B has an additional tag store called the DMA tag. The DMA tag is
  711. an identical copy of the cache tag store and is used to monitor the
  712. main memory DMA updates while the cache tag store monitors the DCJ11
  713. requirements. The presence of the second tag store - DMA tag - allows
  714. the J-11 microprocessor to continue processing after it has
  715. relinquished the system bus to a DMA device. When the DMA tag detects
  716. a hit (main memory location written to by the DMA device), the
  717. microprocessor stops and relinquishes the internal bus to the cache
  718. controller to allow it to monitor further DMA activity on the bus. The
  719. KDJ11-A, however, has only one tag store and stops processing as soon
  720. as it relinquishes the system bus to a DMA device.
  721.  
  722. The PDP-11 processors have also found themselves in other roles:
  723.  
  724.      - Most PDP-10/DECsystem-10 and DECsystem-20 frontend processors and
  725.        communications processors were PDP-11/20s and /40s.
  726.      - VAX-11/780 front end processor/console was an 11/03.
  727.      - Many of the VAX 8000-series machines had PDP-11 based PRO-350/380
  728.        frontends.
  729.      - LAT was originally implemented on PDP-11s as comms processors.
  730.      - DECSA Ethernet Terminal Server had a PDP-11 as a heart.
  731.      - All the HSCxxx Storage controllers use PDP-11 processors.
  732.      - DEUNA Ethernet Controller.
  733.  
  734. ...and elsewhere.
  735.  
  736. ========================================================
  737.  
  738. Other fun PDP11's
  739.      The 11/10S. This was a 11/10 CPU (basic instruction set, no
  740.      memory management; a low-end PDP11), with the interesting feature
  741.      that you could disable the bus arbitor, and it became a DMA
  742.      peripheral to another PDP11.  In other words, a parallel
  743.      processor. I have never seen this documented, but the boards were
  744.      common enough as simple 11/10 processors.
  745.  
  746. ========================================================
  747.  
  748. The Never 11's
  749.  
  750. There are a number of very significant projects that never came to
  751. market as originally envisioned, although the lessons learned
  752. sometimes got applied to later offerings.
  753.  
  754. - Hydra
  755.      Was to have used the KB-11Cm CPU modified to interlock the ASRB
  756.      instruction in memory, allow cache bypassing on a per page basis,
  757.      and tweaked powerfail/re-start for the 11/74. These were shipped
  758.      with MKA-11 memory boxes as the 11/70mu system, all to AT&T, I
  759.      believe. The only multiprocessing systems were Castor/Pollux in
  760.      the RSX development group in ZK (Software Engineering at
  761.      Spitbrook Road, Nashua NH), and the RSX DECnet group in Tewksbury
  762.      MA.  Ontario Hydro also had one for field test and invented "just
  763.      say no" when the field test ended. :-) BTW, HRC, the reconfiguration
  764.      task, is short for "Hercules", who tamed Cerberus (the MP version of
  765.      TRAX/M-PLUS).
  766.  
  767. - 11/74
  768.      Probably the most famous PDP-11 that never was. Designed
  769.      as a 4-way multiprocessor with four 11/70 processors clustered
  770.      around shared memory. Configuration was SMP. Furthermore, the
  771.      processors, which had been originally designed as FORTRAN crunchers,
  772.      were to be equipped with the Commercial Instruction Set (CIS) for
  773.      Cobol applications. Prototypes were built and a number of alpha
  774.      units installed, but the product never came to market. Reasons for
  775.      it never being shipped are various and may be apocryphal: the
  776.      backplane would have been so complex to be almost unmanufacturable;
  777.      the cost due to the complex backplane would have been too high; the
  778.      11/74 with CIS would have blown the new VAX-11/780 out of the water
  779.      in commercial applications.  Those that truly know are not talking :-)
  780.  
  781.      The backplanes are almost standard KB-11C. The microcode is changed to
  782.      interlock the ASRB instruction, cache bypassing is added and a few
  783.      other minor changes. No problem to manufacture.
  784.  
  785.      The memory is the MKA-11, with 4 memory ports. That's 32 flat gray
  786.      cables in and out of each box except the last, plus 4 box controller
  787.      cables and battery backup.
  788.  
  789.      The CIS equipped unit was the KB-11E cpu, aka 11/110. Another
  790.      contempory of these was the 11/68. (see Bluefin)
  791.  
  792.      There's also the IIST, the DIP-11, and so on, for which no useful
  793.      information has been found to include in this FAQ.
  794.  
  795. - KB-11E
  796.      This was to have been the `real' /74. A KB-11Cm, cleaned up, and
  797.      with CIS included. Canned just as it was to go into production.
  798.      The maintenance prints for the CIS were in the hardware
  799.      catalogue, as were the MKA-11 manuals. The KB-11Cm tech manual is
  800.      listed as EK-KB11CM-TM, yep 2-6-2 not 2-5-2, in at least 2
  801.      places (see the Part Number Format section).
  802.  
  803. - Bluefin, aka 11/68
  804.      The /60 was to have been a 22 bitter originally. The 11/68 was to
  805.      have had up to 16 cpus, each as powerful as a 4-cpu /74. Canned
  806.      to prevent competition with a future 32 bit product.
  807.  
  808. - ECL-11
  809.      18 bit system done at CMU.
  810.  
  811. - 11/110 and 11/120
  812.      The MKA-11 manuals refer to these. Perhaps they were going to be
  813.      what became the 11/780 VAX?
  814.  
  815. ========================================================
  816.  
  817. Non-DEC 11's
  818.      The PDP-11, as the PDP-8 before it, was cloned and copied
  819.      extensively behind the so-called Iron Curtain.  A number of
  820.      plants produced PDP-11 compatible systems in the Soviet Union,
  821.      including Elektronika-79 (11/70) and several machines without
  822.      direct DEC analogues (DWK-4 with proprietary video controller).
  823.  
  824.      I've never seen CIS realised on any Soviet-built clone.
  825.      Elektronika-85 (Professional-350) was the most popular Soviet PC
  826.      (of very low quality, though).
  827.  
  828. ========================================================
  829. Part Number Format
  830.  
  831. Every DEC component part has a 2-5-2 number. Sometimes it also has
  832. another designator, like an M-series module number*. In the 2-5-2
  833. numbering system the first 2 digits denote the part class (for
  834. example, 23 - ROMS/PROMS/EPROMS, 29 - vendor parts), the middle 5
  835. digits denote the unique part, and the last 2 digits denote a
  836. particular variation. Note that not all 2-5-2 part "numbers" are
  837. numeric - things like manuals are EK-series (EK was originally
  838. "Education Services- hardcopy").
  839.  
  840. *Note: technically, M-series parts are 00-Mnnnn-00, where the 0's
  841. don't display. An RQDX1, M8639-YA, is 00-M8639-YA, but it also has
  842. other 2-5-2 part numbers (there should be a 54-series etched PCB
  843. number, for example)
  844.  
  845. Explanation provided by Terry Kennedy.
  846.  
  847. ========================================================
  848.  
  849. PDP-11 Relative Performance
  850. From a chart in the 1978 "Computer Engineering"
  851.  
  852.         11/03 11/04 11/05 11/20 11/34 11/34c 11/40 11/60 11/45 11/55 11/70
  853.         ----- ----- ----- ----- ----- -----  ----- ----- ----- ----- -----
  854. Perf(1)   1     2.8   2.5   3.1   3.5   7.3    3.6   27          41   36
  855.  core                                                      13
  856.  mos                                                       23
  857.  Bipolar                                                   41
  858. Whets     26     18    13    20   204   262     57   592        725   671
  859.  core                                                     260
  860.  mos                                                      335
  861.  Bipolar                                                  362
  862.  
  863. (1) performance is for the basic instruction set relative to the 11/03
  864.  
  865. From a chart in the 1987 "PDP-11 Systems Handbook"
  866.  
  867.                                    11/23 11/53 11/73 11/83 11/93
  868.                                    ----- ----- ----- ----- -----
  869.                CPU                 F-11  J-11  J-11  J-11  J-11
  870.                Microcycle(ns)      300   267   267   222    222
  871.                Clock (MHz)         ?     15    15    18     18
  872.                Performance         0.2   0.5   0.7   1.2    ?
  873.                (11/70 = 1)     
  874.                Cache               no    no    yes   yes    no
  875.                Floating-Pt         opt   no    no    yes    yes
  876.                Coprocessor
  877.  
  878. NOTE: The 11/93's memory was effectively all cache, so there was
  879. no need for a separate cache subsystem.
  880.  
  881. And by merging the data from both charts, sorting by model number:
  882.  
  883. P   r  45                                           _
  884. e   e  40                         -     -
  885. r   l  35                         |           -
  886. f   a  30                         |        _
  887. o   t  25                         |              -
  888. e   i  20                         |  -
  889. m   v  15                         _
  890. a   e  10 
  891. n       9 
  892. c   t   8 
  893. e   o   7             -     -
  894.         6 
  895. f   1   5 
  896. a   1   4                _     _
  897. c   /   3    -  _  -
  898. t   0   2 
  899. o   3   1 -
  900. r       0_________________M_o_d_e_l_s________________
  901.           0  0  0  2  2  3  3  4  4  5  5  6  7  7  8
  902.           3  4  5  0  3  4  4  0  5  3  5  0  0  3  3
  903.                             c
  904.  
  905. Sorting by introduction date gives:
  906.  
  907. P   r  45                                           _
  908. e   e  40    -           -
  909. r   l  35    |        -
  910. f   a  30    |                       _
  911. o   t  25    |                                -
  912. e   i  20    |                                   -
  913. m   v  15    _
  914. a   e  10
  915. n       9
  916. c   t   8
  917. e   o   7                               -  -
  918.         6
  919. f   1   5
  920. a   1   4       _                 _
  921. c   /   3 -        _           -
  922. t   0   2
  923. o   3   1                   -
  924. r       0_________________M_o_d_e_l_s________________
  925.           2  4  4  0  7  5  0  0  3  6  3  2  7  5  8
  926.           0  5  0  5  0  5  3  4  4  0  4  3  3  3  3
  927.                                         c
  928.  
  929. [I was tempted to label the vertical index of the chart in PUPs (PDP-11
  930. Units of Performance), but resisted the temptation.   :-)  -MMcC]
  931.  
  932. [It being the end of the year and all at the moment (12/96), temptation
  933. is being easy to give in to.  The next rev isn't far away... -Dworkin]
  934.  
  935. Also, from the table of UNIBUS-PDP-11s performances the micro-cycle
  936. timings for the machines listed there :
  937.  
  938.                   11/03 11/04 11/05 11/34 11/40 11/45 11/60
  939.           u-cycle  400   260   300   180/  140/  150   170
  940.            (ns)                      340   200/
  941.                                            300
  942.  
  943.      Generally, earlier model PDP-11s with odd numbers are OEM
  944.      machines and even-numbered ones are end-user machines. [11/15,
  945.      11/35, 11/05, (but not 11/45 or 11/55) vs. 11/20, 11/40, 11/10,
  946.      11/34, 11/44, 11/70].  This carried on in a variation to the
  947.      later model numbers where the odd numbers became Q-Bus machines
  948.      aimed at OEMs and the even-numbered were UNIBUS machines were
  949.      intended for end-users.  Thus the Qbus 11/03, /23, /53, /73, and
  950.      /93 are aimed at OEMs and the UNIBUS 11/04, /24, /54, /7?, and /94
  951.      are aimed at the end-user market.
  952.  
  953.      Most of the PDP-11 line bore the standard cyan (maroon) and
  954.      magenta (purple) colors.  The /55 and some of the integrated
  955.      systems were blue and green, as were the DEC-10 FEP 40's and some
  956.      later front-panel-less /70's.  The 11/60 came in the low boy
  957.      (VAX) style.  The 11/34 and the later UNIBUS (/24, /44) came in
  958.      the white single fronts.
  959.  
  960. ========================================================
  961.  
  962. What operating systems were written for the PDP-11?
  963.  
  964.      DOS/BATCH
  965.      RSTS, RSTS/E
  966.          Resource Sharing/Time Sharing. General purpose Time sharing system.
  967.      CAPS-11
  968.          Cassette Based Programme development System.
  969.      MUMPS-11
  970.          Massachusetts General Hospital Multi-User Multi-Processing
  971.          System.  A language, an operating system and a DBMS all in one.
  972.      RT11
  973.          Real Time. Foreground/Background or Single Job operating system. 
  974.      TSX11
  975.          Multiuser enhancements to RT11 (third-party).
  976.      RSX11
  977.          Resource Sharing eXecutive. Multiprogramming system.
  978.      RSX11/M
  979.          Small to moderate-sized real-time multiprogramming system.
  980.      RSX11/M+
  981.          Extended RSX-11/M.
  982.      RSX11/S
  983.          Execute-only real-time multiprogramming system.
  984.      RSX11/D
  985.          Large real-time multiprogramming system.
  986.      RSX-11B/C, Micro/RSX
  987.      IAS
  988.          Interactive Application System. Multi-purpose multiprogramming system.
  989.      TRAX
  990.          Transaction Processing system.
  991.      Unix (tm)
  992.          Much/most of Unix was developed on PDP-11s.
  993.      MERTS (MERTSS?)
  994.          A virtual operating system that could run Unix as
  995.          a process.  Several machines at BTL ran MERTS.
  996.      CTS-300
  997.          There's some confusion as to whether this is just a re-packaged
  998.          version of RT-11, or a time-sharing system layered on top of RT-11.
  999.      CTS-500
  1000.          There's some confusion as to whether this is just a re-packaged
  1001.          version of RSTS, or a time-sharing system layered on top of RSTS.
  1002.      TSX
  1003.          Time-sharing system layered on top of RT-11.
  1004.      HT-11
  1005.          Heathkit's hacked version of RT-11, wouldn't run on a "real" PDP-11.
  1006.      Ultrix
  1007.          Digital's implementation/port of BSD UNIX.
  1008.      Venix
  1009.          A third-party implementation/port of UNIX.
  1010.  
  1011.  
  1012. ========================================================
  1013.  
  1014. What programming languages are supported on the PDP-11?
  1015.  
  1016.      - Assembler
  1017.      - Macro
  1018.      - MUMPS
  1019.      - BASIC, BASIC-plus2
  1020.      - Cobol
  1021.      - Fortran IV, Fortran IV+, Fortran 77
  1022.      - Focal
  1023.      - C
  1024.      - Bliss-11 (or BLISS-16?)
  1025.      - LIL (?)
  1026.      - DIBOL 
  1027.      - Pascal 
  1028.      - Micropower Pascal
  1029.      - Modula-2 
  1030.      - LisP
  1031.      - Prolog
  1032.  
  1033. ========================================================
  1034.  
  1035. Memory address convention (for this FAQ), and the GPRs
  1036.      There is a certain amount of confusion about memory addressing
  1037.      representation due to the fact that the PDP-11 was originally
  1038.      launched with 16-bit addressing, but was extended through 18-bit
  1039.      to 22-bit over time.
  1040.  
  1041.      On the 11/20, the processor status word (PSW), the topmost
  1042.      addressable location, would have address 177776, while on the
  1043.      11/40 the address would be 777776, and on the 11/70, 17777776. Of
  1044.      course the hardware also helped in bit extending for you if you
  1045.      toggled in 177776 in an 11/70....
  1046.  
  1047.      For the purposes of this FAQ I propose to take the middle ground
  1048.      and refer to addresses as if we were talking about an 11/40. Make
  1049.      your mental adjustments as appropriate.
  1050.  
  1051.      There is one further area of confusion. Addresses are byte
  1052.      aligned, with an even address referring to a word (unless this is
  1053.      a byte operation in which case the lower byte of the word is the
  1054.      target) and an odd address specifying the upper byte of the
  1055.      word. In English, memory locations are incremented up in steps of
  1056.      2.
  1057.  
  1058.      There is, of course, an exception. The General Purpose Registers
  1059.      (GPRs) had addresses that incremented in steps of 1. R0 is 777700,
  1060.      R1 is 777701 .. R6(Kernel) is 777706, R7(Kernel) is 777707. Later
  1061.      models had a second set of GPRs at 777710 through 777717. The
  1062.      complication does not stop here, though. The Kernel Stack pointer
  1063.      (SP) is at 777706, the supervisor SP at 777716 and the User SP is
  1064.      at 777717.
  1065.  
  1066. ========================================================
  1067.  
  1068. What is the PDP-11 instruction set?
  1069.      The instruction set of the PDP-11 was designed towards a clean,
  1070.      general, symmetric instruction set.  It can be used as a
  1071.      register-based, stack-based, or memory-based machine, depending
  1072.      on the programmer's preferences.  Interrupt responsiveness is
  1073.      also important, supported with multiple interrupt levels for
  1074.      real-time computing as well as allowing for a separate interrupt
  1075.      handler for each device that generates interrupts.
  1076.  
  1077.      Word length is 16 bits with the leftmost, most significant bit
  1078.      (MSB) being bit 15.  There are eight general registers of 16 bits
  1079.      each.  Register 7 is the program counter (PC) and, by convention,
  1080.      Register 6 is the stack pointer (SP).  There is also a Processor
  1081.      Status Register/Word (PSW) which indicates the 4 condition code
  1082.      bits (N, Z, V, C), the Trace Trap bit, processor interrupt
  1083.      priority, and 4 bits for current and previous operating modes.
  1084.      Addressing on the -11 is linear from memory address 0 through
  1085.      177777.  Memory management allows access to physical memory with
  1086.      addresses of up to 22 bits (17777777).  All I/O devices,
  1087.      registers etc are addressed as if they were part of memory.
  1088.      These live in the 4KW of reserved memory space at the top of the
  1089.      addressing range.  Additionally, on most implementations of the
  1090.      PDP-11 architecture, the processor's registers are memory-mapped
  1091.      to the range 17777700-17777777 (there are many control registers
  1092.      beyond just the general registers, the specifics vary between
  1093.      implementations).  Thus Register 2 (R2) has an address of
  1094.      17777702.  All word memory addresses are even.  In byte
  1095.      operations, an even address specifies the least-significant byte
  1096.      and an odd address specifies the most-significant byte.
  1097.      Specifying an odd byte in a word operation will return an odd
  1098.      address trap.  Memory addresses from 0 to 400 octal are reserved
  1099.      for various exception traps such as timeouts, reserved
  1100.      instructions, parity, etc., and device interrupts.
  1101.  
  1102.      Addressing for the Single Operand, Double Operand and
  1103.      Jump instructions is achieved via six bits:
  1104.                           _ _ _ _ _ _
  1105.                          |x|x|x|_|_|_|
  1106.                          |Mode |Reg  |
  1107.  
  1108.      where the modes are as follows: (Reg = Register, Def = Deferred)
  1109.  
  1110.      Mode 0  Reg           Direct addressing of the register
  1111.      Mode 1  Reg Def       Contents of Reg is the address
  1112.      Mode 2  AutoIncr      Contents of Reg is the address, then Reg incremented
  1113.      Mode 3  AutoIncrDef   Content of Reg is addr of addr, then Reg Incremented
  1114.      Mode 4  AutoDecr      Reg is decremented then contents is address
  1115.      Mode 5  AutoDecrDef   Reg is decremented then contents is addr of addr
  1116.      Mode 6  Index         Contents of Reg + Following word is address
  1117.      Mode 7  IndexDef      Contents of Reg + Following word is addr of addr
  1118.  
  1119.      However, when Reg = 7 (PC):
  1120.                           _ _ _ _ _ _
  1121.                          |x|x|x|1|1|1|
  1122.                          |Mode |  R7 |
  1123.  
  1124.      Mode 2  Immediate     Operand follows the instruction
  1125.      Mode 3  Absolute      Address of Operand follows the instruction
  1126.      Mode 6  Relative      Instr address+4+Next word is Address
  1127.      Mode 7  RelativeDef   Instr address+4+Next word is Address of address
  1128.  
  1129.      Mainstream instructions are broken into Single operand and Double
  1130.      operand instructions, which in turn can be word or byte instructions.
  1131.  
  1132. Double Operand Instructions
  1133.                       _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  1134.                      |b|i|i|i|s|s|s|s|s|s|d|d|d|d|d|d|
  1135.                      | |     |     :     |     :     |
  1136.                      | | Op  | Source    |  Dest     |
  1137.  
  1138.      Bit 15, b, generally selects between word-sized (b=0) and
  1139.      byte-sized (b=1) operands.  In the table below, the mnemonics and
  1140.      names are given in the order b=0/b=1.
  1141.  
  1142.      The double operand instructions are:
  1143.  
  1144.           b 000 ssssss dddddd
  1145.               Non-double-operand instructions.
  1146.  
  1147.           b 001 ssssss dddddd -- MOV/MOVB  Move Word/Byte
  1148.               Moves a value from source to destination.
  1149.  
  1150.           b 010 ssssss dddddd -- CMP/CMPB  Compare Word/Byte
  1151.               Compares values by subtracting the destination
  1152.               from the source, setting the condition codes, and
  1153.               then discarding the result of the subtraction.
  1154.  
  1155.           b 011 ssssss dddddd -- BIT/BITB  Bit Test Word/Byte
  1156.               Performs a bit-wise AND of the source and the
  1157.               destination, sets the condition codes, and then
  1158.               discards the result of the AND.
  1159.  
  1160.           b 100 ssssss dddddd -- BIC/BICB  Bit Clear Word/Byte
  1161.               For each bit set in the source, that bit is cleared
  1162.               in the destination.  This is accomplished by taking the
  1163.               ones-complement of the source and ANDing it with the
  1164.               destination.  The result of the AND is stored in the
  1165.               destination.
  1166.  
  1167.           b 101 ssssss dddddd -- BIS/BISB  Bit Set Word/Byte
  1168.               For each bit set in the source, that bit is set in
  1169.               the destination.  This is accomplished by ORing the
  1170.               source and destination, and storing the result in the
  1171.               destination.
  1172.  
  1173.           b 110 ssssss dddddd -- ADD/SUB   Add/Subtract Word
  1174.               Adds the source and destination, storing the results
  1175.               in the destination.
  1176.  
  1177.               Subtracts the source from the destination, storing
  1178.               the results in the destination.
  1179.  
  1180.               Note that this is a special case for b=1, in that
  1181.               it does not indicate that byte-wide operands are
  1182.               used.
  1183.  
  1184.           b 111 xxxxxx xxxxxx
  1185.               Arithmetic functions not supported by all implementations
  1186.               of the PDP-11 architecture.
  1187.  
  1188. Single Operand Instructions
  1189.                       _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  1190.                      |b|0|0|0|i|i|i|i|i|i|d|d|d|d|d|d|
  1191.                      | |     |     :     |     :     |
  1192.                      | |     |Instruction|  Dest     |
  1193.  
  1194.      Bit 15, b, generally selects between word-sized (b=0) and
  1195.      byte-sized (b=1) operands.  In the table below, the mnemonics and
  1196.      names are given in the order b=0/b=1.  Unless otherwise stated,
  1197.      the operand is read for the data to operate on, and the result is
  1198.      then written over that data.
  1199.  
  1200.      The single operand instructions are:
  1201.  
  1202.           b 000 000 011 dddddd -- SWAB/BPL   Swap Bytes/Branch Plus
  1203.               Swap bytes exchanges the two bytes found in the
  1204.               destination, writing the result back to it.
  1205.  
  1206.               The branch (b=1) is described in the section on
  1207.               branches, below.
  1208.  
  1209.               Note that SWAB is actually a bit pattern from the
  1210.               range reserved for branches.  This particular
  1211.               pattern is otherwise unused, as it would be a
  1212.               modification of BR, Branch Always, which has no
  1213.               obvious semantics.
  1214.  
  1215.           b 000 101 000 dddddd -- CLR/CLRB   Clear Word/Byte
  1216.               Sets all the bits in destination to zero.
  1217.  
  1218.           b 000 101 001 dddddd -- COM/COMB   Complement Word/Byte
  1219.               Calculates the ones-complement of the operand,
  1220.               and stores it.  The ones-complement is formed by
  1221.               inverting each bit (0->1, 1->0) independently.
  1222.  
  1223.           b 000 010 010 dddddd -- INC/INCB   Increment Word/Byte
  1224.               Adds one to the destination.
  1225.  
  1226.           b 000 101 011 dddddd -- DEC/DECB   Decrement Word/Byte
  1227.               Subtracts one from the destination.
  1228.  
  1229.           b 000 101 100 dddddd -- NEG/NEGB   Negate Word/Byte
  1230.               Calculates the twos-complement of the operand,
  1231.               and stores it.  The twos-complement is formed by
  1232.               adding one to the ones-complement.  The effect is
  1233.               the same as subtracting the operand from zero.
  1234.  
  1235.           b 000 101 101 dddddd -- ADC/ADCB   Add Carry Word/Byte
  1236.               Adds the current value of the carry flag to the
  1237.               destination.  This is useful for implementing
  1238.               arithmetic subroutines with more than word-sized
  1239.               operands.
  1240.  
  1241.           b 000 101 110 dddddd -- SBC/SBCB   Subtract Carry Word/Byte
  1242.               Subtracts the current value of the carry flag from
  1243.               the destination.  This is useful for implementing
  1244.               arithmetic subroutines with more than word-sized
  1245.               operands.
  1246.  
  1247.           b 000 101 111 dddddd -- TST/TSTB   Test Word/Byte
  1248.               Sets the N (negative) and Z (zero) condition codes
  1249.               based on the value of the operand.
  1250.  
  1251.           b 000 110 000 dddddd -- ROR/RORB   Rotate Right Word/Byte
  1252.               Rotates the bits of the operand one position to
  1253.               the right.  The right-most bit is placed in the
  1254.               carry flag, and the carry flag is copied to the
  1255.               left-most bit (bit 15) of the operand.
  1256.  
  1257.           b 000 110 001 dddddd -- ROL/ROLB   Rotate Left Word/Byte
  1258.               Rotates the bits of the operand one position to
  1259.               the left.  The left-most bit is placed in the
  1260.               carry flag, and the carry flag is copied to the
  1261.               right-most bit (bit 0) of the operand.
  1262.  
  1263.           b 000 110 010 dddddd -- ASR/ASRB   Arithmetic Shift Right Word/Byte
  1264.               Shifts the bits of the operand one position to
  1265.               the right.  The left-most bit is duplicated.  The
  1266.               effect is to perform a signed division by 2.
  1267.  
  1268.           b 000 110 011 dddddd -- ASL/ASLB   Arithmetic Shift Left Word/Byte
  1269.               Shifts the bits of the operand one position to
  1270.               the left.  The right-most bit is set to zero.  The
  1271.               effect is to perform a signed multiplication by 2.
  1272.  
  1273.           b 000 110 100 dddddd -- MARK       Mark/Unused
  1274.               Used as part of one of the subroutine call/return
  1275.               sequences.  The operand is the number of parameters.
  1276.  
  1277.           b 000 110 101 dddddd -- MFPI/MFPD  Move From Prev. Instruction/Data
  1278.               Pushes a word onto the current R6 stack from the
  1279.               operand address in the previous address space, as
  1280.               indicated in the PSW.  On PDP-11s that do not
  1281.               support separate instruction and data spaces, MFPD
  1282.               is treated the same as MFPI.
  1283.  
  1284.           b 000 110 110 dddddd -- MTPI/MTPD  Move To Previous Instruction/Data
  1285.               Pops a word from the current stack as indicated in
  1286.               the PSW to the operand address in the previous
  1287.               address space, as indicated in the PSW.  On
  1288.               PDP-11s that do not support separate instruction
  1289.               and data spaces, MTPD is treated the same as MTPI.
  1290.  
  1291.           b 000 110 111 dddddd -- SXT        Sign Extend/Unused
  1292.               Sets the destination to zero if the N (negative)
  1293.               flag is clear, or to all ones if N is set.  This
  1294.               is useful for implementing arithmetic subroutines
  1295.               with more than word-sized operands.
  1296.  
  1297. Branches
  1298.                       _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  1299.                      |b|0|0|0|b|b|b|b|d|d|d|d|d|d|d|d|
  1300.                      |  Branch Code  |  Destination  |
  1301.  
  1302.       The destination of a branch is +127 to -128 words from the word
  1303.       following the branch instruction itself.  This seems slightly
  1304.       odd, until you realize the sequence of events: the branch
  1305.       instruction is read from memory and the PC incremented.  If the
  1306.       branch is to be taken, the offset is then added to the current
  1307.       value of the PC.  Since the PC has already been incremented, the
  1308.       offset is thus relative to the following word.  Note that all
  1309.       branch instructions are one word long.
  1310.  
  1311.       The various branches test the values of specific condition
  1312.       codes, and if the tests succeed, the branch is taken.  The
  1313.       condition codes are N (negative), Z (zero), C (carry), and V
  1314.       (overflow).  In the table below, the branch tests are shown as
  1315.       boolean expressions.  `x' stands for exclusive-OR.  `v' stands
  1316.       for inclusive-OR.
  1317.  
  1318.           0 000 000 1dd dddddd   BR:   Branch Always
  1319.           0 000 001 0dd dddddd   BNE:  Branch if Not Equal (Z==0)
  1320.           0 000 001 1dd dddddd   BEQ:  Branch if EQual (Z==1)
  1321.           0 000 010 0dd dddddd   BGE:  Branch if Greater or Equal (NxV == 0)
  1322.           0 000 010 1dd dddddd   BLT:  Branch if Less Than (NxV == 1)
  1323.           0 000 011 0dd dddddd   BGT:  Branch if Greater Than (Zv(NxV) == 0)
  1324.           0 000 011 1dd dddddd   BLE:  Branch if Less or Equal (Zv(NxV) == 1)
  1325.           1 000 000 0dd dddddd   BPL:  Branch if PLus (N == 0)
  1326.           1 000 000 1dd dddddd   BMI:  Branch if MInus (N == 1)
  1327.           1 000 001 0dd dddddd   BHI:  Branch if HIgher (C==0 and Z==0)
  1328.           1 000 001 1dd dddddd   BLOS: Branch if Lower Or Same (CvZ == 1)
  1329.           1 000 010 0dd dddddd   BVC:  Branch if oVerflow Clear (V == 0)
  1330.           1 000 010 1dd dddddd   BVS:  Branch if oVerflow set (V == 1)
  1331.           1 000 011 0dd dddddd   BCC:  Branch if Carry Clear (C == 0)
  1332.               also known as
  1333.                                  BHIS: Branch if Higher Or Same
  1334.           1 000 011 1dd dddddd   BCS:  Branch if Carry Set (C == 1)
  1335.               also known as
  1336.                                  BLO:  Branch if Lower
  1337.  
  1338. Condition Code Operations
  1339.                       _ _ _ _ _ _ _ _ _ _:_ _ _:_ _ _
  1340.                      |0|0|0|0|0|0|0|0|1|0|1|s|N|Z|V|C|
  1341.                      |     O p c o d e     | | Mask  |
  1342.  
  1343.      General opcode 000240x. Set/Clear corresponding bits depending on sense
  1344.      of bit 04 (set=1, clear=0).  Codes 240 and 260 set/clear no bits
  1345.      and are, thus, used as NOP.  Although specific mnemonic are provided
  1346.      for each flag and all flags, any combination may actually be set or
  1347.      cleared at a time.
  1348.  
  1349.      General mnemonics are:
  1350.  
  1351.           CLx   Clear x, where x is N, Z, V, or C
  1352.           SEx   Set x, where x is N, Z, V, or C
  1353.           CCC   Clear all condition codes
  1354.           SCC   Set all condition codes
  1355.  
  1356.           0 000 000 010 1s0 000   NOP/NOP: No Operation
  1357.           0 000 000 010 1s0 001   SEC/CLC: Set/Clear Carry
  1358.           0 000 000 010 1s0 010   SEV/CLV: Set/Clear Overflow
  1359.           0 000 000 010 1s0 100   SEZ/CLZ: Set/Clear Zero
  1360.           0 000 000 010 1s1 000   SEN/CLN: Set/Clear Negative
  1361.           0 000 000 010 1s1 111   SCC/CCC: Set/Clear All Condition Codes
  1362.  
  1363. Other, Miscellaneous
  1364.                       _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  1365.                      |0|0|0|0|1|0|0|s|s|s|d|d|d|d|d|d|
  1366.                      |   Opcode    |Stack|Destination|
  1367.  
  1368.           0 000 400 sss dddddd -- JSR        Jump to Subroutine
  1369.               Effectively pushes the current PC onto the stack pointed
  1370.               to by register sss, and loads the indicated destination
  1371.               address into the PC.  The actual sequence of steps taken
  1372.               is:
  1373.  
  1374.                   MOV <source>,-(R6)
  1375.                   MOV PC,<source>
  1376.                   JMP <destination>
  1377.  
  1378.               So, it doesn't really push the address from where
  1379.               you are calling on the stack, but instead loads
  1380.               the calling address into the specified source
  1381.               register (after saving the original contents). It
  1382.               then jumps to the destination. The fun part is (as
  1383.               usual with the PDP-11) that the PC is a general
  1384.               register, and the description above is the result
  1385.               when the PC is used as the source.
  1386.  
  1387.                       _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  1388.                      |0|0|0|0|0|0|0|0|2|0|0|0|0|s|s|s|
  1389.                      |          Opcode         |Stack|
  1390.  
  1391.           0 000 000 100 000 sss -- RTS        ReTurn from Subroutine
  1392.               Effectively pops the new PC from the stack pointed to by
  1393.               register sss.  For predictable results, it is suggested
  1394.               that the same register should be used as was named in
  1395.               the corresponding JSR instruction.
  1396.  
  1397.               The actual operations involved are:
  1398.  
  1399.                   MOV <source>,PC
  1400.                   MOV (R6)+,<source>
  1401.  
  1402.               This is the reverse of JSR. Obviously, the finesse
  1403.               here too is that you can use the PC, to get what
  1404.               people normally consider a CALL/RETURN function.
  1405.  
  1406.               Why is it done like this then? Well, consider this
  1407.               example:
  1408.  
  1409.                   ...
  1410.                        JSR   R0,FOO
  1411.                        .WORD A
  1412.                        .WORD B
  1413.                        MOV   R1,C
  1414.                   ...
  1415.  
  1416.                   FOO: MOV   @(R0)+,R1
  1417.                        ADD   @(R0)+,R1
  1418.                        RTS   R0
  1419.  
  1420.               This type of parameter passing is used extensively
  1421.               in the PDP-8 and PDP-10), for example.  Also, the
  1422.               FORTRAN runtime system on the PDP-11 do it this
  1423.               way.  (It is fairly easy to write a compiler who
  1424.               generates such a calling sequence, and then have a
  1425.               library of functions which expect this calling
  1426.               convention.)
  1427.  
  1428.                       _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  1429.                      |0|0|0|0|0|0|0|0|0|1|d|d|d|d|d|d|
  1430.                      |       Opcode      |Destination|
  1431.  
  1432.           0 000 000 001 ddd ddd -- JMP        JuMP
  1433.               Loads the destination address into the PC, thus
  1434.               effecting an unconditional jump.  Note that a trap will
  1435.               occur on some systems if an odd address is specified.
  1436.               On others, the destination is silently rounded down to
  1437.               the next-lower even address (i.e., the right-most bit is
  1438.               ignored).
  1439.  
  1440.                       _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  1441.                      |0|0|0|0|0|0|0|0|0|0|0|0|0|i|i|i|
  1442.                      | |     |     |     |     | Op  |
  1443.  
  1444.           0 000 000 000 000 000 -- HALT        Halts the machine
  1445.               Ceases I/O, and gives control to the console.  Operator
  1446.               intervention is required to continue or restart the
  1447.               system.
  1448.  
  1449.           0 000 000 000 000 001 -- WAIT       WAIT for interrupt
  1450.           0 000 000 000 000 010 -- RTI        ReTurn from Interrupt
  1451.           0 000 000 000 000 100 -- BPT        BreakPoint Trap
  1452.           0 000 000 000 000 101 -- RESET      Initializes the system
  1453.  
  1454.      Other arithmetic and floating point instructions were added to
  1455.      the basic set over the years, but those listed above form the
  1456.      core PDP-11 instruction set.
  1457.  
  1458. ========================================================
  1459.  
  1460. The PDP-11 Maintenance Panel and Front Panel
  1461.  
  1462. The PDP-11 Maintenance Panel was introduced with the 11/20. It comprised
  1463. of two single height boards, a lamp driver and a lamp/switch board.
  1464. Through the use of the four switches, the processor clock could be
  1465. interrupted and single stepped through the ISR and BSR timing states of
  1466. the 11/20. Timing state numbers, Condition Codes and certain other flags
  1467. were displayed on the maintenance panels 16(?) lamps. Of course, having
  1468. the machine frozen in suspended animation also facilitated the
  1469. troubleshooting of the internal circuits by  oscilloscope.
  1470.  
  1471. On the 11/40 there were two slots into which a maintenance panel could
  1472. be plugged. In the first slot you could single step the processor clock
  1473. and cycle through the microcode program. The processor could be made to
  1474. stop at a specific microcode address (MPC) set in the front panel
  1475. switches.  The panel could be plugged into a different slot and perform
  1476. the same function for the Floating Point Processor. If you thought that
  1477. the PDP-11 had wide and complex micro-instructions, you should have
  1478. seen the FPP!
  1479.  
  1480. The panel also performed the same function on the 11/05 (no floating
  1481. point) and was also used on the 11/70. A good technician would have been
  1482. able to determine a fault on an 11/40 and 11/70 using nothing more than
  1483. the maintenance panel, front panel, and knowledge of the inter-relationships
  1484. of the processor's data paths.
  1485.  
  1486. [I am unclear whether the Maint Panel was used in later PDP-11s. I seem
  1487. to remember that certain of the micro-stepping and micro-trapping
  1488. functions were incorporated into the calculator-style front panels of
  1489. the 11/04, /34, /44 and /60. And I draw a total blank re: the later
  1490. Micro-PDP-11's. Perhaps someone can fill in some detail here?  -MMcC]
  1491.  
  1492. The front panel on the PDP-11 went through some major revisions. The
  1493. original 11/20, 11/15, and later the 11/05 and 11/10, 11/40 and 11/35,
  1494. 11/45, 11/50, 11/55, 11/70 and 11/74 were equipped with what the
  1495. purists regard as the "real" front panels. Subsequent machines had
  1496. chicklet-calculator octal panels, or almost nothing than boot/halt
  1497. switches.
  1498.  
  1499. The 11/20 panel is laid out roughly as (not to scale):
  1500.  
  1501.    +-------------------------------------------------------+
  1502.    |        ADDRESS  REGISTER       RUN BUS    FETCH EXEC  |
  1503.    |    +---+---+---+---+---+---+  +---+---+  +-----+----+ |
  1504.    |    |ooo|ooo|ooo|ooo|ooo|ooo|  | o | o |  |  o  |  o | |
  1505.    |    +---+---+---+---+---+---+  +---+---+  +-----+----+ |
  1506.    |               DATA             SRC DST        ADDR    |
  1507.    |      +-+---+---+---+---+---+  +---+---+      +----+   |
  1508.    |      |o|ooo|ooo|ooo|ooo|ooo|  |ooo|ooo|      | ooo|   |
  1509.    |      +-+---+---+---+---+---+  +---+---+      +----+   |
  1510.    |         SWITCH REGISTER        L E C H S T     D      |
  1511.    |\|/ +---+---+---+---+---+---+  +-+-+-+-+-+-+   +-+     |
  1512.    | O  |ttt|ttt|ttt|ttt|ttt|ttt|  |m|m|m|t|t|m|   |m|     |
  1513.    |    +---+---+---+---+---+---+  +-+-+-+-+-+-+   +-+     |
  1514.    +-------------------------------------------------------+
  1515.  
  1516. The small circles are incandescent lamps (i.e., prone to burning out).
  1517. The odd thing at the lower-left is the keyswitch.  The 10 o'clock
  1518. position is OFF, straight up is POWER, and 2 o'clock is PANEL LOCK.
  1519.  
  1520. The lower-case `t's are toggle switches.  The lower-case `m's are
  1521. momentary-contact switches.  They are all large paddles, coloured
  1522. alternately magenta and orange. The left bank of switches are used to
  1523. set the address and data registers.  The action switches on the right are:
  1524.  
  1525.     - L  LOAD ADDR, copies the switch register to the address register
  1526.     - E  EXAM, loads the data register from the memory location indicated
  1527.          in the address register
  1528.     - C  CONT, continues the processor from a HALT
  1529.     - H  ENABLE/HALT, enables the processor to run if up, stops it if down
  1530.     - S  S-INST/S-CYCLE, selects the style of single-stepping
  1531.     - T  START, resets the system and starts the processor
  1532.     - D  DEP, deposits the contents of the switch register in the
  1533.          memory location indicated by the address register
  1534.  
  1535. The way ENABLE/HALT, CONT, and START work are (this is true of an
  1536. 11/70 as well, and presumably of everything in-between):
  1537.  
  1538.     - ENABLE/HALT: If in the HALT position the machine will HALT at the
  1539.       proper moment, depending on the S-INST/S-CYCLE. If in the ENABLE
  1540.       position, the S-INST/S-CYCLE is ignored.
  1541.  
  1542.     - CONT will just start the processor at where the PC points.
  1543.  
  1544.     - START will issue a bus reset before starting.
  1545.  
  1546. If you want to do a bus reset without running the machine, you switch
  1547. HALT, and depress START. I don't think it executes anything at that
  1548. time, which would imply that START can do less than CONT, which will
  1549. single-step in this case.
  1550.  
  1551. The 11/05 economized on the front panel. LEDs replaced lamps and there
  1552. was only a single row of them. They were multiplexed, and whether they
  1553. displayed data or address depended on the function being performed.
  1554. Action switches remained similar to the 11/20 with the possible
  1555. omission of the single step. [Help needed here ...]. The switches were
  1556. small and made of white plastic.
  1557.  
  1558. The other machines mentioned above had serious front panels. Great big
  1559. triangular wedge shaped keys; two rows of data and address lines; and
  1560. function lights. The 11/40 had:
  1561.  
  1562.         Run,       Bus,         User,
  1563.         Processor, Console,     Virtual
  1564.  
  1565. The 11/55 had:
  1566.  
  1567.         User I     Super I      Kernel I        Prog Phy
  1568.         User D     Super D      Kernel D        Cons Phy
  1569.  
  1570.         Data Paths              u-Address FPP/CPU
  1571.         BUS Register            Display Register
  1572.  
  1573.            ...and a pair of rotary switches
  1574.            to select between the two sets of displays!
  1575.  
  1576. The 11/70 display was similar if slightly different in detail. Of course
  1577. it had 22 of those nice big Data/Address switches!
  1578.  
  1579. With the advent of the 11/04, 11/34, and 11/60, two consoles were offered.
  1580. One could go the minimalist approach and purchase the cheapie and get a
  1581. Boot and Halt switch along with a Run lamp. Not exactly loved by those
  1582. that needed to interact with the machines intimately! Alternatively one could
  1583. purchase the more fully featured (KY11-B ?) panel with the chicklet keys
  1584. and calculator face. Many technicians had their own personal chicklet
  1585. panels for troubleshooting those machines ordered with the minimal
  1586. panel. 
  1587.  
  1588. The 11/60 was shipped with only the calculator-style panel. I seem to
  1589. recall that DEC might have relented and done likewise with later 11/34
  1590. models.
  1591.  
  1592. More recent PDP-11s seem to have nothing more than a power switch,
  1593. although I believe a button or two and a couple of LED's might lurk
  1594. under the covers if you know where to look for them.
  1595.  
  1596. ========================================================
  1597.  
  1598. Trivia/Humour/Stories
  1599. The 11/70 Hack:
  1600.  
  1601.      The following was part of a quiz posted in a Newsgroup:
  1602.  
  1603.        3.  Tom Farrin is famous for a hack he did to DEC's PDP-11/70.
  1604.            This was a trace cut and jump inside the CPU which:
  1605.   
  1606.        a)  increased the system clock speed by 12.5%
  1607.        b)  enabled IEEE-compatible floating-point arithmetic
  1608.        c)  froze the contents of the cache
  1609.        d)  disabled the Unibus reset that occurs automatically on a bus error
  1610.        e)  made separate instruction and data space available in user mode
  1611.        [....]
  1612.  
  1613.      to which Robert Herndon provided additional insight:
  1614.  
  1615.        "and the answer is listed as `E'".  I was present at a lecture he
  1616.        gave at the 1978 Unix Users Group Conference in NYC (this was just
  1617.        before they asked BTL for official permission to call themselves
  1618.        this, and were turned down, after which the conferences became
  1619.        "Usenix" conferences).  In it, he described how he needed the MFPI
  1620.        instruction (move from previous instruction space; it gets a word
  1621.        of data from the "previous mode"'s instruction space) in order to
  1622.        efficiently determine the number of arguments pushed on the stack.
  1623.  
  1624.        This was because his Lisp interpreter was too big to run without
  1625.        running in separate I & D spaces (type 411 binary, as opposed to
  1626.        407 (unshareable), or 410 (shareable, but common address space).
  1627.        Running programs in separate I & D spaces was an everyday event on
  1628.        PDP-11s at the time, but separate I&D binaries could not use the
  1629.        nargs() procedure (which looked at the caller's instructions).
  1630.  
  1631.        Since his program was running in separate I & D spaces, any
  1632.        loads to look at the caller's instructions would simply load a
  1633.        word from the data space at the same address.  DEC, in their
  1634.        wisdom, had made the MFPI and MFPD instructions privileged, so he
  1635.        couldn't use them to look at his instruction space.  So he made a
  1636.        system call available to do this function, but found that it was
  1637.        very slow.  And as he put it, that wasn't very satisfactory, and
  1638.        "Well, there's this NAND gate, and if you cut this wire...", and
  1639.        the room dissolved in laughter.  And then he told us that this cut
  1640.        was available as a DEC field mod and gave us its number...
  1641.  
  1642. The 407 Header
  1643.  
  1644.      If you want another bit of trivia in this vein, the 407 header
  1645.      number for Unix binaries is an artifact of the PDP-11's
  1646.      instruction set.  This is a 'branch forward 7 words'.  In case you
  1647.      installed your block-zero bootstrap without first stripping off
  1648.      the eight-word header, this allowed it to run anyway (since the
  1649.      code was position independent).  Other machines have used 407
  1650.      headers ever since for no good reason... [rh]
  1651.  
  1652. ========================================================
  1653.  
  1654. Who's Who?
  1655.  
  1656.  - C. Gordon Bell is generally credited with the original design of the
  1657.    PDP-8.  He was also involved with recommending what became the
  1658.    PDP-11 when that design was competing with the design that probably
  1659.    became the NOVA, and as vice president of research, he oversaw the
  1660.    development of the DEC VAX family.
  1661.  
  1662.  - Alan Kotok worked with Bell in working up the original specifications
  1663.    of the PDP-8.
  1664.  
  1665.  - Ben Gurley designed most of the big DEC machines, starting with the
  1666.    PDP-1.  The actual design work on the -8, however, was done by Ed
  1667.    deCastro, who later founded Data General to build the Nova.
  1668.  
  1669.  - Ken Olson ran DEC from the beginning.
  1670.  
  1671.  - Ed Yourdon hacked up the PAL III assembler for the -8, based on PAL
  1672.    II.  He later became well known as a programming methodology guru.
  1673.  
  1674.  - Charles Lasner developed P?S/8, and he is widely known as the grand old
  1675.    man of the movement to preserve these historic machines.
  1676.  
  1677.  - Wesley Clark developed the LINC while working at Lincoln Labs;  this
  1678.    was the first 12-bit minicomputer built with DEC parts.
  1679.  
  1680.  - Mary Allen Wilkes Clark developed the early LAP programs for the LINC.
  1681.  
  1682.  - Douglas W. Jones wrote the PDP-8 FAQ, from which the introductory "What
  1683.    is a PDP" is unabashedly cribbed.
  1684.  
  1685.      Most of my [MMcC] direct knowledge is of the earlier -11's and
  1686.      gets real hazy around the 11/5x - 11/9x boxes. However, the
  1687.      following contributors have helped fill in the gaps here and
  1688.      elsewhere in PDP-11 history, and otherwise helped with the
  1689.      FAQ:
  1690.  
  1691. - Tony Duell <ARD@SIVA.BRIS.AC.UK>
  1692. - Ron Natalie <ron@sensor.com>
  1693. - Johnny Billquist <bqt@Update.UU.SE>
  1694. - Terry Kennedy <terry@spcvxb.spc.edu> (Please include ``PDP-11''
  1695.   in the subject line)
  1696. - Paul Repacholi <zrepachol@cc.curtin.edu.au>
  1697. - Thor Lancelot Simon <tls@rek.tjls.com>
  1698. - <JOHNH@PSYCH.SU.OZ.AU>
  1699. - Mike Yankus <MIKE_YANKUS@STERLING.COM>
  1700. - Don Stokes <don@zl2tnm.gen.nz>
  1701. - David W. Peascoe <dwp@po.CWRU.Edu> 
  1702. - Robert Herndon <rh@craycos.com>
  1703. - Ronald Copley <copley1@marshall.edu>
  1704. - Dieter Dworkin Mu:ller <dworkin@village.org>
  1705. - Bob Kaplow, current email address unknown
  1706. - Merton C. Crockett <mcc@wlv.iipo.gtesc.com> 
  1707. - Brian McCarthy, current email address unknown
  1708. - Hans-Joachim Poehls, current email address unknown
  1709. - Megan Gentry <mbg@world.std.com>, <gentry@zk3.dec.com>.
  1710.   Web page http://world.std.com/~mbg/
  1711. - Bernd Ulmann <ulmann@fafner.zdv.uni-mainz.de>
  1712. - Roger N Wallace <rwallace@world.std.com>
  1713.  
  1714. ========================================================
  1715.  
  1716. Mark Crispin's 1986 list of PDP's
  1717. With comments and spelling corrections by Charles Lasner, Bernd
  1718. Ulmann, and Mike McCrohan
  1719.  
  1720.         Date: Wednesday, 20 August 1986  03:42-EDT
  1721.         From: Mark Crispin <MRC%PANDA@SUMEX-AIM.ARPA>
  1722.         To:   TOPS-20@SU-SCORE.ARPA, Boken@RED.RUTGERS.EDU
  1723.         Re:   DEC's PDP's
  1724.  
  1725.      A number of people have requested my list of all the DEC PDP's,
  1726. so I thought I'd bore you all with it.
  1727.  
  1728.      The PDP-1 was an 18 bit machine.  It was DEC's first computer, and
  1729. some of the first timesharing systems were designed for it.  It's also
  1730. unique in being one's complement; all later DEC computers were two's
  1731. complement.  Some machines, such as one of MIT's PDP-1s, were in
  1732. operation until the late '70s.
  1733.  
  1734. [Charles Lasner comments: The LINC portion of the LINC-8 and
  1735. PDP-12 are one's complement!]
  1736.  
  1737.      The PDP-2 was a designation reserved for a 24 bit machine, but as
  1738. far as I can tell it was never even designed and definitely none were
  1739. ever built.
  1740.  
  1741.      The PDP-3 was a 36 bit machine that was designed but never built by
  1742. DEC.  However, Scientific Engineering Institute built one in 1960.
  1743.  
  1744.      The PDP-4 was an 18 bit machine that was intended to be a cheaper,
  1745. slower alternative to the PDP-1.  It was so slow that it didn't sell
  1746. well, although it was interesting for its auto-incrementing memory
  1747. registers.  It was not program-compatible with the PDP-1, but its
  1748. instruction set was the basis of DEC's future 18 bit computers.
  1749.  
  1750.      The PDP-5 was a 12 bit machine designed to be a small laboratory
  1751. system.  It used many of the ideas in the LINC (Laboratory Instruction
  1752. Computer, designed by Lincoln Labs at MIT, some of which were built by
  1753. DEC).
  1754.  
  1755.      The PDP-6 was a 36 bit machine and the first machine to implement
  1756. the most wonderful computer architecture known to man. It was
  1757. rather expensive and difficult to maintain, and not many were sold.  As
  1758. a result, DEC cancelled 36 bit computers for what was to be the first of
  1759. many times.
  1760.  
  1761.      The PDP-7 was an 18 bit machine and the sucessor to the PDP-4.  It
  1762. was a major price/performance win over the PDP-4 and the first DEC
  1763. computer to use wire-wrapping.
  1764.  
  1765.      The PDP-8 was a 12 bit machine and the sucessor to the PDP-8.
  1766.  
  1767. [Charles Lasner comments: I assume he means -5!]
  1768.  
  1769. It basically defined the term "minicomputer", and went through several
  1770. incarnations.  The original PDP-8 was followed by the extremely slow
  1771. PDP-8/S (as bad as the PDP-4 was to the PDP-1, but at least the /S was
  1772. program-compatible).  DEC recouped with the PDP-8/I (using MSI
  1773. integrated circuits) and the smaller PDP-8/L, and somewhat later came
  1774. out with the "Omnibus 8" machines -- the PDP-8/E, the PDP-8/F (a
  1775. half-sized version of the PDP-8/E), the PDP-8/M (an OEM version of the
  1776. PDP-8/F), and the final machine, the single board PDP-8/A.  The
  1777. PDP-8/A still exists after a fashion as a current DEC product.
  1778.  
  1779.      The PDP-9 was an 18 bit machine and the sucessor to the PDP-7.  It
  1780. had a faster memory than the PDP-7 and was the first microprogrammed DEC
  1781. computer.  Modulo a 300 wire(!) ECO required in the first machines, the
  1782. PDP-9 was a reliable machine and some are still in operation today.
  1783. There was a short-lived PDP-9/L.
  1784.  
  1785. [Comment by Bernd Ullman: As far as I know the PDP-9 had a 64
  1786. word by 36 bit read-only control-store with an access time of 212 ns
  1787. (it was a transformer coupled rope memory). The first intention was to
  1788. build a horizontally programmed machine but this was dropped because
  1789. of the resulting word length needed for the control-words. So some
  1790. (most ?) of the control signals were encoded and this led to a typical
  1791. diagonally microprogrammed machine I think.]
  1792.  
  1793. [Mike McCrohan comments: 212 ns seems fast to me for a PDP-9 in
  1794. the mid 1960's when a core memory of 5 years later was cycling at
  1795. 900ns, and PDP-11 instructions were at about 1 microsecond.]
  1796.  
  1797.      The PDP-10 was a 36 bit machine and the sucessor to the PDP-6.  It
  1798. is especially noted for its software, which represents the pinnacle of
  1799. DEC software engineering and has never been equalled.  The first KA10,
  1800. largely installed in universities, created a whole generation of
  1801. timesharing hackers.  The follow-on KI10, with paging and using IC's
  1802. instead of discrete components but otherwise unexciting, mostly was sold
  1803. to commercial organizations.  The KL10 went through several incarnations
  1804. and is today the most representative of this marvelous machine.  The
  1805. KS10 was a small, low-speed (approximately KA10 performance) processor
  1806. which was DEC's last successful implementation of this architecture. 
  1807.  
  1808.      The PDP-11 was a 16-bit machine that went through more
  1809. implementations and operating systems than can be counted.  Presently
  1810. it superceded the less powerful PDP-8 as the representative
  1811. minicomputer.  While the PDP-11 used octal, it was in its deep heart
  1812. of hearts a hexadecimal machine, and the first indicator of the
  1813. creeping IBMification of DEC that took full fruit in the VAX.  [I can
  1814. hear the flames now...]  Rather than fight it the customers loved it;
  1815. more PDP-11's have been sold than any other DEC computer (possibly
  1816. more than all the others combined).
  1817.  
  1818.      The PDP-12 was a 12 bit machine and the sucessor to the PDP-8.  It
  1819. combined a LINC and a PDP-8 type processor in the same box and basically
  1820. was a new model of the LINC-8 which was the same thing.
  1821.  
  1822.      No PDP-13 was ever designed or built. Even DEC gets superstitious.
  1823.  
  1824.      The PDP-14 was a 12 bit machine with a 1 bit register.  It was used
  1825. as a process control engine in applications that were felt to be too
  1826. rugged for a PDP-8, and basically replaced a set of relays.  Later DEC
  1827. made PDP-8's suitable for this sort of thing, but it didn't stop them
  1828. from the ultimate silliness of building a PDP-14 that used a PDP-8 as
  1829. its console processor!
  1830.  
  1831. [Charles Lasner comments: I remember something about a KL8-JA-oriented
  1832. diagnostic that was for checking out somesuch configuration!]
  1833.  
  1834.      The PDP-15 was an 18 bit machine and the final one of this design
  1835. built by DEC.  More PDP-15's were built and sold than any of the others,
  1836.  
  1837. [Charles Lasner comments: I assume he means other 18-bit DEC machines!]
  1838.  
  1839. several incarnations including some which used a PDP-11 as a front end.
  1840. Apparently the cancellation of the PDP-15 came as a great surprise to
  1841. the "Tiger Team" who worked on it, although considering its general
  1842. ungainliness compared to comparable performance PDP-11's it wasn't
  1843. surprising.  In many ways the PDP-15 died for the same reason the PDP-10
  1844. did.
  1845.  
  1846.      The PDP-16 was a "roll your own" 16 bit machine based on various
  1847. "building blocks".  Every PDP-16 was essentially custom-designed by the
  1848. customer.  It got a fair amount of attention when it was announced but
  1849. evidentally didn't sell very well.
  1850.  
  1851.      There was no PDP-17 or any other designator.  DEC apparently
  1852. decided that "PDP" had a perjorative ring to it.
  1853.  
  1854. ========================================================
  1855.  
  1856. Appendix A: Related FAQ Sites
  1857.  * * * PDP-11 ftp sites informational posting * * *
  1858.  
  1859. From: shoppa@altair.krl.caltech.edu
  1860.  
  1861. The most current version of this list will be available via anonymous
  1862. ftp from sunsite.unc.edu as the file pdp-11.ftp in the directory
  1863. /pub/academic/computer-science/history/pdp-11.
  1864.  
  1865. Site:        sunsite.unc.edu (152.2.254.81)
  1866. Directory:   /pub/academic/computer-science/history/pdp-11
  1867. Maintainer:  Tim Shoppa (shoppa@altair.krl.caltech.edu)
  1868. Comments:    main pdp-11 directories are:
  1869.     hardware      Miscellaneous documentation on PDP-11 hardware,
  1870.                       including Ron Copley's guide to Unibus and Q-bus
  1871.                       modules (field-guide.txt)
  1872.         decusdocs     Compilations from DECUSserve coferences,
  1873.                       containing very useful hardware and software
  1874.                       tips.
  1875.     rt            RT-11 sig tapes from DECUS
  1876.         rsx           RSX-11 sig tapes from DECUS
  1877.     emulator      PDP-11 emulators
  1878.     games         Games for PDP-11's (various OS's)
  1879.     kermit        krt and k11 versions of pdp-11 kermit
  1880.     language      The PDP-11 C compiler from DECUS
  1881.     utils         Various PDP-11 utilities
  1882.     teco          Teco stuff from SIG tapes and other sources.
  1883.  
  1884. Site:        ftp.update.uu.se (130.238.11.14)
  1885. Directory:   /pub/pdp11
  1886. Maintainer:  Johnny Billquist (bqt@update.uu.se)
  1887. Comments:    Several RT-11 sig tapes, in rt/11s108, rt/11s109, rt/11s113,
  1888.              and rt/11sp68 subdirectories.
  1889.              DEC Professional stuff, in pos subdirectory.
  1890.  
  1891. Site:        tats.wizvax.net [199.181.141.53]
  1892. Directory:   pub/e11, pub/putr, pub/pdp11
  1893. Maintainer:  John Wilson (wilson@tats.wizvax.net)
  1894. Comments:    PDP-11 simulator for DOS PCs, program to read/write RX50s (and
  1895.              other media), Fuzzball distribution, DL11 MIDI information
  1896.  
  1897. Site:        shop-pdp.kent.edu (131.123.1.153)
  1898. Maintainer:  Alan Baldwin (???)
  1899. Comments:    TCPIP for TSX+ systems.
  1900.          Cross assemblers for many micro's.
  1901.  
  1902. Site:         ftp.village.org (204.144.255.51)
  1903. Maintainer:  Dieter Dworkin Mu:ller (dworkin@village.org)
  1904. Comments:    pdp-11 faq
  1905.  
  1906. Site:        en.ecn.purdue.edu (128.46.149.59, 128.46.128.59)
  1907. Directory:   pdp-11
  1908. Maintainer:  Mike Young (young@ecn.purdue.edu)
  1909. Comments:    ACPs for RSX-11, DECUS C compiler.
  1910.  
  1911. Site:        ftp.spc.edu (192.107.46.118)
  1912. Directory:   [anonymous.*]
  1913. Maintainer:  Terry Kennedy (terry@spcvxa.spc.edu)
  1914. Comments:    [finger11]             Finger for RSTS
  1915.              [k11]                  Kermit's for various PDP-11 OS's
  1916.              [rstscle]              Command line editor for RSTS
  1917.              third-party-disks.txt  Excellent docs on RD5n disks.
  1918.  
  1919. ========================================================
  1920.  
  1921. Where can I buy [whatever] for my PDP-11?
  1922. DISCLAIMER:
  1923.      The information in this section is provided by the vendors
  1924.      themselves, at their request.  They assume all responsibility for
  1925.      the validity of their respective claims.  No endorsement is
  1926.      implied by inclusion in this list.  No slight is implied by
  1927.      exclusion from this list.  Here's
  1928.      the full 
  1929.      disclaimer.
  1930.  
  1931. Note to vendors:Email your URL and product description
  1932. (no more than three lines please) and a link will be provided as soon
  1933. as is practical.  Address your information to faq11@village.org.
  1934.  
  1935.     - Strobe Data, Inc., http://www.strobedata.com/strobe/
  1936.       In order to preserve the tested, mature code running on
  1937.       the PDP-11 series machines, we have built a PDP-11 in a
  1938.       PC. Our product is the Osprey and runs the PDP-11 code
  1939.       unmodified.  Submitted by jcook@halcyon.com.
  1940.  
  1941.     - John Comeau, http://world.std.com/~jcomeau/resume.html
  1942.       RSX Drivers and Utilities.  Submitted by jcomeau@world.std.com.
  1943.  
  1944.     - Wilson Laboratories, Inc., 714-998-1980, M-F 8:00am - 5:00pm PDT,
  1945.       FAX 714-974-4980
  1946.       The WBC-3000 removable media disk, is a direct replacement
  1947.       for DEC and Pertec type 14 inch cartridge disk drives with
  1948.       fixed or removable storage capacity of 2 1/2 to 30MB.  This
  1949.       product utilizes a Syquest EZ135 135MB removable cartridge
  1950.       disk drive or a removable hard disk drive canister.  Submitted
  1951.       by R.Wilson-DBar@worldnet.att.net.
  1952.  
  1953. ========================================================
  1954.  
  1955. Editor/Maintainers
  1956.  
  1957. - Alan R. Sieving <ars@world.std.com>
  1958. - Johnny Billquist <bqt@Update.UU.SE>
  1959. - Robert Smith <rmsmith@csc.com>
  1960. - John O. Lene Comeau <jcomeau@world.std.com>
  1961. - Dieter Dworkin Mu:ller <dworkin@village.org>
  1962.  
  1963. FTP Location:       anon-ftp ftp.village.org in pub/pdp-11/faq
  1964. WWW Location:       http://www.village.org/pdp11/faq.html
  1965. FTP/WWW Maintainer: Dieter Mu:ller <dworkin@village.org>
  1966.  
  1967. ========================================================
  1968. Revision History
  1969.  
  1970. - Dec 1996     Reformat so that text and HTML can be generated from
  1971.                the same source file, recreated charts and graphics
  1972. - Apr 1996     Split WWW FAQ into pieces and placed in village.org
  1973. - Feb 1996     Added list of vendors with links [jlc]
  1974. - Dec 1995     First WWW version of the FAQ hacked together [jlc]
  1975. - Jan 1995     Mike McCrohan <mccrohan@iol.ie> retires
  1976.                as editor.
  1977. - Dec 1994     Further info on PDT's, 11/93, Additions
  1978.                to Languages
  1979. - May 1994
  1980.              - Added section on the Maintenance Panel
  1981.              - Updated the Operating Systems.
  1982.              - Added Mark Crispin's 1986 list of PDP's 
  1983.              - Appendix A: Related FAQ Sites 
  1984.              - 11/44 update
  1985.              - Added to PRO, PDT sections
  1986.  
  1987. - Feb 1994     Added some detail to the PDT section
  1988. - Jan 1994     Current version - Now available via FTP
  1989. - Aug 1993     Original version
  1990.  
  1991. Note:
  1992.         The word "I" appears at a number of places throughout the text.
  1993.         It does not always refer to the FAQ maintainer, but is often the
  1994.         writing of one of the other contributors. Perhaps one of these
  1995.         days we will organise an overall rewrite of the FAQ to make it
  1996.         slightly less disjointed. Maybe when I get a Round Tuit. :-)
  1997.         Mike McCrohan
  1998.  
  1999. ========================================================
  2000.