第拾肆章 半边天
“想当年,我们决定每算一道新题,就得打开机箱重新接一遍电线……”一位DEC工程师仰天长叹。
“想当年,我们每接完一遍电线就得满楼道溜达,看看那里开始冒烟……”另一位DEC工程师仰天长叹。
“想当年,我们每当发现什么地方冒烟的时候,就得抱着灭火器冲进去救火……”第三位DEC工程师仰天长叹。
“想当年,我们每次灭完火之后,都必须全体出动,人手一把镊子捉臭虫……”最后一位DEC工程师仰天长叹。
“是啊,是啊。”范含接茬,“那真是万恶的旧社会啊!我们这些产业链底层的劳动人民真是生活在水深火热之中啊……”
“咳……”所有人一起长叹。
处理完了FEEE的麻烦之后,范含和奥尔森的主要精力就放在了“FOR”上面。如何将一个皮包公司填满,确实是个重大的问题。
数学圈内开始有订货了,单子还不少,要求倒是大同小异。简单到了一句话:一个对数学家友好的计算环境。
说起来容易做起来难,范含心里知道这个要求有多过分,但是表面上还不能显出来。
至今为止,有资格称得上是“对数学家友好的计算环境”也不过寥寥几个而已。范含用的最多的就是Mathematica,其次就是Matlab。至于Maple,功能比较单一,见了Mathematica之后就几乎没用过。最后就是SAS,***万美元一套的东西,好倒是很好,就是范含不想用。就算摸透了又能怎样?出来工作的公司,有几个能买得起?学会了也不过是屠龙术罢了。后来,发现一个开源的软件SciLab,处处都向Matlab看齐,相当不错。至于写项目当中,万一碰到科学计算的部分,都是挂上GNU的GSL模块实现,LGPL协议,可以尽管放心大胆的用。
对此,奥尔森根本就没有意见,嗯了一声之后就让范含“看着办”。
Mathematica那种图形界面的集成环境现在是别指望了,就是Matlab,也只不过勉强可以写写文本界面的那种交互形式。问题在于,目前DEC的计算机没一个范含看的上眼的,一想起自己即将给这些规格歪七扭八的东西写软件,心里就有抵触情绪。就目前来说,任何一个客观、公正、中立的程序员,对于实现平台的选择都可以做出唯一的决定:IBMSystem360。
这种建议根本就不会提出来。不要说奥尔森绝对不会答应,就是范含自己也不愿意。虽然说向IBM宣战并不是自己的本意,不过既然已经吹出来了,再去点头哈腰的舔IBM屁股,自己的骨头还没那么贱。
另外,FEEE仅仅是麻烦结束了,却仍然是前途未卜。仙童散伙,德州仪器撤出之后,FEEE的工作人员几乎都是奥尔森帮忙招聘的,有些人甚至就是从DEC直接扯过来的。正因为如此,勉强维持经营是可以的,但是想扩大规模,趁现在还没出现竞争对手的时候勇往直前,肯定是力不从心。
别的不说,就是新产品开发这一项就足够范含头疼的。
目前的“Squares”机型根本就没有中央处理器(CPU),虽然有一堆处理器,不过仅仅能应付方块类型的益智游戏,代码都是用电路固定住的,没有任何改进的余地。
范含之所以仅仅开发方块类益智游戏还有另外一层原因。因为这种游戏不需要人工智能,仅仅有一个随机数发生器就足够了。别的类型的游戏多多少少需要管一管NPC的所作所为,只用电路实现不太容易。
黑白棋、五子棋之类的游戏对于人工智能的要求非常高,现在的条件下,就是大机器上面也未必能编出有资格和玩家一较长短的程序。射击类、动作类游戏稍微简单点,但是也必须处理画面上每一个单元的行为,尽管这种行为可能相当简单。
想要开发新的游戏,目前的体系结构必须全盘推翻。新的游戏机肯定是一台有处理器,有内存的真正的计算机,不管名字叫做什么。
这么说来,至少有两种计算机需要重新设计,一种为了数学家,一种为了玩家。
范含对于硬件一知半解,挑大梁是挑不了的。所以,再三强烈要求奥尔森派一群内行过来帮忙。自己最多在旁边出出主意,关键时刻提示一下,估计效果会好得多。
奥尔森那边也不好办,DEC里面许多人都指责他“公私不分”,借职务之便利用DEC的人力物力去支持他私人控股的公司。在商界,这样的指责是很严重的,一个处理不好,被撵下台都有可能。
最终决定,数学界的订单由FOR单独接下。FOR承担全部责任,但是仅仅负责计算机的设计,具体生产必须委托DEC代工。FEEE的业务仍然由FOR负责设计,但是全部的采购计划都必须交给DEC,如果需要购买德州仪器或者其他公司的零件,委托DEC全权代理。
这个方案非常苛刻,如果不是FOR和FEEE共同的股东奥尔森与DEC的特殊关系,范含根本就不想签署。随便哪一家公司都不会像这样把自己绑在一棵树上吊死。不过实在是没办法,谁让这几家之间都有裙带关系呢。
唯一的好处,就是奥尔森可以名正言顺的派人过来了。
名义上“FOR”处于中心地位,统揽规划大权。但是实际上,这个所谓的“FOR”只有范含一个人而已。奥尔森不管具体的事,蓝蓝只是挂了个名,真正所有工作都砸到范含一个人身上。于是,四个DEC的工程师被奥尔森威逼利诱的赶到洛杉矶给范含当“顾问”。
现在的美国西海岸并不是十分有吸引力,相比东边繁华的新英格兰地区,确实像是穷乡僻壤。只有到了后来,日本经济发达起来,加上硅谷渐渐成为经济增长新动力,这种情况才会改变。
在四个工程师看来,这次调动根本就是充军发配,一个个毫无例外的全都耷拉着脸。
四个人说是给范含当顾问,但范含觉得事实应该相反才对,他们干正事,自己旁边打杂就成了。只是自己不先动手,他们确实是没什么事好干。简单的交代一下工作之后,大家又都闲下来了。
为了调动同志们工作的积极性,范含主动在FOR内部开展了“忆苦思甜”运动。
这些工程师都是老资格,都经历过“先知”冯·诺伊曼布道之前的黑暗时代,倒起苦水来那是一套一套的。范含虽然自认为心理承受能力较强,却仍然被他们吓了好几跳。当年的艰苦环境实在是自己这样的晚辈们所不能想象的。
委屈说够了,下面就是对于自己身处这个时代表示一下由衷的喜悦了。
“到如今,我们也可以脱下工作服,换上白大褂了。放下烙铁,拿起卡片打洞了……”工程师甲高兴的说。
“到如今,我们也可以不用走来走去,坐下来干活了。不再长鸡眼,改长痔疮了……”工程师乙高兴的说。
“到如今,我们也可以住在距离机房一英里以内,天天上门了。不用找人签字盖章,只要半夜排队就成了……”工程师丙高兴的说。
“到如今,我们也可以没事踹机箱两脚,发发牢骚了。不会因为机器三天两头的坏,从而被抓走盘问了……”工程师丁高兴的说。
“是啊,是啊。”范含接茬,“这都是托了肯尼迪总统的福啊!哎?不对!现在要感谢约翰逊总统了……啊哈哈哈……”
“……”
呵呵,没人儿理我……
“总之,我们应该珍惜这大好时光,一步一个脚印的干出一番事业来?”范含总结。
众人点头同意,只是情绪看起来好像还不是很高涨。
不管了,范含继续下一步议程。
“大家看看这三个方案。”范含拿出十八本“小册子”,“来,每人一份。”
众人接过,入手沉甸甸的。
昨天范含家里的老式打印机足足响了一天,才把这三个方案打出六份来。
上上个星期开始,范含抱着家里的电传打字机足足敲了半个月,才把这三个方案输入到计算机里面。
现在可知道没有“电子版”的痛苦了,有一阵子范含甚至会经常摸摸后脖颈子,期待那里能找到四个洞,随便哪个都可以拉根电线接在机器上。真要如此,就像《GhostintheShell》那样直接联网算了,省得自己手打输入太痛苦。
三个方案彼此之间没有任何关系……那是当然了……分别是Zilog的Z80、Motorola的68000和Intel的8086芯片的手册。
最早的微处理器应该是1971年Intel推出的4004,含2300个晶体管,字长为4位,时钟频率为108KHz,每秒执行6万条指令,外观尺寸是3毫米乘4毫米。这个小倒是足够小,不过性能实在不怎么样。本来就是为了计算器(不是计算机!)预备的东西,能算算算术题就已经不错了。
1972年愚人节,Intel发布8008,一款8位的微处理器。1974年,同样是愚人节那天,Intel发布改进后的8080,这是真正大红大紫的第一款微处理器。再后来,Zilog公司对8080进行扩展,推出自己的产品Z80。直到今天,Z80仍然是8位处理器的巅峰之作,还在各种场合大卖特卖。范含这一代人,玩过Z80的实在不少,许多人都是从写Z80代码开始进入计算机这行的。
任天堂的著名“红白机”用的是6502处理器。这款游戏机上面有多少大作范含已经数不过来了。原来玩模拟器的时候,ROM总是找不齐。每次以为自己的收藏已经足够多了的时候,总是会在一个偶然的机会里,从互联网的某个角落里面发现一款新的FC游戏。这就证明了8位处理器在电子游戏的洪荒时代还是很有活力的,至少当前在游戏机上面的应用非常有前途。
但是范含山珍海味见多了,对6502实在提不起兴趣。记忆里最流行的八位处理器应该就是z80。后来任天堂在家用游戏机市场败给Sony之后,就是靠了几乎垄断掌上游戏机市场才能坚持下来。这款掌机,GB和后来的GBC用的就是z80处理器。范含毫不怀疑,红白机上面的游戏绝对可以在z80体系上实现。所以,在这个时候抄出Z80的意思就是为了一段时间内不用操心FEEE的发展问题。
游戏机的事情解决了,剩下的就是考虑数学界那边的要求。数学家是无论如何不能得罪的,切记!切记!
用来应付数学计算的处理器就不能这么简单了,至少也得是16位的。这方面的例子范含一下子就想到了Motorala的68k系列。同样也是至今仍然大卖特卖的处理器,同样也是当年无限风光的架构。苹果的Macintosh系列机型,用的就是这款处理器。
1984年1月24日,苹果发布了第一款图形用户界面的个人电脑,这给业界和普通用户带来的震撼是不言而喻的。Acrobat专家TedPadova说:“为了避免一时冲动,我一直等到1月26日才买了第一台Macintosh机器”。
既然能够应付图形用户界面的需要,其性能应该是不用怀疑的。唯一的问题就是可扩展性方面。由于体系结构内部的限制,想要不断的与时俱进实在是困难。就是因为这个原因,苹果后来的机型不得不转向PowerPC体系,这个体系也是Motorola和IBM合作开发的。
为了保证今后发展的动力,范含不得已准备了第三份材料,描述了Intel8086的架构。不过范含对原始材料作了一些修改,把8086的20根地址线改为16根。
作为16位的处理器,一般来说应该有16根地址线才对,这样一来能够寻址*k内存。现在的PDP-8满打满算也不过是32k,虽然每个字是12位的。但是在8086的时代,*k显得不够用了,Intel就简单的增加了4根地址线,最大可以寻址1MB。
为了多出来的这四根线,写起程序来就费劲了。当年范含总是不停的提醒自己,“左移四位”,“左移四位”,烦着呢。本来这就是权宜之计,到后来Intel自己不也是主动改成平面指针结构了么?32位字长,32位地址,多简单。
写材料的时候,范含把重点放在了指令集上面。打字的时候并不是原封不动的从BROM里面抄出来,那要抄到什么时候?当然是“详略得当”,不过,其他内容可以一笔带过,唯独指令集的部分,除了原来就有的东西之外,范含还加进去不少自己的理解和其他资料中相关的部分。
对程序员而言,不管芯片造成什么样,值得关心的仅仅就是有什么指令能用而已。在这一点上面范含的头脑比较冷静,没有盲目试图一步到位的开发精简指令集芯片。
RISC是和编译技术紧密结合起来的,争取发挥处理器的全部能力,现在还没到那步。如果一个简单的功能都需要几十条更简单的指令倒来倒去,烦也烦死了,尤其是在大部分代码都需要用汇编直接写的今天。
毕竟写程序的是人不是机器,人的精力是有限的,不能把大部分时间放到一些例行公事上面。就像汉诺塔游戏,规则是预定的,先挪哪一个,挪到什么地方去,都是板上钉钉的事。盘子少点还好办,一多起来往往就乱套,记不住哪个是哪个了。所以这个汉诺塔才能被好事者做成“游戏”,专门拿来考验人的耐心和记忆力。
四位工程师看着材料陷入了沉思。
提出这样的草案仅仅是一个尝试,范含也没指望现在就能造出东西,毕竟摩尔定律在那儿摆着呢。摩尔定律的直线笔直,一方面是对现实发展的高度概括,另一方面也证明了业界并没有浪费时间。善有善报,恶有恶报,不是不报,时候不到。真要造出指甲盖大小的“微处理器”,再等十年吧!
只不过……
谁说没枪头就捅不死人?(周星驰,《唐伯虎点秋香》)
谁规定CPU只能造成指甲盖大小?
按照范含的计算,以现在的技术水平,做成巴掌大小应该是没问题的。
以前还在上学的时候,就听说北京某校计算机系的某位师哥,毕业设计就是实现8086的指令集。在用了无数现成的组件和可编程芯片之后,摆满一整张桌子的“CPU”造好了。这可是真正的一块完全可以跑起来DOS的“CPU”。
所以,信心还是十足的。
看着工程师们有点拘谨,范含一顿好生抚慰。
简而言之,就是鼓励他们增加新的指令,凡是常见任务,并且需要几十上百条汇编语句才能实现的功能,一律可以当成指令来用。其实就是借鉴这些老工程师的经验完善这些处理器的设计。
凡是领会了“热力学第二定律”重要思想的人都能明白,破坏比起建设来更容易。
如果什么都没有,凭空设计出一套体系,真是难如登天。历史上的诸多公司,包括Intel、Zilog、Motorola他们,开发的体系架构并不是无懈可击的。
相反,如果已经有了一份现成的东西,鸡蛋里挑骨头还是易如反掌的。现实中的技术论坛,到处都有无数大白小白们到处炫耀自己如何发现某产品的缺陷。倒不是说他们说的不对,而是说,把事先预防问题和马后炮式的发现问题看得一样简单是不对的。
经过了短暂的适应之后,工程师们开始进入状态了,每天都讨论得热火朝天。范含又无所事事了,成天给诸位沏茶倒水,和蓝蓝打情骂俏。
大约一个星期,范含见势不妙,赶紧叫停。范含提出的每种方案都被批倒批臭了,按照他们的想法,每种CPU都应该有两千多条指令才行。
删,还得往下删。
范含和工程师们把所有“指令”分成三种,“最常用”、“次常用”和“能用库函数实现的”。最常用的指令准备直接放进处理器核心;次常用的指令做成ROM,以微代码的形式提供,对于程序员来说是一样的,等待今后半导体技术发展之后在放进核心;至于最后一种,只能说抱歉了。
经过这么一改,看起来像是个提案,不像胡说八道了。
不过,为了不打击工程师们的积极性,范含鼓励每个人把希望处理器实现的功能都作为建议写出来放在最后。于是乎,接下来的几天成了专业人士们的“意淫”时间。
“虽然编程是枯燥的,调试是辛苦的,但是理想却是远大的。”DEC工程师某如是说,“哼!等咱有了浮点指令,******想算正弦算正弦,想算余弦算余弦。一算就两遍,算对一遍,算错一遍!”
-------
(昨天本来是中秋节,想把本章写成中秋特别篇,没想到一查日历,1967年的中秋节正是九一八,作者实在不知道,华人那天到底是应该高兴呢还是不高兴。于是就算了。)
(大家猜一猜,主角为数学家量身定做的计算机应该是什么样子?没有标准答案,凡是沾点边的就有精华,现在作者还剩二百多个……)
-------
经过修正的提案和原来相比,简直是面目全非。为了保险起见,范含连同原本一起打包寄给DEC总部。同时还有一封信:“敬请斧正”。原信为传统竖式信纸,中文行楷,毛笔手写……落款处盖上一个名讳大印,另外还有十七八个闲章,都是打发巴杜瓦到唐人街现刻的……当然,为了照顾收信人,蓝蓝翻的译文附在后面。
信寄走了之后,好久没有回音。直到有一天,范含实在忍不住了,打电话过去问。
“已经开工了。”奥尔森说,“我以为你早就知道了呢。”
“我怎么知道?”范含说,“一直都没有消息。”
“是么。”奥尔森说,“那就是我忘了告诉你了。”
“咳……”范含说,“怎么样?有什么问题?”
“没有,一点意见都没有。”奥尔森说,“材料一到,公司里所有人都闭嘴了。”
“不会吧,总不会鸦雀无声吧?”范含说,“难道是你高压政策强制推行下去的?”
“当然不是,我什么都没管。”奥尔森说,“这回你算帮了我一个大忙,现在对于我们的合作没人敢有意见了。”
“那就好,”范含问,“什么时候能出原型?”
“八位的那款处理器大约一个月,”奥尔森回答,“剩下的两款最早也得明年。”
“怎么同时开始了?”范含很奇怪,“信里不是已经提到了,简单的那款先干,有浮点处理器的那个以后再说么?”
“谁舍得呀?”奥尔森说,“反正我是哪个都不想放着。”
“时间来不及呀。”范含说,“数学家们等着用呢。”
“那也应该先干第三个啊,”奥尔森说,“毕竟有浮点处理单元,正是数学家需要的。”
“哎呀……”范含说,“这么一来,相应的软件写起来也会麻烦多了,到头来还是来不及嘛。再说了,现在的数学家都用特殊制造的硬件处理一些专门问题,我们只要留出接口,尽可能利用现有的东西就成了。”
“那你的意思是说……”奥尔森还是有点不甘心,“最后那个不着急?”
“就是不着急。”范含肯定地说,“对了,你们用的是哪个方案?原始版本还是修订过的?”
“当然是修订过了的。”奥尔森说,“那几个工程师已经向我们汇报过了。”
“哎……”范含一时气结,这么一来,自己的BROM里面的好多代码算是没用了。
“怎么了?”奥尔森不明白,“修订得很合理呀?这边的人成天边干边夸你呢。”
“没什么,”范含只好说,“我就是担心进度而已。”
“用不着担心,”奥尔森说,“就算是原来的版本也快不了多少。不过,原始的版本确实也相当不错,我都不信是你自己一人单枪匹马干出来的。”
“我自己也不信,”范含厚着脸皮说,“我对硬件根本就是一外行,全都是从数学家的角度猜测需要什么指令的。”
“这样才好嘛,旁观者清。”奥尔森说,“我们这些家伙恐怕老早就被绕进去了,都不知道真正用计算机的想要什么了。”
“要是这样,先暂停后面一个,”范含说,“估计什么时候能出原型?”
“不好说,争取十月份吧,”奥尔森说,“其实也快不了多少,你知道就算有十个女人也不能在一个月里生孩子。”
“嗯。”范含心说,我是知道的,嘴上说,“那就尽快吧。”
-------
硬件的事已经定下来,估计就改不了了,范含也不想改。
和自己直接相关的就是代码,BROM里面有不少这些CPU的汇编代码,还有一些内嵌许多汇编语句的C代码,现在看来都用不上了。
以前早就猜到会有这么一天,再也不能借着“前人”的工作成果滥竽充数下去了。但是没想到这一天来得实在太快,自己现在的事业还没有起飞。现在除了一套发展前途死路一条的“Squares”机型,一个C语言的设定,别的还什么都没有。
这么早就混不下去了,实在没想到。如果前一阵决定回头去当作家,应该还来得及,前途应该也很光明,诺贝尔奖什么的都是小菜一碟,指日可待呀。但是现在,已经不可能收手了,自己的事业完蛋还是小事,把奥尔森他们这些朋友涮了一道可是大事。
不过,自己又不是没有本事只会混的家伙,当初既然选择进了这一行,就是为了轰轰烈烈折腾一番。老人家教导我们说,世上怕就怕认真二字。只要认真起来,这两个小Case只不过前进路上两颗小小的绊脚石罢了。步子大点儿,一脚跨过去,说不定连拌都拌不着。
最近舒服日子过惯了,艰苦朴素的传家宝就丢到一边了。以前看着星移斗转写代码的劲头呢?范含暗下决心,自己一定不会辜负天打雷劈的期望,吃大苦,流大汗,因陋就简,大干快上,为了建设有范含特色的资本主义计算机事业而奋斗。
“两个好消息。”范含和DEC工程师甲乙丙丁四人说,“先听哪一个?”
“无所谓,反正都是好消息。”
“第一个好消息是,”范含说,“我们的提案总部那边已经开始无异议执行了,在座诸位都被通报表扬了。”
“哇哈哈哈……”
“第二个好消息是,”范含继续说,“奥尔森托我给你们带个话儿,只要您几位肯帮我完成这两个项目,就有带薪休假三个月的干活!”
“哇哈哈哈……”
很好,士气高涨,很好。
“一个好消息,一个坏消息。”范含跟巴杜瓦说,“先听哪一个?”
“无所谓,”巴杜瓦说,“不管先听哪一个,我肯定都是被侮辱和被损害的主儿。”
“看来你已经觉悟了。”范含说。
“那是。”巴杜瓦说,“少废话,说吧。”
“好消息是,”范含说,“最近我必须全力工作,不会再出门满世界找事,你也不需要给我当司机、邮递员、清洁工、接线生和哨兵了。”
“真的?!”巴杜瓦喜出望外。
“坏消息是,”范含继续说,“最近我必须全力工作,不会再有时间干点旁门左道,当然也不会有时间帮你捏造报告了。”
“怎么会是这样?!”巴杜瓦情绪消沉。
很好,士气低落,很好。
“一个坏消息,还有一个坏消息。”范含跟蓝蓝说,“先听哪一个?”
“无所谓,”蓝蓝说,“反正你一向没好话,狗嘴里吐不出象牙来。”
“真让人伤心啊……”范含故作伤心状,“没想到你对我的评价竟然是这样?!”
“我形容事实而已,”蓝蓝说,“少罗嗦,有话快说,有那啥快放!”
“第一个坏消息是,”范含说,“这次的时间紧,任务重,你肯定需要努力工作了。”
“我什么时候不努力了?”蓝蓝说,“倒是你,成天吊儿郎当,脏活累活都扔给我干!”
“另一个坏消息是,”范含说,“这次的时间紧,任务重,我可能连每天晚上和你XO这唯一的娱乐都没有了。”
“啊呸!”蓝蓝说,“谁信啊?!你真是范含么?不会是外星人冒充的吧?”
“我实话实说嘛。”范含解释。
“是谁每天九点不到就打着哈欠跟我说‘困了’的?”蓝蓝问。
“是我。”范含承认,“确实是困了么,我的生物钟就是这个样子。”
“那是谁每天困完了之后还去洗个澡坐沙发上看电视啊?”蓝蓝又问。
“是我。”范含承认,“人类是很奇妙的,我的生物钟比较古怪。”
“那又是谁每天看完电视之后还打着哈欠跟我说‘这回是真困了’的?”蓝蓝还问。
“是我。”范含承认,“这个你不会不信吧,就是真困了,我可没撒谎。”
“是啊,你是没撒谎啊。”蓝蓝说,“没想到就是这种德行的一个人居然会说,工作忙得没时间那啥?”
“真的嘛,”范含说,“这回真的是很忙。”
“好啊,”蓝蓝说,“我看你能坚持几天。”
“就算坚持不住也没什么嘛,”范含边往外走边说,“见着美女,当X不让,这才是男儿本色。”
蓝蓝一脚把范含踹出门外。
-------
先动手的是游戏机,范含递交了CPU的提案之后,就把所有其他硬件的设计都委托给了DEC,实际上就是拜托奥尔森多操心。FOR和FEEE毕竟也是奥尔森的产业,这个根本不用范含嘱咐。
从德州仪器定做的视频芯片有了升级版,可以控制320*240的屏幕上面的每一个点,仍然可以同时显示16种颜色,总共支持256种预定义的颜色。另外还单独定做了一块音频芯片,矩形波两音,三角波一音,杂波一音。这个音像规格比起任天堂的红白机来说,稍微高了一点,估计实现的游戏效果应该不会比红白机差。
当然,在开发的时候,这些东西还是作为外设,连在PDP-8上面。
范含这几天还不算太忙,不过就算是想找蓝蓝XO都不行,一句“男儿当自强,还是以事业为重的好”就给挡了回来。看来要夺回XO的主动权,就必须想方设法哄蓝蓝开心。
于是,新开发的第一个游戏就想好了,泡泡龙。这款游戏是极少数能让女孩子扬眉吐气的益智游戏之一。
方块类游戏基本上都是大老爷们的天下,不要说高手都是清一色的男性,普通人玩起来都是男孩子占先。毕竟这种游戏对于计算的要求比较高,对于直觉的需要很少。范含当年带着方块游戏到处踢馆的时候,靠的就是这种反应能力和计算速度,往往在下一个构件没出现之前就已经构思好了处理方式,两只手只要机械的输入指令就行了。
但是泡泡龙不同,圆的气泡,还能弹在墙壁上反射,运动路线并不是横平竖直的。有时候必须依赖的就是对空间的直觉。玩这个游戏基本上是个女孩子就比男的强。范含原来不信邪,曾经狂妄的向美眉们挑战,结果连连惨败,请了无数顿饭。
有一关,顶上一个吊灯型的气泡云彩,只要第一发能击中吊灯根部就可以将气泡全灭。范含屡试屡败,就让给旁边的一个美眉玩。结果该美眉顺手将准星摇到右边,一步到位,再发射,一炮打响。气泡撞到右边墙壁上,反弹到左边墙壁,再击中天花板,最后弹到目的地。正个过程一气呵成,令范含大惊失色。
泡泡龙本来是日本“Taito”公司的产品,最早是个动作类型的游戏,一只雄性泡泡龙吐着泡泡消灭敌人,一路上过关斩将,直捣黄龙,最终拯救了一只雌性的泡泡龙。在1994年,Taito在他们的“B-System”主机上推出了第一款我们称为“泡泡龙”的益智游戏,名叫“PuzzleBobble”,可以看作是动作类游戏的外传。结果该游戏迅速窜红,原来的反而没什么人玩了。Taito公司再接再厉,于1995、1996和1998年在改进型的“F3-System”主机上推出了第二代、第三代和第四代。
这个游戏没什么变种,所有版本都是大同小异,仅仅是关卡数量和质量的差别,还有美工的水平而已。所以范含并没有考虑什么后顾之忧,全力以赴开发好引擎,具体的关卡设计找别人负责就是了。
等到DEC把游戏机相关硬件开发完毕,造出原型机运到洛杉矶之后,游戏已经基本完工。范含是用C语言写的,这个游戏的代码也成为了公司内部的C语言教学范本。然后就是用委托DEC针对该处理器开发的C翻译器翻成汇编语言,再请程序员们优化就算搞定了。
蓝蓝对这个游戏爱不释手那是肯定的了,没想到UCLA的几个教授也专门过来表示对这个游戏感兴趣。原来他们有几个心理学的课题,专门研究两性心理差异。相关人员对于方块类和泡泡龙游戏如此明显的性别针对性感到好奇,就特地来一趟,看看是否有合作的可能。
肯定是可能的了,范含来者不拒。
UCLA有个要求,希望能够实现方块类游戏和泡泡龙的双人对战,通过调整一些奖励参数使得参与测试男女两名志愿者基本上可以打成平手。通过大量的志愿者获得的这些参数有可能会对于今后的研究有重要意义。
范含拒绝了直接修改机型的建议,因为这在商业上几乎没有任何意义。但是,范含承诺可以公开一些技术细节,使得通过附加设备实现机器之间的连线。顺便暗示UCLA的人可以借此机会把局域网技术开发出来。当然,范含提供了一些Ethernet的资料权当自己的“设想”,并且鼓励他们不要考虑任何“成本”方面的问题,只要技术上出色就行。
有了UCLA帮忙宣传,加上自己的努力,新款游戏机估计肯定可以吸引大量女性玩家。根据“Squares”机型用户的反馈信息,在所有的玩家中,女性的比例仅仅占到5%左右。范含要求广告部门专门强调,为了那半边天,FEEE特意开发这个新款游戏。
至于游戏机的命名,范含一点犹豫都没有,就叫做“Kervin”。这是范含为了纪念中国模拟器先驱,英年早逝的李可文。虽然现在的时代他还没有出世,但是……就当表达了自己的一份心意吧。
-------
FEEE的事情告一段落了,剩下的就看销售人员怎么运作了。范含的工作重点转移到了数学家们这边。
以目前的发展水平,想在通用计算机上面运行数学软件,几乎就是痴人说梦。如果仅仅是为了通用计算机开发一堆软件包、函数库什么的,又没有足够的理由说服用户购买自己的硬件。最后的可能一定是被用户强迫着把软件移植到IBMSystem360上面,这绝对不是范含期望看到的场面。
看来只剩下一条路了,就是结合硬件造出专用的计算机,除了数学环境之外没有别的功能的计算机。当年的AppleII型机,就是启动后直接进入ROMBasic,一个解释型Basic环境。所有事情,包括读写外部设备都是在这个环境下进行。也没听到用户有什么抱怨。
所以,范含拿定了主意,准备以68k架构开发一个数学工作站,一旦启动就会直接进入“ROMMatlab”……呵呵呵……嘿嘿嘿……
-------
(第拾肆章完)
-------
注:
0,感谢各位读者的参与!答案见本章最后一段,凡是和答案沾点边的书评都加了精华。
1,李可文,男,网名Kervin,北京人,1979年9月18日生,2004年6月30日毕业于北京大学,同年7月1日因病去世。著名的DreamNes,DreamGB,DreamGBA的开发者,中国游戏界模拟界的知名人士,Mop网站的资深管理员。
知道此事的读者别嫌我多嘴,不知道的读者请去Google或Baidu搜索“李可文”。
本文中作者将主角第一台真正的游戏机命名为“Kervin”,就是为了纪念这位优秀的程序员。作者比可文年纪大不了多少,要写“谨以此文纪念……”之类的话还嫌分量不够。总之,但愿看过本章的读者能够记住这个名字,作者的目的就算达到了。
2,任天堂红白机的处理器是6502,不是z80,这是作者的错误。感谢书友“jaobec”和“4fb”。文中打算改为主角对于6502看不上眼,改用z80。另外,主角想起任天堂重新夺回失地的GameBoy用的就是z80,这样一来也可以和后面纪念可文的情节连起来。
3,关于SAS,作者好像记得当年听谁说过可以零售,售价***万美元。要么就是作者记错了。书友“jack_jack”提出现在只租不卖应该也是对的。不过这个也好改,把“***”改为“多少”,把“买不起”改为“用不起”……不就可以蒙混过关了么?