第768章 編碼
是一台半人高的鐵疙瘩,被四個戰士抬進了實驗室。
林建親自操作。
把玻璃板放進真空腔里,氧化銦錫靶材裝在上方——高壓電弧打上去,靶材表面的原子被一個一個的"轟"出來,落在玻璃板表面——形成一層均勻的、只有幾十納米厚的薄膜。
幾十納米。
比頭髮絲細一千倍。
這樣薄的膜——既透明,又導電。
林建把濺射好的玻璃板從設備里取出來——舉到燈光下。
透亮。
跟沒有塗層一樣透亮。
他用萬用表測了一下表面電阻——導通。
"哈——"
他笑了。
這一聲笑——比他二十天前那次"成了"還響。
然後就是檢測電路。
這部分反而沒那麼難——原理就是在玻璃板四角各放一個電極,施加微弱的電流,形成均勻的電場。手指碰上去的時候,那個位置的電容會變——通過測量四個角的電流變化,就能算出手指的坐標。
林建花了三天時間設計電路,又花了兩天焊接——
然後——
他用手指碰了一下屏幕左上角。
連接在屏幕後面的示波器上,出現了一個明確的信號脈衝。
他把手指移到右下角。
信號跟著變了。
他在屏幕上劃了一道——從左到右。
示波器上的波形跟著平滑的移動。
"他媽的——"林建一拍大腿,"成了!"
兩個助手對視一眼——然後同時撲了過來。
"真的?真的能檢測到?"
"你自己試試。"
助手伸出食指,小心翼翼的碰了一下屏幕——像碰一顆炸彈似的。
【寫到這裡我希望讀者記一下我們域名 讀小說選 TW 看書網,🆂🅷🆄.🆃🆆超省心 】
示波器——跳了。
"我碰到了!它知道我碰了它!"助手的聲音帶著一種近乎荒誕的興奮,"玻璃——知道——我碰了它!"
林建看著他這副失態的樣子——笑了。
觸控螢幕——搞定了。
接下來是軟體。
也就是——作業系統。
這個詞在一九七零年,還是個極其小眾的概念。當時的"作業系統"是什麼樣的?是一堆打孔紙帶。是黑底綠字的命令行。是計算機操作員坐在機房裡敲鍵盤——輸入一串誰也看不懂的命令——然後計算機吐出一堆數字。
圖形界面?
用手指點圖標?
做夢。
但林建要做的,恰恰就是這個"夢"。
他需要一套軟體——能在屏幕上顯示圖標,能響應手指的觸摸,能切換不同的功能界面。
簡單說——他要在一九七零年,憑空造出一個一九九五年才有的東西。
林建把自己關在工作檯前——面前攤著一沓空白的草稿紙——開始寫代碼。
彙編語言。
因為這個年代沒有別的選擇。C語言還沒發明呢——那要等到一九七二年。更別提什麼Java、Python——那些東西的發明者現在可能還在穿開襠褲。
彙編語言是什麼?就是直接跟晶片說話——用晶片聽得懂的"話"。每一條指令,對應晶片的一個具體動作。
比如:"把數字五存到內存地址零零一號。"
再比如:"把內存零零一號的數跟內存零零二號的數加起來。"
就這麼一條一條的——像指揮一個智商為零的士兵幹活。
你說"往前走三步",它就往前走三步。你忘了說"停"——它就一頭撞牆上。
這種語言寫代碼——效率極低。現代程式設計師一行代碼能幹的事,彙編語言可能需要二十行。
林建要寫的這個作業系統——按現代標準來看極其簡陋——但用彙編語言實現,依然是一個浩大的工程。
他寫了兩個星期。
每天寫十八個小時。
草稿紙用了四百多張——寫滿了密密麻麻的指令和注釋。字小的跟螞蟻搬家似的——排的整整齊齊的——每一行都有編號。
兩個助手輪班幫他整理和校對。
但他們看著那些代碼——完全不知道在寫什麼。
"林將軍——"一個助手實在忍不住了,"您寫的這些東西……真的能運行嗎?"
林建頭也不抬。右手在寫字,左手在翻前面的草稿——像同時打兩份工的人。
"能不能運行——試了就知道。"
助手湊過去看了一眼紙上的內容——
"DISP_INIT: MOV R0, #0x3F LDR R1, =FRAMEBUF……"
他的眼睛花了。
"林將軍這是……什麼意思?"
"屏幕初始化程序。"林建終於抬了一下頭,用鉛筆指了指紙上的某一行,"這段代碼的功能是——把屏幕分成網格,每個網格對應一個像素點。我寫了一套字庫,可以在屏幕上顯示漢字。"
助手的嘴巴張開了——"漢字?屏幕上能顯示漢字?"
"對。"林建又低下頭繼續寫,"星條國那個破磚頭連屏幕都沒有——只有一個聽筒。我的這個不一樣——屏幕上能顯示文字、圖形、菜單——你想看什麼就看什麼。"
助手站在旁邊——大腦一片空白。
他試圖想像一下"屏幕上顯示漢字"是什麼樣子——但想像不出來。
因為在這個年代——沒有人見過這種東西。
代碼寫完之後——要編譯。
編譯就是把人寫的代碼翻譯成晶片能執行的二進位指令。
問題是——林建用的那顆晶片是中科院的實驗品,全世界獨一份,沒有任何現成的編譯器支持它。
怎麼辦?
林建自己寫了一個。
一個交叉編譯器。
他在閉關之前就把這事幹了——花了一個星期,在牆角那台"崑崙二號"小型機上寫了一個能把他的彙編代碼翻譯成那顆晶片能懂的二進位的程序。
"去——"他把那四百多張草稿紙遞給助手,"把這些代碼輸入崑崙二號。然後運行編譯器。"
助手接過那摞紙——沉甸甸的像半塊磚。
"林將軍……"他猶豫了一下,"輸入這些代碼——大概要多久?"
林建想了想——"你打字快不快?"
"……一般。"
"那大概——兩天吧。"
助手差點把紙摔了。
"兩天?!"
"別慌。"林建從口袋裡掏出一個東西——一支鉛筆——遞給另一個助手,"你幫他校對。一個人讀一個人敲。兩個人輪班——應該一天半能搞定。"
兩個助手對視了一眼。
那種眼神——叫做"命苦"。
但他們認了。跟著林建幹活——從來沒有輕鬆過這兩個字。
林建親自操作。
把玻璃板放進真空腔里,氧化銦錫靶材裝在上方——高壓電弧打上去,靶材表面的原子被一個一個的"轟"出來,落在玻璃板表面——形成一層均勻的、只有幾十納米厚的薄膜。
幾十納米。
比頭髮絲細一千倍。
這樣薄的膜——既透明,又導電。
林建把濺射好的玻璃板從設備里取出來——舉到燈光下。
透亮。
跟沒有塗層一樣透亮。
他用萬用表測了一下表面電阻——導通。
"哈——"
他笑了。
這一聲笑——比他二十天前那次"成了"還響。
然後就是檢測電路。
這部分反而沒那麼難——原理就是在玻璃板四角各放一個電極,施加微弱的電流,形成均勻的電場。手指碰上去的時候,那個位置的電容會變——通過測量四個角的電流變化,就能算出手指的坐標。
林建花了三天時間設計電路,又花了兩天焊接——
然後——
他用手指碰了一下屏幕左上角。
連接在屏幕後面的示波器上,出現了一個明確的信號脈衝。
他把手指移到右下角。
信號跟著變了。
他在屏幕上劃了一道——從左到右。
示波器上的波形跟著平滑的移動。
"他媽的——"林建一拍大腿,"成了!"
兩個助手對視一眼——然後同時撲了過來。
"真的?真的能檢測到?"
"你自己試試。"
助手伸出食指,小心翼翼的碰了一下屏幕——像碰一顆炸彈似的。
【寫到這裡我希望讀者記一下我們域名 讀小說選 TW 看書網,🆂🅷🆄.🆃🆆超省心 】
示波器——跳了。
"我碰到了!它知道我碰了它!"助手的聲音帶著一種近乎荒誕的興奮,"玻璃——知道——我碰了它!"
林建看著他這副失態的樣子——笑了。
觸控螢幕——搞定了。
接下來是軟體。
也就是——作業系統。
這個詞在一九七零年,還是個極其小眾的概念。當時的"作業系統"是什麼樣的?是一堆打孔紙帶。是黑底綠字的命令行。是計算機操作員坐在機房裡敲鍵盤——輸入一串誰也看不懂的命令——然後計算機吐出一堆數字。
圖形界面?
用手指點圖標?
做夢。
但林建要做的,恰恰就是這個"夢"。
他需要一套軟體——能在屏幕上顯示圖標,能響應手指的觸摸,能切換不同的功能界面。
簡單說——他要在一九七零年,憑空造出一個一九九五年才有的東西。
林建把自己關在工作檯前——面前攤著一沓空白的草稿紙——開始寫代碼。
彙編語言。
因為這個年代沒有別的選擇。C語言還沒發明呢——那要等到一九七二年。更別提什麼Java、Python——那些東西的發明者現在可能還在穿開襠褲。
彙編語言是什麼?就是直接跟晶片說話——用晶片聽得懂的"話"。每一條指令,對應晶片的一個具體動作。
比如:"把數字五存到內存地址零零一號。"
再比如:"把內存零零一號的數跟內存零零二號的數加起來。"
就這麼一條一條的——像指揮一個智商為零的士兵幹活。
你說"往前走三步",它就往前走三步。你忘了說"停"——它就一頭撞牆上。
這種語言寫代碼——效率極低。現代程式設計師一行代碼能幹的事,彙編語言可能需要二十行。
林建要寫的這個作業系統——按現代標準來看極其簡陋——但用彙編語言實現,依然是一個浩大的工程。
他寫了兩個星期。
每天寫十八個小時。
草稿紙用了四百多張——寫滿了密密麻麻的指令和注釋。字小的跟螞蟻搬家似的——排的整整齊齊的——每一行都有編號。
兩個助手輪班幫他整理和校對。
但他們看著那些代碼——完全不知道在寫什麼。
"林將軍——"一個助手實在忍不住了,"您寫的這些東西……真的能運行嗎?"
林建頭也不抬。右手在寫字,左手在翻前面的草稿——像同時打兩份工的人。
"能不能運行——試了就知道。"
助手湊過去看了一眼紙上的內容——
"DISP_INIT: MOV R0, #0x3F LDR R1, =FRAMEBUF……"
他的眼睛花了。
"林將軍這是……什麼意思?"
"屏幕初始化程序。"林建終於抬了一下頭,用鉛筆指了指紙上的某一行,"這段代碼的功能是——把屏幕分成網格,每個網格對應一個像素點。我寫了一套字庫,可以在屏幕上顯示漢字。"
助手的嘴巴張開了——"漢字?屏幕上能顯示漢字?"
"對。"林建又低下頭繼續寫,"星條國那個破磚頭連屏幕都沒有——只有一個聽筒。我的這個不一樣——屏幕上能顯示文字、圖形、菜單——你想看什麼就看什麼。"
助手站在旁邊——大腦一片空白。
他試圖想像一下"屏幕上顯示漢字"是什麼樣子——但想像不出來。
因為在這個年代——沒有人見過這種東西。
代碼寫完之後——要編譯。
編譯就是把人寫的代碼翻譯成晶片能執行的二進位指令。
問題是——林建用的那顆晶片是中科院的實驗品,全世界獨一份,沒有任何現成的編譯器支持它。
怎麼辦?
林建自己寫了一個。
一個交叉編譯器。
他在閉關之前就把這事幹了——花了一個星期,在牆角那台"崑崙二號"小型機上寫了一個能把他的彙編代碼翻譯成那顆晶片能懂的二進位的程序。
"去——"他把那四百多張草稿紙遞給助手,"把這些代碼輸入崑崙二號。然後運行編譯器。"
助手接過那摞紙——沉甸甸的像半塊磚。
"林將軍……"他猶豫了一下,"輸入這些代碼——大概要多久?"
林建想了想——"你打字快不快?"
"……一般。"
"那大概——兩天吧。"
助手差點把紙摔了。
"兩天?!"
"別慌。"林建從口袋裡掏出一個東西——一支鉛筆——遞給另一個助手,"你幫他校對。一個人讀一個人敲。兩個人輪班——應該一天半能搞定。"
兩個助手對視了一眼。
那種眼神——叫做"命苦"。
但他們認了。跟著林建幹活——從來沒有輕鬆過這兩個字。