Xerox Alto: Restoring the Legendary 1970s GUI Computer
July 31, 2016 1:00 PM   Subscribe

Startup incubator Y-Combinator acquired a Xerox Alto and Ken Shirriff is currently in the process of restoring it to working condition.

Overview of the Alto and Its Place in History
Day 1: Power Supplies and Disk Interface
Day 2: Repairing the Display
Day 3: Inside the Disk Drive
Day 4: Microcode Tasks and Trying To Boot
"Hello World" in the BCPL Language (Precursor to C) on the Alto Simulator

He is being assisted by the IBM 1401 Restoration Team.

The Alto was the first computer designed around a graphical user interface and introduced Ethernet and the laser printer to the world. The Alto also was one of the first object-oriented systems, supporting the Mesa and Smalltalk languages.
posted by Pong74LS (25 comments total) 51 users marked this as a favorite
 
Ah yes, BCPL, that takes me back - to Martin Richards' exhaustive lectures on why it was secretly the best language ever, during what was meant to be an overview of different programming approaches.
posted by Zarkonnen at 1:09 PM on July 31, 2016 [2 favorites]


I've been following his blog posts on this with some interest. I suspect they're about to hit some really gnarly hardware/software debugging with the whole "trace the boot sequence with a logic probe" thing. and that the next post is going to be a very deep dive into Alto micro-instructions.

The microcode tasks are fascinating: an mechanism to offload parts of the hardware's processing into burnt-in software. A bit like a PC BIOS?
posted by We had a deal, Kyle at 1:47 PM on July 31, 2016


I suspect they're about to hit some really gnarly hardware/software debugging with the whole "trace the boot sequence with a logic probe" thing.

...which should be an absolute cakewalk for the 1401 guys. It's not a stretch to say that designing and building a 1401 from scratch would have been easier than the restoration work that they did...
posted by schmod at 1:50 PM on July 31, 2016 [2 favorites]


BCPL++ is a better BCPL
posted by thelonius at 1:56 PM on July 31, 2016 [4 favorites]


Man, the vast conceptual gulf between Doug Engelbart and Y-C - all the promise of the proto-web, and all the squalid spiritual death of what we actually got.

That said, I'm going to go geek out over this mindlessly now.
posted by ryanshepard at 3:10 PM on July 31, 2016 [13 favorites]


I never thought I'd see a video on capacitor reforming. I've done it on industrial equipment where the capacitors are MUCH larger and you have to increase the voltage very slowly. It's deadly dull in real life.
posted by Confess, Fletch at 3:45 PM on July 31, 2016 [1 favorite]


Oh man, the Alto. My familiarity with it is largely limited to stories of the development of the original Macintosh, but my favorite detail of those stories is that the Macintosh was actually designed to simulate what Jobs thought he saw, having misremembered the Alto as actually being significantly more advanced than it actually was.
posted by DoctorFedora at 4:16 PM on July 31, 2016 [21 favorites]


all the promise of the proto-web, and all the squalid spiritual death of what we actually got.

Ah well, I heard that the LUKA grandfather only had about 300 genes. IT too had to emerge in a very hostile environment. We'll probably need to see a 'Snowball Net' period to pump that up. At least we have a record of Englebart's Joy to sustain us through the darkness.

At any rate, there's so little joy OTW for hardware/low-level geeks these days that it's -so gratifying- to see the masters do their thing.
posted by Twang at 4:20 PM on July 31, 2016


Back around 1977, I was taken to PARC by a former employee. We both worked then at IMSAI, the second personal computer company after Altair. We just walked in to PARC as he was known there and we wandered through the building past the bean bag chair conference rooms. He was there to get some files he had left behind. We went into a smallish room where there was a computer with a weird lopsided monitor. Tall and narrow. My ADM3 at work was square. He started up the computer while telling me about it. He said it had fonts and a mouse. After a quick demo showing me the white screen with black text, just like the real world of paper!, mousing around, text formatting, chording keyboard gadget, and more we left. As my only computer experience was either punch cards at a FORTRAN class or CP/M on an IMSAI the import of what I saw kind of flew over my head. A few years later when at Apple and confronting a Lisa system I finally got it. The general opinion at that time was that Xerox sort of blew it with the Alto. Everyone seems to believe that Apple invented all that stuff. I saw it around five years earlier. Though working at Apple, I knew it came from somewhere else, a place that didn't do anything with it.
posted by njohnson23 at 4:35 PM on July 31, 2016 [14 favorites]


If you want to play with a Xerox Alto, the Living Computer Museum (click the Minicomputer tab when the page loads) in Seattle has a functioning one you can experience right now.

They also have an IMSAI 8080 (click the Microcomputer tab).
posted by jeffamaphone at 4:55 PM on July 31, 2016 [2 favorites]


The general opinion at that time was that Xerox sort of blew it with the Alto

https://www.amazon.com/Fumbling-Future-Invented-Personal-Computer/dp/1583482660

The Star was Xerox's continuation of the Alto design.
Alto served as a valuable prototype for Star. ... Alto users have had several thousand work-years of experience with them over a period of eight years, making Alto perhaps the largest prototyping effort in history. There were dozens of experimental programs written for the Alto by members of the Xerox Palo Alto Research Center. Without the creative ideas of the authors of these systems, Star in its present form would have been impossible. ... In addition, we ourselves programmed various aspects of the Star design on the Alto...
It failed for the same reasons the Lisa failed and the NeXT offerings failed, it cost too much (the basic Star -- 4 years ahead of its time in 1981 -- cost $40,000 in today's money).

A computing platform is only as good as the software you can get for it . . . that was the Apple II, IBM PC MS-DOS, Macs (especially its golden age of 1986-1990 prior to Windows 3 and then 95 kicking it in the nuts)
posted by Heywood Mogroot III at 5:17 PM on July 31, 2016


Capacitor reforming by bringing something up on a variac is SOP when restoring vacuum tube electronic gear like radios and hi-fi amps.
posted by rfs at 7:47 PM on July 31, 2016


mechanism to offload parts of the hardware's processing into burnt-in software. A bit like a PC BIOS?

Not really. A PC BIOS is just more software, indistinguishable from other software running on the machine except by where it's stored (loaded from or run in ROM vs loaded from disk).

The relationship between a processor and its microcode is more like that between the Java Virtual Machine and the code that implements it on the underlying real processor. Bytecode for the JVM won't run at all on the underlying processor without another program (a JVM engine) to interpret it.

What you'll typically find in a microcode-based architecture is effectively an interpreter program, written in microcode, that implements the specified architecture of the machine. The architecture of the hardware that runs the microcode typically looks very different from the architecture implemented by the microprogram that runs in it.

For a start, it's usually rather less general-purpose; the underlying hardware is usually designed hand-in-hand with the microcode that runs on it, for the specific purpose of implementing the more general programmer-visible architecture. Code written for Intel's 80386 processor, for instance, will still run on modern Intel processors even though neither the underlying hardware nor the microcode running on it bears any real resemblance to those of the original 80386.
posted by flabdablet at 7:52 PM on July 31, 2016 [4 favorites]


Modern CPUs have microcode too! It's just encrypted and signed by the vendor, so it's very hard to figure out what's actually going on. Most likely, it's a lookup table from CPU instructions to internal micro-instructions that can be used either to implement the more complex instructions, fix bugs in the implementation, or disable features that aren't supposed to be in certain models. It's all loaded at the factory but you can download update packages to fix issues (and all the vendors make them available).
posted by miyabo at 9:04 PM on July 31, 2016 [1 favorite]


If you want to play with a Xerox Alto, the Living Computer Museum (click the Minicomputer tab when the page loads) in Seattle has a functioning one you can experience right now.

Seconding this. PNW and especially Puget Sound computer people, you gotta go. Often there is a significant bundled discount on the entry fee for Allen's militaria at Paine Field known as the Flying Heritage Collection, and I *think* maybe for EMP too.
posted by mwhybark at 12:12 AM on August 1, 2016 [2 favorites]


Are we now at the stage of having to explain how a CRT worked to a tech audience?
I'm old.
posted by GallonOfAlan at 2:02 AM on August 1, 2016


Ken Shirriff is a national treasure.
posted by Nelson at 3:32 AM on August 1, 2016 [1 favorite]


"I knew it came from somewhere else, a place that didn't do anything with it."

Actually they did do something with it, albeit the least adventurous thing possible. In 1993 I was using a Xerox computer with a scanner, touch-screen, GUI, a mouse and a hard-drive (that crashed as often as boardwalk bumper cars on a sunny Saturday in August) and a laser print engine with image editing capabilities - to make photocopies. I was a badass - at something very soon useless.

Behold the DocuTech.
posted by vapidave at 4:00 AM on August 1, 2016 [2 favorites]


Well, so much for my Monday. Never mind the Alto, I learned more about antique IBM mainframes than I ever expected to, and I enjoyed it. The guy has a rare facility to explain complex things.
posted by Autumn Leaf at 4:09 AM on August 1, 2016


> Capacitor reforming by bringing something up on a variac is SOP when restoring vacuum tube electronic gear like radios and hi-fi amps.

A few years ago I asked my father for tips on restoring a old tube amp (a Scott 222-series), and when I said I didn't have a variac he suggested I could do something as simple stripping an extension cord and adding a lightbulb socket in series, switching through a progression of lower-wattage bulbs.

And now it strikes me that even this will be a hack lost to history as incandescent and halogen bulbs disappear.
posted by ardgedee at 6:03 AM on August 1, 2016 [1 favorite]


Are we now at the stage of having to explain how a CRT worked to a tech audience?

Yes, yes we are. Now watch their tiny minds blow as they come to grips with essentially the same device being used as RAM and also as a high-speed electronic etch-a-sketch.
posted by flabdablet at 9:03 AM on August 1, 2016 [1 favorite]


Reading about Xerox turning some amazing research into a photocopier (cause Xerox is gonna Xerox) reminds me that the GE in 30 Rock is a fairly accurate portrayal of how large companies work.
posted by zippy at 9:39 AM on August 1, 2016 [1 favorite]


This project is bringing back many memories. I spent many years working in Interlisp-D and it's successors, which ran on the successors to the Alto called the d-machines (1100, 1108, 1109, 1186, 1132) and then on general purpose computers. A lot of the Alto concepts went into the d-machines and I even got to go to Xerox repair school. An amazing programming environment.
posted by Runes at 6:49 PM on August 1, 2016 [2 favorites]


I sure hope they're double-checking that they got the boot thing right and it's not actually trying to boot from ethernet and they're just looking in the wrong place, because that's the sort of thing that would happen to me if I was doing this.
posted by ckape at 6:15 PM on August 2, 2016 [1 favorite]


It's all standard TTL, so I have little doubt that they'll get it going - unless the disk drive is mechanically broken, and even then. Custom chips in personal computers didn't come in until around 1981 (the ZX81's Ferranti ULA was claimed to be the first one in production, and it basically just replaced the 40-odd TTL chips in the ZX80), they've got the tools, the circuits and the expertise. It might look huge and weird, but in practice you can debug that stuff really quite quickly, because you have access to all the signals.

There is a theory that PARC didn't 'blow it'; it fulfilled its purpose, which wasn't to sell computers but to advance the art. Hence giving competitors guided tours of stuff in the labs. I don't know how true that was - when I visited the place in the mid 90s (on a press trip that lasted five days and took us across the US to all manner of Xerox sites, country clubs and other delights, to promote a printer launch that they canned on day 1...) the Parc denizens we talked to were a bit sore at that reputation

The technique of switching the main processor through different peripheral management tasks was cool and quite widely adopted in the old days, although I do like that 4-bit hardware scheduler (didn't the Nova itself have something similar?). I once used a Valid CAD workstation that drove a rather arcane printer; when it did that, the display memory and the processor switched over to that task and the screen did a good impression of a computer tripping out. Lots of the first/second generation 8-bit home computers also used their main processors to do a lot of the display work - if you can do it in hardware, you can do it in software (the hardware guys would say as they cost-reduced things past the sanity level). It worked the other way around; I remember we got a whole new (and very useful) display mode out of the Hardies on one project by mercilessly taking the mickey over how there HAD to be a way to exchange a bunch of arcane memory mapping code with a simple fix in hardware, but if it was too difficult for them... we strongly suspected that it really was simple, from what we knew of the design, and indeed after complaining for a bit they did it by adding, ISTR, about four new gates - and then realising they could now optimise out a whole lot more.

Which meant some poor sap (ie, me) had to go and respin most of his display driver code, but it was at that stage in a project when you're virtually simulating the whole thing in your head anyway and can be stupidly productive - and yes, wake up at 4am realising that you too can get rid of a lot of ugly stuff with one really good insight.

Happy days.
posted by Devonian at 9:25 PM on August 2, 2016 [6 favorites]


« Older Federal Appeals Court Rejects Protections For LGB...   |   Photosynthetic Solar Cells Newer »


This thread has been archived and is closed to new comments