Index of /Documentation/Other/516-TSS

Icon  Name                    Last modified      Size  Description
[PARENTDIR] Parent Directory - [   ] 516-1-516-DOCUMENTAT..> 2020-11-19 01:59 40K [   ] 516-10-11-12-Ring-Fo..> 2020-11-18 22:49 437K [   ] 516-12-Specification..> 2020-11-18 22:52 138K [   ] 516-13-Trac-Characte..> 2020-11-18 23:04 59K [   ] 516-14-GMAP-Assemble..> 2020-11-18 23:07 288K [   ] 516-15-A-Suggested-G..> 2020-11-19 00:47 386K [   ] 516-16-516-Assembler..> 2020-11-18 23:09 210K [   ] 516-18-Format-For-Ri..> 2020-11-18 22:54 57K [   ] 516-19-Thread-Save-B..> 2020-11-18 23:12 57K [   ] 516-20-Card-Reader-B..> 2020-11-19 01:41 197K [   ] 516-21-Octal-Package..> 2020-11-19 00:20 104K [   ] 516-22-A-Repeater-Fo..> 2020-11-18 22:55 166K [   ] 516-23-CLEAR-CORE-CA..> 2020-11-19 01:42 24K [   ] 516-24-SOROBAN-CARD-..> 2020-11-19 01:40 106K [   ] 516-25-IO-Table.pdf 2020-11-18 23:13 32K [   ] 516-26-Disk-DMA-Queu..> 2020-11-18 23:14 52K [   ] 516-27-GE-Disc-Files..> 2020-11-18 23:10 37K [   ] 516-27-Thread-Table.pdf 2020-11-18 23:15 53K [   ] 516-28-IO-Ring-Devic..> 2020-11-18 22:57 54K [   ] 516-29-Five-Bit-Char..> 2020-11-18 23:16 22K [   ] 516-3-DDP-516-PRICE-..> 2020-11-19 02:01 12K [   ] 516-30-Text-Editor.pdf 2020-11-19 00:24 200K [   ] 516-31-Relocatable-S..> 2020-11-19 00:21 77K [   ] 516-32-ASCII-Charact..> 2020-11-18 23:17 24K [   ] 516-34-Display-List-..> 2020-11-19 00:50 537K [   ] 516-35-Internal-Mega..> 2020-11-18 23:19 153K [   ] 516-36-Node-Modem-In..> 2020-11-18 23:00 360K [   ] 516-38-P8SYS.pdf 2020-11-19 01:44 140K [   ] 516-39-Resource-Moni..> 2020-11-18 23:21 98K [   ] 516-4-Disk-Layout.pdf 2020-11-18 22:28 71K [   ] 516-40-SNAP-Time-Sha..> 2020-11-19 02:04 83K [   ] 516-41-516-Segment-A..> 2020-11-18 23:28 325K [   ] 516-42-Memory-Servic..> 2020-11-18 23:33 32K [   ] 516-43-GEBKUP-and-FL..> 2020-11-19 00:17 95K [   ] 516-44-FSNAP-Floatin..> 2020-11-19 00:27 74K [   ] 516-45-516-316-Assem..> 2020-11-18 23:32 433K [   ] 516-46-CALC-A-Desk-C..> 2020-11-19 02:03 42K [   ] 516-47-Remote-Data-P..> 2020-11-19 00:11 616K [   ] 516-48-CODING-FOR-GL..> 2020-11-19 00:59 538K [   ] 516-49-516-Segment-A..> 2020-11-18 23:30 120K [   ] 516-5-System-Table-F..> 2020-11-18 22:37 96K [   ] 516-50-Use-Of-The-51..> 2020-11-18 23:24 293K [   ] 516-51-FSNAP-Users-G..> 2020-11-19 00:33 857K [   ] 516-52-DESK-A-Desk-C..> 2020-11-19 00:44 152K [   ] 516-53-FSEOF-Flag-En..> 2020-11-19 00:29 20K [   ] 516-54-Context-Editi..> 2020-11-19 00:25 130K [   ] 516-55-One-Card-Core..> 2020-11-19 01:43 43K [   ] 516-56-PRIME-An-Inte..> 2020-11-19 02:07 43K [   ] 516-57-Format-For-Th..> 2020-11-18 23:37 68K [   ] 516-58-Calling-Proce..> 2020-11-18 23:26 94K [   ] 516-59-INITIALIZATIO..> 2020-11-19 01:39 492K [   ] 516-6-Segment-Format..> 2020-11-18 22:39 99K [   ] 516-60-SORT-SUBR-FOR..> 2020-11-19 01:57 559K [   ] 516-61-516-TSS-SYSTE..> 2020-11-19 01:49 550K [   ] 516-63-Display-Contr..> 2020-11-19 00:54 96K [   ] 516-64-FSNAP-Designe..> 2020-11-19 00:39 856K [   ] 516-65-SOME-DIGITAL-..> 2020-11-19 02:06 130K [   ] 516-66-TSS-516-GE-Co..> 2020-11-19 00:07 363K [   ] 516-67-Node-Format-F..> 2020-11-19 01:46 60K [   ] 516-68-DFILE-N-A-Pro..> 2020-11-19 02:02 29K [   ] 516-69-GLANCE-G-COMM..> 2020-11-19 00:55 33K [   ] 516-7-DMA-Mnemonics.pdf 2020-11-18 22:41 11K [   ] 516-70-Routines-to-P..> 2020-11-19 00:40 131K [   ] 516-71-FSNAP-Debuggi..> 2020-11-19 00:41 66K [   ] 516-72-Node-Test.pdf 2020-11-18 23:02 76K [   ] 516-73-Node-IO-Softw..> 2020-11-18 23:03 74K [   ] 516-75-Display-Text-..> 2020-11-19 01:03 604K [   ] 516-76-LOCAL-DATA-PL..> 2020-11-19 01:05 54K [   ] 516-77-GLANCE-PLOTTI..> 2020-11-19 01:15 1.5M [   ] 516-77-V2-GLANCE-PLO..> 2020-11-19 01:32 1.5M [   ] 516-78-DUMP.pdf 2020-11-19 02:08 13K [   ] 516-79-New-File-Feat..> 2020-11-19 00:43 51K [   ] 516-8-Disk-Hole-Form..> 2020-11-18 22:44 64K [   ] 516-81-OPTION-CHANGI..> 2020-11-19 01:34 153K [   ] 516-86-MODIFICATIONS..> 2020-11-19 01:35 20K [   ] 516-9-Addresses.pdf 2020-11-18 22:42 44K [   ] DDP-516-Instruction-..> 2020-11-19 02:11 493K [   ] DDP-516-PROGRAMMERS-..> 2020-11-19 02:14 3.3M [   ] Index.pdf 2020-11-18 22:21 157K
516-TSS is a little-known but groundbreaking and influential operating system
that was developed at Bell Telephone Laboratories.  I came across this system
because Carl Christensen and later Heinz Lycklama were major contributors to
it, and they were also advisors for the Bell Labs Explorer Scout Post at
Murray Hill.  I was a member of that post which allowed us to play with
computers on Monday evenings, and 516-TSS was what most of us used.  Through
a series of amazingly lucky events, I ended up working as a summer student
for Carl and Heinz and got to contribute to the system.  Long before the term
"code spelunking" was coined Carl and Heinz taught us both code and spelunking.

This is not a complete set of 516-TSS documents, it's a couple of notebooks
that I found in a box in the basement.  Probably my ancient work-at-home copy.

I don't know enough history to know if it was the first, but 516-TSS was an
early department-level time-sharing system.  It was built around a Honeywell
DDP-516.  While other time-sharing systems predate 516-TSS, they weren't
systems that one's department could afford.  CTSS certainly came earlier,
but it used a monster IBM 7090 mainframe.  In round numbers, a 7090 cost
$3,000,000 dollars, a DDP-516 cost $50,000.

516-TSS was also a virtual memory system; again not the first but a rarity
in that era.  My recollection is that it used the 516's index register as
the base address register, and there was some complicated mucking around
that a program had to do if it needed to use the index register including
disabling interrupts and eventually restoring the register from .PRESB
(present base address), one of those weird things stuck in my memory from
long ago.

I believe that the system's development predated UNIX although I remember
our department getting a PDP-11/45 running UNIX Version 3 in the summer of
1973. This machine was acquired so that Doug Bayer and Heinz Lycklama could
develop the MERT operating system.

The 516 was a testbed for a lot of novel technologies.  It had a local area
network called the ring which was later made to work on PDP-11s including
Ken and Dennis's machine up in the attic of building 2.  It was also used
to develop the GLANCE graphics terminals.  My recollection is that one of
the main drivers behind getting the ring to work on PDP-11s and UNIX was so
that Ken could get a GLANCE-G terminal for playing chess.  Sandy Fraser's
Spider network was developed there.  It supported a number of novel
applications including Dick Hause's DTE graphics editor; way ahead of its
time.  I remember that one GLANCE terminal was fitted with an array of LEDs
and photodiodes to make an early version of a touch screen.

While it wasn't exactly work related, a number of the people in the department
had purchased property up in Vermont for ski cabins.  An important use of the
516-TSS system and GLANCE-G terminals was to figure out survey closures.  The
property surveys were ancient, of the "from the big rock to the left of the
tree that's no longer there" sorts of things, so figuring out the actual
property lines was an interesting problem.

The 516 also had a wide area network which consisted of picking up the phone
and calling the computer center.  It had a monster GE-635 or maybe 645 left
over from the Multics project.  It may have been renamed to be a Honeywell
6070 with Honeywell's acquisition of GE's computer business.  The computer
center kept department costs down by hoarding all of the really expensive
peripherals.  For example, we didn't have a card punch; that was effectively
done via remote job entry.  We didn't have a graphics printer either, so when
I was working on GPLOT I'd submit remote jobs to the computer center for
printing.  Matter of fact, I don't think that we even had a printer in our
department; we sent stuff up to the computer center for printing.  Although,
in those days many terminals used paper.  The 516 console was an ASR-33.
There was also the ability to send jobs to the computer center and have it
call back with results.  This early approach to a WAN showed up as the tss
command in UNIX.

One of the missions of the department was the development of an all-digital
telephone exchange which is why some of the documents describe programs that
assist with digital filter design.  Both Jim Kaiser and Hal Alles were in the
department.  One of the side-effects of all this was Hal figuring out how to
use the filter hardware connected to a LSI-11/03 to make sound, followed by
Dave Hagelbarger building a very interesting keyboard for it, culminating in
a visit by Stevie Wonder trailed by a large number of screaming secretaries.
No sexism intended, it was a different world back then.  The LSI-11 was one
of the motivations for Heinz to create the LSX operating system.

My recollection is that on Dave's keyboard each key was an antenna, and that
there was strip of ribbon cable underneath where each wire was driven by a
different bit on a binary counter.  This allowed the position of each key to
be determined which I think was way ahead of its time.  I don't think that
any commercially available keyboards did this at the time, they were all just
on/off.  Dave also designed the GLANCE keyboard which spoiled me for life.
I don't remember how he did it, but the keys had a really good feel where once
they got pushed past a certain point they snapped down.  I do recall that there
was a small solenoid mounted on the circuit board so that the keys gave a
satisfying click that you could feel in your fingers.  Another of Dave's gizmos
was the chess board that he made for Ken.  My recollection is that there was a
tuned circuit in the base of each chess piece and an antenna grid in the board
so that the PDP-11 could read the position of each piece.

Some of the success of the 516 system was that other departments used it.  I
spent some time working an a 516-based integrated circuit test system where
the test equipment stations were on the ring.  Seems really dumb now, it's hard
to believe that there was a time in which a computer cost more than a wafer
stepper.

In addition to his work on 516-TSS, Carl Christensen was one of the people who
interviewed Ken Thompson for a job at the labs and gave a thumbs up.

The 516-TSS documents don't have author names, just initials.  Here's who they
are to the best of my recollection.

ADH	Dick Hause
CC	Carl Christensen
DJB	Doug Bayer
DRW	Dave Weller
EPR	?
HL	Heinz Lycklama
JCS	John Schwartzwelder
JES	Jon Steinhart
JFK	Jim Kaiser
JHC	Joe Condon
JVC	John Camlet
LIS	?
MAS	?
RFG	Rudy Garcia

There is one mysterious document in the collection about a "memory service unit".
I had this filed under "zapper".  To the best of my recollection it was the PROM
programmer that we used to burn the microcode PROMs for the GLANCE terminals.

Jon Steinhart, 11/20/2020