這一次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和128KB,經過一番測試和改進,林鴻成功地將最新的閃存和內存移植到了自己的計算器上。
現在運行起諸如《俄羅斯方塊》或者《超級瑪麗奧》這樣的程序來,非常流暢,有一種鳥槍換炮的感覺。
另外,他們從市場上找來了一種工業級的紅外無線發射器,發射範圍可以達到100平方米,並且可以成功與TI-82計算器配套。
一番改進下來,林鴻手中的這個計算器的功能已經相當強大了。
要不是由於計算器本身系統的限制,完全就是一臺掌上計算機,並且還帶無線傳輸功能,比市場上的筆記本都還要強大。
硬件組進展非常順利,但是軟件組卻遇到了困難。
由於亞瑟和原子兩人之前都沒有接觸過壓縮與解壓縮方面的知識,而這一塊又涉及到了比較複雜的算法問題,他們兩個在算法的原理理解和實現上面,都感覺比較吃力。
更關鍵的是,林鴻之前已經給他們下好了指標,規定了他們這個解碼程序的代碼不能超過多少行,否則集成到升級程序中就沒有意義。
這樣一來,幾天時間過去,他們纔剛剛實現瞭解壓縮程序的PC端代碼。體積非常大,超過了林鴻所給出指標的好幾倍,經過多次精簡之後,還是無法達到要求。
硬件這一塊進展順利,接下來他們開始動手做一個可以連接計算機的無線發射和接收裝置,馬修在徵求了火炬和左手兩人的意見之後,就讓林鴻轉到軟件組,幫忙開發解壓縮程序,讓亞瑟和原子的壓力大爲減輕。
不知不覺中,林鴻成爲了大家心中公認的軟硬件高手,在他手中的事情,從來就沒有不能完成的。
令亞瑟和原子感到豔羨和震驚的是,林鴻對算法似乎有一種天生的感覺,理解起來完全沒有任何阻礙,在進行代碼實現的時候,還可以舉一反三,對其中的原理信手拈來,將他們之前編寫的代碼進行了大幅修改,很快,符合要求的解壓縮代碼便順理出爐了,林鴻將其與其他代碼集成之後,第二個版本的破解程序終於成功出臺。
林鴻這一次研究壓縮和解壓縮算法,收穫非常巨大,他之前也沒接觸過這方面的內容,對其中的原理也只是在心中有個模糊的概念,當他這一次真正深入研究之後,才發現這其中所蘊含的魅力非常巨大。
數據壓縮的確是一件非常奇妙的事情,每當他想到,一串任意的數據能夠根據一定的規則轉換成只有原來五分之一甚至二分之一長度的數據,並且能夠按照相應的規則還原到原來的樣子,就有種不可思議的感覺。
計算機的本質就非常優美、非常簡單,而數據壓縮的設計卻比其更簡單,更優美。
這裡所指的簡單,並不是指難度方面,而是指在表現方面。
林鴻在研究數據壓縮的時候,心中也逐漸形成了一種模糊的概念——事物越簡單就越優美。
由於對數據壓縮進行了比較系統的學習和研究,林鴻對他的破解程序進行了再一次優化,優化後的程序,大小隻有之前的一半左右,可以說已經達到了極致。
當SAM協會其他成員從內部FTP下載到最新的破解程序的時候,簡直懷疑自己是否下錯了文件。
破解程序雖然已經出來,但是SAM協會並沒有立刻將其發佈出去,而是再次經過了多次討論,從功能上進行優化。
因爲考慮到贊助商可能會經常變更,於是後來林鴻將廣告部分的代碼進行了改進,改爲了可以使用特殊指令對其進行同步修改,這樣,一旦贊助商變更,他們也可以隨時將其中的廣告給調換和撤銷。當然,前提是用戶得將自己的計算器和中轉服務器進行同步連接。
這樣一來,簡單的贊助商廣告升級成爲了一個廣告系統,馬修將其命名爲“SSAS”,意思就是“SAM贊助商廣告系統”。
而且,馬修還強烈建議在裡面加入了一一段統計代碼。
這段代碼的功能很簡單,就是蒐集已破解計算器的唯一商品標識碼,這個編碼是唯一的,每臺計算器都不同。一旦用戶使用已破解的計算器進行連接,則自動會向中轉服務器發送自己的唯一商品標識碼,而中轉服務器再向總服務器進行連接的時候,就會將蒐集到的標誌碼上傳到總服務器中。
通過這個方式,就可以知道到底有多少臺計算器下載了破解程序進行破解了。
之所以要進行統計,完全是爲了方便馬修在向商家遊說的時候,有一個比較準確的數字,從而讓他們能夠重視“SSAS”廣告系統。
馬修對這個廣告系統報以厚望,認爲這是對傳統贊助廣告的一個顛覆,堅信這將會是SAM協會以後重要的輸入來源。支持他的理論就在於,全美有多少人購買計算器,就有多少人是這些廣告的潛在客戶,這可比現在剛剛興起的互聯網廣告要靠譜多了。要知道,現在已經有很多人天天在吹噓互聯網廣告將會如何如何顛覆傳統媒體廣告。
SAM的其他成員對此則沒什麼感覺,他們關心的只是技術,至於商業方面的事情,就讓馬修艹心去吧。
左手和火炬兩人對計算器對計算機的紅外同步外設的製作進展也非常順利,很快就做出了原型,然後開始對其進行改進優化,以及對配套軟件的編寫。
這一次SAM協會的動作非常大,大家都對此充滿信心。並且一致決定,要趕在四月一號愚人節到來之前就將所有東西都準備好
()