10
My Big Idea
I can tell you almost to the day when the computer revolution as I see it started, the revolution that today has changed the lives of everyone.
可以告诉你,我亲眼目睹了电脑革命的开始,而它改变了今天我们每个人的生活。
It happened at the very first meeting of a strange, geeky group of people called the Homebrew Computer Club in March 1975. This was a group of people fascinated with technology and the things it could do. Most of these people were young, a few were old, we all looked like engineers; no one was really good-looking. Ha. Well, we're talking about engineers, remember. We were meeting in the garage of an out-of-work engineer named Gordon French.
在1975年3月,这场革命在家酿俱乐部爆发,初次见面你会觉得这一群人都极为怪诞,我们着迷于科技和一切可能做到的事情。其中多为年轻人,少数年纪偏大,都是工程师模样,但没有人长相帅气。要记住此时谈论的可是一群工程师,我们通常在一位叫做戈登·佛伦琪(Gordon French)的车库内会面。
After my first meeting, I started designing the computer that would later be known as the Apple I. It was that inspiring. Almost from the beginning, Homebrew had a goal: to bring computer technology within the range of the average person, to make it so people could afford to have a computer and do things with it. That had been my goal, too, for years and years before that. So I felt right at home there.
第一次参加会议后,我就开始设计电脑,就是后来的苹果Ⅰ。家酿俱乐部如此启发灵感,从一开始就是。俱乐部的目标是:将电脑科技带入每个人的生活,让人们拥有和利用电脑。此前多年,这已经是我的目标了,所以,我感觉融入了大家庭。
And eventually Homebrew's goal just expanded and expanded. It wasn't long before we were talking about a world - a possible world -where computers could be owned by anybody, used by anybody, no matter who you were or how much money you made. We wanted them to be affordable - and we wanted them to change people's lives.
最后,家酿的目标不停地扩展,不仅是先前我们谈论的一个可能的世界——任何人都可以拥有、使用电脑,无论是否富有,而且我们希望电脑便宜得人人都能拥有,还希望它们改变人们的生活。
Everyone in the Homebrew Computer Club envisioned computers as a benefit to humanity - a tool that would lead to social justice. We thought low-cost computers would empower people to do things they never could before. Only big companies could afford computers at the time. That meant they could afford to do things smaller companies and regular people couldn't do. And we were out to change all that.
家酿俱乐部的每位成员在展望电脑时,都希望它能为人类做出贡献,作为引向社会平等的一个媒介。我们认为平价电脑能赋予人们能量,让他们做到从未做到的事情,而那时却只有大公司才买得起电脑。也就是说他们可以完成小公司和平常人难以完成的事情。我们准备让这一切改变。
In this, we were revolutionaries. Big companies like IBM and Digital Equipment didn't hear our social message. And they didn't have a clue how powerful a force this small computer vision could be. They looked at what we were doing -small computers, hobby computers - and said they would just remain toys. And a relatively minor business. They didn't imagine how they could evolve.
我们是一群“革命者”。像IBM和Digital Equipment这些大公司不会听取我们这些人的意见。他们完全没有意识到小型电脑散发的力量将有多大,而看轻了我们所做的小型电脑、业余爱好者电脑,还声称仅会把它当作玩具,不过是较小的投资,他们并没想到结果会是怎样。
There was a lot of talk about our being part of a revolution. How people lived and communicated was going to be changed by us, changed forever, changed more than anyone could predict exactly.
关于我们在这场革命中的作用有太多话题可谈。我们怎样改变了人们生活和交流的方式,并且是永远改变,超过了所有人的预期。
Of course there was also a lot of talk about specific components that would make faster computers, and about technical solutions for computers and accessories themselves. People would talk about the humanistic future uses of computers. We thought computers were going to be used for all these weird things -strange geeky tilings like controlling the lights in your house - and that turned out not to be the case. But everyone felt this thing was coming. A total change. We couldn't always define it, but we believed it.
当然,如何制造更快的电脑及其相关的技术问题,这些具体细节中亦有精彩故事。人们会谈论电脑广泛运用所带来的人性化未来。我们还想到了电脑将运用于一些奇特事物——比如控制房间里的灯——虽然并未成真,但每一个人都相信这会发生。这将是一场彻底的改变,我们也许不能准确解释,但都深信不疑。
As I said, almost all of the large computer companies were on record saying that what we were doing was insignificant. It turned out they were wrong and we were right -right all the way.
正如我所说,几乎所有大公司都异口同声地说,我们所做的事情无足轻重。但事实却表明他们错了,我们是对的,一直都是对的。
But back then, even we had no idea how right we were and how huge it would become.
但是,在那时,即使是我们自己,也不能完全确定其正确性,及其所能带来的巨大变化。
- o -
It's funny and maybe a little bit ironic how my involvement in the whole Homebrew thing got started. Remember Allen Baum He shows up again and again at a lot of important times in my life. He was my friend who sometimes worked at Sylvania with me in high school, whose dad designed the TV Jammer, who did the Homestead High prank with Steve Jobs and me, and also the one who helped get me that dream job at Hewlett-Packard.
能加入家酿俱乐部极其有趣甚至有些讽刺。还记得亚伦·波美吗?我生命中的重大事件似乎都与他相关。高中时,我们曾一起在Sylvania公司工作;他的父亲设计了电视干扰发射机;我们还和乔布斯一起参与了家园高中的恶作剧;也是他,让我得到了在惠普梦寐以求的工作。
I still had that HP job at the time. One day at work I got a call from Allen. It was a call that would change my life yet again, the call that introduced me to Homebrew.
那时,我仍在惠普工作。一天,亚伦打电话给我,这是我生命中又一个重要的电话,再次改变了我的人生,它将我引入了家酿俱乐部。
Allen called and said something like, "Listen. There's this flyer I found at HP, it's for a meeting of people who are building TV and video terminals and things."
亚伦说:“告诉你,我在惠普发现一张传单,有一场为制造电视终端类器材的人们举行的聚会。”
Now, TV terminals I already knew a little about. By this point, in 1975, I'd done all kinds of side projects, and had already learned a lot about putting data from computers onto TVs. Not only had I done my version of Pong plus that project at Atari, Breakout, but I'd already built a terminal that could access the ARPANET, the government-owned network of computers that was the predecessor to the Internet. My terminal even let you display a few letters, up to sixty characters a second. I know that sounds slow now, but this was about six times faster than most teletype systems at the time and a whole lot cheaper. Teletype systems cost thousands of dollars, way more than someone on an engineer's salary could afford, but I built a system using a Sears TV and a cheap $60 typewriter keyboard.
关于电视终端,我已经有所了解,到1975年时,我已做过各种各样与之相关的工程,并且已经掌握了将数据输入电视相关的许多知识。不仅是在雅达利完成了Pong之《突出重围》,还制造了ARPANET网络(美国官方的电脑网络,Internet的前身)的终端机。我所制造的终端机甚至能输入一些字母,可达到每秒60字符。尽管还不能与现在相比,但是,它的速度是当时大多数电报系统的6倍,而且更为便宜。电报系统需花费数千美元,超过了一位工程师的承受范围,但我所创建的系统仅需一台电视和一台价值60美元的打字机键盘。
More About Homebrew
家酿俱乐部的更多信息
This Homebrew Club I belonged to since its first meeting in March 1975 led to other computer companies than Apple. It was incredibly revolutionary. Other members who started computer companies included Bob Marsh and Lee Felsenstein (Processor Technology), Adam Osborne (Osborne Computers), and, of course, me and Steve Jobs, who I later talked into going with me. I once wrote an article on the importance of Homebrew, and you can find it at: http://www.atariarchives.org/deli/home brew_and_how_the_apple.php.
家酿俱乐部的第一次会议召开于1975年的3月,当时我也参加了。它不仅促进了苹果公司的产生,还有其他许多公司。它的革命性超乎想象。一些成员创建了电脑公司,其中包括鲍伯·马许(Bob Marsh)、李·费尔森斯坦(Lee Felsenstein)(处理器科技公司)、亚当·奥斯本(奥斯本电脑公司),当然,还包括我和斯蒂夫·乔布斯。乔布斯是在我的宣传下加入其中的。我曾写下一篇文章,描述了家酿俱乐部的重要性,你们可以在如下网址找到:http://www.atariarchives.org/deli/homebrew_and_how_the_apple.php。
Just like my Pong design and the Cartrivision VCR, I connected my video signal into the test pin of my home TV, the one I found in the schematics.
与设计Pong游戏机和Cartrivision录像机时一样,根据电视构造图,我将图像信号接入家中的电视进行测试。
Now, if Allen had told me that Homebrew was going to be about microprocessors, I probably wouldn't have gone. I know I wouldn't have gone. I was shy and felt that I knew little about the newest developments in computers. By this time, I was so totally out of computers. I was just immersed in my wonderful calculator job at HP. I wasn't even following computers at all. I mean, I hardly even knew what the heck a microprocessor was. But, like I said, I thought it was going to be a TV terminal meeting. I thought, Yeah, I could go to this thing and have something to say.
那时,如果亚伦告诉我的是家酿将举行的是一场有关微处理器的聚会,我很可能就放弃前往了,因为我羞于自己对电脑的新近发展的了解。那时的我完全将电脑置身事外,彻底沉浸在惠普美妙的计算器工作中,与电脑完全脱节。也就是说,几乎不知道那见鬼的微处理器到底为何物。但是,如前所述,我认为那将是一场关于电视终端机的聚会。我想,哇,值得一去,我还能发表些意见。
I was scared, but I showed up. And you know what That decision changed everything. That night turned out to be one of the most important nights of my life.
我很胆小,但还是去了。你们知道吗?这一决定改变了我的一生。那晚变成了我今生最重要的夜晚之一。
- o -
About thirty people showed up for this first meeting there in that garage in Menlo Park. It was cold and kind of sprinkling outside, but they left the garage door open and set up chairs inside. So I'm just sitting there, listening to the big discussion going on.
大约30个人在门洛帕克的车库里出席了第一次聚会。那是个冷天,下着稀稀落落的小雨,但他们却敞开大门,内有椅子。于是,我静静坐在那里,聆听别人激烈的讨论。
They were talking about some microprocessor computer kit being up for sale. And they seemed all excited about it. Someone there was holding up the magazine Popular Electronics, which had a picture of a computer on the front of it. It was called the Altair, from a New Mexico company named MITS. You bought the pieces and put them together and then you could have your own computer.
他们谈论一些上市的微处理器电脑套件,无比兴奋。有人拿出了一本《大众电子学》杂志,其封面为一台叫做“牛郎星”的电脑,来自新墨西哥州的微仪表和自动系统公司(MITS)。只需按说明买下零件,再将其组装,就能拥有自己的电脑。
So it turned out all these people were really Altair enthusiasts, not TV terminal people like I thought. And they were throwing around words and terms I'd never heard - talking about microprocessor chips like the Intel 8080, the Intel 8008, the 4004,1 didn't even know what these things were. Like I said, I'd been designing calculators for the last three years, so I didn't have a clue.
所有这些人都是“牛郎星”爱好者,而不是我以为的电视终端爱好者。他们所谈及的有些词汇我从未听说——一些微处理器零件,比如英特尔8008或者4004,我甚至不知道它们是什么。过去3年里,我都在设计计算器,所以对此毫无头绪。
I felt so out of it - like, No, no, I am not of this world. Under my breath, I am cussing Allen Baum. I don't belong here. And when they went around and everyone introduced themselves, I said, "I'm Steve Wozniak, I work at Hewlett-Packard on calculators and I designed a video terminal." I might have said some other tilings, but I was so nervous at public speaking that I couldn't even remember what I said afterward. After that, we all signed a sheet of paper where we were supposed to put clown our name and what interests and talents we were bringing to the group. (This piece of paper is public now; you might be able to find it online.) The thing I wrote on that paper was, "I have very little free time." Isn't that funny These days I'm so busy and people are constantly asking for my autograph and stuff, but back then I was also just as busy: always working on projects, engineering for work and then engineering at home. I don't feel like I've changed much since then, and I guess this proves it, sort of.
我感觉到对此一无所知,仿佛身处另一个世界。于是低声埋怨亚伦·波美:“我根本就不该在这里。”当他们开始轮流介绍自己,我说道,“我是斯蒂夫·沃兹。在惠普从事计算器工作,曾经设计过录像终端。”我可能还说了其他什么,但公开讲话太过紧张,以致完全不记得。然后,我们就在一张纸上,留下自己的名字、兴趣及特长。而我却在纸上写下,“我几乎没有业余时间。”很有趣吧?现在我很繁忙,人们总会上前要我的具体签名等等,但在那时我也是很繁忙的:总是投身于项目之中,公司的工程,然后是家中的工程。我并无多大变化,我想这点就是证明。
Well, anyway, I was scared and not feeling like I belonged, but one very lucky thing happened. A guy started passing out these data sheets - technical specifications -for a microprocessor called the 8008 from a company in Canada. (It was a close copy, or clone, of Intel's 8008 microprocessor at the time.) I took it home, figuring, Well, at least I'll learn something.
不管怎样,我太过害羞,感觉自己不属于这里,但此时幸运的事却发生了。有人开始散发一些数据资料——一家加拿大公司的8008微处理器的技术说明书,完全就是那时8008微处理器的复制或是翻版。我将其带回家中,专心琢磨,我想至少可以学到一些知识。
- o -
That night, I checked out the microprocessor data sheet and I saw it had an instruction for adding a location in memory to the A register. I thought, Wait a minute. Then it had another instruction you could use for subtracting memory from the A register. Whoa. Well, maybe this doesn't mean anything to you, but I knew exactly what these instructions meant, and it was the most exciting thing to discover ever. Because I could see right away that these were exactly like the instructions I used to design and redesign on paper for all of those minicomputers back in high school and college. I realized that all those minicomputers I'd designed on paper were pretty much just like this one. Only now all the CPU parts were on one chip, instead of a bunch of chips, and it was a microprocessor. And it had pins that came out, and all you had to do was use those pins to connect things to it, like memory chips.
那晚我看了看微处理器资料,发现它有一个指令把地址信息都存入寄存器A,我想,它还有个指令用来删除输入的信息。或许你并不觉得这有什么意义,但我清楚这些指令意味着什么,这是发现过程中最激动人心的事。因为我立即意识到,这与我在高中和大学反复设计小型电脑时所用的指令相似。只是所有中央处理器的零件都集中于一块芯片,即微处理器,而不是一大堆零件。它也有引脚连出,所需做的就是把这些引脚与那些零件相连,类似内存芯片。
Then I realized what the Altair was - that computer everyone was so excited about at the meeting. It was exactly like the Cream Soda Computer I'd designed five years before! Almost exactly. The difference was that the Altair had a microprocessor - a CPU on one chip - and mine had a CPU that was on several chips. The other difference was that someone was selling this one -for $379, as I recall. Other than that, there was pretty much no difference. And I designed the Cream Soda five years before I ever laid eyes on an Altair.
然后,我了解到“牛郎星”——聚会中所有人都津津乐道于此。它和我5年前设计的“奶油苏打电脑”相差无几!几乎相同。不同的是“牛郎星”使用了微处理器——即位于一块芯片的中央处理器。而我的电脑却是由无数芯片组成的中央处理器。另一不同是,它以379美元出售。我设计了“奶油苏打电脑”,却在5年后才看到“牛郎星”。
It was as if my whole life had been leading up to this point. I'd done my minicomputer redesigns, I'd done data on-screen with Pong and Breakout, and I'd already done a TV terminal. From the Cream Soda Computer and others, I knew how to connect memory and make a working system. I realized that all I needed was this Canadian processor or another processor like it and some memory chips. Then I'd have the computer I'd always wanted!
仿佛我一生中就在等这一时刻的来临。我对小型电脑进行反复设计,在Pong游戏中把信号连入屏幕,并研发出《突出重围》,我还制作了电视终端。从“奶油苏打电脑”等经历,我懂得如何将知识融会贯通,做出一个工作系统。我知道自己需要的仅仅是加拿大公司的处理器以及一些存储器,然后我就可以制造出一直以来想要的电脑了!
Oh my god. I could build my own computer, a computer I could own and design to do any neat things I wanted to do with it for the rest of my life.
噢,我终于能制造自己的电脑了,终于能拥有一台电脑并用余生去设计它,让它做到我想要的事情。
I didn't need to spend $400 to get an Altair -which really was just a glorified bunch of chips with a metal frame around it and some lights. That was the same as my take-home salary, I mean, come on. And to make the Altair do anything interesting, I'd have to spend way, way more than that. Probably hundreds, even thousands of dollars. And besides, I'd already been there with the Cream Soda Computer. I was bored with it then. You never go back. You go forward. And now, the Cream Soda Computer could be my jumping-off point.
我无需花上400美元买下一台“牛郎星”——它不过是金属框里一堆零件外加一些灯而已,与我带回家的简图一模一样。为让“牛郎星”做些有意思的事情,我的花费已远远超支,可能有数百元,甚至是几千美元。除此之外,我已有“奶油苏打电脑”的经验,只会厌烦它。人们不希望倒退,而是希望前进,而“奶油苏打电脑”则会成为我的起跳点。
No way was I going to do that. I decided then and there I had the opportunity to build the complete computer I'd always wanted. I just needed any microprocessor, and I could build an extremely small computer I could write programs on. Programs like games, and the simulation programs I wrote at work. The possibilities went on and on. And I wouldn't have to buy an Altair to do it. I would design it all by myself.
我毫不迟疑,当机立断,决定制造一台我一直想要的电脑。我只需一些微处理器就能制造一台极小的电脑,还能编写一些程序。比如游戏程序和一些工作中的类似程序。充满着无限可能。我没有买“牛郎星”,而是全由自己设计、制造一台。
That night, the night of that first meeting, this whole vision of a kind of personal computer just popped into my head. All at once. Just like that.
首次聚会的那晚,个人电脑的全貌就浮现在我的脑中,突然而至。
- o -
And it was that very night that I started to sketch out on paper what would later come to be known as the Apple I. It was a quick project, in retrospect. Designing it on paper took a few hours, though it took a few months longer to get the parts and study their data sheets.
那晚我开始画出草图,后来制造出众所周知的“苹果Ⅰ”。印象中这一工程进展极为迅速。虽然用了几个月选择零件和学习他们的资料,但仅用几个小时就完成了草图设计。
I did this project for a lot of reasons. For one thing, it was a project to show the people at Homebrew that it was possible to build a very affordable computer - a real computer you could program for the price of the Altair -with just a few chips. In that sense, it was a great way to show off my real talent, my talent of coming up with clever designs, designs that were efficient and affordable. By that I mean designs that would use the fewest components possible.
投身于这一工程有着众多原因。其一是为了向家酿俱乐部的人们显示,制造一台可负担的电脑成为可能,而且是一台与“牛郎星”等值却零件更少的电脑。这是个极好的方式,使我的才华得以施展,聪明地设计使之价廉物美。说白了,设计就应将使用的零件数降至最低。
I also designed the Apple I because I wanted to give it away for free to other people. I gave out schematics for building my computer at the next meeting I attended.
设计苹果的初衷亦是因为我希望能将其赠予他人。第二次聚会中,我给出了自己的电脑简图。
This was my way of socializing and getting recognized. I had to build something to show other people. And I wanted the engineers at Homebrew to build computers for themselves, not just assemble glorified processors like the Altair. I wanted them to know they didn't have to depend on an Altair, which had these hard-to-under- stand lights and switches. Every computer up to this time looked like an airplane cockpit, like the Cream Soda Computer, with switches and lights you had to manipulate and read.
我以这样的方式来进行社交,为他人所熟识,即必需制造些东西向人们展示。我希望家酿俱乐部的工程师们都能制造自己的电脑,而不是仅仅收集与“牛郎星”类似的成品。“牛郎星”有着一些莫名其妙的按钮和灯,我也希望他们的思维不要因此受到局限。这一时期的电脑看起来都似飞机座舱,比如我的“奶油苏打电脑”,总有一些需要用于操纵和显示的按钮和灯。
Instead they could do something that worked with a TV and a real keyboard, sort of like a typewriter. A computer like I could imagine.
然而,加上电视屏幕和真正的键盘,它们就能做些实在的事情,比如打字之类,这就是我想象中的电脑。
As I told you before, I had already built a terminal that let you type regular words and sentences to a computer far away, and that computer could send words back to the TV. I just decided to add the computer -my microprocessor with memory -into the same case as that terminal I'd already built.
前面提到过,我曾完成一台终端设备,能远程掌控,向电脑输入一些字句,之后又将其显示于电视上。我于是决定将这一方法运用到电脑中。
Why not make the faraway computer this little microprocessor that's right there in the box
为什么不让远程摇控的电脑安上微处理器呢?
I realized that since you already had a keyboard, you didn't need a front panel. You could type things in and see things on- screen. Because you have the computer, the screen, and the keyboard, too.
我发现,有了键盘,就不再需要仪表盘,所打字句能通过屏幕阅读。因为拥有电脑、屏幕和键盘,便是万事具备。
So people now say this was a far-out idea - to combine my terminal with a microprocessor - and I guess it would be for other people. But for me, it was the next logical step.
人们总说,把终端机与微处理器联系起来真是出奇的想法,但是,对我而言,这不过是按逻辑办事。
That first Apple computer I designed -even though I hadn't named it an Apple or anything else yet -well, that was just when everything fell into place. And I will tell you one thing. Before the Apple I, all computers had hard-to-read front panels and no screens and keyboards. After Apple I, they all did.
我设计的第一台苹果电脑一目了然,尽管那时我还没将其命名为苹果或是其他什么。在“苹果Ⅰ”出现之前,所有电脑没有屏幕和键盘,而只有莫名其妙的仪表盘。“苹果Ⅰ”出现之后,所有电脑都具有了屏幕和键盘。
- o -
Let me tell you a little about that first computer -what is now called the Apple I - and how I designed it.
让我告诉你第一台电脑“苹果Ⅰ”的故事,以及我是如何设计它的。
First, I started sketching out how I thought it would work on paper. This is the same way I used to design minicomputers on paper in high school and college, though of course they never got built. And the first thing was I had to decide what CPU I would use. I found out that the CPU of the Altair - the Intel 8080 -cost almost more than my monthly rent. And a regular person couldn't purchase it in small or single-unit quantities anyway. You had to be a real company and probably fill out all kinds of credit forms for that.
首先,我先在纸上画出草图,与我在高中和大学时设计微型电脑时如出一辙,尽管它们都没能制造出来。首先需要决定使用哪一种CPU。我发现“牛郎星”的CPU,即英特尔8080比我1个月的房租还贵,普通人难以承受,即使代表一家公司,也很可能还需为此填写各种各样的借贷表格。
Luckily, though, I'd been talking to my cubicle mates at HP about the Homebrew Club and what I was planning, and Myron Tuttle had an idea. (You remember him: the guy whose plane almost crashed when I was in it.) He told me there was a deal you could get from Motorola if you were an HP employee. He told me that for about $40, I could buy a Motorola 6800 microprocessor and a couple of other chips. I thought, Oh man, that's cheap. So very quickly I knew exactly what processor I would have.
然而幸运的是,我向惠普一起工作的同事麦隆谈及家酿俱乐部和我的计划时,他给了一个提议(还记得麦隆吧:就是开飞机很颠簸的那位)。他告诉我,惠普的工程师能从摩托罗拉公司得到优惠,只需40美元,就可在摩托罗拉买到6800微处理器和一些其他零件。我为之惊喜,真是太便宜了。因此,很快我就决定了自己将使用的微处理器。
Another thing that happened really early on was I realized - and it was an important realization - that our HP calculators were computers in a real sense. They were as real as the Altair or the Cream Soda Computer or anything else. I mean, a calculator had a processor and memory. But it had something else, too, a feature computers didn't have at the time. When you turned a calculator on, it was ready to go: it had a program in it that started up and then it was ready for you to hit a number. So it booted up automatically and just sat there, waiting for you to tell it to do some thing. Say you hit a "5." The processor in the calculator can see that a button is pushed, and it says, Is that a 1 No. A 2 No. A 3, 4 ... it's a 5. And it displays a 5. The program in a calculator that did that was on three little ROM (read-only memory) chips - chips that hold their information even if you turn the power off.
另外,我很早就有一个很有意义的发现——我们惠普的计算器实际上也是电脑,和“牛郎星”以及“奶油苏打电脑”一样。其实,计算器也有处理器和存储器。但它还具有一些那时的电脑并不具备的特征:它内有程序,当按下开关,就准备着计算。也就是它时刻准备着接受任务。如果你按5,计算器的处理器明白有键被按下,它会思考,是1吗?不,2呢?不,3、4呢……按的是5,于是它就会显示5。计算器的这一程序存在于只读存储器芯片中(ROM)——即使关机,它仍能保存信息。
So I knew I would have to get a ROM chip and build the same kind of program, a program that would let the computer turn on automatically. (An Altair or even my Cream Soda Computer didn't do anything for about half an hour after you set switches so you could put a program in.) With the Apple I, I wanted to make the job of having a program go into memory easier. This meant I needed to write one small program which would run as soon as you turned your computer on. The program would tell the computer how to read the keyboard. It would let you enter data into memory, see what data was in memory, and make the processor run a program at a specific point in memory.
所以,我明白自己也需要只读存储器芯片并建立类似的程序,让电脑能自动启动。“牛郎星”和我的“奶油苏打电脑”在开机半小时内都不能做任何事情,所以应该输入一种程序。我希望有一个程序能让“苹果Ⅰ”更易存储,这就意味着要编写一个小程序,让电脑开机即能工作。该程序能让电脑明白键盘的指示,存储你输入的数据,查看存储器中的数据,并让处理器运行某个具体程序。
What took about half an hour to load up a program on the Altair, took less than a minute using a keyboard on the Apple I.
“牛郎星”需半小时载入的程序,而通过键盘操纵,“苹果Ⅰ”需要的时间还不到1分钟。
What Is ROM
什么是只读存储器?
Read-only memory (ROM) is a term you'll hear a lot in this book. A ROM chip can only be programmed once and keeps its information even if the power is turned off. A ROM chip typically holds programs that are important for a computer to remember.
在此书中,到处都能发现只读存储器的身影。只读存储器芯片只能被编写一次,但即使关机,仍能保留信息。它主要用于保存电脑至关重要的程序。
Like what to do when you turn it on, what to display how to recognize connected devices like keyboards, printers, or monitors. In my Apple I design, I got the idea from the HP calculators (which used two ROM chips) to include ROMs. Then I could write a "monitor" program so the computer could keep track of what keys were being pressed, and so on.
比如,开机时做什么,显示什么,如何识别键盘、打印机或是主机这些硬件。在“苹果Ⅰ”的设计中,使用只读存储器芯片的灵感来自于惠普的计算器(它使用了2块只读存储器芯片)。然后,我再编写一个“监控”程序,这样电脑就能随时接收到按键的信息。
If you wanted to see what was in memory on an Altair, it might take you half an hour of looking at little lights. But on the Apple I, it took all of a second to look at it on your TV screen.
如果你想知道“牛郎星”的记忆储存内容,观察那些小灯泡可能会花上你半个小时,但对“苹果Ⅰ”而言,只需观看屏幕1秒钟。
I ended up calling my little program a "monitor" program since that program's main job was going to be to monitor, or watch, what you typed on the keyboard. This was a stepping point - the whole purpose of my computer, after all, was to be able to write programs. Specifically, I wanted it to run FORTRAN, a popular language at the time.
由于那一程序的主要任务是监控或是观察你在键盘上敲打的内容,我最后将其取名为监控程序。这是关键一点——我的电脑毕竟都旨在能编写程序。值得一提的是,我还希望能运行那时流行的FORTRAN语言。
So the idea in my head involved a small program in read-only memory (ROM) instead of a computer front panel of lights and switches. You can input data with a real keyboard and look at your results on a real screen. I could get rid of that front panel entirely, the one that made a computer look like what you'd see in an airplane cockpit.
因此,我的想法就是在只读存储器中编写一个小程序,而将到处都是灯和按钮的仪表盘取而代之。通过键盘输入数据,在屏幕上看到结果。仪表盘让电脑看起来像是飞机座舱,而我可以将此抛弃。
Every computer before the Apple I had that front panel of switches and lights. Every computer since has had a keyboard and a screen. That's how huge my idea turned out.
“苹果Ⅰ”出现前,每台电脑都配有那种仪表盘,而之后却都换上了键盘和屏幕,我的想法最后竟产生了如此震撼的效果。
- o -
My style with projects has always been to spend a lot of time getting ready to build it. Now that I saw my own computer could be a reality, I started collecting information on all the components and chips that might apply to a computer design.
我做一项工程,制造前通常需要大量时间酝酿,这是我的风格。当发现自己的电脑即将成为现实,我就开始收集与自己设计相符的所有零件及芯片的信息。
I would drive to work in the morning -sometimes as early as 6:30 a.m. - and there, alone in the early morning, I would quickly read over engineering magazines and chip manuals. I'd study the specifications and timing diagrams of the chips I was interested in, like the $40 Motorola 6800 Myron had told me about. All the while, I'd be preparing the design in my head.
有时,我在早晨6点30分就开车前往公司,然后独自一人享受整个清晨。我迅速地阅读工程师杂志和芯片手册,还研究我有兴趣的芯片的具体构造和计时图表,比如麦隆曾提及的40美元的摩托罗拉6800。一直以来,我都在脑海里构思设计。
The Motorola 6800 had forty pins -connectors - and I had to know precisely how each one of those forty pins worked. Because I was only doing this part-time, this was a long, slow process. And several weeks passed without any actual construction happening. Finally I came in one night to draw the design on paper. I had sketched it crudely before. But that night I came in and drew it carefully on my drafting board at Hewlett-Packard. It was a small step from there to a completely built computer. I just needed the parts.
摩托罗拉6800有40个引脚,即连接器,我必需准确知道每一个的详细情况。因为我只能在业余时间做这件事,所以这个过程极为缓慢。好几周过去了,而我未发现任何具体原理。最后,有天晚上我去画草图。以往我都草草了事,但那晚我在惠普的制图板上仔细地画。距离制造一台电脑仅有一步之遥,万事俱备,只差零件了。
- o -
I started noticing articles saying that a new, superior-sounding microprocessor was going to be introduced soon at a show, WESCON, in San Francisco. It especially caught my attention that this new microprocessor - the 6502 from MOS Technologies in Pennsylvania -would be pin-for-pin compatible with, electrically the same as, the Motorola 6800 I had drafted my design around. That meant I could just pop it in without any redesigning at all. The next thing I heard was that it was going to be sold over the counter at MOS Technologies' booth at WESCON. The fact that this chip was so easy to get is how it ended up being the microprocessor for the Apple I.
我注意到一篇文章提到,一种高级微处理器将很快在旧金山举行的美国西部电子元件展(WESCON)上公之于众。这种运用MOS技术的6502新型微处理器吸引了我的注意,它来自宾夕法尼亚州,也以引脚连接,从电子学上说,类似于我草图中的摩托罗拉6800。也就是说,我无需为它重新设计。我还得知,它将在此次展会上于MOS技术柜台出售。正因为这种芯片易于得到,最后它成为了“苹果Ⅰ”的微处理器。
And the best part is they cost half ($20) of what the Motorola chip would have cost me through the HP deal.
最棒的是,我只需付20美元就能买下1个,也就是摩托罗拉芯片一半的价钱。
WESCON, on June 16-18, 1975, was being held in San Francisco's famous Cow Palace. A bunch of us drove up there and I waited in line in front of MOS Technologies' table, where a guy named Chuck Peddle was peddling the chips.
1975年6月16日至18日期间的美国西部电子元件展于旧金山著名的牛宫举行。我们一群人开车前往,然后在MOS技术柜台桌前排队购买新型微处理器。查克零售店的人在那里大声叫卖着芯片。
Right on the spot I bought a few for $20 each, plus a $5 manual. Now I had all the parts I needed to start constructing the computer.
我当时就以每个20美元的价格买下了一些,同时还购得一本手册。就这样我具备了所有制造电脑的材料。
- o -
A couple of days later, at a regular meeting of the Homebrew Computer Club, a number of us excitedly showed the 6502 microprocessors we'd bought. More people in our club now had microprocessors than ever before.
几天后,家酿的常规聚会上,很多人都兴奋地展示了自己买下的6502微处理器,这说明俱乐部里更多的人拥有了微处理器。
I had no idea what the others were going to do with their 6502s, but I knew what I was going to do with mine.
我不知道其他人怎么利用这些6502,但很清楚自己的打算。
To actually construct the computer, I gathered my parts together. I did this construction work in my cubicle at HP. On a typical day, I'd go home after work and eat a TV dinner or make spaghetti and then drive the five minutes back to work where I would sign in again and work late into the night. I liked to work on this project at HP, I guess because it was an engineering kind of environment. And when it came time to test or solder, all the equipment was there.
为了制造电脑,我把所有零件聚集起来,并在惠普的工作室里完成。一般的日程就是,工作后,回家边看电视边吃饭,或是做意大利面,然后再开车5分钟回到工作室,继续设计和工作至深夜。我喜欢在惠普工作,可能是因为它的工作氛围。当需要测试或是焊接时,所有设备都整装待发。
First I looked at my design on draft paper and decided exactly where I would put which chips on a flat board so that wire between chips would be short and neat-looking. In other words, I organized and grouped the parts as they would sit on the board.
首先我观察草图,再确定各个芯片在平板的位置,这样芯片之间的线就能短而整洁。换而言之,我将所有零件都整齐地排列于电路板上。
The majority of my chips were from my video terminal - the terminal I'd already built to access the ARPANET. In addition, I had the microprocessor, a socket to put another board with ran- dom-access memory (RAM) chips on it, and two peripheral interface adapter chips for connecting the 6502 to my terminal.
主要零件都来源于我的录像终端机,本来它用于接入ARPANET网络。另外,我还有微处理器、连接具有随机存储内存的平板的插座,以及2个用于连接6502与终端机的接合器。
I used sockets for all my chips because I was nuts about sockets. This traced back to my job at Electroglas, where the soldered chips that went bad weren't easily replaced. I wanted to be able to easily remove bad chips and replace them.
我的所有零件都有插座,因为我热衷于此。这与我在Electroglas的工作有关,那些焊接的零件一旦出现故障就难以替换,而我希望能轻易换掉坏零件。
I also had two more sockets that could hold a couple of PROM chips. These programmable read-only memory chips could hold data like a small program and not lose the data when the power was off.
我还用两个以上的插座固定一对可编程只读存储器(PROM)芯片。这些芯片与一些小程序相同,即使关机,也能防止数据丢失。
Two of these PROM chips that were available to me in the lab could hold 256 bytes of data -enough for a very tiny program. (Today, many programs are a million times larger than that.) To give you an idea of what a small amount of memory that is, a word processor needs that much for a single sentence today. I decided that these chips would hold my monitor program, the little program I came up with so that my computer could use a keyboard instead of a front panel.
其中两片只读存储器芯片能存储256字节数据,仅够存入一些小程序。如今,可储存的程序已是当时的100万倍。为让你们直观感受到当时存储量之小,可以告诉你们,那就相当于现在的文字处理工具中的一句话。我决定将自己的监控程序存入这些芯片中,这样,我的电脑就用键盘代替仪表盘了。
Wiring this computer - actually soldering everything together - took one night. The next few nights after that, I had to write the 256-byte little monitor program with pen and paper. I was good at making programs small, but this was a challenge even for me.
我用了一整夜把电脑各部分连接起来,实际上就是焊接在一起。接下来的几个晚上,我就必须用笔纸来编写一个256字节的监控小程序。我虽擅长编写程序,但这仍然是个挑战。
This was the first program I ever wrote for the 6502 microprocessor. I wrote it out on paper, which wasn't the normal way even then. The normal way to write a program at the time was to pay for computer usage. You would type into a computer terminal you were paying to use, renting time on a time-share terminal, and that terminal was connected to this big expensive computer somewhere else. That computer would print out a version of your program in Is and Os that your microprocessor could understand.
这也是我第一次为6502微处理器编写程序。我在纸上写完了程序,这在当时也不是通常使用的方式。在那时,编写程序往往要租用电脑。需为一台分时电脑终端的使用时间而付费,才能输入程序,而终端则连接着某处一台昂贵的电脑。那台电脑可以用只有微处理器能懂的1和0打印出你写好的程序。
What Was the ARPANET
什么是ARPANET网络
Short for the Advanced Research Projects Agency Network, and developed by the U.S. Department of Defense, the ARPANET was the first operational packet-switching network that could link computers ail over the world. It later evolved into what everyone now knows as the global Internet. The ARPANET and the Internet are based on a type of data communication called "packet switching." A computer can break a piece of information down into packets, which can be sent over different wires independently and then reassembled at the other end. Previously, circuit switching was the dominant method - think of the old telephone systems of the early twentieth century. Every call was assigned a real circuit, and that same circuit was tied up during the length of the call.
ARPANET网络是高级研究计划署网络的简称,由美国国防部开发,为第一个可操作的数据包交换网络,可将全世界的电脑相连。它也是广为人知的全球因特网的前身。 ARPANET网络和因特网都以“数据包交换”这一数据交流方式为基础。电脑能把信息划分为几段,然后由交换机分别传递,最后再在另一端进行整合。在以前,电路交换为主要方式,你们可以回想20世纪早期的电话系统。一条电路一旦通话就被占用,在此期间不得挪作他用。
The fact that the ARPANET used packet switching instead of circuit switching was a phenomenal advance that made the Internet possible.
事实上,ARPANET网络用“数据包交换”代替电路交换具有杰出进步性,这也让互联网的出现成为现实。
- o -
This 1 and 0 program could be entered into RAM or a PROM and run as a program. The hitch was that I couldn't afford to pay for computer time. Luckily, the 6502 manual I had described what Is and Os were generated for each instruction, each step of a program. MOS Technologies even provided a pocket-size card you could carry that included all the Is and Os for each of the many instructions you needed.
那些由1和0组成的程序可以存储于随机存储内存,或是可编程的只读存储器,然后进行运作。但问题是我支付不起足够的电脑使用时间。幸运的是,我的6502说明书描述了1和0如何构成每一条指令,以及程序的每一步骤。而MOS技术甚至提供一种袖珍卡,包括所需多种指令的所有1和0的构成,且方便随身携带。
So I wrote my program on the left side of the page in machine language. As an example, I might write down "LDA #44," which means to load data corresponding to 44 (in hexadecimal) into the microprocessor's A register.
因此,我以机器语言在左边编写自己的程序。例如,“LDA#44”,意思是将与44(为16位进位法)相关数据载入微处理器的A区。
On the right side of the page, I would write that instruction in hexadecimal using my card. For example, that instruction would translate into A9 44. The instruction A9 44 stood for 2 bytes of data, which equated to Is and Os the computer could understand: 10101001 01000100.
而在同页的右边,则会通过我的卡以16位进位法编写指令。例如,指令可以被转换为A944。它代表着2字节的数据,以计算机1和0的表达方式,即为1010100101000100。
Writing the program this way took about two or three pieces of paper, using every single line.
以此方式编写程序,只需2~3页纸,但每一行都物尽其用。
I was barely able to squeeze what I needed into that tiny 256- byte space, but I did it. I wrote two versions of it: one that let the press of a key interrupt whatever program was running, and the other that only let a program check whether the key was being struck. The second method is called "polling."
要在小小的256字节的空间里塞进自己需要的程序比登天还难,但我还是做到了。我编写了两种程序:其一为,敲下一键,能阻止任何运行的程序,而另一程序则是为了检查那个键是否能履行其职责。后者被称为“探询”(polling)。
During the day, I took my two monitor programs and some PROM chips over to another HP building where they had the equipment to permanently burn the Is and 0s of both programs into the chips.
白天里,我带上自己的两个监控程序和一些可编程存储器,前往惠普的另一幢大楼,那里有种设备能快速将这两个程序以1和0的表达方式永久性地输入芯片。
But I still couldn't complete -or even test - these chips without memory. I mean computer memory, of course. Computers can't run without memory, the place where they do all their calculations and record-keeping.
但我仍不能完成,甚至是测试这些不含有存储器的芯片,即电脑存储器。电脑不能脱离存储器,因为它们在那里进行所有的计算和记录。
The most common type of computer memory at the time was called "static RAM" (SRAM). My Cream Soda Computer, the Altair, and every other computer at the time used that kind of memory. I borrowed thirty-two SRAM chips -each one could hold 1,024 bits -from Myron Tuttle. Altogether that was 4K bytes, which was 16 times more than the 256 bytes the Altair came with.
当时最常见的一种存储器叫做“静态随机存储器”(SRAM)。我的“奶油苏打电脑”,“牛郎星”以及当时所有的电脑都使用这种存储器。我从麦隆那里购得32个静态随机存储器,每一个容量为1024比特,总共4000字节,是“牛郎星”256字节内存的16倍。
I wired up a separate SRAM board with these chips inside their sockets and plugged it into the connector in my board. With all the chips in place, I was ready to see if my computer worked.
我制作了一张单独的“静态存储器”板,容纳下这些芯片,再将其插入整个底板中。当所有零件都各就各位,我就准备看看自己的电脑是否能够运行。
- o -
The first step was to apply power. Using the power supplies near my cubicle, I hooked up the power and analyzed signals with an oscilloscope. For about an hour I identified problems that were obviously keeping the microprocessor from working. At one point I had two pins of the microprocessor accidentally shorting each other, rendering both signals useless. At another point one pin bent while I was placing it in its socket.
第一步则是接通电源。我使用工作室隔壁的电源,继而断开并用示波器分析信号。我花了近一个小时的时间来发现阻碍微处理器运行的问题。有时,我发现微处理器的两只引脚偶然相互抵触,让彼此信号全无。有时,当我插入引脚会让示波器上的信号变得弯曲。
But I kept going. You see, whenever I solve a problem on an electronic device I'm building, it's like the biggest high ever. And that's what drives me to keep doing it, even though you get frustrated, angry, depressed, and tired doing the same things over and over. Because at some point comes the Eureka moment. You solve it.
但我仍坚持不懈。你瞧,解决了自己制造的电子设备的问题时,我最为兴奋,我也因此而持之以恒,尽管有时会感到失意、生气、沮丧以及疲惫。但是,可以享受“我发现了”的时刻,一切都不是问题了。
And finally I got it, that Eureka moment. My microprocessor was running, and I was well on my way.
最后,我也享有了“我发现了”这一时刻。我的微处理器正常运作,一切进展颇为顺利。
But there were still other things to fix. I was able to debug - that is, find errors and correct them - the terminal portion of the computer quickly because I'd already had a lot of experience with my terminal design. I could tell the terminal was working when it put a single cursor on the little 9-inch black-and-white TV I had at HP.
但是,仍有其他事情需要解决。因为在终端设计上我经验丰富,所以能快速移除电脑终端错误,即找出错误并将其纠正。我在惠普拥有一台9英寸黑白电视机,当光标移入其屏幕,就能指挥终端机开始工作。
The next step was to debug the 256-byte monitor program on the PROMs. I spent a couple of hours trying to get the interrupt version of it working, but I kept failing. I couldn't write a new program into the PROMs. To do that, I'd have to go to that other building again, just to burn the program into the chip. I studied the chip's data sheets to see what I did wrong, but to this day I never found it. As any engineer out there reading this knows, interrupts are like that. They're great when they work, but hard to get to work.
下一步任务是修改可编程只读存储器中256字节的监控程序。我用了数小时让它中断的语言运行,但却总是失败。我不能再在PROM编写一条新程序。如果这样做,我就不得不重新工作一次,再一次把程序注入芯片。我研究芯片数据,想看看自己哪里出错,但当天没有任何发现。只要是工程师,读到此处,都心知肚明,“中断”就是这样,尽管程序运行时事事顺风,但开始运行总是很难。
Finally I gave up and just popped in the other two PROMs, the ones with the "polling" version of the monitor program. I typed a few keys on the keyboard and I was shocked! The letters were displayed on the screen!
最终,我还是放弃了,另外加上了两块可编程只读存储器,用于存储“探询”程序。我在键盘敲了几个键,结果却让我惊呆了,那些字母出现在了屏幕上!
It is so hard to describe this feeling -when you get something working on the first try. It's like getting a putt from forty feet away.
这种感觉难以形容,第一次尝试就发现了新大陆,仿佛是一杆进洞。
It was still only around 10 p.m. - I checked my watch. For the next couple of hours I practiced typing data into memory, displaying data on-screen to make sure it was really there, even typing in some very short programs in hexadecimal and running them, things like printing random characters on the screen. Simple programs.
我看了看表,那是在晚上10点左右。接下来的几小时里,我尝试将数据存入存储器,并让数据在屏幕上显示出来,以便确保它确实存储完毕,我甚至以16位进位法打了些短小程序并让其运行,比如随机打印出屏幕上的符号之类的简单程序。
I didn't realize it at the time, but that day, Sunday, June 29, 1975, was pivotal. It was the first time in history anyone had typed a character on a keyboard and seen it show up on their own computer's screen right in front of them.
当时我并未意识到,那个星期天,1975年6月29号,是个重要的日子,有史以来,在键盘上敲打的符号第一次直接显示于屏幕。