[SLL] Great day for linux OLPC --> personal computer beginnings

Nicholas Bodley nbodley at speakeasy.net
Thu Jan 4 20:41:07 PST 2007


On Thu, 04 Jan 2007 16:41:06 -0500, Creede Lambard  
<creede at penguinsinthenight.com> wrote:
> My first formal programming class

Guess it might be fair to cite my early beginnings; trying not to be "  
-vvv".

In 1960, I was a computer tech. for RCA Service Co. when RCA built a few  
machines for BMEWS. The one I worked on was for the displays at Colorado  
Springs, before the NORAD COC went under the mountain. A very nice  
machine, it had a maintenance console with lighted pushbuttons for every  
bit on almost every significant register in the machine. Hacker's  
paradise. Bits were in three rows, making it exceptionally easy to read  
register contents in octal.

The machine had 4K of core and a 19-bit word length, likely the only  
machine ever built to that word-length spec. (It was based on system  
precision, with no floating point; not even hardware mult. and div.) It  
had its own unique (and well-designed) instruction set, and was programmed  
via macros in IBM 7090 assembler at IBM. A mag. drum was the repository  
for the tactical program (no OS); a parity error on a fetch cycle slaved  
the machine's timing to the drum's clock track, "rolling" a fresh copy  
into core. Machine startup was by creating an intentional parity error on  
the console and starting the timing. It was up and running in less than a  
second. As well, only something like a half-dozen button pushes were  
needed to start with a forced parity error.

Local programming and data input was via paper tape prepared off line,  
four consecutive characters per word, and please keep parity correct for  
the 19 bit plus a 20th for parity. We had a very few unique  
custom-designed logic machines (nicely-made out of plastic; screened  
alphanumerics, opaque/transparent areas, and several slides) to convert  
octal absolute instructions into characters to type on the offline  
Flexowriter. Parity was determined by some simple visual scheme.

The machine was ready to go for several weeks ahead of schedule, and would  
have been unused at night until BMEWS went operational. Provided I showed  
up on time the next morning, I was welcome to "play" with the machine at  
the console, and I learned bit-bashing, as well as the machine, itself,  
very well, indeed. We'd had some superb instruction from "RCAS", and, back  
then, they really had to start from scratch. I had a really lovely time,  
getting sore fingers from the extremely-robust (and stiffly-sprung)  
pushbuttons (made by Korry?).

While there, I was given guest usage of an account on the orbiting-object  
cataloguing machine in a different part of the site, nearby. That was a  
Philco 2000, notable for its 48-bit word length (they were proud of a  
2-microsecond 48-bit add time), its lack of a logic clock  
(completion-recognition logic), and a (partially lousy, idiosyncratic)  
machine-language instruction set.  It used a FORTRAN-inspired HLL, iirc  
ALTAC, but could be wrong about that.

I was trying to write an program to interpret the punched-tape archive of  
messages received from the forward sites in the Arctic; at that point,  
nobody had yet done that. Each (binary-coded, packed) message spanned  
maybe 20 characters, and had no unique start-of-message ID character.  
Occasional corruption of the data would have thrown a simplistic program  
out of synch, so I was doing what's probably considered heuristic  
programming -- taking one message's worth of characters, distributing the  
fields, and doing sanity checks, based on knowledge of the data. If NG,  
"slip" by one character and repeat.

This probably could have been done in the machine's HLL, using arithmetic  
to do the bit-bashing in some cases iirc, but that looked formidably  
diffficult. The Philco 2000's machine language was easy to learn, and I  
chose assembler. Uh-oh. I didn't know, then, that their HLL ignored a  
small part of the machine-language instruction set. Apparently, mine was  
the only assembler-language program there. I was reduced to spinning my  
wheels, embedding hardware diagnostics into my daily runs. (Card deck,  
don't dare drop it, coding forms, please keypunch and verify...) Please  
fix? Fat chance. (I was hopelessly naïve, politically.) I left the job  
with that program unable to run.

I did dip a toe briefly into real FORTRAN, on an IBM 1401 installation. In  
particular, I remember the chain printer, its phenomenal sound, and the  
odor of the page-wide ribbon's ink.  Around 1981, I learned Z80 (Zilog  
mnemonics, *please*!) machine language rather well. Still have hopes of  
learning Python.

Fwiw, the first Linux distro I tried was Xdenu, probably last maintained  
around 1997 or so.

My regards to all, and a happy new year!

-- 
Nicholas Bodley  /*|*\ Waltham, Mass.
Micro-blog: It's interesting that in an age when
many products are designed for limited lifespan,
some one-time-use food and beverage containers
could be re-used hundreds of times.



More information about the linux-list mailing list