Scrooge McDuck 斯克鲁奇·麦克老鸭

作者: Andy Hertzfeld 日期: February 1980 人物: Burrell Smith, Andy Hertzfeld, Jef Raskin, Tom Whitney, Bob Bishop, Cliff Huston, Dick Huston 主题: Origins, Hardware Design, Prototypes 概括: The very first image on the very first Macintosh

Burrell Smith liked to do intensive design work over the Christmas break, so the very first prototype of the very first Macintosh sprung to life early in the first month of the new decade, in January 1980. It wasn’t really a stand-alone computer yet, as the prototype resided on an Apple II peripheral card, but it already contained the essential hardware elements of Jef Raskin’s Macintosh dream: a Motorola 6809E microprocessor, 64K of memory, and a 256 by 256 bit-mapped graphic frame buffer, which was hooked up to a cute, tiny 7 inch black and white display. Burrell used the Apple II host to poke values into the memory of the prototype, so he could initialize the control registers and run small programs with the 6809.

Burrell Smith 喜欢在圣诞假期期间进行密集的设计工作,因此第一台 Macintosh 的第一个原型在新十年的第一个月(即 1980 年 1 月)诞生了。
它还不是真正的独立计算机,因为原型安装在 Apple II 外围卡上,但它已经包含了 Jef Raskin 的 Macintosh 梦想的基本硬件元素:摩托罗拉 6809E 微处理器、64K 内存和 256 256 位图图形帧缓冲区,连接到一个可爱的小型 7 英寸黑白显示器。
Burrell 使用 Apple II 主机将值插入原型的内存中,这样他就可以初始化控制寄存器并使用 6809 运行小程序。

I went out to lunch with Burrell a few weeks later and, knowing my appreciation for Woz-like hardware hacks, he explained the crazy way that he contrived for the Apple II to talk with the prototype. He didn’t want to waste time designing and wiring up hardware to synchronize the memory of the two machines, since that wouldn’t be needed by the real product. Instead, he delegated the memory synchronization to the software, requiring the Apple II to hit a special memory address to tell the prototype how many microseconds later to grab data off of the common data bus. It was weird enough to make me interested in seeing if it really worked.

几周后,我和伯勒尔一起出去吃午饭,他知道我对沃兹式的硬件黑客的欣赏,解释了他为 Apple II 设计的与原型机对话的疯狂方式。
他不想浪费时间设计和连接硬件来同步两台机器的内存,因为真正的产品不需要这样做。
相反,他将内存同步委托给软件,要求 Apple II 命中一个特殊的内存地址,告诉原型多少微秒后从公共数据总线上抓取数据。
这很奇怪,让我有兴趣看看它是否真的有效。

By now, Burrell thought that he had the graphics running properly, but he wasn’t really sure; he still needed to write some software to try it out. I told him that I’d look into it when I had some time. He gave me a copy of a handwritten page that contained the magic addresses that I’d have to use, hoping that I’d get around to it soon.

到目前为止,伯勒尔认为他的图形运行正常,但他不太确定;他还需要编写一些软件来尝试一下。
我告诉他,等我有时间的时候我会研究一下。他给了我一份手写的页面,其中包含我必须使用的神奇地址,希望我能尽快处理它。

I was used to coming back to the lab at Apple after dinner, to see if anything interesting was going on and working on various extra-curricular projects. I had some spare time that night, so I got out Burrell’s instructions and wrote an Apple II (6502) assembly language routine to do the necessary bit-twiddling to transfer whatever was on the Apple II’s hi-res graphic display to the Mac prototype’s frame-buffer, using Burrell’s unusual synchronization scheme.

我习惯于晚饭后回到苹果的实验室,看看是否有什么有趣的事情发生,并从事各种课外项目。
那天晚上我有一些空闲时间,所以我拿出了 Burrell 的说明,编写了一个 Apple II (6502) 汇编语言例程,以进行必要的位调整,将 Apple II 高分辨率图形显示器上的任何内容传输到 Mac 原型机的框架上-buffer,使用 Burrell 不寻常的同步方案。

One of my recent side projects involved using Woz’s new, one-to-one interleave floppy disk routines to make very fast slideshow disks on the Apple II. I had just made one full of Disney cartoon characters, that were scanned by Bob Bishop, one of the early Apple software magicians. Bob adored the work of Carl Barks, the Disney artist who specialized in Donald Duck, and he had scanned dozens of Barks’ Donald Duck images for the Apple II. I selected an image of Scrooge McDuck sitting on top of a huge pile of money bags, blithely playing his fiddle, with a big grin on his beak. I’m not sure why I picked that one, but it seemed to be appropriate for some reason.

我最近的业余项目之一涉及使用 Woz 的新的一对一交错软盘例程在 Apple II 上制作非常快速的幻灯片磁盘。
我刚刚制作了一个充满迪士尼卡通人物的作品,由早期苹果软件魔术师之一鲍勃·毕肖普 (Bob Bishop) 扫描。
鲍勃很喜欢迪士尼艺术家卡尔·巴克斯 (Carl Barks) 的作品,他专门创作唐老鸭,他为 Apple II 扫描了数十张巴克斯的唐老鸭图像。
我选择了一张斯克鲁奇·麦克老鸭坐在一大堆钱袋子上的照片,他愉快地拉着小提琴,嘴角挂着大大的笑容。
我不知道为什么我选择了那个,但出于某种原因它似乎是合适的。

Even though it was starting to get late, I was dying to see if my routine was working properly, and it would be very cool to surprise Burrell when he came in the next day with a detailed image on the prototype display. But when I went to try it, I noticed that Burrell’s Apple didn’t have a disk controller card, so there was no way to load my program. Damn! I couldn’t shut the computer down to insert the card, because I didn’t know how to reinitialize the Macintosh board after power-up; Burrell hadn’t left the magic incantation for that. I thought I was stuck, and would have to wait until Burrell came in tomorrow.

尽管时间已经很晚了,但我还是很想看看我的日常工作是否正常进行,当伯勒尔第二天带着原型显示器上的详细图像进来时,给他一个惊喜,那就太酷了。
但当我去尝试时,我注意到Burrell的Apple没有磁盘控制卡,因此无法加载我的程序。
该死!我无法关闭计算机来插入卡,因为我不知道如何在加电后重新初始化Macintosh板;伯勒尔并没有为此留下魔法咒语。
我以为我被困住了,必须等到伯勒尔明天进来。

The only other person in the lab that evening was Cliff Huston, who saw the trouble I was having. Cliff was another early Apple employee, who was Dick Huston’s (the heroic programmer who wrote the 256-byte Apple II floppy disc boot ROM) older brother and an experienced, somewhat cynical technician. I explained the situation to him and was surprised when he started to smile.

那天晚上实验室里唯一的另一个人是克里夫·休斯顿,他看到了我遇到的麻烦。
Cliff 是另一位苹果早期员工,他是 Dick Huston(编写 256 字节 Apple II 软盘引导 ROM 的英雄程序员)的哥哥,也是一位经验丰富、有些愤世嫉俗的技术人员。
我向他解释了情况,当他开始微笑时,我感到很惊讶。

Cliff told me that he could insert a disk controller card into Burrell’s Apple II with the power still on, without glitching it out, a feat that I thought was miraculous - you’d have to be incredibly quick and steady not to short-circuit any of the contacts while you were inserting it, running the risk of burning out both the Apple II and the card. But Cliff said he’d done it many times before: all that was required was the confidence that you could actually do it. So I crossed my fingers as he approached Burrell’s Apple like a samurai warrior, concentrating for a few seconds before holding his breath and slamming the disk card into the slot with a quick, stacatto thrust.

克里夫告诉我,他可以在电源仍然打开的情况下将磁盘控制器卡插入伯勒尔的 Apple II 中,而不会出现故障,我认为这是一个奇迹 - 你必须非常快速和稳定,才不会短路任何东西插入时会损坏触点,从而存在烧坏 Apple II 和卡的风险。
但克里夫说他以前已经做过很多次了:所需要的只是你真正可以做到的信心。 因此,当他像武士一样接近伯勒尔的苹果时,我交叉着手指,集中了几秒钟,然后屏住呼吸,以快速、断断续续的推力将磁盘卡撞入插槽。

I could barely make myself look, but amazingly enough Burrell’s machine was still running, and the disk booted up so I could load the Scrooge McDuck image and my new conversion routine. And even more suprising, my routine actually worked the first time, displaying a crisp rendition of Uncle Scrooge fiddling away on the Mac’s tiny monitor. The Apple II only had 192 scan-lines, while the embryonic Macintosh had 256, so I had some extra room at the bottom where I rendered the message “Hi Burrell!” in a nice-looking twenty-four point, proportional font.

我几乎无法让自己看起来,但令人惊讶的是,伯勒尔的机器仍在运行,并且磁盘启动,因此我可以加载 Scrooge McDuck 图像和我的新转换例程。
更令人惊讶的是,我的程序第一次就成功了,在 Mac 的小显示器上清晰地显示了史克鲁奇叔叔摆弄的声音。
Apple II 只有 192 条扫描线,而雏形的 Macintosh 有 256 条,所以我在底部有一些额外的空间,用来渲染消息“Hi Burrell!”采用漂亮的二十四号比例字体。

By the time I came in the next morning, an excited Burrell had already showed the image to everyone he could find, but then he accidentally reset the prototype somehow, and didn’t know how to get the image back on the screen. I loaded it again so he could show it to Tom Whitney, the engineering VP. I think Jef was pretty pleased to see his new computer start to come alive, but I don’t think he was very happy about me giving the demo, since he thought I was too much of a hacker, and I wasn’t supposed to be involved with his pet project.

当我第二天早上到达时,兴奋的伯勒尔已经向他能找到的每个人展示了图像,但后来他不小心以某种方式重置了原型,并且不知道如何将图像重新显示在屏幕上。
我再次加载它,以便他可以将其展示给工程副总裁 Tom Whitney。
我认为杰夫很高兴看到他的新计算机开始投入使用,但我不认为他对我提供演示感到非常高兴,因为他认为我太像黑客了,而且我不应该这样做参与他的宠物项目。
目录