scw%ucla-locus@cepu.UUCP (01/28/84)
From: Steve Woods <cepu!scw@ucla-locus> Well, if you really want to be diskgusted (Ha,Ha) I recall one day watching a friend of mine running OS\8 on a PDP-12, using a TU-10 as the masstorage device. Talk about a HACK. Talk about writing a driver in 2 128 word (12 bit) pages. Talk about *SLOWWWWWWWWWWWWW*. But it was interesting. (Actually the tape came from a ?system? that was a PDP-8e with only a TU-10, he was copying some FORTRAN code from our PDP-12). -- I am, y'r obd't s'vt Stephen C. Woods (VA Wadsworth Med Ctr./UCLA Dept. of Neurology) uucp: ...{ hao, trw-unix, sdcsvax!bmcg}!cepu!scw ARPA: cepu!scw@ucla-locus location: N 34 06'37" W 118 25'43"
Little.Fleas%hi-multics@sri-unix.UUCP (01/30/84)
From: Gary Little <Little.Fleas@hi-multics> My my my, such terrible horror stories. The REAL programmer however remembers running multi pass assemblers on punched cards (disk whats a disk) and HIS mentor used 60 wpm paper tapes. Complain about DEC-tapes or floppies, remember there are slower things.
guy%ucla-locus@sri-unix.UUCP (02/01/84)
From: Richard Guy <guy@ucla-locus> There were (still are?) storage devices/techniques slower than DECtapes. However, I can't recall hearing of anyone trying to run a multi-user timesharing system from cards or paper tape. (swapping??? demand paging??? random access files???) The original issue being addressed was the truth of rumours about people running UNIX, etc, on tape-only systems. richard ps Come to think of it, if one had a fancy enough card sorter/collater combined with a reader/punch, one could mimic a DECtape, modulo a few orders of magnitude with respect to time.
ddc@druky.UUCP (Custer) (02/04/84)
This is a true story, even though some folks might think its in "The first guy hasn't got a chance!" cagegory. In the late 60's, before the advent of OS8, DEC had a DOS. This dos used DF-32 disk drives. 32k of 12 bit words! I was a grad student at University of Colorado, Boulder, at the time & was doing some work at LASP (Laboratory for Atmospheric and Space Physics, I think). They had a an original (transistor, not IC) PDP-8. This PDP-8 had 4k memory, a Teletype ASR33 jimmied up so the computer could control (turn on or off) the paper tape reader (10 cps), a 12 bit AD converter, and a 7 track mag tape (you know, the predecessor to a 9 track tape). (Back then the characters were 6 bit, the tape wrote one char plus parity). The machine was a $100,000 analog to digital converter. The mag tapes were hand carried to an IBM 4044 (later a CDC 6400) for analysis. I got tired of assembly language programming on it (paper tape at 110 baud!). Two pass assembler (read the tape twice) object on paper tape, core image executable on paper tape. YUK! To make a looooong story short, I developed a scheme for random access on the 7 track, including read after write (couldn't be done, **they** said). Then I managed to get my hands on the source for DOS (including a funny FORTRAN-II like compiler). All it needed was a disk emulator for the mag tape! In 1 plus page of 128 words! I'll never forget the time it first ran. The scientist in charge of the machine (Jeff Pierce, Where Are You?) happened to be showing the lab to a visitor. The system booted, and started searching the tape for the SAM block(s) so it could swap itself out. It was really dramatic (real sloooow too, as it did almost as many backspaces as it did forward moves). I explained to Jeff and his visitor that the OS was searching the tape for a place to swap on, and to load the command line interpreter. Jeff was awestruck. He muttered something to the effect, "Can you imagine a 12 bit computer doing that!?" Even tho it was slow, it was **MUCH** better than paper tape on an ASR33 TTY. I left shortly thereafter, but before I did I noticed that the PDP-8 got an increment of memory (for a total of 12K, I believe), a pen plotter, a disk, and lots of other goodies. Turned it into a real computer, by golly. Published the scheme in a DECUS proceeding. The chairman introduced my talk with the statement that it really worked: he knew because he didn't believe it until he tried it on his machine! It's interesting how people accept as gospel "conventional knowledge." The conventional knowledge of the time was that you couldn't read after write on an "industry standard" i.e., 7 track 1/2 inch, mag tape, that you couldn't random access info on a mag tape, that you couldn't write in the middle of a tape without destroying all the information after the write, etc. It was true too -- if you orgainized the tape in the conventional way. Of course, the inventor of DecTape knew better. All I did was adapt the algorithms of DecTape to a 1/2" 7-track mag tape. The only trick was to get the tape driver to fit into < 128 machine instructions! David Custer AT&T ISL, Denver druky!ddc (303) 538-3517
rpw3@fortune.UUCP (02/07/84)
#R:druky:-60800:fortune:26900023:000:1954 fortune!rpw3 Feb 7 04:45:00 1984 And I'll bet a nickel that the chairman of the session who introduced Dave Custer to give that paper was John Alderman, who never quit bragging about doing it too! If Dave's scheme was the same one, it involved pre-formatting the tape with short block headers alternated with longer data blocks, with extended erase gaps after the data part: <header1> <gap> <data1> <long gap> <header2> <gap> <data2> <long gap>... You search for the header part (ignoring read errors but checking block numbers of good headers in case you overshot), then immediately turn on the write gate to write the data part. (The turnoff trash ends up being short-gap written on top of long-gap. No problem.) While working for John in 1971, we built a cassette tape controller (Sykes tape) to run O/S-8 (for the PDP-8/e) on Phillips cassettes. It ran, quite well in fact. About as fast as slow floppies. It used similar formatting principles to the magtape scheme. The controller was a micro-coded state machine using a hardwired matrix of 7405 open-collector gates as a ROM! (Field blastable ROMs didn't exist yet.) Was my first introduction to metastable logic bugs. (Hours in front of a scope listening to the tape go "click, hiss, whirr, click, hiss, click,...<silence>" hoping to see the 25ns glitch when the micro-PC on the controller got zapped causing silent death.) The trick to the controller was that the system device driver in O/S-8 has to fit in 92 (decimal) 12-bit words, thus the controller had to have some smarts. (The boot code was 6 words, hand keyed!) One PDP-8 I/O command ("SYBOOT") would halt the tape, wait until halted, rewind, wait for clear leader, halt, wait 'til halted, go forward normal, wait until non-leader, start data read. One instruction. (The other 5 were simpler.) Rob Warnock UUCP: {sri-unix,amd70,hpda,harpo,ihnp4,allegra}!fortune!rpw3 DDD: (415)595-8444 USPS: Fortune Systems Corp, 101 Twin Dolphins Drive, Redwood City, CA 94065
ajs@hpfcla.UUCP (02/12/84)
Time to jump into this one... The HP-UX/9000 Series 500 allows you to treat Linus tape drives (built into the 7908/11/12/14 Winchester discs) as block devices. You can initialize a short (~17Mb) or long (~65Mb) tape and then mount it! We use this feature for system distribution. To install a new system, you boot from the tape and run with it as your root volume. It's sslloowww but it's effective. Not only that, but in emergencies you could boot off such a tape and use it to repair a trashed disc (never happens in real life, of course...) Alan Silverstein, Hewlett-Packard Fort Collins Systems Division, Colorado {ihnp4 | hplabs}!hpfcla!ajs, 303-226-3800 x3053, N 40 31'31" W 105 00'43"
donn@hp-dcd.UUCP (02/14/84)
I tried (under duress) using a 7 track as a disc, but it didn't work. The problem was the well known "crap in the gap" problem. SOME tape drives are accurate enough that they don't generate crap in the gap, and SOME are tolerant enough to skip over the crap, but don't count on it. DecTapes have a "clock track" that is written "once" and used to clock the bits onto the tape so that physical block length doesn't vary from write to write. The clock on 7 track tape is taken from the OR of the 7 bits so if the capstan slips a bit, so do the bits. Did you ever try taking moving one of those tapes from one drive to another; not really likely to work. Forget about ever getting a CDC 6400 (at least early '70s vintage) to read such a tape; they had a real problem with crap in the gap. Donn Terry hplabs!hp-dcd!donn
ddc@druky.UUCP (CusterDD) (02/16/84)
What donn@hp-dcd says is quite right about "crap in the gap" and associated problems with timing and skew if you use conventional methods. The solution I published was to pre-record the tape with blocks separated by hardware tape marks. Each block had a header id record and a data record, somewhat like a soft-sectored floppy has nowadays. The key was the grossness of the tape (eof) mark -- 3 **inches** of blank tape (erased) followed by a special character. Regular inter-record gaps were used only between the header record and the data record within a block. Once the block was recorded, the header was never over-written (at least not intentionally :-) ). The grossness of the tape mark allowed the drive to make all its dirties in the 3" gap after a write. Since the normal irg was only about 1" this left 2" for "crap in the gap", timing/speed errors, etc. Actually, tape stretch increased the margin for error. This scheme worked for both the top-of-the line controller and the bottom-of-the-line. Had no trouble with it at all. Except for speed, it was a reasonably good system for the time. It was **much** slower than DECtape. Much better than paper tape! Over the years I got two inquiries from interested parties via DECUS, so you can see that it wasn't wildly popular, but then those tape drives cost more than the DF-32s, **alot** more. To give you an idea of the situation, the tape controller we had occupied most of a 6 foot high rack (SSI? heck, no! Transistors! discrete components, and the like. 2 flip-flops per pc card.) The tape control was about 4 times the size of the PDP-8 CPU. The bottom-of-the-line control used what dec called the 3 cycle DMA of the PDP-8, which means it used the CPU to keep track of the word count, and addresses. Not this baby though! It used the single cycle DMA, which meant it had to have its own accumulators for word count and addresses, as well as function registers, etc. On the basis of sheer size it would seem that it had more logic in it than the CPU! In any event both controls would successfully wade thru the "crap in the gap" and find the tape mark. Sometimes the status register would indicate parity error and sometimes not. I didn't care, just reset it and go. Sure was nice to have FORTRAN II and no paper tape to edit, splice and keep the programmer busy till 4AM! Incidentally, if anyone is really interested in all the gory details, its in either the 1968 or 1969 Proceedings of the DECUS Fall Symposium, 1969 I think. Held in Las Vegas. DEC had a PDP-12 on demo there that year. Couldn't get next to it because someone had programmed it to allow two users to play space wars (against each other). Boy, was it neat! Ain't reminiscing fun! :-) If you are really, REALLY interested in all the gory details and you can't find the opus cited (which is probably quite likely since most have probably crumbled to dust by now :-) ), let me know, and for only an arm and a leg, I'll dig thru the mold in my basement & see if I can find my copy. David Custer AT&T Information Systems Labs, Denver druky!ddc (303) 538-3517