英伦小霸王——Sinclair ZX81

上世纪70年代末80年代初,新兴的个人电脑市场百家争鸣。在芸芸众生之中,收购了MOS,坐拥6502 CPU的康懋达(Commodore)、成功研发Apple II的苹果(Apple)、依靠庞大销售网络成功推出TRS-80的TANDY Radioshack、以及另辟蹊径靠着电子游戏进入寻常百姓家的雅达利(Atari)成为了业界几座高不可攀的山峰。如何翻越这些山峰,走出他们的影子成为了其他厂商不断尝试挑战的目标。

在所有竞争者中,有这么一家欧洲厂商,凭借自己对市场独特的见解,用一款不那么靠谱甚至可以说是反人类设计的产品成功的占据了大部分入门市场的份额。并且经过多年的发展,成为了八位电脑世界一支不可小觑的力量。这就是辛克莱(Sinclair),一个在八位时代,甚至整个计算机时代不得不提的品牌。

今年正好是Sinclair第一款爆品ZX81面世40周年。令人惋惜的是,Sinclair的创始人,计算机行业的先驱克莱夫·马勒斯·辛克莱爵士(Sir Clive Marles Sinclair, 1940 年 7 月 30 日 – 2021 年 9 月 16 日)在今年与世长辞。在我看来,那个年代的辛克莱在业界的地位绝对可以和后来的乔布斯、现在的马斯克相提并论。他的产品非常具有前瞻性(例如70年代的电子腕表、80年代初研制的个人电动汽车C5),传奇的一生起起伏伏。虽然辛克莱未能凭借其开创性的计算机及其他产品创造一个持久的英国成功故事,但是他的经历和成功的电脑产品激励了后来的大批工程师、企业家,甚至像埃隆·马斯克(Elon Musk)和微软(Microsoft)首席执行官萨蒂亚·纳德拉(Satya Nadella)这样的IT领袖。

克莱夫·马勒斯·辛克莱爵士
原人像照片版权:公开使用,来源于Arpingstone

Sinclair ZX81 是由辛克莱研究(Sinclair Research)设计,通过天美时(Timex)在苏格兰邓迪的工厂生产的家用电脑。它于1981年3月在英国推出,作为 Sinclair ZX80的继任者,旨在为大众提供低成本的家庭计算产品。它非常成功,销量超过150万台。在美国,辛克莱最初授权给天美时以ZX81名义出售。天美时后来生产了自己的ZX81版本:Timex Sinclair 1000(TS1000)和Timex Sinclair 1500(TS1500)。同时,由于ZX81的成功,世界各地都有未经授权的ZX81克隆机型被生产销售。

为了降低成本,赢得与Apple II、Commodore PET这样的对手的竞争,ZX81被设计得简单、紧凑,最重要的是,组件尽可能少。它仅使用了四颗集成芯片,也只有可怜的1 KB的内存。除了某些型号有电视频道选择开关外,没有电源开关或任何移动部件。键盘也被设计成了廉价到不能再廉价的压敏薄膜键盘(非常反人类)。不过,为了尽一切可能降低成本带来的局限性反而促使了增加其功能的第三方外设市场的繁荣。此外,其独特的外壳设计使设计师里克·迪金森 (Rick Dickinson)获得了Design Council奖。

规格

型号ZX81
制造商 /
类型家用电脑
原产地英国
上市年份1981年3月5日(英国)、1981年11月(美国)
内置语言Sinclair BASIC
键盘QWERTY薄膜触摸键盘,40键
CPUZilog Z80A
主频3.25Mhz
协处理器
RAM1KB(实际可用901字节),官方有16KB扩展模块,最大可扩展至64KB
显存
ROM8KB
文本模式32列24行,其中最下方两行被保留用于显示系统信息和输入命令
图形模式64×48
最多颜色数单色显示
声音无声音
尺寸/重量167 x 175 x 40 mm / 350克
I/O端口Z80总线扩展槽,磁带接口(250-400bps),RF射频输出
电源9V DC 600 mA 3.5mm 插头,1 – GND,2 – 9V DC
价格英国上市价格:成品69.95英镑,套件49.95英镑(1981年6月)
美国上市价格:成品149.95美元,套件99.95美元(1981年11月)
日本上市价格:38700日元(1981年12月)

辛克莱和辛克莱研究(Sinclair Research)

谈到ZX81诞生的背景就不能不提辛克莱研究(Sinclair Research)。克莱夫·辛克莱传奇的一生创办了许多公司,但最成功的,莫过于辛克莱研究(Sinclair Research)了。第一款问鼎欧洲的电脑ZX81、以及获得全球市场成功的ZX Spectrum系列电脑都是在辛克莱研究推出的。

克莱夫·辛克莱在上学时候就展现出了数学方面的天赋,跟苹果的沃兹尼亚克(Stephen Wozniak)一样,在中学时期,辛克莱就去了多家电子公司做假期兼职。在Mullard公司假期实习期间,他还参与了一项电路设计。1958年,辛克莱离开学校后,设计了一个无线电套件Model Mark I,并通过邮寄的方式开始售卖。从1959年到1962年,辛克莱还为伯纳德出版社(Bernard Babani)写了13本电子电路方面的书,最后一本是1962年5月发行的《Modern Transistor Circuits for Beginners》。

辛克莱在1961年注册了Sinclair Radionics Ltd.。其实,一开始他想选择Sinclair Electronics作为公司名称,但是这个名字已经被人注册了。后来他想用Sinclair Radio,但听起来怪怪的,像是一个产品名字,于是就用了 Sinclair Radionics这个组合词。 Sinclair Radionics成立于1961年7月25日。辛克莱曾两次尝试筹集启动资金来宣传他的发明并购买生产物料,但是都不是很顺利。找不到资金的辛克莱选择了加入了联合贸易出版社 (UTP),担任《Instrument Practice》的技术编辑。通过在UTP的工作,Sinclair 可以访问来自36家制造商的数千种设备。在工作期间他接触到了Semiconductor Ltd.这家供应商,并发现他们有一批元件因为达不到标准而被拒收,但这批元件正好可以用在他设计的由助听器电池供电的微型收音机上,而且也能正常使用。因此他以非常低的价格找到了合适的物料来源,SInclair Radionics赚到了丰厚的利润。1969年4月之后,辛克莱便全心投入,不再担任UTP的助理编辑。

从 1960 年代末开始,Sinclair Radionics开始生产便携电子计算器、微型电视和Black Watch手表。后一款产品于 1975 年推出。这款产品在当时过于超前,当时的技术无法完全满足用户的需求,不但难以维修,同时还发现较低的气温会导致手表本身不准确,电池寿命太短。产品的失败导致了Sinclair Radionics在1975-1976年遭受了第一次财务危机。辛克莱努力寻求潜在投资者来想办法弥补损失,最终他不得不与国家企业委员会(National Enterprise Board,NEB)合作。NEB于1976年购买了该公司43%的股份,但发现这次注入资金为时已晚,因为此时其他公司尤其是日本企业开始在市场上以较低的成本生产类似的产品。

1977年,NEB通过收购 73% 的股份有效控制了该公司。NEB想要精简Sinclair Radionics的产品线,聘请了诺曼 · 休伊特( Norman Hewitt)担任常务董事来协助辛克莱。虽然辛克莱努力和休伊特及NEB合作,但NEB对辛克莱的愿景几乎没有信心。辛克莱与NEB的关系因关于公司应该朝哪个方向发展的矛盾而充满了裂痕。在当时,Sinclair Radionics 已经开始了一个开发家用计算机的项目,但NEB想要专注于仪器方面的业务,实际上这是当时Radionics唯一盈利的领域。辛克莱强烈反对NEB的“消费电子产品没有未来”的观点。加上一些其他纠纷,最终辛克莱于1979年7月从Radionics辞职。

1979 年,NEB 选择拆分Sinclair Radionics,将仪器部门保留为Sinclair Electronics,并将电视部门出售给Binatone,将计算器部门出售给ESL Bristol。辛克莱本人此时离开了公司。NEB将其对Sinclair Radionics的约700 万英镑投资作为亏损注销。随着公司的解散,辛克莱得到了大约10,000英镑的遣散费。

与NEB斗争失败离开Sinclair Radionics后,克莱夫·辛克莱转向了一艘“企业救生艇”,其形式是他独家控制的一个壳公司—— Ablesdeal Ltd. 。这是他在1973年成立的一家公司,后来在1975年更名为Westminster Mail Order Ltd.,然后又更名为Sinclair Instrument Ltd.。它一直处于休眠状态,直到1976年才被激活。1977年7月,Sinclair Instrument Ltd. 又更名为Science of Cambridge Ltd. 。它变成了一种工具,通过它辛克莱可以不受NEB的干扰,从事自己想做的的项目。1979年11月,Science of Cambridge Ltd. 更名为Sinclair Computers Ltd.,1981年,这家公司最终被更名为Sinclair Research。从此,创造了英伦八位电脑传奇的辛克莱研究(Sinclair Research)开始登上历史舞台。

1980 年,辛克莱研制的ZX80进入家用电脑市场,定价99.95英镑,这是当时英国最便宜的个人电脑;1981年,ZX81正式发布,定价69.95英镑,套件为49.95英镑,这是第一台进入50英镑门槛的个人电脑,顿时席卷了欧洲市场,也杀向了北美和日本;1982 年,现象级的ZX Spectrum发布,后来成为英国最畅销的计算机,与Commodore和Amstrad展开了激烈竞争。

在辛克莱研究成功的高峰期,很大程度上受到了日本第五代计算机计划的启发。该公司还在米尔顿霍尔(剑桥附近)建立了“MetaLab”研究中心(Meta本身就有超越、之上的含义,真的是超前。扎克伯格的Meta公司也仅仅在今年刚刚成立。),以追求人工智能、晶圆级集成、形式验证和其他先进项目。

随着辛克莱研究(Sinclair Research)不断取得成功,辛克莱于1983年3月成立了一家新公司Sinclair Vehicles Ltd. 来开发电动汽车(真的是早了一个时代)。辛克莱使用Sinclair Research资本的10%及出售自己的部分股份为新企业提供资金。在1970 年代,辛克莱在Sinclair Radionics时期就对电动汽车感兴趣,并且自1979年以来一直与前Radionics员工 Tony Wood Rogers合作,开始为市场开发新车原型。该公司唯一的产品是1985年1月推出的Sinclair C5。Sinclair C5被认为是一个重大的失败,因为它是在没有任何市场调研的情况下开发的。它因为高昂的价格、玩具般的外观、缺乏安全功能和驾驶者被暴露在自然环境中,以及爬陡坡时用户需要踩脚踏助力而受到广泛批评和嘲笑(但如果放到现在,也许结果会不同)。虽然辛克莱预计第一年将售出100,000台C5,但在同年8月C5生产线终止生产之前,仅生产了14,000台,售出了4,500台。

辛克莱的另一个较大的失误是Sinclair TV80,这是一款采用扁平阴极射线管(CRT)的平板便携式迷你电视,该电视经过数年的开发,到1983年TV80准备上市时,Sony Watchman已在日本发布。此外,液晶显示技术也已经开始逐渐成熟,这项技术在未来比CRT技术更有竞争力。 TV80是一个失败的商业计划,仅仅只生产了 15,000 台。

尽管有这些商业上的失败,但C5和TV80自那以后都被认为是超前的产品,C5是现代电动汽车的先驱,而TV80可与在智能手机上观看视频相媲美。

在 1984 年辛克莱推出了Sinclair QL(Quantum Leap 的缩写)品牌,旨在与IBM和Apple的计算机业务线竞争,但是市场形势发生了变化,Sinclair Research和另一个本土竞争对手Acorn Computers(由Sinclair Radionics的前员工克里斯托弗·库里(Christopher Curry)和Hermann Hauser、Andy Hopper共同创立,初期在与Sinclair的竞争中赢得了BBC的合约,占领了大部分英国教学电脑市场)的价格战使得消费者更多的认为Sinclair电脑只是一个玩具而不是商用的生产力工具。到了1985年,Sinclair QL 计算机在和苹果的Macintosh的竞争中败下阵来,同时,雪上加霜的是,超前的TV80平板电视也面临失败的结局。辛克莱又一次面临着财务困难。一年后辛克莱将其计算机产品线和Sinclair品牌名称以500万英镑的价格出售给了竞争对手Amstrad,不过辛克莱研究公司本身依旧保留了下来。

将Sinclair电脑业务出售后,辛克莱研究(Sinclair Research)被缩减为一家研发型企业,同时也是一家控股公司,持有几家新的分拆出的公司的股份,这些分拆的公司则会商业化母公司开发出的技术。其中包括Anamartic Ltd.(晶圆级集成)、Shaye Communications Ltd.(CT2移动电话)和Cambridge Computer Ltd.(Z88便携式计算机和卫星电视接收器)。

1986年之后,辛克莱研究(Sinclair Research)继续存在,但形式完全不同。 到1990年,公司的全体员工已经减少到只有辛克莱本人、一名销售员/管理员和一名研发人员。1993年、1994年和1995年,辛克莱研究因营业额下降而持续亏损。投资者开始担心辛克莱本人开始使用他自己的个人财富来投资他的发明。到了1997年,只有辛克莱本人在母公司辛克莱研究工作。

回到1992年,对电动交通工具不死心的辛克莱发布了Zike 电动自行车,这是辛克莱第二次尝试改变人们的交通工具。它的最高时速为10英里/小时(16公里/小时),并且只能通过邮购获得。但是Zike与C5非常相似,在商业上也失败了,仅售出 2,000辆。1999年,Sinclair 发布了世界上最小的收音机Sinclair Z1 Micro AM Radio。

2003年,辛克莱研究(Sinclair Research)与香港的Daka Designs合作,在克罗伊登附近为Daka建立了一个实验室,共同设计、推出了ZA20轮椅驱动装置。该合作关系还促成了SeaDoo Sea Scooter水下推进装置的诞生,共同开发了海上滑板车。

2006年7月,辛克莱在2004年就公布的折叠自行车A-bike正式发布,售价为200英镑。2010年11月,辛克莱研究发布了X-1两轮电动车,但最终未能达到量产。

ZX81的诞生

背景扯得有点远,把注意力拉回到ZX81这个产品上来。

在1970年代中期,美国公司开始生产简单的家用电脑套件,例如MITS AltairIMSAI 8080。同时,家用电脑市场也越来越被重视,在1977年,苹果(Apple)、康懋达(Commodore)和TANDY Radioshack都分别推出了重量级的Apple II、Commodore PET和TRS-80系列产品来应对日益增长的市场需求。这三款电脑如风卷残云般占领了大部分的北美市场,字节(BYTE)杂志把这三款电脑称为“1977三雄(1977 Trinity)”,但在英国,家用电脑市场还是一块处女地。这引起了英国电子爱好者的兴趣,但相对较高的价格和较低的可支配收入降低了美国产品对英国普通消费者的吸引力(1977年 Commodore PET售价795美元,Apple II售价1298美元,TRS-80售价600美元)。辛克莱意识到这里面隐藏着巨大的商机。

辛克莱的第一台家用计算机是MK14,它于1978年6月以套件形式推出,那时辛克莱还没有离开Sinclair Radionics,正在和NEB斗争。MK14主要面向有一定基础的业余爱好者,从它的名字——MK代表“微型计算机套件(Microprocessor Kit)”——也能看出,要成为大众市场产品还有很长的路要走。虽然还不是一个完成品,但MK14最终卖出了10,000多台,相比之下,整个1978年,价格高得多的Apple II在美国这个更大的市场仅售出9,000台。这一成功使辛克莱相信,低成本计算机有一个尚未开发的非常有潜力的市场。

Sinclair MK14,图片来源:drogon / retrocomputingforum.com

辛克莱通过ZX80这款电脑来跟进MK14的成功,这是当时是世界上最小、最便宜的计算机,于1980年1月推出,售价为 99.95英镑,这是世界上首台价格低于100英镑的家用电脑。事实上,剑桥科学公司(当时还未改名Sinclair Research)在产品发售之前都没有进行任何市场调查,根据辛克莱的说法,他“只是有一种预感”,市场有足够的兴趣使这样一个项目可行,销量至少能达到100,000台(实际上,MK14项目就是一次很好的市场调研,而C5项目却是真的没有任何市场调研,最终导致了失败)。

关于产品的定价,辛克莱吸取了在Sinclair Radionics计算器项目上的教训,为了避免日本厂商等后来者的竞争(或是说学习日本厂商的低价策略),在应用了波士顿咨询集团开发的“经验曲线”工具后,根据经验曲线定价法,以制造成本的两倍左右进行销售。这个策略也一直沿用到Sinclair ZX81及后续的产品。

以厂商在产业内经营经验的多寡,做为定价的主要依据,因为企业生产和行销经验累积的结果,商品的单位成本会随着销售量的增加而递减。因此,如果将价格定的比较低的话,而且有相当多的消费者对价格敏感,则会刺激需求,进而降低商品的平均成本。

——经验曲线定价法

ZX80立即取得了成功,在接下来的九个月内销售了20,000台。到1980年底,剑桥科学公司以每月9,000台的速度生产 ZX80,在推出后的18个月内,该公司已售出100,000台,达到了辛克莱预期的目标。ZX80的商业成功使得尽快推出后续产品被提上了议事日程。

Sinclair ZX80,图片版权:CC BY-SA 2.0,来源:Daniel Ryde, Skövde,wikipedia.com

事实上,ZX81的开发甚至在ZX80推出之前就已经开始。为了能以更低的价格来屏蔽竞争对手的竞争,ZX81设计的出发点就是如何降低,且进一步降低制造成本。Sinclair Research的总工程师Jim Westwood接到的最重要任务就是尽可能改进ZX80的硬件,以减少组件数量,从而降低成本。最终,Westwood成功的使用了一个单一的Ferranti公司制造的未提交逻辑阵列 (ULA,Uncommitted Logic Array,又被称为门阵列Gate Array芯片,是一种预制的硅芯片,其中大多数晶体管没有预定功能。这些晶体管可以通过金属层连接以形成标准的NAND或NOR 逻辑门。这些逻辑门可以在相同或稍后的金属层上进一步互连成完整的电路)替换了ZX80的18个逻辑芯片,从而大大的降低了制造成本。但是这也带来了副作用。一般来说,一个ULA芯片同时工作的逻辑门数量不会超过70%,但是Sinclair的设计却使用了全部的逻辑门。这导致了芯片巨大的发热量,使这块芯片的寿命大大缩短,很容易被烧毁。现在爱好者收藏的很多无法显示或无法输入的ZX81大多是因为ULA芯片故障导致的。

除了应用ULA芯片,ZX81还在许多地方向低价作了妥协。其中吐槽最多的就是和ZX80一样的反人类设计的薄膜触摸键盘。此外,ZX81没有开关,省去了一个开关元件,插上电就能使用;有些版本还有电视频道选择开关,但欧洲的大部分版本这一开关也被省去;扩展插槽也就是PCB电路板上做出来的金手指,这样可以省去一个插槽母座的成本;ZX81还没有任何声音支持,是一台沉默的电脑;也没有独立的显示芯片,所有的显示工作都是靠Z80 CPU负责的。和ZX80一样,ZX81只有1KB的内存,这使得它如果不使用16KB的内存扩展模块的话,几乎无法运行任何商业软件。

当然ZX81也有比ZX80改进的部分。ZX81的ROM由ZX80的4KB翻倍至8KB。这使得ANSI Minimal BASIC版本(被公司称为Sinclair BASIC)的更完整实现成为可能。辛克莱继续委托编写了ZX80 ROM的一家名为Nine Tiles的公司为ZX81开发新了的ROM软件。

里克·迪金森的模块化设计稿,ZX81和扩展部件可以拼接扩展
图片版权:CC BY-SA 3.0,来源Rick Dickinson上传于Flickr

外壳的设计同样由负责了ZX80外观设计的 里克·迪金森 (Rick Dickinson) 来负责。迪金森最初将ZX81及其扩展设备按照具有共同宽度的标准来进行模块化设计,但这种方法最终被放弃了。从开始到结束,设计过程花了大约六个月的时间。最后凭借着ZX81的成功和独特的外观设计,迪金森也获得了 Design Council奖。

上市和推广

ZX81于1981年3月5日推出,有两个版本——一个在工厂组装完成的成品机器(69.95英镑)或一个更便宜的需要用户自行组装的套件版本(49.95英镑)。两者的硬件配置是完全一致的,专业用户可以自己组装来降低购买价格。这两个版本都是在天美时(Timex)在苏格兰邓迪的Dryburgh工厂制造的。在当时,天美时并不是制造分包商的最佳选择,因为该公司以前在组装电子产品方面几乎没有经验。和现在大家的认知一样,天美时(Timex)更专注于手表行业,是一家成熟的机械表制造商,但在1980年代初由于机械表市场在数字表和石英表的竞争中停滞不前,利润几乎为零,天美时面临着巨大的经营危机。认识到这一趋势,天美时的董事Fred Olsen决定公司将多元化发展到其他业务领域,愿意投入资源到电子制造领域。恰好辛克莱现有的制造商(圣艾夫斯的一家小型电子公司)缺乏满足需求的资源 ,于是两家公司一拍即合,天美时在1980年末接手了 ZX80 的生产。

ZX81上市的广告,图片来源:www.retro8bitcomputers.co.uk

辛克莱本可以以更高的价格推出 ZX81,以更传统的方式将其作为优质产品进行营销,但他选择不这样做,他吸取了70年代在便携计算器项目上失败的教训,延续了ZX80的定价策略。比ZX80更进一步,ZX81是第一台进入50英镑门槛的家用电脑。实际上,他使用较低的价格在竞争对手进入之前建立了无懈可击的领先优势。辛克莱通过低价策略在以前从未考虑过拥有计算机的人群中开辟了一个全新的市场。

克莱夫爵士的营销成就是将计算机的“概念”降级到价格低于神奇的 100 英镑大关的的程度。为此,高效的键盘和显示屏、大容量的内存、快速可靠的存储系统等都被剥离了,只剩下负担得起的“计算机”。市场形象比电脑能做什么更重要。但新兴的电脑游戏产业为青少年给他们的新小工具提供了一个存在理由。主要是大众对真正的计算机技术的无知激发了ZX系列的成功,尽管机器本身效率低下,但丰富的配件,将这些带着Z80处理器的高档玩具变成了有用的计算核心。

——《新科学家》,1986

ZX81的推出在一定程度上是由英国广播公司(BBC)计算机素养项目计划制作的电视系列节目的推动,该系列节目将于1982年播出,旨在普及计算和编程。 BBC打算委托现有的制造商为其提供一台BBC品牌的家用电脑,以配合该系列。当辛克莱在1980年12月听说这个项目时,他写信给BBC,通知他们他将在1981年初发布ZX80的新版本,称为ZX81。它将弥补ZX80的一些缺陷,并将既便宜又先进。辛克莱希望 ZX81成为BBC合同的候选者,并游说其采用。

辛克莱在1981年1月向BBC代表展示了ZX81的原型机,而 辛克莱研究(Sinclair Research)的当地竞争对手Acorn Computers提出了他们的方案——Proton计算机,一种基于Acorn Atom的设计(当时原型机都没做出来)。令辛克莱感到沮丧的是,由于评委认为ZX81的扩展性不够,这个项目最终输给了Acorn,生产BBC Micro的合同交给了Acorn,后者于1982年1月推出了该机器。随后辛克莱不得不在英国教育市场使用半价的定价策略来与Acron竞争,但仅仅赢得了大约15%的市场份额。

尽管如此,辛克莱研究于1982年3月宣布其已在全球销售了250,000台ZX81。WH Smith是当时唯一指定的经销商,每个月能够销售大约50,000台计算机,其中60%在英国之外。当ZX81的后续机型ZX Spectrum推出后销量下降时,辛克莱研究于1982年5月将预组装版本的价格降至49.95英镑,次年4月又降价了10英镑。尽管来自功能更强大的计算机的竞争日益激烈,但ZX81的每月出货量仍然超过30,000台,即使在推出两年多后的1983年7月也是如此。到那时,根据辛克莱研究公布的数据,ZX81已售出超过150万台。

原先辛克莱研究和WH Smith(WH Smith是一家受人尊敬的书籍和杂志销售商和文具连锁店)签订了独家销售的分销合同,但ZX81的火爆吸引了众多的销售商。英国连锁店Boots、John Menzies和Currys在Smith的独家经销协议到期后就与辛克莱研究签订了销售合同,开始销售ZX81。并且还有一些公司获得了ZX81的海外经销权,ZX81于1982年3月开始在18个国家销售。1981年11月辛克莱研究在美国推出了ZX81,组装价格为149.95美元,套件价格为99.95美元(这也是第一台低于100美元的家用电脑),最初通过邮购直接销往美国市场。到1982年1月,销售量达到每月15,000台。1982 年 2 月,天美时从辛克莱研究获得了通过美国数千家零售店直接销售ZX81的许可,并将向辛克莱研究支付销售所得的5%的作为特许权使用费。该公司后来生产了自己的ZX81的许可克隆和变体版本。到1982年8月,辛克莱研究将组装的ZX81的美国邮购价格降至99.95美元,套件降至79.95美元,其广告称“每周售出10,000多台”。1981年12月,三井株式会社获得了在日本分销ZX81的权利,通过邮购以38,700日元(相当于 1982 年价格的 83 英镑)的价格出售,到1982年7月已售出5,000 台。日本市场对ZX81的积极反应促使三井从1982年9月开始在大型书店柜台销售 ZX81,预测年销量约为20,000台。在荷兰,市场上Sinclair ZX81和被代理商Bang & Olufsen命名为Beocomp的本地版本同时在销售。

ZX81也在英国机场的免税店销售了一段时间。然而,这违反了政府旨在防止苏联集团国家获得西方高科技产品的出口限制。来自苏联和其他东欧国家的游客在西方国家购买小工具,然后将他们的技术转移到自己国家的情形并不少见。 1983年,政府下令停止在机场销售ZX81。不过当时中国与西方国家处于蜜月期,对中国的销售没有这样的限制,1983年11月,辛克莱研究宣布已签署协议,将ZX81套件出口到中国的一家位于广州的工厂,他们将在那里为中国市场进行组装。不过我并没有查询到ZX81在中国的销量的相关数据。

克隆/仿制机

ZX81的成功以及它低成本的设计造就了众多的克隆或仿制机型,其中甚至还有官方克隆机型。

辛克莱研究与天美时的授权许可协议使这家美国公司为美国市场先后生产了Sinclair电脑的三个克隆分支。它们是Timex Sinclair 1000、Timex Sinclair 1500(ZX81的两种变体)和Timex Sinclair 2068(ZX Spectrum的变体)。TS1000于1982年7月推出,引发了市场巨大的反应。最高峰时,天美时的电话热线每小时能接到5,000多个询问电脑相关信息的电话,每周电话量能达到50,000多个。TS1000几乎与ZX81相同,只是重新命名并增加了1 KB的内存(总计2 KB)。在TS1000推出后的五个月内,该公司售出了550,000台机器,辛克莱研究也赚取了超过120万美元的授权费。

天美时以TS1500的形式生产了ZX81的第二个版本,本质上就是1983年8月推出的美国化ZX81。这时候比ZX81更成功的ZX Spectrum已经发售。TS1500是由天美时葡萄牙公司设计的,当时ZX Spectrum的天美时版本Timex Sinclair 2068(TS2068)已经上市,而原来准备发布的ZX Spectrum的简单复制版本TS2000并未上市,于是天美时便将和ZX Spectrum相似的TS2000的外壳用于TS1500。因此TS1500有了一个类似于ZX Spectrum的外壳和巧克力橡胶键盘,同时板载内存扩大到16 KB。它实际上是ZX81和Spectrum之间的权宜之计。然而,由于来自美国市场上强有力的对手的竞争加剧(伟大的Commodore C64)以及天美时对TS1000的拙劣营销的后遗症,它没有获得成功。(天美时在推出 TS1000 后的两三个月内未能向市场提供必要的 RAM 包升级。消费者将机器带回家,插上电源,发现由于内存不足,它做不了任何有用的事情。)

美国和英国以外的一些公司生产了他们自己的ZX81和Timex Sinclair计算机的“盗版”版本。几家巴西公司生产了ZX81克隆,特别是来自巴西Microdigital Eletronica的TK系列(例如TK85)和Prológica的CP-200。阿根廷的Czerweny Electrónica生产了CZ1000和CZ1500,分别是ZX81和TS1500的克隆。

在中国,香港朗达电子(Lambda Electronics)在ZX81的基础上做了修改,生产出了Lambda 8300。而Lambda 8300又被其他中国大陆的制造商广泛复制,市场上大量存在的PC8300、PC81、CAC-3等大陆厂商型号都是基于Lambda 8300复制而来的,直到现在闲鱼平台都能看到时不时有这些型号的学习机被拿出来低价抛售。此外,南丰电脑厂的NF300教学电脑也是基于ZX81的复制品。

前面说到ZX81曾经在英国机场销售过一段时间,因此苏联和东欧也是ZX81及后续Spectrum克隆机的主要市场(以Spectrum克隆机为主)。苏联的仿制机型号众多,由于西方世界对苏联的封锁,内部的电子元件都是苏联自研的,从CPU到ULA甚至到电容、I/O接口这些元件都是典型粗犷的苏维埃风格。我在eBay上向一位白俄罗斯卖家买回了一台Spectrum的仿制机,拆开后发现连电容焊接的手法都是那么与众不同。

我花了45美元从白俄罗斯哥们那买来的仿制机,90年代初制造,典型苏联风格,粗犷皮实

众多的克隆仿制机中,并非所有都是 ZX81 的直接复制品,它们中的许多都有着自己的创意。例如CP-200,带有额外的内存和更大的外壳(通常用巧克力键盘代替原来的薄膜键盘);来自意大利TELLAB的TL801,可以模拟ZX80或ZX81,并通过跳线在两台机器之间切换;而中国的Lambda 8300和它的大陆仿制机,增加了一个游戏操纵杆接口、单声道的扬声器以及RCA接口的监视器信号输出,同时默认的ROM中修改了一些图形字符,使得不用修改就能显示一些小精灵的图形字符。

电路设计

ZX81的电路设计非常简单,因为它把总控和I/O都交给了ULA芯片。CPU和ULA通过控制总线交换控制信息,通过地址总线向ROM和RAM芯片发送地址请求,并通过数据总线返回或写入数据。ULA同时还负责控制显示和键盘输入。

下图是我在MainByte网站提供的ZX81的电路图基础上画的ZX81的总线架构,非常简单清晰。

ZX81的总线设计,原图版权: RonaldReuter / mainbyte.com

有意思的是,在地址总线和数据总线结构中都出现了一排分隔电阻。这也是ZX81取巧的地方。在一般的电脑设计中,总线上往往有很多I/O设备,要让总线里的数据流向或者流出哪一个设备一般都会由一个总线控制器来控制。而ZX81为了降低成本,去除了总线控制器的设计,转而在内存、ROM、外设和CPU之间加了一个电阻,这样当ULA需要控制时,它可以直接覆盖总线中的数据信号,这时电阻就会起到隔离的作用(两端可以产生压差),不会影响到ROM和RAM中的数据。电阻的成本非常低,这个设计非常巧妙。

硬件实现

拆开ZX81时一定要小心,连接薄膜键盘和主板的柔性电路板经过近40年的岁月一般都会老化的特别脆,很容易就断裂了。如果断了,这个键盘就没法使用了,eBay上有卖家卖新做的替换件的,不过价格和运费都上百了。

ZX81的主板常见的有两个版本,分别是初期的ISSUE 1和后来的ISSUE 3两个版本。ISSUE 1版本可以明显看出电路板是手工画的。由于使用了ULA芯片,整个主板结构显得特别简单,ISSUE 1版本的只有4个IC芯片,内存使用1KB的4118芯片,部分ISSUE 3版本的主板使用了两颗0.5KB的2114 RAM芯片,所以有5颗IC芯片。

Sinclair ZX81 ISSUE 1 版本主板,原图版权:公开使用,来源:wikipedia.com

上图是ISSUE 1版本的主板。得益于ULA芯片的使用,整个主板的布局看上去非常清爽。四个芯片中,左侧上部的就是取代了ZX80中的18颗逻辑IC芯片的ULA芯片。ZX81的定制ULA芯片实现了其他竞争对手的电脑需要多个芯片才能实现的以下功能:

  • 同步屏幕显示;
  • 生成 6.5 MHz 时钟,从中为处理器导出 3.25 MHz 时钟(是的,在ZX81主板上看不到晶振,时钟信号也由ULA负责);
  • 在 SAVE 模式下将音频信号输出到盒式录音机;
  • 在 LOAD 模式下处理传入的卡带音频信号;
  • 感应键盘击键;
  • 使用 CPU 提供的内存地址来决定 ROM 和 RAM 何时应该处于活动状态;
  • 控制一般系统时序。

主板左上角的屏蔽铁盒里是ZX81的内置射频调制器。它可以将视频图像输出到UHF 625线彩色或单色电视(PAL制式,在英国、澳大利亚和大多数西欧国家使用)。法国需要稍加修改的机器版本以匹配SECAM设备的视频调制,而美国、加拿大和日本则需要不同的ULA芯片和调制器来应对他们的525线VHF(NTSC)电视系统。ZX81及其前身ZX80在处理视觉输出的方式上都有一个明显的缺点。两台机器都没有足够的处理能力来全速运行并同时保持屏幕显示。在 ZX80 上,这意味着每次机器执行计算时屏幕都会变黑,并且在进行较短的计算(例如处理按键)时会导致令人讨厌的闪烁。

ZX81的设计者采用了一种改进的方法,设计了SLOW和FAST的两种运行模式。在SLOW模式下,也称为“计算和显示”模式,ZX81专注于显示,CPU只有大约四分之一的时间来处理计算和例如键盘反馈等其他事情(实际上将机器的运行速度减慢了四倍)。在FAST模式下,显示会变成黑屏,CPU时间都用于处理计算,最后只显示最终的运行结果。

另一个硬件设计问题产生了ZX81屏幕显示最独特的特性之一——在加载或保存期间,屏幕上会出现移动的锯齿状条纹。 ULA上的同一引脚用于处理视频信号和磁带输出,ULA无法在SAVE和LOAD操作期间保持正常显示,因为它必须连续运行以保持正确的数据传输波特率,从而产生了锯齿状干涉条纹。

前面也提到过,ZX81为了降低成本,几乎使用了ULA芯片中的所有逻辑门,导致其发热严重,容易出现故障。不过,当时ULA这种短暂的技术比定制逻辑芯片的设计更便宜、更快捷,定制逻辑芯片通常需要非常大的批量才能收回其开发成本。正是因为这个原因,ZX81才使用了ULA芯片。到了90年代ULA技术逐渐被淘汰,现在的数字芯片更多使用FPGA来达到同样的目的。许多收藏者手中因为ULA芯片故障无法修复的机器,都可以通过使用发烧友新设计的完全替换的FPGA模块完成修复的工作。

总体来说,ULA的使用帮助ZX81大大降低了制造成本,竞争对手TRS-80的主板上足足有44个芯片!

左起第二颗片下方的芯片是ROM芯片。ZX81的ROM大小比ZX80的4KB翻了一倍,有8KB。为ZX81开发ROM程序的是Nine Tiles公司的约翰·格兰特(John Grant)和史蒂夫·维克斯(Steve Vickers)。格兰特专注于驱动ZX81硬件,而维克斯则开发了新的BASIC和撰写了随附的手册。

左起第三颗芯片就是CPU,由NEC制造的Z80A芯片D780C,运行在3.25Mhz的频率下。

Sinclair ZX81 ISSUE3版本主板,右侧RAM芯片为两颗MCM21L14P。
图片版权:CC BY-SA 4.0,来源:Binarysequence

最右侧在ISSUE 1版本下是一颗MK4118AN芯片,提供了1KB的内存空间。ISSUE 3的版本则由两颗摩托罗拉的MCM21L14P来提供。说实话,1KB的内存容量实在是捉襟见肘,你可以计算下,ZX81在文本模式下能显示24行32列,在编写程序时,如果整屏都显示文字的话,一共要显示24*32=768个字符,这样1KB的内存就会被占用768字节,剩下的那点内存还有系统的开销,根本就不够。针对这个问题,ZX81的ROM做了巧妙地设计:首先,为了节省内存,代码的输入都是通过按键盘的快捷键输入关键字的形式来完成,这样,实际上在内存中,代码中所有的关键字都按索引来存储,节省了大量的内存空间(这是ZX81使用反人类设计的输入系统的真正原因);其次,ZX81的屏幕被分为上下两部分,最下方两行是输入代码和显示系统信息的,代码输入完就会在屏幕上方显示。当系统空闲内存较大时(屏幕上字符较少),上方显示的代码行数较多,如果代码中文本很多,占用了很多内存,有可能上方只会显示最后的一两行代码了。

ZX81的主要输入/输出都在主板左侧,前面提到图像输出是通过左上部分的RF射频模块来实现,但仅能够提供单色输出。显示支持24行32列的字符显示,图像模式则是通过将每个字符切成2×2的块后,实现64×44的图形模式输出(屏幕下方的两行文本用于显示系统信息和输入,无法用作图形模式)。

左侧中间的两个3.5毫米插孔可以将ZX81连接到录音机的EAR(输出)和MIC(输入)插孔,从而可以保存或加载数据。数据的格式是,每个数据位存储为多个脉冲,然后是1300µs的位间静默。每个脉冲是150µs的“高”然后是150µs的“低”。 “0”位由四个脉冲组成,而“1”位是九个脉冲。因此波特率在全0的400bps和全 1 的250bps之间变化。具有等量“0”和“1”的文件将以 307bps(38字节/秒)的速度存储。

左侧最下方3.5毫米插孔是电源插孔,中心为正极,ZX81在7–11V直流电下需要420mA的电流驱动,所附的电源提供了9V的电源输入。主板上通过那个年代流行的7805芯片完成降压,输出5V电压驱动4颗IC芯片。不过,电源插孔使用和磁带机同样的3.5毫米插孔会带来一个隐患,若是电源不小心插错,很有可能将会烧毁ULA芯片。我猜想大批量购买统一标准的接口元件,从而减少BOM中元件种类,也应该能降低相应的制造成本吧。

最后不得不说的是ZX81的键盘。不得不说的原因是这键盘为了降低成本,在易用性上可以说是根本没法使用,如果你要把ZX81作为生产力工具,那你必须使用第三方的套件把键盘先改了(美国版的TS1500使用了类似ZX Spectrum的橡胶巧克力键盘,略微增加了点易用度)。ZX81的40键薄膜键盘,几乎没有任何手感可言,就是两层柔性电路板,当中夹了一层塑料片。中间的塑料片在40个按键的地方是镂空的,从而形成了40个压力开关,当按下按键的位置,上层柔性电路板下压,接触到下层的柔性电路板,下两层柔性电路板就导通触发按键。这个键盘不仅手感差,每个键最多有五个功能,可通过 SHIFT 和 FUNCTION 键或根据上下文访问。例如,P 键结合了字母P、”字符和 BASIC 命令PRINT以及TAB。在输入程序时不能像普通的电脑那样正常的输入,必须通过这些SHIFT和FUNCTION组合键来键入关键字(前文说过这是由于要节省内存的原因),非常不方便。

外设

辛克莱研究仅发布了ZX81的两个官方外围设备,一个16 KB RAM扩展模块(实际上与之前为 ZX80 发布的相同,但重新贴了标签)和ZX打印机,两者都通过插入 ZX81 后部的边缘连接器来进行扩展。它们的零售价都是49.95英镑,而且都有明显的缺陷。内存扩展模块头重脚轻,仅由边缘连接器支撑,很多用户发现在敲击键盘时的震动会使模块松脱并使ZX81崩溃,自己辛辛苦苦输入的代码前功尽弃。很多用户不得已使用粘性口香糖、双面胶带或Blu-Tack来解决这个烦人的问题。而ZX 打印机是一种少见的微型电火花打印机,它使用两个带电的触控笔烧掉铝涂层纸的表面,露出黑色的底层。撇开打印纸是特殊的纸张不说,它的打印效果起初表现相当好,但稍过一段时间后,就会迅速恶化,令人难以接受。

右侧是我收藏的官方16K内存扩展组件,左侧是朋友的第三方的扩展组件,为了加固链接还粘了魔术贴

ZX81的成功和它自身的缺陷导致了许多第三方的外设和配件应运而生。辛克莱的公司几乎没有努力挖掘需求,将利润丰厚的扩展外设市场让给了第三方供应商,这一决定无疑丧失了大量潜在收益。据统计,在ZX81推出后仅一年内,就成立了大约200家独立公司来制造和销售与Sinclair ZX81兼容的硬件。

许多非Sinclair官方的外设都被用于弥补ZX81的缺陷并提供一些新的功能。例如提供高达64 KB额外内存的内存扩展模块、能够替换那反人类设计的薄膜键盘的打字机式键盘、更先进的打印机、声音发生器模块、甚至一个硬盘接口。甚至直到21世纪,还有爱好者在为ZX81设计制造并销售新的扩展组件。

ROM和Sinclair BASIC

Sinclair BASIC是基于ANSI Standard for Minimal BASIC (X3.60-1978)标准修改的BASIC语言版本,它最初是为 ZX80 编写的,在ZX81项目中,主要由Nine Tiles公司的史蒂夫·维克斯(Steve Vickers)负责,在ZX80的基础上进行改进和优化。

早在1975年7月,Micro-Soft(当时微-软的名称当中还有个连字符)为MITS Altair 8800爱好者发布了 BASIC 2.0 版。这是第一个商业化的BASIC版本。随后大多数八位计算机都把Microsoft BASIC作为标准配置原装在机器中,Microsoft BASIC变得如此流行,以至于盖茨和艾伦积累起了微软帝国的第一桶金。所以毫不奇怪,当美国国家标准协会制定的ANSI Standard for Minimal BASIC (X3.60-1978)标准推出时,它主要参考的是微软的版本。

然而,使用微软的商业版本需要付费,ZX80/ZX81的目标是尽可能降低成本,付许可费的事情是绝对不允许的。所以辛克莱在1979年4月约了 Nine Tiles公司的创始人约翰·格兰特(John Grant)会面,讨论ZX80的软件需求。虽然辛克莱给的研发预算很少, Nine Tiles几乎无法从这笔交易中赚到一分钱,但格兰特感觉未来公司将从中受益,这个项目令人兴奋,值得投入,于是便和辛克莱达成了合作协议。

也许正是因为这个原因,神奇的是,辛克莱研究从来没有获得过ROM的任何版权,ROM的版权一直在Nine Tiles公司手里。这导致了1986年Amstrad收购Sinclair电脑产品线时,发现还得另外再收购Nine Tiles的版权。同时,当克隆/仿制机出现时,由于ROM版权不在自己手中,辛克莱研究也没有任何办法阻止这些“盗版”厂商获取利益,这也是Sinclair系列电脑克隆/仿制机型如此之多的一大原因。

ZX80的ROM中的BASIC解释器由格兰特一人完成,他不仅缩减优化了代码,使其能够塞进仅有的4KB空间的ROM芯片中,还创造性的增加了一些功能,例如在输入代码时就能提示语法错误,而不是在运行时才提示语法错误(需要在输入完一行后按回车才会显示),这使其比任何其他版本的BASIC更容易学习和使用。

ZX81的BASIC解释器还使用了关键词输入的方法以减低存储程序代码对内存的消耗。光标为反色的“K”是,按下键盘上的键会输入该键对应的关键字;光标为反色的“L”时,则是正常输入字符的模式;反色的“S”光标则指出该处有语法错误。

开发ZX81的ROM时,ROM芯片的容量增加到了8KB。辛克莱期望能够增强ZX80版本中的数学计算部分,ZX80是不支持浮点运算的。史蒂夫·维克斯(Steve Vickers)在1980年1月加入了Nine Tiles,进入项目组,主要负责BASIC解释器的开发。维克斯为ZX81的BASIC增加了浮点运算功能,同时还包括了三角函数和一些其他函数。

到1980年秋末,ROM几乎完成,但仍需为ZX打印机添加支持。在这时,一个Bug被发现了,Bug会导致0.25的平方根被计算为1.3591409。Nine Tiles很快修复了这个错误,但辛克莱研究迟迟没有将这个版本提供给已经购买了这台机器的人。这个臭名昭著的“平方根Bug”,为辛克莱研究带来了负面的影响,后来他们不得不为早期购买的用户做了更换。

除此之外,在ZX81和天美时版本的TS1000及TS1500上,还有几个著名的BASIC语言Bug。在ZX81和TS1000上,命令:

LPRINT 0.00001

将使ZX打印机输出 0.0XYZ1。这个Bug在Timex Sinclair 1000和Sinclair ZX81上都会发生,因为两台计算机共享相同的ROM代码。只有小数点后的第一个零被正确打印,而随后的零似乎被随机字母数字字符替换。最后的非零数字再次正确打印。有趣的是,这仅在使用LPRINT( line-printer print ) 语句时发生,该语句使用打印机在纸上制作输出的硬拷贝。PRINT在电视屏幕上显示输出的类似语句却可以正常工作。Tomaž Šolc对这个Bug进行了反汇编分析,并发现PRINT语句在电视屏幕上输出正常仅仅是一个幸运的巧合,在迭代循环时,PRINT和LPRINT调用的循环打印小数部分的0的代码都未重置寄存器A。

这个众所周知的故障后来在 TS1500 上得到修正。不过TS1500却引入了新的Bug。

10 FOR I=0 TO 1 STEP 0.25
20 PRINT I
30 NEXT I

这段代码在ZX81和TS1000上都能正确运行,但是在TS1500上却会比正常的结果少循环一次。

总体来说,Sinclair ZX81的8K BASIC是一个更完整但又不够完整的BASIC。READ、DATA和RESTORE等功能仍然缺失,但数学包得到了改进,字符串处理和其他方面也得到了极大的改进。

ZX81游戏:著名的1K ZX CHESS和3D Monster Maze

ZX81的成功也激发了对应的软件行业,数以千计的ZX81程序被发布,要么是刊登在杂志上的公开的代码清单,要么是可以从盒式磁带加载的现成应用程序。那个年代,许多计算机杂志都以刊登ZX81代码清单为特色,例如《Sinclair Programs》,完全致力于发布公开的应用源代码。而许多人成为典型的“卧室程序员”,他们在自己的家里制作游戏和应用程序。有些人建立起了自己的软件公司,雇佣程序员团队,软件业一片繁荣。

在众多的ZX81的应用程序,尤其是游戏软件中,著名的1K ZX CHESS和3D Monster Maze是不得不提的两个游戏软件。

如果不适用内存扩展模组,ZX81可怜的1KB内存对程序员提出了重大挑战。前文提到,简单地显示全屏需要768个字节,系统变量占用另外125个字节,并且程序、输入缓冲区和堆栈还需要占用一定量的内存空间。尽管如此,聪明的程序员还能够在仅1 KB的内存空间中实现令人惊奇的应用。一个著名的例子就是大卫·霍恩(David Horne)在1982年为ZX81开发的1K ZX CHESS游戏。

1K ZX CHESS只占用了672字节的内存空间,但它包含了国际象棋中除了王车易位、兵生变、吃过路兵以外的规则,甚至还包括了计算机对手。它曾经是是所有计算机平台上最小的国际象棋实现(今天这个称号由LeanChess持有,只有288个字节,不到1K ZX Chess大小的一半)。 大卫·霍恩在 1982 年和 1983 年在《Your Computer》杂志的一系列文章中讨论了1K ZX Chess并发布了完整的源代码

在一项针对ZX81用户的调查中,1K ZX Chess在最佳软件方面排名第二。《Retrogaming Times Monthly》将其描述为“历史上最伟大的游戏编程壮举”。BootChess的作者Olivier Poudade称赞1K ZX CHESS的代码,指出要写出这么小的国际象棋程序“似乎是不可能的任务”,但大卫 · 霍恩却做到了。Poudade承认在他的程序里,复制了霍恩的一些方法,因为他已经无法改进它们。

3D Monster Maze是一款生存恐怖 电脑游戏,由马尔科姆 · 埃文斯(Malcolm Evans)基于JK Greye的创意开发,于1982年2 月发布在ZX81平台。它需要有16 KB内存扩展才能运行。游戏使用低分辨率字符块来制作成“图形”渲染,使用BASIC和机器码结合编写而成。其创新设计使其被誉为第一款家用电脑 3D 游戏,也是电脑和视频游戏史上的里程碑。并且它还是最早融合了生存和恐怖的典型元素的游戏之一,后来被称为生存恐怖。

3D Monster Maze将玩家置于一个迷宫中,有一个出口和一个敌对怪物霸王龙。在那里,玩家必须以第一人称视角穿越迷宫,并在不被吃掉的情况下从出口逃脱。

游戏使用随机生成的 18 x 16 单元格迷宫。最初霸王龙在等待。一旦玩家开始移动,霸王龙就会开始狩猎。此后,霸王龙可能会平静下来(如果玩家距离较远),或者随着玩家靠近而变得更加活跃。如果霸王龙直接看到它的猎物,怪物会直接冲向玩家。

霸王龙的焦虑水平(也就是它离玩家的距离)会通过状态行提示玩家。从远到近的描述分别是:

  • REX LIES IN WAIT
  • HE IS HUNTING FOR YOU
  • FOOTSTEPS APPROACHING
  • REX HAS SEEN YOU
  • RUN HE IS BESIDE YOU 或 RUN HE IS BEHIND YOU

玩家的速度比霸王龙要快,因此可以通过奔跑逃脱(除非玩家陷入死胡同)。每当霸王龙进行主动狩猎时,玩家的每一步都会获得积分。由于玩家跑得比怪物快,所以可以通过在怪物落后几步的情况下绕圈跑来积累积分。成功离开出口并进入另一个迷宫后也会获得积分。

游戏的图形界面以每秒6帧左右的速度绘制实时动画 ,图像都是由8×8像素的黑白字符组成,因此视图大致为正方形,在32×24文本屏幕上占据25×24区域。ZX81伪图形模式使得每个维度的分辨率翻倍(使视图由50×48个“较大的像素”组成)。使用带有抖动的 6 个伪图形模式字符还使游戏作者可以在黑白两色中加入第三种颜色(灰色)。屏幕的一部分是为分数计数保留的,单行状态消息偶尔会覆盖在图形界面的底部。玩家总是沿着走廊的中心线奔跑,只看当前方向,这简化了渲染任务。

该游戏的3D引擎和随机迷宫创建都使用Z80的机器码编写,封装到了BASIC程序的第0行,另外的一些BASIC语句则用于不太重要的任务,例如初始问候和游戏动画的行间延迟。第0行的机器码以REM(BASIC注释)语句开头,使解释器跳过它。

该游戏发行后在英国国内和海外销售,并在发布后不久就火爆了。当时的玩家评论将其描述为“我见过的最好的Sinclair ZX81游戏”和“太棒了,太棒了,太棒了!这直接进入了我个人的十大 ZX 程序……毫无疑问,它是最好的 ZX 程序之一”。

尽管它没有使用ZX81未公开的高分辨率图形功能,并使用伪图形字符(在标准 ZX81字符集中可用)渲染场景,但该游戏被认为是一项非凡的成就,逼尽了机器机能的极限。

3D Monster Maze获得了巨大的成功,后来,马尔科姆决定完全专注于电脑游戏。他创立的New Generation Software公司不断为Sinclair Research发布的计算机平台(包含未来的Spectrum等)制作 3D 游戏。以至于在当时,马尔科姆的名字成为了3D游戏的代名词。

我的Sinclair ZX81系列

我收藏了一台当年英国制造并通过邮购销往美国的Sinclair ZX81和官方附件16K RAM扩展组件。这台机器和内存扩展组件工作正常,成色也不错,我把玩了几天后就把它放在柜子里封存了。

主机插上16K扩展内存,这才是ZX81正常工作的样子。不过这个连接方式并不牢固,常常有松脱导致死机的情况发生。我在使用的过程中的确也遇到了一两次。个人觉得还是迪金森一开始设计的串联模组方式比较靠谱,不知道为什么后来没有被采用。

美国版的ZX81和16K模块背面加印了白色的说明,说明其符合了美国的FCC标准,并要使用原装电源。ZX81背面还有一个频道选择开关,可以用来选择使用VHF波段的频道2和频道3来输出信号。

后来,我心血来潮把收藏的一些机器拍了些照片在放闲鱼上分享给其他爱好者,其中也包括这台ZX81。结果有一位同城的哥们说收废品回收站废品收到一个样子差不多的东西,不懂是啥,自己拆开看了下,就装起来了,也不知好坏,闲鱼上搜索发现我分享的帖子,于是来问我按坏的备件机价出要不要。就这样,我又收到了一台Timex Sinclair 1000。那位哥们还是蹬着自行车亲自送货来的。

Timex Sinclair 1000外观除了Logo外其余和美国版的ZX81几乎没有任何不同,除了背面的印刷文字有些许变化(当然Sinclare的部分修改成Timex了)。

可惜的是这台TS1000收到的时候键盘连接主板的柔性电路板就是断裂的,上一任主人还尝试修复过,用铜丝粘在上面,但是这并没有什么用,很容易就会松脱。只能找机会看看如何定做一个键盘的柔性电路板来修复它吧。

我无意收到了TS1000就会收手?当然不会,无意中在闲鱼看到了一台Timex Sinclair 1500,拿下!于是,我的收藏库里,官方的三种形态齐全了。

Timex Sinclair 1500使用了原来给ZX Spectrum的美国版TS2000用的外壳,因此外形和ZX81及TS1000完全不同,尤其是键盘比之前好用太多了。打开外壳,看到的PCB设计也和原来的ZX81/TS1000完全不一样,ULA芯片变成了方形(丝印了制造商是TIMEX USA,且有外部晶振,应该是天美时重新设计过的定制芯片),内存有8颗4116芯片,板载就有16KB,由于内存多了,还多了两个74LS245逻辑芯片来管理。但事实上,电路的基本设计及ROM和ZX81/TS1000几乎是一样的,万变不离其宗。

这台TS1500的键盘柔性电路板同样也断裂了,我从eBay订购了给ZX Spectrum替换的薄膜键盘柔性电路板更换后把它修复了。

故事到这里就结束了吗?呃,并没有,一个多月前,闲鱼上一位朋友 @PC的童年 找到我,说他的ZX81貌似不显示了,问我大概什么原因。我心想不会是ULA坏了吧。哥们说,要不寄给你,你给看看吧。于是,他把他的大全套——一台ZX81、一个原装电源、一个第三方的16K扩展卡、还有几本书、几盒ZX81的原版软件磁带都一股脑寄给了我。

我打开快递一看,哇,他的ZX81是欧洲版的,看了实机后,我发现跟美国版是有细微的区别的!虽然功能一样,欧洲版的键盘按键“0”上面的Function写的是“RUBOUT”,美国版写的则是“DELETE”。

而在主机背面,欧洲版除了没有打上美国版那样的FCC声明,还省去了射频的电视频道选择开关,从说明书上得知,默认是使用UHF36频道。这也表明了两者的RF射频模块是不同的,欧洲版是支持PAL的模块,而美国版应该是NTSC制式的。

由于射频调制模块不同,电路设计也有些许变化,因此美国版的射频输出接口的位置和欧洲版也有些不同,从侧面可以看到,欧洲版的较靠近音频接口,而美国版的则更靠近主机上方。

左为欧洲版,右为美国版

后来经过我检测,这位兄弟的主机并没坏,但是插上他的第三方的16KB内存扩展模块就开机无显示。我估摸着应该是这个模块的某个4116芯片坏了。

磁带,一面一个游戏,写着载入的命令和加载大约需要的时间长度

最后来个合家欢吧!上排左起分别是:Sinclair ZX81欧洲版,ZX81美国版;下排左起分别是Timex Sinclair 1000和Timex Sinclair 1500。在此,再次感谢 @PC的童年 兄!

对了,最后别忘了ZX81的仿制机,这在国内也大量存在。我收藏了两款国内常见的仿制机——Lambda 8300和CAC-3。后者是仿制的前者,可以说是ZX81的孙子辈了。

下方是Lambda 8300,上面是CAC-3

这两款机型虽然外观模具一样,但内部电路PCB布线设计并不一样,不过它俩的ULA芯片都使用了一颗未标明生产商的C4005芯片(菲律宾制造)。那台CAC-3收来时显示不正常,屏幕上半部分无法正常显示。后来,我在闲鱼又低价收了一台Lambda 8300,拆了它的C4005芯片,给CAC-3换上后,就一切正常了。

CAC-3的PCB Layout,最左侧就是ULA芯片C4005

最后的最后,上一张我收藏的俄制仿制机PATOH-9003的芯片特写图,KP1858BM1是俄制的Z80CPU。那颗方方的一坨KA1515XM1216就是俄式ULA,最边上一排KP565PY5R则是内存芯片。所有瓷片电容的焊接方式也很特别,都是倒接的。

后记

最近工作比较忙,加上我一向有犯懒拖更的习惯,这篇文章又是写了两个周末才完成。其实,我在9月就有写这篇文章的心,但拖延症一直困扰着我,不过,现在想想,幸好当时没写,否则 @PC的童年 兄的那台欧版的ZX81的差异,按照我懒惰的习性,一定不会更新出来。今年是ZX81诞生40周年,辛克莱爵士也在今年与世长辞, 我再懒、再拖更,这篇文章也必须在今年完成。

再见2021,谨以此文献给尊敬的辛克莱爵士,献给ZX81,希望ZX81诞生50周年时,我还能记得再写一篇文章缅怀一下。

你好,2022!

参考

  • https://www.timexsinclair.com/computers/sinclair-zx81/
  • https://en.m.wikipedia.org/wiki/ZX81
  • https://en.m.wikipedia.org/wiki/Clive_Sinclair
  • https://scratchpad.fandom.com/wiki/Sinclair_BASIC_History
  • http://mainbyte.com/ts1000/sch.html
  • https://users.ox.ac.uk/~uzdm0006/scans/1kchess/
  • https://www.old-computers.com/museum/computer.asp?c=263
  • https://archive.org/details/FerrantiULA2000SeriesDatasheet/mode/1up

链接

  • Retro 8 bit Computers – http://www.retro8bitcomputers.co.uk/
  • Planet Sinclair – http://rk.nvg.ntnu.no/sinclair/contents.htm
  • ZX81 Stuff – https://www.zx81stuff.org.uk/
  • ZX81 The Archive – http://www.imarshall.karoo.net/zx81/

发表评论

您的电子邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据