10 ms·
Restoring YC's Xerox Alto day 8: it boots
- deleted 10y ago[deleted]
- DIVx0 10y agoAs is said every time this blog updates: This is very interesting stuff and I enjoy reading about the progress. I can't imagine the excitement these folks felt when the machine finally booted up. All of their skilled trouble shooting and hard work were spot on. I can't wait to read more.
- fit2rule 10y agoI love it that its finally booting. I wonder if they've considered taking all the probes off, and booting without debugging hardware attached ..
- kens 10y agoWe'll leave the probes on until we're done debugging since it's pretty tedious to reinstall them. Is there any particular reason you suggest booting without the probes?
- cnvogel 10y agoProbably out of fear that the signals might deteriorate with probes attached. But with a modern-ish logic-analyzer and the ancient original hardware (huge voltage swings, slow clock, very long busses), I doubt that the probes would make a discernible difference, would they?
- kens 10y agoYes, you're right about the signals. The Alto has a 5.88 MHz clock which is very slow by modern standards, and the buses are a couple feet of wire-wrapped pins so the probes are unlikely to have any effect. I'm not sure modern-ish is the right word for the logic analyzer. It's a 1999 Agilent logic analyzer and I don't know how they managed to make it so slow. You can ftp a trace off it over Ethernet at the glacial speed of 10 kilobytes per second, so copying traces for analysis is a big bottleneck.
- rjsw 10y agoHave you tried a different ethernet switch connected to the logic analyzer ? One cause of really slow transfers is one end getting the full/half duplex negotiation wrong.
- cnvogel 10y agoThat's a brilliant idea, I almost forgot about this. When I installed networking gear in the 90s, common knowledge/best practice was to always fix duplex/link-speed on fixed installed gear (routers/switches) because they frequently messed up autonegotiation. Try a managed switch where you can choose 10/100, Full/Half and see statistics. Also try to get a "netstat/ifstat" like display on the logic analyzer to see bad packets/collisions/...
- eric_the_read 10y agoIs it a 16500? If so, you might see if you can scrounge up a 16505A, which might be able to network much faster (plus, it supports VNC and has a nice (for the time) graphical display. The 16505A is basically a PA-RISC pizza box that hooks up to the 16500 via a SCSI cable on the back, and adds some X11/Motif GUI happiness on top. I took a quick look around eBay and saw one for ~$275, but you might be able to get one cheaper if you look. Side note: it was called a "Prototype Analyzer" because it was meant for analyzing prototypes, but we had more than one customer tell their salesperson to come back later when it was out of the prototype stage.
- kens 10y agoThe logic analyzer is a 1670G; Marc collects vintage HP equipment, although technically this is Agilent.
- eric_the_read 10y agoEh, 1999 was right when the split happened, so regardless of the label, it was still basically an HP product at the time. Still, that doesn't help you much; the 16505A only worked with the 16500 series analyzer. There was a 16700, IIRC, that was basically an 16500C with an integrated 16505A, but that doesn't help you much.
- tiles 10y agoThis is an amazing milestone! I have to ask, why did we need a separate boot disk sent over instead of flashing the previous disk with the contents of a boot disk? I suppose swapping out parts is an expected part of restoration though.
- DigitalJack 10y agoInteresting use of the word flash here. It's a magnetic disk though, no flash chips, so you would just say write. I imagine the issue was a lack of working drives, and Alto systems to run them.
- astrange 10y agoAnd "flash memory" itself can't be flashed anymore. Isn't it called that because you could erase an EEPROM with a light?
- jacquesm 10y agoNo, flash is called flash because of the speed, relative to other programmable memories that can be erased.
- ago 10y ago"Flash memory (both NOR and NAND types) was invented by Fujio Masuoka while working for Toshiba circa 1980. According to Toshiba, the name "flash" was suggested by Masuoka's colleague, Shōji Ariizumi, because the erasure process of the memory contents reminded him of the flash of a camera." https://en.wikipedia.org/wiki/Flash_memory#History https://en.wikipedia.org/wiki/Flash_memory#History
- jacquesm 10y agoThat's really weird and not what I remember being written back in the day when flash was invented. There is no 'flash' (optical erase process using UV) to go with flash memory, the erasure is electrical. The 'eWeek' article that that paragraph was sourced from doesn't contain any explanation of why the association between the two was made, maybe early 'flash' memory did have an optical erase process? Here is the quora link for the question why 'flash' is called 'flash': https://www.quora.com/Why-is-flash-memory-called-so https://www.quora.com/Why-is-flash-memory-called-so Which is apparently sourced from a book about FPGA's, not directly accessible but roughly what I remember being written about flash at the time it came out. http://www.linfo.org/flash_memory.html http://www.linfo.org/flash_memory.html Gives a similar definition. Optically erasable memories existed but I'm not aware of any that have erasure times < several 10's of seconds in ideal conditions and minutes in more practical settings, certainly nothing in the sub second range that would justify the term 'flash'. Eeproms (electrically erasable eproms) already existed well before 'flash' came along and flash is an improvement in speed on those, not a re-vamp of the optically erasable eproms. It would be interesting to contact Toshiba to see if that quote from the inventor of flash memory can be substantiated and how to determine what the association with photography is if it does not refer to optical erasure.
- raldi 10y agoI love that the first boot screenshot at https://lh3.googleusercontent.com/-JB4VOj7FgnU/V-lCHIADrsI/AAAAAAAA9Ak/WJgwdr60tqYHWLM7htNMygs1JuuUaEiJwCHM/s9999/boot.jpg https://lh3.googleusercontent.com/-JB4VOj7FgnU/V-lCHIADrsI/A... says: Date and Time Unknown Oh, you poor sweet computer, if we told you the answer, it would blow your little mind.
- cpr 10y agoProbably will crash if you told it correctly. You know, the old Y2K problem. ;-)
- byebyetech 10y agoYup, It will overflow its mind!
- colejohnson66 10y agoAs someone who was too young at the time, why would it crash? I thought the Y2K problem was just programs only storing the last two digits. So 2016 would be stored as 16 and displayed as 1916.
- djsumdog 10y agoYep, that's pretty much it. You could run into crashes if something was dependent on the date being in the future since when the machine was built (and hence you get a negative number when you shouldn't have), or if the machine was alive between 1999 and 2000 (in which case the BIOS or applications may complain because you've gone back in time). This /mostly/ affected date formats. Well built systems and programs measured time in seconds since the epoch on operating systems that supported that time representation format.
- dfox 10y agoMany RTC chips used in PC's behaved weirdly when set to any year >2000 (resp. <80 or so). These behaviors included setting year to some fixed value, setting it to correct value but not incrementing date ever again and so on.
- rhardih 10y agoThis series is the best thing on HN in a long time. As a software engineer by trade, I feel like I've been missing out not learning more about electrical engineering. The level of knowledge and skill involved in this restoration is downright awe-inspiring.
- agumonkey 10y agoI somehow suffer from the software / hardware split. The more I master the former, the more I need to learn about the latter. This is a good series. Kudos to their dedication and success.
- tluyben2 10y agoIf you have the time and interest, get a broken 80s system and a cheap logic analyser. Try to fix it; I learnt most that way. Or get a working and a broken and first analyse the working and then the broken.
- abraae 10y agoA PDP-8 is an awesome machine if you want to get into this kind of thing. Not so big you'll need to extend your house. Front panel that will impress your friends. TTL logic that you can debug using a scope, replace dead chips with your soldering iron. Unless you have a problem in the core memory :) As with all old iron there is little point to it but I used to love it.
- tluyben2 10y agoAgreed, just very hard to get one... C64s are still easy to get. Edit: also I do not think there is little point: it still allows people to get away from the computer as magic. Even though it does not completely compare to a modern system, once you have done this you will never think you system is performing magic or that some coding bug is the universe conspiring against you.
- ChuckMcM 10y ago
- tkinom 10y agoWhat were the CPU/ ISA used in the Alto?
- chiph 10y agoThis took place way before that technology existed. The CPU (ALU + Control Unit) was built from individual chips. The Alto dates from 1973, and Intel's 4004 microprocessor dates from a year or two before (and was used to run a calculator, not a personal networked workstation)
- lisper 10y agoWikipedia has a detailed description of the hardware design: https://en.wikipedia.org/wiki/Xerox_Alto#Architecture https://en.wikipedia.org/wiki/Xerox_Alto#Architecture
- kens 10y agoTo the programmer, the Alto's instruction set is the same as the 16-bit Data General Nova minicomputer, with the addition of a few crazy instructions such as "copy character bitmap from font file to screen". The Alto's CPU is built from a whole pile of TTL chips on three boards. The Alto's arithmetic-logic unit, like many computers of that era, uses 74181 ALU chips. The CPU runs a crazy multitasking microcode, with one of the tasks emulating the Nova's instruction set. The hardware manual refers to the "microprocessor", meaning the microcode processor, not a microprocessor chip since microprocessors as such were in their infancy at the time. There's a picture of the Alto's ALU board in one of my earlier articles [1]. You can see the individual CPU registers, as they are made out of multiple latch chips. For all the details of the Alto's CPU, see the hardware manual [2]. 1: http://www.righto.com/2016/06/y-combinators-xerox-alto-restoring.html http://www.righto.com/2016/06/y-combinators-xerox-alto-resto... 2: http://bitsavers.informatik.uni-stuttgart.de/pdf/xerox/alto/Alto_Hardware_Manual_Aug76.pdf http://bitsavers.informatik.uni-stuttgart.de/pdf/xerox/alto/...
- Gibbon1 10y agoJust an addition, microcoded processors are conceptually very simple. One can start with considering the 74181 which has four lines to control which operation is performed with the two 4 bit inputs. So each microcode word has four bits to control the ALU. A few bits to select which words out of register file is presented to the inputs of the ALU, etc. So conceptually a machine like that Alto is actually something you can grasp without a lot of pain. Very much unlike the early 8 bit processors like the 8080, Z80, 6502 where they used lots of ticks to keep the transistor count down.
- ChuckMcM 10y agoAwesome! All you need is the white lab coat and Gene Wilder's "It's alive!" in the background. Congrats on getting it to this point, as anyone who has brought up new systems for the first time knows, once you can get your central processor to load and run software of your choice, you can use it to tell you what it not working correctly and bring everything else up. It is always a total rush when the system boots for the first time. (or in this case, "boots again" :-)) I would be particularly keen to insure that the arrow keys work on the keyboard, as a lot of Altos were used to play mazewar and that was hard on the arrow keys.
- sama 10y agoCongrats to everyone who made this happen. It's so cool!
- 0x0 10y agoI'm trying to read the article on an iphone but every time I zoom out to see the full width article I get bounced over to an article about toothbrushes?! For the better part of a minute I was wondering if they had monkey-patched the disk controller with an electronic toothbrush?!
- zakki 10y agoI think the page navigation is using "slide to the left/right". Probably your zoom movement detected as a page navigation
- kens 10y agoYou must have swiped left to my earlier article where I did a teardown of a Sonicare toothbrush. I've removed Blogger's swipe left/right navigation, which I think is more distracting than useful, and I've re-enabled pinch to zoom, so hopefully the navigation will work better for you now. Also note that you can tap on a photo to get a high-resolution version (better than zooming will give you).
- 0x0 10y agoThanks, it works great now. I put two fingers down on the screen and then started dragging the fingers in opposite directions. I guess whatever javascript was enabled only looked at one of the touches (a zoom gesture is basically two opposite-moving swipe gestures, so...) :)
- pjc50 10y agoIt's a little thing, but thankyou for reading feedback and responding like this with blog improvements.
- DigitalJack 10y agoGeez, I thought it was because I'm using a beta of iOS. I figured apple had goofed something in the gesture recognition in this build. Glad you posted something, I was debating filing a bug.
- julian_1 10y agoIs this the only Alto running today?
- Sanddancer 10y agoThe Living Computer Museum in Seattle has a fully functioning Alto, as well as a bunch of other vintage systems.
- mempko 10y agoI played with it. It was as amazing as I had hoped.
- kens 10y agoThere are a bunch of running Altos, so we're not exactly in uncharted territory. Fortunately people with Alto experience are willing to help out, for example Al Kossow giving us a disk interface card when we found ours was the wrong type. The Living Computer Museum is probably the best bet if you want to see one in operation.
- thought_alarm 10y agoReally neat. I can't wait to see the video! The pictures of screen look unusual, as if every second scan line is missing. Is the Alto outputting an interlaced video signal? That would be very interesting and unexpected.
- kens 10y agoYes, the Alto's video is interlaced. I took the photos with my phone (which used 1/60 second speed), which would explain why scan lines are missing. I'll use a real camera next time and see if that helps.
- dudouble 10y agoReally cool stuff. Makes me want to give another go at bringing up my C-64 (much simpler, of course). If only I had proper tooling and knowledge...
- bogomipz 10y agoThis has really been a great series to read. Does anybody know where this will live when they are done restoring it?
- kens 10y agoIt will probably be at the YCombinator office for a while but we haven't figured out a long-term plan. Any suggestions?
- bogomipz 10y agoThe Computer History Museum in Mountain View? Its close enough that you could still go visit it too :) I think you should talk to them anyway as the material in these blog posts would make for a really amazing talk. http://www.computerhistory.org/ http://www.computerhistory.org/
- david-given 10y agoGateway the ethernet from yours to the one in the museum? After all, they are supposed to be networked workstations...
- CodeWriter23 10y agoThe disk seek problem didn't mysteriously disappear. You need to bust out some some contact cleaner and clean those header strip connections, both sides.
- socmag 10y agoYes it is mysterious. Was that drive known good then? Also what is the track sense mechanism? Optical shaft encoder? Could have been just a bunch of dust. Also a lot of drives used a Hall sensor or even an opto-coupler with a slot to detect track zero. First thing was to calibrate the head with a track zero seek. Another thing. Those flat ribbon cables are prone to a lot of RFI over long distances, especially when you have them hanging around on the bench. Notice some of the other ribbon cables are twisted pair. A lot better! I've wire wrapped my own disk controllers back in the early 80's. This series is serious nostalgia! <3 Curious to know what the final problem will end up being diagnosed as. The smell of old hardware like that is literally burned in my brain!
- mempko 10y agoThe living computer museum is an amazing place. Highly recommend visiting if you ever come to Seattle.
- intrasight 10y agoThis has been a fun series to track. I used an Alto when I was in college. As an EE, we had to wire-wrap a computer using bit-slice and TTL parts. Definitely the hardest lab component course I took (there were much harder theoretical courses). So a new Broadwell-EP Xeon chip has like 7 billion transistors. I'm trying to imagine this kind of computer hardware archeology as it will be done thirty years from now.
- obaymardini 10y ago>>
- kens 10y agoThe video of the Alto booting is now available: https://news.ycombinator.com/item?id=12590137 https://news.ycombinator.com/item?id=12590137
- obaymardini 10y ago<