[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