<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:st1="urn:schemas-microsoft-com:office:smarttags" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="State"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="country-region"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="place"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="PersonName"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
p
        {mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:Arial;
        color:windowtext;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
 /* List Definitions */
 @list l0
        {mso-list-id:954872541;
        mso-list-template-ids:-180873062;}
@list l1
        {mso-list-id:1213154672;
        mso-list-template-ids:-180873062;}
@list l2
        {mso-list-id:2141681673;
        mso-list-template-ids:-180873062;}
@list l0:level1 lfo2
        {mso-level-start-at:2;}
@list l0:level1 lfo3
        {mso-level-start-at:3;}
@list l0:level1 lfo4
        {mso-level-start-at:4;}
@list l0:level1 lfo5
        {mso-level-start-at:5;}
@list l0:level1 lfo6
        {mso-level-start-at:6;}
@list l0:level1 lfo7
        {mso-level-start-at:7;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>All,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Background: In 2005 Al Kossow supplied me with several
thousand SDS 940 files extracted from archival tapes. I attempted to bring a
system up using Bob Supnik’s excellent SDS 940 simulator, but became
frustrated with what appeared to be several missing pieces of the monitor. After
failing to locate additional 940 tapes in the basement of the NBS Radio
Building in Boulder where we used to store them in the 1970’s, I put the
project aside, being more than full-time employed then.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>In 2010 I retired and moved to <st1:country-region w:st="on"><st1:place
 w:st="on">Mexico</st1:place></st1:country-region>. I did not pursue the 940
project until a former NBS colleague, Howard Bussey, broached the subject in
January, 2014, with suggestions of alternative approaches. In turn, that
prodded me to write a number of tools to scan the file collection looking for
needed components of the Monitor and Executive, and to create a simulated drum.
 Debugging and development has continued intermittently for the last 14 months,
resulting in a state of work that perhaps merits wider discussion of where to
go with it, and whether anyone else wants to join my efforts.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>At the end of this e-mail are my notes on the current
project status.  In summary, I have a nice running SDS 940 time sharing system
with components to edit, assemble and link code.  In the “eating your own
dog food” department, I can assemble, link and run the system and make
changes to it; no cross-assembly necessary. I have no doubt that if I installed
the simulator on a Raspberry Pi attached to my router, any of you could telnet
in and have a productive session.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>There’s still a lot to do in terms of finding and building
the remaining subsystems like FORTRAN, BASIC and SNOBOL. Getting the system
built with a permanent hard disk file system instead of the drum’s
temporary file system would make this easier, not having to copy files from the
host each session via simulated paper tape.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Does anyone think there’s sufficient interest to make
this a GITHUB collaborative project? Or should I just labor away as time and
energy permits?  For privacy reasons, I can’t make the multi-thousand
file archive public, because there’s personal information such as resumes
buried among the archives that must be searched for relevant source files.  However,
I could put on GITHUB just those files I’ve found as well as the tools I’ve
developed. The effort to manage a GITHUB repository would only be worth it if
others contributed. As a distribution system to just a few folks, I can do that
more easily as a zip file.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Many thanks to Al Kossow for the original tape files, to Bob
Supnik for an excellent simulator, to <st1:PersonName w:st="on">Mark</st1:PersonName>
Pizzolato for his patience with my many screwups sending bugfixes to the SIMH
archive, and to Howard Bussey for poking me to give this another try.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><st1:PersonName w:st="on"><font size=2 face=Arial><span
 style='font-size:10.0pt;font-family:Arial'>Mark</span></font></st1:PersonName><font
size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'> Emmer<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Pátzcuaro, Michoacán, México<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>---------------------------------------<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>

<p style='margin:0in;margin-bottom:.0001pt'><font size=2 face=Verdana><span
style='font-size:10.0pt;font-family:Verdana'>Received about 2,470 extracted
files from the L16x tape set.  These included source, binary, save and dump
format files. Wrote a number of C tools to find needed code amongst the memory
save files and to convert to formats needed by the simulator.<o:p></o:p></span></font></p>

<p style='margin:0in;margin-bottom:.0001pt'><font size=2 face=Verdana><span
style='font-size:10.0pt;font-family:Verdana'> <o:p></o:p></span></font></p>

<p style='margin:0in;margin-bottom:.0001pt'><font size=2 face=Verdana><span
style='font-size:10.0pt;font-family:Verdana'>By finding memory save image files
of needed components, was able to build a simulated drum with the Time Sharing
System's Monitor, Exec, user directory and these functional applications:<o:p></o:p></span></font></p>

<p style='margin:0in;margin-bottom:.0001pt'><font size=2 face=Verdana><span
style='font-size:10.0pt;font-family:Verdana'>NARP - New ARPAS Assembler<o:p></o:p></span></font></p>

<p style='margin:0in;margin-bottom:.0001pt'><font size=2 face=Verdana><span
style='font-size:10.0pt;font-family:Verdana'>DDT - Linker, loader, debugger<o:p></o:p></span></font></p>

<p style='margin:0in;margin-bottom:.0001pt'><font size=2 face=Verdana><span
style='font-size:10.0pt;font-family:Verdana'>QED - Text editor<o:p></o:p></span></font></p>

<p style='margin:0in;margin-bottom:.0001pt'><st1:State w:st="on"><st1:place
 w:st="on"><font size=2 face=Verdana><span style='font-size:10.0pt;font-family:
  Verdana'>CAL</span></font></st1:place></st1:State><font size=2 face=Verdana><span
style='font-size:10.0pt;font-family:Verdana'> - Conversational Algebraic
Language<o:p></o:p></span></font></p>

<p style='margin:0in;margin-bottom:.0001pt'><font size=2 face=Verdana><span
style='font-size:10.0pt;font-family:Verdana'>LISP - LISP programming language<o:p></o:p></span></font></p>

<p style='margin:0in;margin-bottom:.0001pt'><font size=2 face=Verdana><span
style='font-size:10.0pt;font-family:Verdana'>CCP - Conditional Command
Processor<o:p></o:p></span></font></p>

<p style='margin:0in;margin-bottom:.0001pt'><font size=2 face=Verdana><span
style='font-size:10.0pt;font-family:Verdana'> <o:p></o:p></span></font></p>

<p style='margin:0in;margin-bottom:.0001pt'><font size=2 face=Verdana><span
style='font-size:10.0pt;font-family:Verdana'>Can transfer files between the
host O/S and 940 exec via paper tape reader and punch. Files are stored on
drum. Multiple simultaneous users can be accommodated via multiple telnet
sessions.<o:p></o:p></span></font></p>

<p style='margin:0in;margin-bottom:.0001pt'><font size=2 face=Verdana><span
style='font-size:10.0pt;font-family:Verdana'> <o:p></o:p></span></font></p>

<p style='margin:0in;margin-bottom:.0001pt'><font size=2 face=Verdana><span
style='font-size:10.0pt;font-family:Verdana'>CCP program that stuffs input to
and steals output from a pseudo teletype to process command files works
properly.<o:p></o:p></span></font></p>

<p style='margin:0in;margin-bottom:.0001pt'><font size=2 face=Verdana><span
style='font-size:10.0pt;font-family:Verdana'> <o:p></o:p></span></font></p>

<p style='margin:0in;margin-bottom:.0001pt'><font size=2 face=Verdana><span
style='font-size:10.0pt;font-family:Verdana'>Can reassemble and link the
Monitor and Exec and install on drum using a CCP command file.  Have created a
paper-tape bootstrap to load the production or debug monitor from the drum
based on console breakpoint switch setting.<o:p></o:p></span></font></p>

<p style='margin:0in;margin-bottom:.0001pt'><font size=2 face=Verdana><span
style='font-size:10.0pt;font-family:Verdana'> <o:p></o:p></span></font></p>

<p style='margin:0in;margin-bottom:.0001pt'><font size=2 face=Verdana><span
style='font-size:10.0pt;font-family:Verdana'>Fixed various errors in the 940 simulator
that caused Monitor, Exec and subsystem malfunctions.<o:p></o:p></span></font></p>

<p style='margin:0in;margin-bottom:.0001pt'><font size=2 face=Verdana><span
style='font-size:10.0pt;font-family:Verdana'> <o:p></o:p></span></font></p>

<p style='margin:0in;margin-bottom:.0001pt'><font size=2 face=Verdana><span
style='font-size:10.0pt;font-family:Verdana'>To Do:<o:p></o:p></span></font></p>

<ol style='margin-top:0in' start=1 type=1>
 <li class=MsoNormal style='mso-list:l0 level1 lfo1;vertical-align:middle'><font
     size=2 face=Verdana><span style='font-size:10.0pt;font-family:Verdana'>Rebuild
     Monitor and Exec to include support for Data Products or Bryant movable
     arm disk to provide permanent file storage.<o:p></o:p></span></font></li>
</ol>

<ol style='margin-top:0in' start=2 type=1>
 <li class=MsoNormal style='mso-list:l0 level1 lfo2;vertical-align:middle'><font
     size=2 face=Verdana><span style='font-size:10.0pt;font-family:Verdana'>Attempt
     to build all applications from source files.  In addition to those listed
     above, need to find source files to build: OLDDDT, SNOBOL3, SNOBOL4, QSPL,
     RUNOFF, BASIC, FORTRAN II, FORTRAN IV and MAIL.  Will add them to the Exec
     command tables to make them built-in commands, rather than applications
     that are launched by the GO TO <savefile> command.<o:p></o:p></span></font></li>
</ol>

<ol style='margin-top:0in' start=3 type=1>
 <li class=MsoNormal style='mso-list:l0 level1 lfo3;vertical-align:middle'><font
     size=2 face=Verdana><span style='font-size:10.0pt;font-family:Verdana'>Find
     the OPER program so can manage users and file directories.<o:p></o:p></span></font></li>
</ol>

<ol style='margin-top:0in' start=4 type=1>
 <li class=MsoNormal style='mso-list:l0 level1 lfo4;vertical-align:middle'><font
     size=2 face=Verdana><span style='font-size:10.0pt;font-family:Verdana'>Find
     the NEWTAPE program to properly initialize a mag tape with a file
     directory.<o:p></o:p></span></font></li>
</ol>

<ol style='margin-top:0in' start=5 type=1>
 <li class=MsoNormal style='mso-list:l0 level1 lfo5;vertical-align:middle'><font
     size=2 face=Verdana><span style='font-size:10.0pt;font-family:Verdana'>Get
     the Monitor and Exec assembly symbols that are saved on drum to work
     properly with DDT so can debug/inspect a running or crashed system. The
     mechanism used was designed for OLDDDT, which so far I have not been able
     to locate.<o:p></o:p></span></font></li>
</ol>

<ol style='margin-top:0in' start=6 type=1>
 <li class=MsoNormal style='mso-list:l0 level1 lfo6;vertical-align:middle'><font
     size=2 face=Verdana><span style='font-size:10.0pt;font-family:Verdana'>Having
     the QSPL compile running will allow investigation of the many QSPL source
     programs in the collection.<o:p></o:p></span></font></li>
</ol>

<ol style='margin-top:0in' start=7 type=1>
 <li class=MsoNormal style='mso-list:l0 level1 lfo7;vertical-align:middle'><font
     size=2 face=Verdana><span style='font-size:10.0pt;font-family:Verdana'>Comb
     through the 2,470 files as well as files on the L14x tape set for other
     interesting programs.  For example, L14x appears to contain files for
     PCAP, an early class scheduling program, with data files that make it look
     like it was used by the E.E. department at UCB.<o:p></o:p></span></font></li>
 <li class=MsoNormal style='mso-list:l0 level1 lfo7;vertical-align:middle'><font
     size=2 face=Verdana><span style='font-size:10.0pt;font-family:Verdana'>Create
     a front panel display for the running system.<o:p></o:p></span></font></li>
</ol>

<p style='margin:0in;margin-bottom:.0001pt'><font size=2 face=Verdana><span
style='font-size:10.0pt;font-family:Verdana'> <o:p></o:p></span></font></p>

<p style='margin:0in;margin-bottom:.0001pt'><font size=2 face=Verdana><span
style='font-size:10.0pt;font-family:Verdana'>Failures:<o:p></o:p></span></font></p>

<ol style='margin-top:0in' start=1 type=1>
 <li class=MsoNormal style='mso-list:l2 level1 lfo8;vertical-align:middle'><font
     size=2 face=Verdana><span style='font-size:10.0pt;font-family:Verdana'>Never
     could build a proper mag tape image that would work with the system.  The
     system build was for a RAD/tape system with no disk storage. This SDS
     release uses an overwrite-in-place mechanism to maintain a random-access
     read/write file system on tape, complete with user directories. Never did
     find the NEWTAPE program that's supposed to initialize a tape, and all
     attempts to create a binary tape image that would satisfy the Exec's tape
     mount command failed. While I can boot a system from a mag tape image
     file, all file transfers between the host and the TSS have to be
     accomplished via simulated paper tape.<o:p></o:p></span></font></li>
</ol>

<p style='margin:0in;margin-bottom:.0001pt'><font size=2 face=Verdana><span
style='font-size:10.0pt;font-family:Verdana'> <o:p></o:p></span></font></p>

<p style='margin:0in;margin-bottom:.0001pt'><font size=2 face=Verdana><span
style='font-size:10.0pt;font-family:Verdana'>Blue-Sky for someone else To Do:<o:p></o:p></span></font></p>

<ol style='margin-top:0in' start=1 type=1>
 <li class=MsoNormal style='mso-list:l1 level1 lfo9;vertical-align:middle'><font
     size=2 face=Verdana><span style='font-size:10.0pt;font-family:Verdana'>There's
     a build switch in the monitor for SRI, and tantalizing hints of code for
     Douglas Englebart's NLS, such as finding that the SMT (Shared Memory
     Table) reserves 8 drum pages for NLS. There’s 940 code in the
     monitor to interface to a PDP-5. However, to date, no source code has been
     found for NLS. To duplicate the original SDS 940 hardware implementation
     would require a PDP-5 simulator with associated CRT display and
     information on how it was attached to the SDS 940.<o:p></o:p></span></font></li>
</ol>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>

</div>

</body>

</html>