Archive for ‘硅谷革命’ Category
原文链接:Joining the Mac Group 作者:布鲁斯·霍恩 日期:1981 年 9 月 人物:艾伦·凯、史蒂夫·乔布斯、安迪·赫兹菲尔德、约翰·沃诺克、拉里·泰斯勒,杰里·曼诺可、罗德·霍尔特 概要:现实扭曲场改变了布鲁斯对于在苹果工作的态度 1981 年春天,我 21 岁,即将从斯坦福大学毕业。之前 8 年里,我一直在施乐帕洛阿尔托研究中心(Xerox PARC)的学习研究部兼职(暑期全职)。PARC 的员工都很传奇,我感到非常幸运,能和他们中的许多人一起工作。这是一个极为宝贵的学习经历,使我那些年里有机会参与了各种令人兴奋的项目。 我的最新一个项目是 NoteTaker,那是一种便携式 Smalltalk 机,配备了点阵触摸屏显示器、鼠标键盘、立体声音响,以及两枚 8086 处理器:一枚负责输入/输出(I/O)处理,同时还可运行 BitBLT(位运算符块转让)来绘制图形,另一枚负责运行模拟器,用于 Smalltalk 字节码转译。我的工作是参与编写字节码转译器,编写 I/O 处理器例程,并保证 NoteTaker 原型机正常运转,以便向公司高管进行演示。NoteTaker 硬件的创造者是道格·费尔贝恩,一个天才的硬件和芯片设计师,他之前不久刚离开,创办了超大规模集成电路技术公司,简称为 VTI 。 我在这个项目上一直是与拉里·泰斯勒在密切合作。拉里是一个了不起的家伙——他发明了 Smalltalk 的无模式文本编辑引擎(以他的 Gypsy 编辑器为模版),喜欢穿一件写着「别模我」(Don’t Mode Me I)口号的 T 恤在实验室里晃悠。他出名还因为编写了一个软件,能让球场看台上的观众在观看斯坦福大学足球比赛时,用纸板组成动画的位图图形。一天晚上,拉里和我去帕洛阿尔托当地的卡米诺比萨店吃饭。我们在等比萨的时候,拉里说:「布鲁斯,我在考虑离开 PARC。」 「真的吗?你怎么能离开 PARC?」我觉得不可思议。PARC 是计算机科学界的圣地,我们常说(半开玩笑地),世界上最顶尖的 100 个计算机科学家中有 80 个在 PARC。我可以在办公室里随便就溜达进一些业界名人的办公室,比如艾伦·凯(PARC 学习研究部的负责人,今日许多用户介面上的创新都产生于此),查克·葛许可和约翰·沃诺克(二人后来联合创建了 [...]
概要:麦金塔小组评估 IBM 新推出的 PC,发现里面一个糟糕的游戏的作者竟然是…… 原文链接:Donkey 作者:安迪·赫兹菲尔德 日期:1981 年 8 月 人物:比尔·盖茨、尼尔·孔岑、史蒂夫·乔布斯、查尔斯·西蒙尼伊 最早的IBM个人电脑 1981 年 8 月,第一代 IBM PC 问世。苹果在《华尔街日报》用标题为「我们欢迎你,IBM。真的。」的广告来回应。尽管史蒂夫·乔布斯花钱一贯谨慎,他还是让麦金塔团队第一时间去购买一台 PC 来进行拆解和评估。IBM PC 开始卖的那天,我们冲进商店,买了一台带回实验室。 毫无疑问,这电脑并没有给我们留下非常深刻的印象。跟我们即将推出的麦金塔相比,IBM PC 简直像一个远古遗物。在硬件方面基本看不到沃兹式的聪明设计,几十个不相干的芯片组合在一起而没有任何酷炫功能。与 6502 芯片相比,IBM PC 使用的 8088 算是一个像样的处理器,但它和我们用在麦金塔上的 68000 相比,立即显得苍白无力。 不过系统中最糟糕的部分是它的软件。 MS-DOS 就像是之前 CP/M 系统的克隆版本,甚至演示程序也毫无特色,随机附带的几个用 BASIC 写的游戏更是丢人现眼。 最令人哭笑不得的是一个称作「驴子」(Donkey)的低分辨率图形驱动游戏。玩家要在一条慢慢滚动的、绘制得极差的「道路」上开车,按空格键来控制车辆 跳起 切换车道。一个咖啡色的块状物会不时出现,充塞在屏幕上,算是出现在路中央的一头驴。如果你没有及时按空格键,你会撞到驴而输掉游戏。 我们认为这个游戏的概念糟糕至极,简直可和它粗糙的图像相比。由于游戏是用 BASIC 写的,你可以读取它的源代码,看看它是怎么写的。我们惊讶地看到游戏代码顶端骄傲地写着作者:比尔·盖茨及尼尔·孔岑。尼尔是一个聪明的少年黑客,我是因为他在苹果 II 的工作知道他的(后来他成为微软的麦金塔项目的技术负责人)。但令我们惊讶的是,这样一个糟糕透顶的游戏竟然出自微软共同创始人之手,他甚至还愿意在游戏里留下自己的名字。(翻译:李清;一校:Mark Chen;二校:Jix Huang) 《硅谷革命》连载之 1 – 24
概要:即使是在用户不可能看的地方,乔布斯也不会放松他的美学追求。「一位优秀的木匠不会因为没人注意橱柜的背面,就用劣质木头来凑合。」 原文链接:PC Board Esthetics 作者:安迪·赫兹菲尔德 时间:1981 年 7 月 人物:史蒂夫·乔布斯、伯瑞尔·史密斯、乔治·克罗、布莱恩·霍华德、丹·考奇 采用绕接技术的麦金塔原型机主板 第一台麦金塔原型机主板是用一种称为「绕接」的技术手工制成,即通过将一条独立的导线绕接在两针的接口上的方法来传递每一个独立的信号。伯瑞尔自己绕接出了第一台原型机主板,其它的则随后由布莱恩·霍华德与丹·考奇完成。但绕接工艺非常费时且容易出错。 到了 1981 年春天,麦金塔的硬件设计已经比较成熟,我们可以用印刷电路板来制作原型机了,这比绕接法快了很多。我们找来苹果 II 小组的克蕾特·阿斯奇兰德来设计电路板。在与伯瑞尔和布莱恩共同奋战几周后,她敲定了设计方案并交予工厂去生产几十块样板。 从 1981 年 6 月开始我们每周开一次管理会议,小组的大多数成员都会参加,会上我们讨论这周需要解决的问题。在第二次或是第三次会议上,伯瑞尔向大家展示了印刷电路板设计详图,当时已根据这个设计制成了几台工程样机,尺寸是真机主板的四倍大。 史蒂夫开始从纯粹的美学角度评论这个设计。「这部分看起来很舒服。」他评价道,「但看看存储芯片这里,太丑陋了,线路挨得太近了。」 我们刚刚聘来的模拟电子工程师乔治·克劳打断了史蒂夫的评论:「谁会在意印刷电路板长得什么样?惟一重要的是它是否性能良好。没人会去看印刷电路板。」 史蒂夫强势地答道:「我会去看!哪怕只是装在机箱里,我也要它尽可能漂亮。一位优秀的木匠不会因为没人注意橱柜的背面,就用劣质木头来凑合。」 乔治开始和史蒂夫争论起来。由于在团队里待的时间不长,他不知道与史蒂夫辩论完全是一场必输的战斗。幸运的是伯瑞尔阻止了他。 「是这样,由于内存总线的缘故,这里布线很困难。」伯瑞尔回答,「若做改动的话很可能会影响电气性能。」 「好吧。」史蒂夫说:「我们重新设计一次布线,让主板看起来再漂亮一些,如果性能确实降低的话,我们再改回来。」 于是我们只好又花了 5000 多美元制作了几块新板,按照史蒂夫认可的式样,对内存总线周围的线路进行了重新设计。结果正如伯瑞尔预言的那样,新的电路板无法正常工作,所以我们又用回了旧的设计来制造下一台工程样机。(翻译:Hupple;一校:Mark Chen;二校:Jix Huang) 《硅谷革命》连载之 1 – 23
概要:给麦金塔增加扩展插槽成本不高,并且简便易行,但却遭到了乔布斯的极力反对。 原文链接:Diagnostic Port 作者:安迪.赫兹菲尔德 时间:1981 年 7 月 人物:史蒂夫·乔布斯、杰夫·拉斯金、伯瑞尔·史密斯、布莱恩·霍华德、史蒂夫·沃兹尼亚克、罗德·霍尔特 是否应具备扩展性,这绝对是麦金塔最初的硬件设计中争论最多的问题。苹果的共同创始人史蒂夫·沃兹尼亚克是硬件要有扩展性的坚定支持者,他赐给了苹果 II 近乎奢侈的扩展能力——内建了 7 个外置卡插槽,并通过巧妙的架构设计,让每块卡可以自带 ROM 芯片并在其中预置软件。这样的灵活性使苹果 II 拥有了极为广泛的用途,而且很快就促发了第三方硬件产业的蓬勃发展。 但杰夫·拉斯金对此有着完全不同的观点。他认为扩展槽本身就很复杂,而且阻碍了个人电脑拥有更广泛的用户。他认为硬件扩展性使得第三方软件作者编写软件更为困难,因为硬件可能会缺乏兼容性。他对麦金塔的这种看法,令苹果公司制造了数以百万相似、易用、低价的家用型电脑,由于硬件扩展性确实会极大地增加成本与复杂性,这项设计被取消了。 苹果公司的另一个共同创始人史蒂夫·乔布斯与杰夫在很多问题上意见不同,但他们对硬件扩展性观点一致:与其说扩展性是特色,不如说是画蛇添足。据说史蒂夫从一开始就反对在苹果 II 中内置扩展槽,对于麦金塔上的扩展槽他尤其反应强烈。他下令要麦金塔永远不搭配扩展槽,机箱要紧紧密封,只用两个串口提供扩展性。 麦金塔的硬件设计师伯瑞尔·史密斯及其助手布莱恩·霍华德明白史蒂夫的理念,但对史蒂夫的做法仍有不同看法。伯瑞尔早已注意到,麦金塔那张盲目乐观的时间表开始无限期延长,麦金塔那突破性的软件就算真能完成,他也完全无法预估要到何时。他担心在摩尔定律的作用下,他的硬件设计若再等下去,还没到上市就会过时了。他认为,谨慎的做法是尽可能地增加麦金塔硬件的灵活性,只要成本提高不多就好。 伯瑞尔决定给麦金塔增加一个简单的扩展槽,使外置卡与处理器的前端总线相连,这样做的成本不会很大,即使这一设计最后被废弃也不会浪费钱。伯瑞尔完成了细节设计,在每周例行的工作会议上提了出来,但史蒂夫当即否决他的提议,重申麦金塔决无可能去内置哪怕一根扩展槽。 但伯瑞尔也不是这么容易就被阻挠的,他明白过来,麦金塔永远不会拥有一样叫做「扩展槽」的东西,但或许可以换个名字,实现的还是同样功能。在与助手布莱恩讨论后,他们决定用「诊断端口」代替「扩展槽」这个名字,他们说在制造过程中可以将测试设备通过诊断端口与处理器前端总线相连来检查问题,这样可以节约制造成本。而他们没提及这个端口同时也能提供扩展槽功能。 这项设计一开始被通过了。但过了几周,或许是从我们提及诊断端口时那偶尔掩饰不住的笑声中听出了端倪,工程经理罗德·霍尔特发现了这一切。「这玩意是扩展槽对吧?你们竟然想在麦金塔中偷偷放入扩展槽!」罗德在之后的工程小组会上叱责我们,「我不希望以后再发生这种事!」 虽然「诊断端口」流产了,工程师们依然没有放弃偷偷摸摸地给硬件增加扩展性的努力。1982 年 8 月麦金塔的数字电路板的最终版完成设计时,新一代的 RAM 芯片也已经面世。麦金塔使用 16 块 64 Kbits 的 RAM 芯片,以提供 128 KB 内存。接下来更新的一代芯片单块容量为 256 Kbits,麦金塔从而也就有了 512 KB 内存,这极大地提升了电脑性能。 伯瑞尔担心麦金塔发布之后 128 KB 的内存很快就会不够用,但麦金塔没有扩展槽供用户添加内存。他发现,麦金塔能支持 256 KB 内存,只需简单地在印刷电路板上再布几根线即可。这样那些富于冒险精神且懂得如何使用焊枪的人就能自己升级内存。而新加的那几条线对于成本几乎没有增加。 但史蒂夫·乔布斯又一次持反对意见,因为他不愿意让用户修改苹果电脑的内部结构。他更希望他们去买一台新的 [...]
概要:苹果第一次向微软演示麦金塔,乔布斯主讲,盖茨提问。这次重大合作,也成为了后来二者敌视多年的起源——Windows 的图形界面是从哪里来的? 原文链接:Shut Up! 作者:安迪·赫兹菲尔德 时间:1981 年 7 月 人物:安迪·赫兹菲尔德、巴德·崔博、史蒂夫·乔布斯、比尔·盖茨、查尔斯·西蒙尼伊 电影《硅谷海盗》中有一个情节即是根据本故事改编 通过苹果 II,苹果已经明白了拥有一个繁荣的第三方软件市场的价值:一家叫做「软艺」的小公司开发的 Visicalc 软件助使苹果 II 销量增长了十倍,并进入了企业级市场。麦金塔试图复制苹果 II 的成功,成为树立行业标准的平台,因此尽快把第三方软件研发者拉入阵营至关重要。 微软显然是我们要联络的第一批公司里面的首选。(苹果与微软)两家公司创立于个人电脑产业发轫之初的差不多同一时期,而且两家公司很早就建立了商业关系,微软授权苹果将 Applesoft Basic 用在苹果 II 上。比尔·盖茨和史蒂夫·乔布斯在同一年出生,对于个人电脑的前景拥有相似的看法。两个人都认为自己比对方聪明,但是史蒂夫总把比尔视为低他一等,尤其在鉴赏力和品味方面。比尔则瞧不起史蒂夫不会编程。 史蒂夫曾经在 4 月的一次业内大会上向比尔提到了麦金塔项目,后来促成了 6 月在西雅图的一次会面。在那里,史蒂夫描绘了自动化工厂生产出数百万麦金塔的诱人前景。他计划让微软为麦金塔研发一系列应用程序,在麦金塔发布的时候同步推出。事情进展得很顺利,我们商定 7 月在库布提诺举行一次会面,并承诺届时进行一次实机演示。 不幸的是,有一个小障碍。我们之前一直使用 Lisa 作为开发机为麦金塔编写软件,那时还做不到让麦金塔脱离 Lisa 独立运行。麦金塔需要挂在 Lisa 上,从后者载入软件。但是 Lisa 小组正在自己编写 Lisa 专用的应用程序,不想微软染指。他们要我们承诺不让微软看见 Lisa。 我们最终找到了一个解决方案——用一条 25 英尺(约 7.6 米)的线缆连接两台机器,Lisa 则放在另外一间不允许微软人进入的房间。我将在这个房间里在 Lisa 上启动程序,巴德·崔博负责操作麦金塔。我时不时会若无其事地跑进麦金塔所在的房间去看他们的反应。 比尔·盖茨在那天下午早些时候出现了,带着另外三个同事:最近从施乐帕洛阿尔托研究中心(Xerox PARC)转投微软的查尔斯·西蒙尼伊,将领导麦金塔开发团队的杰夫·哈伯斯,以及将成为该项目技术总监的马克·马修斯。他们围在麦金塔原型机旁,我们开始为他们运行各种演示程序,而史蒂夫负责讲解。 你能看出来比尔·盖茨不是一个很好的聆听者,他不能忍受任何人向他解释某样东西是如何工作的,他总喜欢抢在别人讲解之前先说一番自己的猜测。 [...]
原文链接:Apple II Mouse Card 作者:安迪·赫兹菲尔德 时间:1981 年 6 月 人物:安迪·赫兹菲尔德、伯瑞尔·史密斯、丹·考奇、比尔·巴齐、史蒂夫·乔布斯、巴德·崔博、比尔·阿特金森 概要:我们给苹果 II 连上了鼠标 苹果 II 鼠标卡原型 伯瑞尔的麦金塔设计在许多方面颇具雅心妙思,他始终使用最少的硬件资源获得最大的价值。鼠标接口就是一个典型的例子,仅使用了伯瑞尔置入的通用型 6522 多功能转换接口芯片(VIA)的一小部分基本功能。鼠标挂在 6522 上,所以每次鼠标垂直或水平移动一分的时候,都生成一个中断信号,只用一条一位(1-bit)容量的细线来感应鼠标按钮的操作。就这么简单,其他的都由软件完成。 同时,我的好朋友比尔·巴齐,天才的苹果 II 游戏程序员,提出了一种匪夷所思的快速方法,使用七个预转换表格,就能在苹果 II 图形屏幕上绘制大小适当的文本。他还写了一个非常快的 BitBlit 程序(BitBlit 是图形用户界面中最重要的图形基元)。它会立即寻找鼠标的连接,这样苹果 II 上才算是拥有了一个完整的图形用户界面。 巴德·崔博已经为麦金塔写了驱动鼠标的初始代码,而我必须对其进行维护,所以我很清楚它是如何工作的。我头一年就已经用上了 6522 芯片,因为苹果 III 配备得有,我对它进行了编程,将比特输出到 Silentype 热敏式打印机【苹果出品的第一款打印机——编者注】。我意识到,把鼠标接到苹果 III 上,所需要做的不过是制作一个简单的连接器,将适当的信号发送到正确的针脚。 我叫丹·考奇手工做了一个连接器。做好后,只用了几个小时就写完了指针程序和驱动程序。一个完整的苹果 III 图形用户界面已初现端倪,而无需附加任何硬件。 这非常令人兴奋,足以让我立即着手帮助比尔·巴齐完善程序,但我很谨慎地确保这些事情不占用我正常的工作时间。很快,我们把下拉菜单也做好了,然后完成了一个简单的、字体比例适当的文字处理器。惟一的问题是苹果 III 卖得不是很好,因此我们必须要让它运行在苹果 II 上。 我去和伯瑞尔谈这个问题,结论很简单:为苹果 II 制造一个包含 6522 VIA 芯片的外设卡。第二天伯瑞尔拿出了一个绝妙的双芯片设计,就是一枚 VIA [...]
原文链接: Macintosh Prototypes 作者:丹尼尔·考奇 时间:1981 年 6 月 人物:丹·考奇、伯瑞尔·史密斯、布莱恩·霍华德、法伦、杰里·曼诺可、乔治·克劳、史蒂夫·乔布斯、温戴尔·桑德、克蕾特·阿斯奇兰德 概要:麦金塔数字电路板的进化 麦金塔原型机 5 号主板 1981 年 1 月我加入麦金塔项目组时,他们只有一台手工绕线制成的采用 68000 处理器的原型机。我的第一个任务就是跟布莱恩·霍华德(外号「道奇大叔」)一起多做出几台原型机。布莱恩原本是杰夫手下的程序员,但实际上他却为伯瑞尔做了很多硬件的制作和测试工作。我和布莱恩通力协作,一共为程序员们又制作了四五台原型机。我们使用的是通用型 8” x 9” 印刷电路板。如果手头材料齐全,制作一台原型机只需要几天时间,并且自己绕接原型机的好处是更改设计非常方便。事实上,这些原型机电路板一直不断地更新,我使用的 5 号原型机电路板到了 1982 年还升级了一次,在原有设计上增加了 Z8530 串行通信控制器(SCC)、沃兹式磁盘控制器,以及特殊任务组件(STF)的时钟。 麦金塔的基本架构很简单,(当然现在的小孩可能会说怎么上面那么多东西啊),不算 68000 处理器和 16 个随机存取存储器(RAM)芯片的话,一共有32个集成电路芯片。其中包括:由一个可编辑逻辑阵列芯片(PAL)和几个触发器(flipflop)制成的时间状态机(TSM),由一个可编辑逻辑阵列芯片和几个计数器制成的线性地址生成器(LAG),还有一个负责总线控制的 PAL,四个为 RAM 寻址用的复用器(multiplexor),两个可擦除可编程存储器(EPROM),几个总线驱动器,一个视频输出移位寄存器, 一个负责处理键盘鼠标接口等任务、有 16 个可编程输入输出(I/O)接口的 6522 外设接口适配器(PIA)。这些便是核心架构的元件,另外还接了两个串行接口,内外部软盘驱动器接口,实时时钟芯片和音频输出。PAL 是单体存储器公司(MMI)出品的可编程逻辑阵列,可以定义 8 种输出的的逻辑方程式。以今天的标准来看,它能耗巨大,但是便宜好用,伯瑞尔用起来得心应手。 原型机内部自然就是个接满了线的迷宫。一天早上我们来到办公室,惊奇的发现一台原型机竟然烧了,原来前一天晚上伯瑞尔在上面做了些改动,不知怎么的就短路了。伯瑞尔急着让这台原型机起死回生,决定使用「暴力疗法」,他拔掉了所有的芯片,然后直接把 120 伏交流电源和地线接起来,把短路的地方给「烧开」。一看就知道,这种办法极不靠谱。最终我也没看见那台机器好起来。 1981 年晚些时候,我们把克蕾特·阿斯奇兰德从 苹果 III/III 部门调来给麦金塔的印刷电路板布线。从 1981 年第一个算起到 [...]
原文链接:Round Rects Are Everywhere! 作者:安迪·赫兹菲尔德 时间:1981 年 5 月 人物:史蒂夫·乔布斯、比尔·阿特金森 概要:史蒂夫通过现实世界的例子来启发比尔 比尔·阿特金森基本上只在家工作,但是每当工作有了重大的进展,他就会冲到苹果的办公室,谁夸他一番,他就逮着谁炫耀炫耀。这一天,他又来到了位于德士古塔楼的苹果办公室,这一次他要展示的是他最新的椭圆形绘制程序,这个程序他使用了一种非常绝妙的算法。 比尔在 QuickDraw(当时还叫作 LisaGraf )里面加入了新代码,可以非常迅速地绘制出圆形和椭圆形。但是在麦金塔上做到这点还是有一定难度,因为绘制圆形一般都要涉及到开平方,Lisa 和麦金塔所采用的 68000 处理器却又不支持浮点运算。但是比尔想出了一个聪明的办法,只用加减法就实现了绘制圆形的运算,虽然 68000 处理器也能做乘除法,但是速度相当慢。 比尔运用了一个奇数列求和总是等于完全平方数的原理(例如, 1+3=4, 1+3+5=9, 1+3+5+7=16, …),根据这个原理可以循环运算出坐标值,QuickDraw 因此就能够快速绘出椭圆了。 比尔开启了演示程序,Lisa 的屏幕上瞬间就覆盖满了大大小小的椭圆,速度之快超出了想象。但是史蒂夫·乔布斯并不满足:「嗯,圆形和椭圆形是很好,但是带圆角的长方形你觉得怎么样?我们是不是也做得出来?」 「不行,根本没门。这真的很难实现,而且我们根本不需要那个玩意儿。」我看比尔有点恼火,史蒂夫非但没有赞扬他这么快画出来椭圆形,竟然还得寸进尺。 史蒂夫突然变得很激动,「带圆角的长方形哪儿都是!你看看这个屋子里面。」当然,这样的例子随处可见,比如白板,桌子和椅子。他又指着窗外说:「你再看看外面,外面更多,哪儿都是!」他甚至说服比尔跟他一起出去在楼附近走一圈,一个个地指给他看圆角矩形的物体。 二人路过一个带着圆角的禁止停车标志时,史蒂夫终于达到目的了。「好啦,我投降。」比尔乞求道,「我去看看是不是我想象的那么难吧。」然后他就回家研究去了。 第二天下午,比尔带着灿烂的笑容重返德士古塔楼。他的演示程序现在可以画出带漂亮圆角的长方形了,而且跟绘制普通长方形一样惊人地快。比尔将代码添入了 LisaGraf,将新增的图形类别命名为「圆角矩形」(Roundrects)。随后数月里,圆角矩形被应用在各种用户界面当中,很快就成为了不可或缺的元素。(翻译:Colin Yang;一校:Mark Chen;二校:Jix Huang) 《硅谷革命》连载之 1 – 18
原文链接:Pineapple Pizza 作者:安迪·赫兹菲尔德 时间:1981 年 5 月 人物:伯瑞尔·史密斯、布莱恩·霍华德、丹·考奇、史蒂夫·乔布斯、巴德·崔博 概要:我们加班加点赶制第一块印刷电路板 我们的奖品 1981 年 2 月我刚开始加入麦金塔项目组时,我们只有一台基于 68000 芯片的麦金塔原型机,第一块数字电路板还是伯瑞尔自己动手绕接的。这台机器就放在巴德·崔博办公室角落里一张闲置办公桌上,连着 7 英寸的小显示器。开机后,引导只读存储器(boot ROM)会在屏幕上显示满屏的单词「hello」,字体很小,紧密地显示在黑白屏幕上。 丹·考奇和布莱恩·霍华德已在忙着制作更多的原型机主板,他们仔细地照着伯瑞尔的图纸绕接。大约一周后,我的办公室迎来了第二台原型机,便于我开发底层的输入/输出(I/O)代码,以及磁盘和键盘的接口,巴德的工作则是鼠标驱动程序,以及移植比尔的图形介面。 硬件设计的下一个重要工作就是设计印刷电路板。我们从苹果 II 团队找来了克蕾特·阿斯奇兰德,她是公司里最优秀的电路板设计师。伯瑞尔和克蕾特一起紧张地工作了一两周,他们去班得利 3 号楼使用一台特制的计算机辅助设计机器,输入主板布局、信号路线的设计,最终制作出一盘磁带,里面保存着制作电路板所需要的全部信息。 伯瑞尔和布莱恩·霍华德再三检查了电路板的布局,上面密密麻麻地布满了上千个结点。大约一两天后,他们认为可以将电路板送去制作了。我们希望能在周末之前收到最初的样板,但是似乎有点不大可能。最后,在星期五下午大概4点半的时候,样板到了。 伯瑞尔估算出组装一块板子至少要两到三小时,而要解决一些不可避免的问题则会耗时更长,这样在当晚就来不及做出一块能用的板子。他们可以周六来公司制作,也可以等到下周一早上再开始。就在他们讨论的时候,史蒂夫·乔布斯溜达进了硬件实验室,还是往常那样兴奋。 「嘿,我听说电路板到了啊。能用么?你们什么时候能装一个能用的出来?」 伯瑞尔解释说电路板板刚刚到,而且组装最少要花两个小时,因此他们在考虑是不是要等第二天早上或星期一再开始。 「星期一?搞笑吧?」史蒂夫说,「伯瑞尔,这是你自己的电路板啊,难道你不想今晚就知道它能否运行吗?这样吧,要是你能让它今晚就运行起来,我就请你和所有留下来陪他们的人去吃菠萝比萨。」 史蒂夫知道菠萝比萨最近已经取代保加利亚牛肉,成为伯瑞尔最热衷的食物了(作为一个坚定的素食主义者,他认为这是一大进步),他只要有吃到菠萝比萨的机会都绝不放过。伯瑞尔看了看布莱恩·霍华德,耸耸肩,说:「好吧,我们现在也可以来试试。但是我估计餐馆关门之前是不可能弄完的。」 然后伯瑞尔和布莱恩就忙开了。他们选了一块板子,插上接口,一个个地仔细焊接。我们另外五六个人,包括史蒂夫在内,都坐在周围指手画脚。 伯瑞尔看起来有点紧张和不耐烦,他不喜欢当着这么多观众的面制作主板带来的压力。每过五分钟,他就讲到马上要去吃菠萝比萨了,大说菠萝比萨有多美味。 终于,晚上 8 点左右,主板装好,可以接上电源来进行初次试验了。将原型机接上苹果 II 的电源和一个小显示器后,我们屏气凝神,摁开了电源。显示屏上本来应当显示满屏的「hello」,但这时显示出来的却只是一个跳棋棋盘的图案。 我们都很失望,伯瑞尔却是例外。他说:「还不赖,这表明 RAM 和图像生成都差不多没问题了。处理器也没重启,看上去我们已经离成功很近了。」他转过身看着史蒂夫,又说道:「可惜我太饿了,这样没法工作啊,是时候去吃点菠萝比萨了。」 史蒂夫笑了,也同意第一晚就有这样的成绩已算不错,是该庆祝一下。我们留下的七八个人就分乘三辆车,去了山景城伯瑞尔最喜爱的意大利餐馆「弗朗奇-约翰尼-路易吉」,点了三个大份菠萝比萨,着实美味无比。(翻译:Howie;一校:Mark Chen;二校:Jix Huang) 《硅谷革命》连载之 1 – 17
原文链接:Early Demos 作者:安迪.赫兹菲尔德 时间:1981 年 4 月 人物:安迪·赫兹菲尔德,巴德·崔博,里奇·佩吉,鲍勃·比肖普,比尔·阿特金森,布鲁斯·霍恩 概要:不同的演示程序展示了硬件的能力 早期的 Finder 原型(1982 年 2 月) 基于 68000 芯片的麦金塔上第一个演示程序,是巴德·崔博编写的,并且将其整合进了最初的引导只读存储器(boot ROM)。这个程序能用一百多个字号极小的单词「hello」铺满整个屏幕。麦金塔开机后,进行硬件自检,满屏显示「hello」,然后便等待串口中输入执行指令。屏幕上显示出「hello」即表明系统一切正常。 通过引导只读存储器,麦金塔就能通过串口线导入 Lisa 上的程序,这样就能在麦金塔上试运行新的代码,并且测试或演示这台原型机。我们还有大量的工作需要完成:开发一个操作系统,连接上键盘和鼠标,运行比尔的图形和用户介面程序,不一而足。但我们有时也做些仅仅为了好玩的事情。 1981 年 3 月初的一天晚上,我成功解决了磁盘控制器的问题,并且为麦金塔写了一个快速运行的、基于磁盘的幻灯片程序(见《半字节》)。看到细节丰富、解析度较高的图片快速地在显示屏上穿行,着实让人异常兴奋。 一直到 4 月,我都在做自制图形程序的实验,来展示麦金塔系统强大的图形处理能力。我曾在苹果 II 上写过几个弹球程序,便想看看 Mac 能流畅地显示多少个动画小球,一定会很有意思。我写了基于 68000、能快速绘制 16×16 像素小球的代码,发现麦金塔能流畅地显示超过 100 个这样的弹球,相当令人震撼。我还用比尔·阿特金森的 8×8 位图写了一个带种子填充算法的绘图小程序,另外又编了一个很好玩的打砖块游戏,这是巴德的创意——将砖块一一击落,它们掉下时你还得躲开。 鲍勃·比肖普曾经在苹果 II 上试验过很多图形特效,所以我想我应该在麦金塔上也试试。我想通过一种有趣的方法来将图片显示到屏幕上。我最喜欢瀑布效果, 就是通过若干个连续扫描线,将一幅图片逐渐地从上至下显示出来,看起来就像瀑布里的水一样倾倒在屏幕上,甚至还有点催眠效果。我通常使用苹果 II 上的 Muppets(编者注:迪士尼公司旗下著名的木偶角色)图片来显示这个瀑布效果,后来「拉伸 Muppets」这个演示也变得非常有名了。 1981 年 5 月,巴德熬了一个通宵,将 Lisa 机上的 QuickDraw [...]