Newsgroups: alt.sys.pdp8
Path: news.spies.com!genmagic!news.sgi.com!news.mathworks.com!howland.erols.net!cam-news-hub1.bbnplanet.com!cam-news-feed5.bbnplanet.com!cass.ma02.bull.com!news.peritus.com!aleph!jcook
From: jcook@aleph.westboro-ma.peritus.com (C. James Cook)
Subject: Re: TSS-8 anyone?
To: "David J. Pittella" <ddc_pitt@ix.netcom.com>, "John Everett" <jeverett@wwa.com>
Message-ID: <1996Oct21.104025@aleph>
Sender: jcook@aleph (C. James Cook)
Organization: Peritus Software Services, Inc.
X-Newsreader: xrn 7.04-beta-2
References: <326668FA.806@renaissance.cray.com> <01bbbcbf$fe417a20$2e9ab8cd@default>
Date: Mon, 21 Oct 1996 14:40:25 GMT
Lines: 155

Oh, wow.  This is a real small world.

I was the kid in Westwood High School, working at Project Local, that
programmed up this version of TSS/8 circa 1973.

The longer story was there was an NSF funded program - Project Local -
to introduce computers at (mostly) the high school level.  There were
five member school systems at first: Westwood, Natick, Lexington, 
Needham, and I forget the fifth.  Other schools eventually signed on,
renting time, such as Arlington, Framingham, Dedham, and Xaverian
Brothers (private Catholic school in Westwood).  Everyone used
ASR-33s for terminals.  If the computer was not in the building, 
they were connected by acoustic coupler (modem) on a dialup line 
or hardwired modem or multiplexor on a leased phone line.

The original systems were all based on PDP-8's of various types.
Needham had a straight 8 running TSS/8 in 12K on a two platter 
DF-32 (total of 64K) disk system. Lexington got into some data 
processing, so they built what eventually became a large 8/I
system, having four DECtapes, a card reader, line printer, 
EAE, and two RF08s.  The lights on the RF08 256k disk were a wonder 
to watch.  Most of the other schools were a simple 8/I with a 
single DF-32 running FOCAL, then later BASIC in 8K of memory. 

Names of student programmers that I remember hearing included
Luther Goode - never met (he later went to MIT)
	did the initial work to timeshare Basic in 8K
	with swapping to DF32 disk. 
Bill Swanton - from Needham more below
Charlie Hornig - worked at Lexington High - a whiz who 
	scored #1 in the country on the Math Olympiad
Jim Ward - wrote an interesting tape-based OS in Natick(?)

Albert Lester, Paul Garmon, Bob Davenport, Stuart Cobb
	- all folks I hung out with from Westwood & elsewhere.

Bob Haven, Pam Ellsworth, Kay Olson
	- staff of Project Local


Anyway, as the story goes...

Eventually, Project Local came up with a proposal to upgrade
the majority of the systems with 8/Es with RK05 disks.  The larger
disks would allow some program and data storage, and the more
modern CPUs would increase reliability.

Bill Swanton, a student from Needham high, was hired to 
produce a custom OS that would allow running a copy of Basic
taken from TSS/8.  For some reason, since TSS/8 did not run
on an RK05, this was seen as the best way of upgrading the
capabilities of our BASIC to have string functions and to 
allow program and data storage.  I was doing minor chores,
mostly writing diassembly code, as we had binaries and listings, 
but no sources. (Hey, schools are poor and software wasn't
really copyrighted back then like it is today.)

Bill finishing writing the OS, but did not have time to debug
it before he had to start his freshman year at RPI.  For the
interim, we just modified the copy of the old Basic that ran
on the DF-32 to work on the RK05.  In the longer term, I was
left to debug Bill's custom OS.  This work went real slow.

Late one night, I found a listing of TSS/8 version 22.b
Leafing through it, I found all the disk I/O went though
a small set of routines (we would call this a driver today,
but what did I know back then).  It became real obvious to
me that it would be easier to write an RK05 driver that
simulated an RF08.  Yes, an RF08 allowed you to start
reading/writing anywhere on the disk (any address) for
any number of words, while an RK05 was a fixed block device
(256 words) and read/wrote only on block boundaries, but it
seemed a lot easier than debugging poor Bill's OS.

Somehow, I convinced the mgt. of this.  Lacking source,
I typed in the 24k of assembly source on a teletype!
I developed under OS/8, and had to use some binary comparison
programs to insure what I typed was right, but it worked!
And the new driver worked!  Eventually, we tuned the driver.
Swapping was programmed to work in just one disk revolution.
File access was modified into what we called a "kanagroo"
format - we would skip sectors, so while the disk had a 
physical sector order of 0 1 2 3 5 6 7 10 11 12 13 14 15 16 17,
we used 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17. 

Eventually, we did contact DEC and they were interested.
By that time, TSS/8 was up to version 8.24, after being
rewritten by Bob Shelly at DEC Parker Street (PK3) facility.
In trade for us giving them our sources, they gave us a source
of 8.24.

There were other minor developments in the background.
We did have a TDK8-based DECtape for which I added a driver
under TSS/8, but since the DECtape driver (written by DEC)
was an AC-transfer device and interrupts <<had>> to be off,
it was not available for general use.

Project Local eventually centralized all machines, for all
towns except Lexington, so we actually had three PDP-8/e's
there (or two 8/e's and an 8/f).  We eventually bought a
pair of customer AC-transfer interface cards that allowed 
us two join two machines together under a homebrew program, 
so we could do a physical disk backup.

Last of all, I got ahold of a music program that ran on the 8/e.
Realizing that an "A" on a piano is 440 beats/second, it would
execute a CAF (Clear All Flags) instruction 440/second (evenly
spaced).  CAF sent a 1.2 us signal down the initialize line.
Since the computer was nothing more than a large radio antenna,
er, source of EMI, putting a radio up against the front panel
would produce scratch music.  The program came from Scotland,
and could even produce four part harmony if the notes were not
to short and high.  I had a source, but I never figured out
how they programmed that one up.  I still had hours of fun
programming up various songs, fugues, and rags at the time.

I graduated from Westwood High in 1975.
Writing this overly long story, I realize how much I learned
and how much freedom I had back then.  Programming was never
as much fun as it was back then. 

-Jim Cook

In article <01bbbcbf$fe417a20$2e9ab8cd@default>, "David J. Pittella" <ddc_pitt@ix.netcom.com> writes:
|> I am another 8 fan. My first computing experience was in High School on a
|> PDP 8/e running TSS/8.22B, this configuration was typically
|> refereed to as an EDUSYSTEM 50. I grew up in a suburb of Boston, and there
|> were many of these systems in High Schools.  I know that my old High School
|> replaced the 8 with a VAX in 1983 or so, it had been upgraded to TSS/8.24
|> at some point.
|> 
|> I just recently relocated my family to Washington State, and I had to leave
|> my 8 collection at my moms house. I have a system that I was able to get
|> from
|> a friend that was working at a local High School,  It includes a PDP/8e
|> with
|> 32K of core, an RK05 drive, TU56 single tape drive. This High School
|> had modified a version of TSS/8.24 so that it would run on an RK05, not
|> a very high performance device to swap users to ... but it worked.
|> The TU56 was controlled by the TD8/E simple dectape controller
|> and not supported under TSS/8 .. they wrote a special utility to
|> allow them to use the dectape drive for backups ... running it hangs
|> users until the tape controller finishes its commands.
|> I also still have an ASR 33 Teletype and a spare PDP-8/m which is in
|> mint condition. I have almost all the MAINDEC diagnostics, all the
|> manuals and schematics. The system runs perfectly, I have made
|> a point to run it periodically over the past years. I have had some
|> failures,
|> including a head crash on the RK05 .. but I was able to resolve them
|> all ... the RK05 crash was painful .... but I was able to purchase a 
|> complete RK05 for $20. I didn't have a CE cartridge ... but I found that 
|> I was able to get it aligned by adjusting both heads for maximum amplitude
|> on track 0. The drive has worked flawlessly ... so I was lucky!


