按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
不过,除了这个想法,林鸿倒还想到了另外一个不错的构思。
【HELLC:我也有一个想法,虽然我们很难增加存储空间的大小,但是我们可以从另外一个角度来着手改进,那就是缩小软件和数据的体积。】
【MAX:我知道了!说得没错,我们可以对数据进行压缩,这样可以极大地节省存储空间!】
【雏鹰:没错,这个方法更具有可行性。】
其他几位成员对林鸿的这个想法都表示了赞同,他们都说果然不愧是“HELLC”,想事情果然比他们要更加细致。
在SAM原先的三人组当中,林鸿是最受大家敬服的一位,毕竟正是他亲手破解的计算器,并且开发了性能高效的红外无线传输协议。
第一点是SAM协会成立的根本原因,而第二点则是破解程序能够迅速传播起来,并且和其他社团竞争能够优势领先的重要推动因素。
而在此之前,他们的软件或者数据文件以原始的大小存储在计算器中的,没有经过任何加工,原来多大,存储到计算器中也就多大。
接着,他们开始讨论该如何实现数据的压缩。
由于早期计算机存储空间的不足,计算机中的数据压缩需求从一开始就存在,早在四五十年代,美国著名数学家,信息论的创始人,天才级人物克劳德·香农就发表过这方面的基础性论文,为数据压缩奠定了理论基础。
之前美国各大BBS上比较流行的压缩软件主要是SEA公司开发的ARC,这是一种商业压缩软件,如果使用,必须花钱购买。
后来,有一个叫做菲利普·卡茨的毛头小伙,他也是BBS的狂热爱好者,但是囊中羞涩,他见连压缩个文件都要付费,于是便动手自己开发了一个同类软件,免费开放给大家使用。
菲利普刚开始开发的软件名称叫做“PKARC”,前面两个字母是自己的名和姓缩写,后面的ARC自然是指商业软件ARC,因为当时SEA公司发行的软件里面,还包括一部分C语言的源代码,他根据其中的内容,就编写了一个同类软件,可以完全兼容ARC。
这样一来,大家都立刻成为了PKARC的忠实用户,SEA公司见到这种情况,立刻将菲利普告上了法庭,于是法院判决菲利普禁止继续开发和传播PKARC。
但是这场官司并没有磨灭菲利普的斗志,他同绝大多数黑客们一样,推崇自由和免费,于是在官司结束几周之后,他另外开发了个软件,取名为“PKZIP”。
“ZIP”在英语中有“快速”、“嗖嗖而飞过”的意思,通常形容子弹“ZIP”而过,菲利普取这个名字,意思就是说他要开发的软件,将要比ARC更加快速,功能更加强大。
很显然,他成功了。短短几周之内,他开发出来的PKZIP软件,可以将一个或多个文件压缩到一个后缀为“。ZIP”的文件中,无论从压缩比、压缩速度方面都超过了商业软件ARC。
更重要的是,他这个软件再也没有参考ARC的算法,而是使用了全新的压缩机制,并且他宣布不再兼容ARC格式。
就这样,菲利普将PKZIP作为自由软件免费发布之后,就立刻受到了全美各大BBS的站长们的欢迎,犹如星星之火,以燎原之势迅速在全美各大BBS上蔓延开来。站长们纷纷开始将原来使用的ARC格式压缩文件转换为ZIP格式。
SEA公司很快就因此而彻底从大家的眼前而消逝了,ZIP格式成为了互联网时代压缩软件的标准格式。
SAM协会想要将数据进行压缩,ZIP是最理想的选择,虽然市场上还存在着一些其他的数据格式,例如ARJ、LHA、CAB……等等,但是这些压缩格式要么就是属于专利产品,要进行付费,要么没有公布压缩技术细节,只有ZIP的作者菲利普,在两年前的时候,公布了ZIP压缩的所有技术资料。
所以,SAM协会最终选择ZIP作为自己的压缩格式。
但是还存在一个问题,那就是压缩文件传输到计算器中了,该如何读取里面的数据?
很显然不能使用PKZIP来直接读取,计算器中只有那么点地方,根本无法移植PKZIP,只能另外编写相应的解码程序。
要想编写解码程序,就必须了解ZIP格式使用的压缩算法,即“LZR算法”,这是一种无损数据压缩算法。也就是说原来是怎么样的,压缩并还原之后还得怎么样,一个字节都不能少。
这其中的原理其实很简单,因为计算机中数据都是用二进制表示的,只有“0”和“1”,有时候连续十个数字都可能是“1”,那么则直接可以标记为“这里有10个1”,而不用真的用十个“1”去填充。
通过这样的方式,就可以实现压缩。
当然,说起来简单,但做起来就相当复杂了。
SAM协会成员当中,所有人都没有接触过压缩这一块,大家都必须从头开始学习。
于是,大家开始分工合作,林鸿负责新的破解程序开发,不但要将广告系统集成到里面,还得留出解码程序的位置,等亚瑟和原子将解码程序编写出来之后,再集成进去。另外,根据能者多劳的原则,林鸿还得和火炬、左手一起,着手对计算器进行升级改造。
第一百八十七章 SSAS
这一次SAM七人组会议给SAM协会定下了下一步发展的重要计划,后来大家公认,这一次会议在SAM协会的发展史上具有非常重要的历史意义。
他们分为了软件组和硬件组,分别行动。
可口可乐和苹果公司的LOGO都比较简单,经过图片压缩工具经过处理之后,体积已经非常小,所以倒是不会占据多少存储空间。
但是要想将这些图片信息插入到其中去,却是不能像以前那样直接通过缓存区溢出进行修改了,必须将原始的ROM给DUMP出来,然后再放在“虚拟机”或者说“模拟器”中进行修改。
因为左手就在麻省理工学院,学校的实验室有着各种各样现成的设备,他很快就把TI…82的原版ROM给DUMP出来。但是用来进行模拟计算器的软件却是没有。
没办法,林鸿、左手以及火炬三人便开始着手编写一个这样的计算器模拟器。
模拟器的思想,是用软件去模拟硬件,所有硬件设备的特性都要模拟出来。
也就是说,程序运行在模拟器上,和运行在真实的硬件上基本是没有什么区别的。
说白了,就是在欺骗程序,让它以为自己是运行在真实的硬件上。很多游戏模拟器就是这样的道理,那些游戏本身只能运行在指定的设备,如街机、电视游戏机等设备,但是在计算机中,却可以让这些游戏ROM运行在模拟器中,实现使用计算机也可以玩游戏。
编写模拟器是一个非常富有挑战性的工作,必须具备汇编语言以及硬件基础知识。
这两点对于林鸿、左手以及火炬来说,都不成问题。
所以他们简单地分工了一下,便开始着手开始了模拟器的编写。
好在包括德州仪器公司在内的大部分图形计算器生产厂家使用的CPU都是Zilog的Z80,而这个芯片的应用却非常广泛,针对它的模拟器代码倒是有现成的,有人将其作为开源代码放在了网络上,这样就给他们三人节省了不少时间。
在三人齐心合力之下,三天之内就将一个可以运行TI…82系统的模拟器给编写出来了。
由于时间的关系,很多代码都没有进行整理,这个模拟器暂时只能运行TI…82的系统,以后有时间进行扩展完善之后,其他计算器中的ROM也是可以运行的。
有了模拟器的帮助,林鸿对计算器ROM的破解就更加彻底了。
计算器启动的时候,本身会显示德州仪器的LOGO,林鸿通过工具查看了一下,发现那个存储空间有足够大,足以将可口可乐和苹果公司的LOGO放进去。
原本还想保留德州仪器的LOGO,但是后来马修说那样广告效果可能不好,干脆建议将德州仪器的LOGO给去掉了。
这样一来,破解之后首先显示的会是苹果的LOGO,然后再是可口可乐的LOGO,在显示屏的右下角,会明确标明这是赞助商广告。
升级程序的前边部分工作林鸿很快就做好了,就等亚瑟和原子的解压缩程序出来,将其集成之后,再上传到官方FTP上去就行了。
接下来,林鸿便开始研究如何对计算器的进行升级改造。
首先是存储器,其中主要分为闪存和RAM。
闪存相当于是计算机的硬盘,可以存储数据,而RAM则是内存,对程序运行的运算速度有着很大的关联。
TI…82计算器标准配置为512KB闪存、32KB内存,同时上面运行的系统也只能识别这么大。
不过,现在市面上可以找到的能够与之配套的闪存和内存,分别为2MB�