home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / e / klh10.txt < prev    next >
Internet Message Format  |  2020-01-01  |  17KB

  1. Date: Sat, 10 Nov 2001 21:14:32 -0400
  2. From: Tim Shoppa <shoppa@trailing-edge.com>
  3. Organization: Trailing Edge Technology
  4. MIME-Version: 1.0
  5. Newsgroups: alt.sys.pdp10
  6. Subject: Announcing KLH10
  7. Content-Type: multipart/mixed; boundary="------------2C9EB37D69F0B2726806E6C3"
  8. Lines: 421
  9.  
  10. This is a multi-part message in MIME format.
  11.  
  12. --------------2C9EB37D69F0B2726806E6C3
  13. Content-Type: text/plain; charset=us-ascii
  14. Content-Transfer-Encoding: 7bit
  15.  
  16. Ken's been so hard at work in packaging up and documenting
  17. his KLH10 emulator that the easy job - announcing it! -
  18. seems to have fallen upon me.
  19.  
  20. The main distribution site is
  21.  
  22.   http://klh10.trailing-edge.com/
  23.  
  24. and - closely associated with the KLH10 announcement - 12 new tape
  25. images are available in the PDP-10 archives at
  26.  
  27.   http://pdp-10.trailing-edge.com/
  28.  
  29. 9 of the new tape images form all of a TOPS-20 V7.0 distribution
  30. with networking: 
  31.  
  32.      BB-EV83B-BM TCP/IP-20 V4.0 DISTR 16MT9 (longer than the other one?) 
  33.      BB-GS97B-SM TOPS-20 EXEC SRC 16MT9 
  34.      BB-LW55A-BM T20 V7.0 DIST 16MT9 TAPE 2OF2 
  35.      BB-M080Z-SM T20 V7.0 #04 MON SRC MOD 16MT 
  36.      BB-M081Z-SM T20 V7.0 #04 EXEC SRC MOD 16M 
  37.      BB-M780D-SM TOPS-20 V7.0 MONITOR SRC 16MT 
  38.      BB-M836D-BM TOPS-20 V7.0 TOOLS 16MT9 
  39.      BB-KL11M-BM TOPS-20 V7.0 TSU04 TP 2 OF 2 
  40.      BB-PENEA-BM TOPS-20 V7.0 TSU04 TP 1 OF 2 
  41.  
  42. And let's not forget three new TOPS-20 V4.1 tapes: 
  43.  
  44.      Tops-20 V4.1 TP#12 "Exec Src Mod" Gidney TU78 21-Nov-85 
  45.      Tops-20 V4.1 TP#12 "Monitor Sources" Gidney TU78 21-Nov-85 
  46.      BB-V895A-BM T-20 V4.1 2020 DIST 16MT9 2/2 1983 ("1/9/85") 
  47.  
  48. Now, back to the subject of the hour, KLH10, I reproduce below
  49. the "README", "LICENSE", and "Intro.txt" files from the distribution.
  50. Enjoy!
  51.  
  52. --------------2C9EB37D69F0B2726806E6C3
  53. Content-Type: text/plain; charset=iso-8859-1; name="readme."
  54. Content-Transfer-Encoding: 8bit
  55. Content-Disposition: inline; filename="readme."
  56.  
  57. /* README - README file for KLH10 Distribution
  58. */
  59. /* $Id: klh10.rdm,v 2.2 2001/11/10 10:41:40 klh Exp $
  60. */
  61. /*  Copyright ⌐ 2001 Kenneth L. Harrenstien
  62. **  All Rights Reserved
  63. **
  64. **  This file is part of the KLH10 Distribution.  Use, modification, and
  65. **  re-distribution is permitted subject to the terms in the file
  66. **  named "LICENSE", which contains the full text of the legal notices
  67. **  and should always accompany this Distribution.
  68. */
  69.  
  70. Please read the LICENSE file for the full license terms.  Although
  71. there are no specific restrictions on use of this software, some rules
  72. do apply for modification and re-distribution.  Note that these terms
  73. do not apply to files in the "run" and "contrib" directories, which
  74. may have each have different terms and are distributed separately to
  75. avoid licensing complications (see the READaux file if you have
  76. extracted the Auxiliary Distribution).
  77.  
  78. While not part of the license terms, I would like to ask that any
  79. commercial or institutional users who derive benefit from this
  80. software consider arranging for a modest support agreement.  Without
  81. the income from a handful of commercial licensees, it would have been
  82. completely impossible to justify the time that went into developing
  83. and testing this product.
  84.  
  85. Of course, this software comes "as is" with no guarantees whatsoever,
  86. and with ABSOLUTELY NO WARRANTY.  This is particularly true for this
  87. Distribution, which is NOT the same as the V1.x commercial version; I
  88. took the opportunity to make several substantial cleanups and
  89. additions which have yet to be thoroughly verified and tested.  There
  90. are still some known issues with certain platforms, but I've decided
  91. to proceed with this release now rather than postpone it indefinitely
  92. in the perpetual pursuit of perfection.
  93.  
  94.         ---------------------------------
  95.  
  96. Now, if you're the impatient type who wants to get on with it, go
  97. straight to:
  98.  
  99.     doc/install.txt
  100.  
  101. But if you're the rarity who likes to read everything first, I
  102. recommend starting with:
  103.  
  104.     doc/Intro.txt
  105.  
  106. Please send me any bug fixes (preferably conditionalized for clarity),
  107. as well as any ideas for improving the distribution itself.
  108. Undoubtedly there will be many.  I can't promise I will be able to
  109. incorporate all of them in a timely fashion since my clients and
  110. family will always have first priority, but will do my best.
  111.  
  112. Thanks!
  113.     --KLH
  114.  
  115. Net:   <klh@alum.mit.edu>
  116. Snail: 759 Torreya Court, Palo Alto, CA 94303-4160
  117.  
  118.         ---------------------------------
  119.  
  120. CREDITS, THANKS, ACKNOWLEDGEMENTS
  121.  
  122.     I'm not sure where to put this but figure the README is
  123.     prominent enough.
  124.  
  125. While I am responsible for all of the KLH10 software and documentation
  126. as of this distribution, there were many people along the way who,
  127. whether they knew it or not, helped make it happen.  Everyone who uses
  128. this software owes them a debt of gratitude!
  129.  
  130. First, the list from the original KS10 version:
  131.  
  132.     Stu Grossman, for convincing me that a C version was feasible.
  133.     Alan Bawden & Dave Moon, who (apart from their already legendary
  134.     roles in ITS) helped as much as they could without actually
  135.     being there.
  136.     Jay Verkler, who provided a MIT-AI lab environment within Oracle.
  137.     And everyone else on the ITS-LOVERS and TOPS-20 lists whose messages
  138.     and actions have helped keep PDP-10s alive.
  139. Plus:
  140.     Mark Crispin, without whom it would never have run TOPS-20.
  141.     Rob Austein, for lots of network and porting help; the "tun" IMP code
  142.     is based on his work.
  143.  
  144. Now, for the KL10 version:
  145.  
  146.     Andy Riebs and Maurice Marks, who championed the KL project at DEC.
  147.     Larry Sendlosky, who more than anyone else is responsible for
  148.     the success of the KL10 version.  While at DEC he dug up
  149.     whatever was needed, built and tested innumerable configurations,
  150.     and went into the field to pitch and support the emulator.
  151.     Doug and Christina Engelbart, and the rest of the Bootstrap group,
  152.     for preserving the SRI-NIC DEC-2065 just long enough.  Without
  153.     a working KL and filesystem it would have been much harder.
  154.     Duane Winkler, for taking a chance.
  155.     Bill Parsons, David Alspaugh, Dennis Horn, Holly Sue White, 
  156.     Jim Saleh, Mary Coppernoll, Raylene Pak, Tom Jenkins, Tom Saleh,
  157.     and many unknown others for using it and shaking the bugs out.
  158.  
  159. And finally:
  160.  
  161.     Doug Humphrey, who supported the merge and Public ITS work.
  162.     Bob Supnik, who made it possible to release the sources.
  163.     Lars Brinkhoff, for inspiration and release testing.
  164.     Tim Shoppa, for his preservation efforts and release hosting.
  165.     
  166. If I've inadvertently left anyone off, please let me know.
  167.  
  168. Thanks again!
  169.  
  170. --------------2C9EB37D69F0B2726806E6C3
  171. Content-Type: text/plain; charset=iso-8859-1; name="license..1"
  172. Content-Transfer-Encoding: 8bit
  173. Content-Disposition: inline; filename="license..1"
  174.  
  175. /* LICENSE - KLH10 License Terms
  176. */
  177. /* $Id: klh10.lic,v 2.2 2001/11/10 10:41:40 klh Exp $
  178. */
  179. /*  Copyright ⌐ 2001 Kenneth L. Harrenstien
  180. **
  181. **  The text of this license was derived from the University of
  182. **  Washington's Free-Fork License, as used on the University of
  183. **  Washington IMAP toolkit (Copyright 2001 University of Washington).
  184. */
  185.  
  186. KLH10 Free-Fork License
  187.  
  188. The "KLH10" PDP-10 emulator, Version 2.0
  189. Copyright ⌐ 2001 Kenneth L. Harrenstien
  190.  
  191. This KLH10 Distribution (code and documentation) is made available to
  192. the open source community as a public service by Kenneth
  193. L. Harrenstien.  Contact Kenneth L. Harrenstien at klh@alum.mit.edu
  194. for information on other licensing arrangements (e.g. for use in
  195. proprietary applications).
  196.  
  197. Under this license, this Distribution may be modified and the original
  198. version and modified versions may be copied, distributed, publicly
  199. displayed and performed provided that the following conditions are
  200. met:
  201.  
  202. (1) modified versions are distributed with source code and
  203. documentation and with permission for others to use any code and
  204. documentation (whether in original or modified versions) as granted
  205. under this license;
  206.  
  207. (2) if modified, the source code, documentation, and user run-time
  208. elements should be clearly labeled by placing an identifier of origin
  209. (such as a name, initial, or other tag) after the version number;
  210.  
  211. (3) users, modifiers, distributors, and others coming into possession
  212. or using the Distribution in original or modified form accept the
  213. entire risk as to the possession, use, and performance of the
  214. Distribution;
  215.  
  216. (4) this copyright management information (software identifier and
  217. version number, copyright notice and license) shall be retained in all
  218. versions of the Distribution;
  219.  
  220. (5) Kenneth L. Harrenstien may make modifications to the Distribution
  221. that are substantially similar to modified versions of the
  222. Distribution, and may make, use, sell, copy, distribute, publicly
  223. display, and perform such modifications, including making such
  224. modifications available under this or other licenses, without
  225. obligation or restriction;
  226.  
  227. (6) modifications incorporating code, libraries, and/or documentation
  228. subject to any other open source license may be made, and the
  229. resulting work may be distributed under the terms of such open source
  230. license if required by that open source license, but doing so will not
  231. affect this Distribution, other modifications made under this license
  232. or modifications made under other Kenneth L. Harrenstien licensing
  233. arrangements;
  234.  
  235. (7) no permission is granted to distribute, publicly display, or
  236. publicly perform modifications to the Distribution made using
  237. proprietary materials that cannot be released in source format under
  238. conditions of this license;
  239.  
  240. (8) the name of Kenneth L. Harrenstien may not be used in advertising
  241. or publicity pertaining to Distribution of the software without
  242. specific, prior written permission.
  243.  
  244. This software is made available "AS IS", and
  245.  
  246. KENNETH L. HARRENSTIEN DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED,
  247. WITH REGARD TO THIS SOFTWARE, INCLUDING WITHOUT LIMITATION ALL IMPLIED
  248. WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE,
  249. AND IN NO EVENT SHALL KENNETH L. HARRENSTIEN BE LIABLE FOR ANY
  250. SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
  251. RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
  252. CONTRACT, TORT (INCLUDING NEGLIGENCE) OR STRICT LIABILITY, ARISING OUT
  253. OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  254.  
  255.  
  256. --------------2C9EB37D69F0B2726806E6C3
  257. Content-Type: text/plain; charset=iso-8859-1; name="intro.txt.1"
  258. Content-Transfer-Encoding: 8bit
  259. Content-Disposition: inline; filename="intro.txt.1"
  260.  
  261. /* INTRO.TXT - Introduction to the KLH10
  262. */
  263. /* $Id: Intro.txt,v 2.3 2001/11/10 21:24:21 klh Exp $
  264. */
  265. /*  Copyright ⌐ 1997,2001 Kenneth L. Harrenstien
  266. **  All Rights Reserved.
  267. **
  268. **  This file is part of the KLH10 Distribution.  Use, modification, and
  269. **  re-distribution is permitted subject to the terms in the file
  270. **  named "LICENSE", which contains the full text of the legal notices
  271. **  and should always accompany this Distribution.
  272. */
  273.  
  274.  
  275. CONTENTS
  276. ========
  277.  
  278.     All KLH10 documentation is online in ASCII text files for
  279. simplicity and portability.  The contents, in suggested order of
  280. perusal, are as follows:
  281.  
  282.     Intro.txt    - General intro
  283.     build.txt    - Build instructions
  284.     usage.txt    - General usage instructions
  285.     install.txt  - Installation & configuration instructions
  286.  
  287.     klt20.txt    - KL10 TOPS-20 installation and startup
  288.     klt10.txt    - KL10 TOPS-10 installation and startup
  289.     kst20.txt    - KS10 TOPS-20 installation and startup
  290.     kst10.txt    - KS10 TOPS-10 installation and startup
  291.     ksits.txt    - KS10 ITS     installation and startup
  292.  
  293.     backgrnd.txt - Background comments
  294.     coding.txt   - Coding guidelines
  295.     cmdref.txt   - Command reference
  296.     cmdsum.txt   - Command summary cheat sheet
  297.     dfkfb.txt    - KL10 timing diagnostic
  298.     dvhost.txt   - Special host device
  299.     history.txt  - Historical notes
  300.     kldiff.txt   - Differences from real KL10
  301.     utils.txt    - KLH10 Utilities
  302.     vtape.txt    - Virtual tape details
  303.  
  304.  
  305. GENERAL INFORMATION
  306. ===================
  307.  
  308.     "KLH10" is an emulator for the PDP-10 series of machines from
  309. Digital Equipment Corporation.  The most important thing to know is
  310. that this is a MACHINE emulator.  It emulates a specific PDP-10 CPU
  311. and all necessary I/O devices, running a site's existing operating
  312. system (monitor) binary without change -- which then runs user-mode
  313. application programs just as if they were on a real PDP-10.  Even
  314. floating-point results are bit-identical.
  315.  
  316.     This means sites must continue to manage the virtual system in
  317. the same way as a real one, without the old hardware.  However, the
  318. emulator doesn't monopolize the actual platform, and runs as a set of
  319. simple user processes that co-exist with other software on the native
  320. system.  It is possible to configure it so that no actual CPU time is
  321. used while the virtual system is idle.
  322.  
  323.     The KLH10 emulator is extremely portable and flexible -- it is
  324. written in ANSI C so that it can be ported to new platforms quickly,
  325. and new "virtual hardware" can readily be added.  The following
  326. describes the currently supported versions:
  327.  
  328.     Emulation Target: KL
  329.     CPU:    KL10B with extended addressing
  330.     Memory:    4MW MF20 (22 bits - 8192 pages of 512 words)
  331.     Microcode: v.442 (supports final versions of TOPS-10 or TOPS-20)
  332.     Devices available:
  333.         DTE - one CTY
  334.         RH20 - up to 8 (7 if using a NI20)
  335.         Disk - 8 RP06 or RP07 drives per RH20
  336.         Tape - 8 TM02/3 formatters per RH20, with one TU45/TU77 each
  337.         Network - one NI20 (KLNI/NIA20) ethernet interface
  338.  
  339.     Emulation Target: KS
  340.     CPU:    KS10
  341.     Memory:    512KW (19 bits - 1024 pages of 512 words)
  342.     Microcode: ITS v.262 (supports final version of KS10 ITS)
  343.            DEC v.130 (supports final versions of KS TOPS-10/20)
  344.     Devices available:
  345.         FE - one CTY
  346.         RH11 - up to 2
  347.         Disk - 8 RP06 or RP07 drives per RH11
  348.         Tape - 8 TM02/3 formatters per RH11, with one TU45/TU77 each
  349.         Network - one "ACC LH-DH" IMP interface (ITS only)
  350.  
  351.  
  352.     Supported Host Platforms:
  353.     Compaq/DEC Alpha with Tru64 (formerly Digital Unix, formerly OSF/1)
  354.     SUN Sparc with Solaris
  355.     Any x86   with FreeBSD, NetBSD, or Linux
  356.     Plus: Any system providing equivalents to basic Unix system calls.
  357.           WNT/W2K ports are possible.
  358.  
  359.     Requirements:
  360.     Memory:  KL: 35MB (3MB program, 32MB emulated PDP-10 memory)
  361.          KS:  6MB (2MB program,  4MB emulated PDP-10 memory)
  362.     Disk:    .2-.3 GB per RP06, .5-.9 GB per RP07, 50+GB per dynamic RPxx
  363.     Tape:    optional, can use any variable-record-length drive
  364.     Network: optional, LAN interface advised (can share single interface
  365.             with native OS, but a second may be desirable)
  366.  
  367.     Performance:
  368.     Varies with job mix and platform architecture, but general
  369.     observations suggest the following ratios relative to a
  370.     real PDP-10 (where 1.0 = KL10 speed):
  371.         SPARC: (MHz / 200)
  372.         Alpha: (MHz / 250)
  373.         x86:   (MHz / 200)
  374.     Thus, a 450MHz x86 would provide slightly over 2x KL speed.
  375.  
  376.  
  377. IMPLEMENTATION
  378. ==============
  379.  
  380.     The KLH10 internals are organized in a fashion roughly similar
  381. to that of actual hardware.  There is a "KN10" process equivalent to a
  382. KS10 or KL10 processor that carries out all CPU operations and is
  383. continuously running, except when the KLH10 user-interface command
  384. parser has control.  Most importantly, each hardware device is
  385. implemented as a separate subprocess, with optional direct access to
  386. main PDP-10 memory for data transfers.
  387.  
  388. This architecture has several advantages:
  389.  
  390.   - It can take advantage of multi-processor host platforms.
  391.   - The emulated CPU never needs to wait for I/O.  This considerably speeds
  392.     up operation, compared to a non-threaded emulator which must
  393.     block on disk I/O. 
  394.   - It can directly use very slow physical devices such as magtape drives
  395.     (half-inch, 8mm, 4mm, DLT, etc).  Virtual tapes (i.e. tape images
  396.     on disk) are also supported.
  397.   - The sub-process implementation is more portable and robust than
  398.     a threaded implementation.
  399.   - Device failures need not be fatal.  The NIA20 network device for example
  400.     can be reloaded and restarted without stopping the KN10 or the
  401.     TOPS monitor.
  402.  
  403.  
  404. TERMINOLOGY
  405. ===========
  406.  
  407.     There are two terms used in the documentation and source that
  408. may cause confusion: KLH10 and KN10.
  409.  
  410. "KLH10" refers to the entire software product covered by the license.
  411.     This is theoretically a proper name ("KLH10 has") but is
  412.     often used as an object name ("the KLH10 has").
  413.  
  414. "KN10" refers to the virtual PDP-10 created at runtime by the
  415.     "kn10" executable image.  It is specifically intended to
  416.     serve as an object name alongside the physical PDP-10s
  417.     KA10, KI10, KL10, and KS10.
  418.  
  419. Nearly all software products are referred to like people (ITS, Emacs,
  420. Oracle, Solaris, etc) and the same can be done with "KLH10".  However,
  421. to emphasize that it emulates a hardware device, it is often still
  422. referred to as an object -- "the KLH10".  In fact this objectification
  423. urge is so strong that it is actually difficult to avoid using the
  424. articles "the" and "a".  The term "KN10" was invented to help maintain
  425. the distinction between the product and the virtual machine/object.
  426.  
  427. I will let others speculate on why English is this way.
  428.  
  429. --------------2C9EB37D69F0B2726806E6C3--
  430.