这一次SAM七人组会议给SAM协会定下了下一步发展的重要计划,后来大家公认,这一次会议在SAM协会的发展史上具有非常重要的历史意义。
他们分为了软件组和硬件粗,分别行动。
可口可乐和苹果公司的10GO都比较简单,经过图片压缩工具经过处理之后,体积已经非常小,所以倒是不会占据多少存储空间。
但是要想将这些图片信息插入到其中去,却是不能像以前那样直接通过缓存区溢出进行修改了,必须将原始的90M给DMP出来,然后再放在“虚拟机”或者说”模拟器”中进行修改。
因为左手就在麻省理工学院,学校的实验室有着各种各样现成的设备,他很快就把TI82的原版90M给06M出来。但是用来进行模拟计算器的软件却是没有。
没办法,林鸿、左手以及火炬三人便开始着手编写一个这样的计算器模拟器。
模拟器的思想,是用软件去模拟硬件,所有硬件设备的特性都要模拟出来。
也就是说,程序运行在模拟器上,和运行在真实的硬件上基本是没有什么区别的。
说白了,就是在欺骗程序,让它以为自己是运行在真实的硬件上。很多游戏模拟器就是这样的道理,那些游戏本身只能运行在指定的设备,如街机、电视游戏机等设备但是在计算机中,却可以让这些游戏ROM运行在模拟器中,实现使用计算机也可以玩游戏。
编写模拟器是一个非常富有挑战性的工作,必须具备汇编语言以及硬件基础知识。
这两点对于林鸿、左手以及火炬来说,都不成问题。
所以他们简单地分工了一下,便开始着手开始了模拟器的编写。
好在包括德州仪器公司在内的大部分图形计算器生产厂家使用的CPU都是Z轱g的ZBO,而这个芯片的应用却非常广泛,针对它的模拟器代码倒是有现成的有人将其作为开源代码放在了网络上,这样就给他们三人节省了不少时间。
在三人齐心合力之下,三天之内就将一个可以运行TI82系统的模拟器给编写出来了。
由于时间的关系,很多代码都没有进行整理,这个模拟器暂时只能运行TI82的系统,以后有时间进行扩展完善之后,其他计算器中的ROM也是可以运行的。
有了模拟器的帮助,林鸿对计算器90M的破解就更加彻底了。
计算器启动的时候本身会显示德州仪器的10GO,林鸿通过工具查看了一下,发现那个存储空间有足够大,足以将可口可乐和苹果公司的10GO放进去。
原本还想保留德州仪器的10GO,但是后来马修说那样广告效果可能不好,干脆建议将德州仪器的10GO给去掉了。
这样一来破解之后首先显示的会是苹果的10GO,然后再是可口可乐的10GO,在显示屏的右下角,会明确标明这是赞助商广告。
升级程序的前边部分工作林鸿很快就做好了,就等亚瑟和原子的解压缩程序出来,将其集成之后,再上传到官方FTP上去就行了。
接下来,林鸿便开始研究如何对计算器的进行升级改造。
首先是存储器,其中主要分为闪存和RAM
闪存相当于是计算机的硬盘可以存储数据而RAM则是内存,对程序运行的运算速度有着很大的关联。
TI82计算器标准配置为51ZKB闪存、B内存,同时上面运行的系统也只能识别这么大。
不过,现在市面上可以找到的能够与之配套的闪存和内存分别为MB和128B,经过一番测试和改进,林鸿成功地将最新的闪存和内存移植到了自己的计算器上。
现在运行起诸如《俄罗斯方块》或音《超级玛丽奥》这样的程序来,非常流畅,有一种鸟枪换炮的感觉。
另外,他们从市场上找来了一种工业级的红外无线发射器,发射范围可以达到平方米,并且可以成功与TI82计算器配套。
一番改进下来,林鸿手中的这个计算器的功能已经相当强大了。
要不是由于计算器本身系统的限制,完全就是一台掌上计算机,并且还带无线传输功能,比市场上的笔记本都还要强大。
硬件组进展非常顺利,但是软件组却遇到了困难。
由于亚瑟和原子两人之前都没有接触过压缩与解压缩方面的知识,而这一块又涉及到了比较复杂的算法问题,他们两个在算法的原理理解和实现上面,都感觉比较吃力。
更关键的是,林鸿之前已经给他们下好了指标,规定了他们这个解码程序的代码不能超过多少行,否则集成到升级程序中就没有意义。
这样一来,几天时间过去,他们才刚刚实现了解压缩程序的PC端代码。体积非常大,超过了林鸿所给出指标的好几倍,经过多次精简之后,还是无法达到要求。
硬件这一块进展顺利,接下来他们开始动手做一个可以连接计算机的无线发射和接收装置,马修在征求了火炬和左手两人的意见之后,就让林鸿转到软件组,帮忙开发解压缩程序,让亚瑟和原子的压力大为减轻。
不知不觉中,林鸿成为了大家心中公认的软硬件高手,在他手中的事情,从来就没有不能完成的。
令亚瑟和原子感到艳羡和震惊的是,林鸿对算法似乎有一种天生的感觉…理解起来完全没有任何阻碍,在进行代码实现的时候,还可以举一反三,对其中的原理信手拈来,将他们之前编写的代码进行了大幅修改,很快,符合要求的解压缩代码便顺理出炉了,林鸿将其与其他代码集成之后…第二个版本的破解程序终于成功出台。
林鸿这一次研究压缩和解压獬算法,收获非常巨大,他之前也没接触过这方面的内容,对其中的原理也只是在心中有个模糊的概念,当他这一次真正深入研究之后,才发现这其中所蕴含的魅力非常巨大。
数据压缩的确是一件非常奇妙-的事情,每当他想到,一串任意的数据能够根据一定的规则转换成只有原来五分之一甚至二分之一长度的数据…并且能够按照相应的规则还原到原来的样子,就有种不可思议的感觉。
计算机的本质就非常优美、非常简单,而数据压缩的设计却比其更简单,更优美。
这里所指的简单,并不是指难度方面,而是指在表现方面。
林鸿在研究数据压缩的时候…心中也逐渐形成了一种模糊的概念——事物越简单就越优美。
由于对数据压缩进行了比较系统的学习和研究,林鸿对他的破解程序进行了再一次优化,优化后的程序,大小只有之前的一半左右,可以说已经达到了极致。
当M协会其他成员从内部FTP下载到最新的破解程序的时候,简直怀疑自己是否下错了文件。
破解程序虽然已经出来,但是SAM协会并没有立刻将其发布出去,而是再次经过了多次讨论,从功能上进行优化。
因为考虑到赞助商可能会经常变更…于是后来林鸿将广告部分的代码进行了改进…改为了可以使用特殊指令对其进行同步修改,这样,一旦赞助商变更,他们也可以随时将其中的广告给调换和撤销。当然…前提是用户得将自己的计算器和中转服务器进行同步连接。
这样一来,简单的赞助商广告升级成为了一个广告系统,马修将其命名为“SSA′意思就是“SAM赞助商广告系统”。
而且,马修还强烈建议在里面加入了一一段统计代码。
这段代码的功能很简单,就是搜集已破解计算器的唯一商品标识码,这个编码是唯一的,每台计算器都不同。一旦用户使用已破解的计算器进行连接,则自动会向中转服务器发送自己的唯一商品标识码,而中转服务器再向总服务器进行连接的时候,就会将搜集到的标志码上传到总服务器中。
通过这个方式,就可以知道到底有多少台计算器下载了破解程序进行破解了。
之所以要进行统计,完全是为了方便马修在向商家游说的时候,有一个比较准确的数字,从而让他们能够重视“SSA,广告系统。
马修对这个广告系统报以厚望,认为这是对传统赞助广告的一个颠覆,坚信这将会是SAM协会以后重要的输入来源。支持他的理论就在于,全美有多少人购买计算器,就有多少人是这些广告的潜在客户,这可比现在刚刚兴起的互联网广告要靠谱多了。要知道,现在已经有很多人天天在吹嘘互联网广告将会如何如何颠覆传统媒体广告。
SAM的其他成员对此则没什么感觉,他们关心的只是技术,至于商业方面的事情,就让马修操心去吧。
左手和火炬两人对计算器对计算机的红外同步外设的制作进展也非常顺利,很快就做出了原型,然后开始对其进行改进优化,以及对配套软件的编写。
这一次SAM协会的动作非常大,大家都对此充满信心。并且一致决定,要赶在四月一号愚人节到来之前就将所有东西都准备好