Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site fortune.UUCP Path: utzoo!linus!decvax!harpo!ulysses!mhuxl!ihnp4!fortune!rpw3 From: rpw3@fortune.UUCP Newsgroups: net.misc Subject: Re: Re: Nearly Prehistoric Computers - (nf) Message-ID: <2507@fortune.UUCP> Date: Sat, 11-Feb-84 04:03:52 EST Article-I.D.: fortune.2507 Posted: Sat Feb 11 04:03:52 1984 Date-Received: Wed, 15-Feb-84 01:08:34 EST Sender: notes@fortune.UUCP Organization: Fortune Systems, Redwood City, CA Lines: 83 #R:ihuxq:-58400:fortune:6700030:000:4043 fortune!rpw3 Feb 11 00:13:00 1984"Ah, yezzzz... the LGP-30. I remember it well. Pesky little critter..." > The machine I learned to program on was an "LGP-30" with 4K > (24 bit) words of drum memory. The LGP-30 had 4K words, all right, but of 31 bits, not 24. It was really 32 bits per sector, but one was used to allow the write gate time to turn off. The accumulator, which constantly recirculated on the drum, actually had all 32 bits. (You had to know that, when you did input, 'cause you had to shift it over yourself.) There were only 15 bits of state in the whole machine (outside of the drum); each bit took up a whole card with 2 vacuum tubes on it. The this-state/next-state table was (literally) wired into a ROM made of discrete germanium diodes and resistors (zero and -20 volt logic levels), the equations of which were printed in four pages of the maintenance manual. > The only language available was machine > language (not assembler) though it was easy to learn as there were > only 16 machine language instructions. Not only that, but the low-order bits of the first letter of the opcode WAS the opcode value, and was what you typed when programming in "machine language". E.g., "Bring [load AC with] loc. 3054" = "b3054" = "13064". But there WERE other languages: JAZ, an interactive programmable desk calculator (with user-defined formulas, like "bs"); and ACT-III (ACT-3), sort of a FORTRAN 1 and 1/2. But you're right -- for the serious work you just loaded the I/O package, the floating-point routines, and the matrix algebra subroutines and coded the top level program in machine language. It was also MY first machine, and so I learned hexadecimal as being 0 1 2 3 4 5 6 7 8 9 f g j k q w Doesn't everybody know "all ones" is "wwwwwwwk"? (The 32nd "non-bit" was on the right.) And since the address field was not right-adjusted in the instruction word (it was two bits over), the 12-bit addresses (64 tracks of 64 sectors) were counted from 0-3wwj in fours ("zero, four, eight, jay, ten, fourteen eighteen, jayteen,..."). > The hardest part was learning > the (now lost) art of optimising(sp?) drum accesses (NOT easy). The difference between optimal and not was 7:1 performance. You either caught the operand before the next instruction or you missed it and lost a rev (nothing in between). Track 63 was reserved by convention as scratch for temp variables, since that way you could almost always find a sector that was optimal. Lost art? You should see how it helped my bit-slice coding! > I/O consisted of a terminal like thing called (I think) a flexowriter, and > a "high speed" paper tape reader and punch (also many buttons & lights). The PC, IR, and AC were displayed on an oscilloscope (!), neatly set into the front panel (recessed, sloped), with a little graticule mask over the scope with slots for the three traces to shine through (the slots had bit numbers screened under them), and hidden controls for height, width, etc. But (getting to the point of this old boy's tale), we created an interface that allowed up to 63 additional devices to appear on a parallel TTL bus outside the machine. The height of "Rube Goldberg" was to dump an accumulated NMR spectrum from a signal averager's "magtape" port via the TTL interface to the LGP-30, there to punch a 5-level paper tape, carry the tape to the PDP-9 in the other building, translate it to 8-level roll tape (the PDP-9 preferred fan-fold, but the next guy couldn't read it), carry it to the IBM 1620 for matched-filter curve-sharpening and plotting on a Calcomp plotter (interfaced as a card punch). Then you picked up the paper and carried it back to the NMR lab to compare it to what the spectrometer had printed out on it's plotter. I was almost sad when the PDP-10 came in and we wired it straight to the NMR machine. :-) 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