江寒先在硬盤上重建了主引導記錄,然后手工寫了個分區表。
由于硬盤只有20Mb,DOS3.31支持起來毫無壓力,所以只分一個區就可以了。
如果硬盤再大一些,往往就需要多分幾個區才行,那樣一來,分區表就變得復雜多了……
最后,江寒又用同樣的辦法,將DOS3.31的三個主要文件和寫進了硬盤中。
這其實就是個體力活。
出虛擬空間,在筆記本上查看文件,把數據背下來;回到虛擬空間,把數據輸入到硬盤中。
出去、回來、再出去、再回來……如此不停地反復。
他沒有看反匯編代碼,而是以16進制的形式,直接把二進制數據背了下來。
這當然不容易。
以江寒經過改造的記憶力,每次也只能記住大約一個扇區(512個字節)的內容。
但他就是使用這種笨辦法,硬生生地將DOS3.31搬運到了虛擬空間的286電腦中。
如果想省事一點的話,其實也可以去震驚商城里,把這個版本的DOS代碼買下來,然后照著抄進去。
但江寒不想浪費購買點,就采用了比較省錢的笨辦法。
好在DOS3.31的系統文件都很小,只有十幾~幾十KB,大約折騰了五十幾次,也就差不多抄完了。
接下來,就是見證奇跡的時刻。
江寒檢查了幾遍,確認沒有任何錯誤后,就重新啟動了電腦。
這一次,在系統自檢完成后,終于顯示出一行激動人心的“StarttingMS-DOS……”
之后,等了大約3秒鐘,屏幕上就滾動出一些版權信息,然后出現了熟悉的“C:\>”提示符。
江寒用dir命令查詢了一下,卻發現……
屏幕上的列表里,只能看到另外兩個文件卻不見蹤影。
稍微一想,他就會心地笑了起來。
好吧,用習慣了WINDOWS之后,古老的DOS反而有點不太熟悉了。
在DOS系統中,為了保護重要的系統文件和都是具有“系統”、“隱藏”和“只讀”屬性的。
想要看到這兩個文件,必須在Dir命令的后面,加上/ah參數才行……
江寒輸入然后回車。
這次就看到了全部的3個文件。
隨后又玩了一會兒“MD”、“CD”、TYPE……
熟悉了一些常見的內部命令后,江寒就開始繼續工作。
現在這臺電腦里,只安裝了最簡易的操作系統,只擁有最基本的功能。
如果想要做更多的事情,那就必須弄些工具軟件出來。
江寒琢磨了一下,決定寫個這是最容易實現的系統調試工具了,可以用來編寫一些簡單的小程序。
江寒又花了半個小時,用老辦法將這個程序的可執行文件,從外面的筆記本中,抄到了286的硬盤里。
最后,當他輸入了DEBUG,然后回車時,熟悉的“_”提示符再次出現了。
江寒小的時候,在一臺接近報廢的386上,DOS玩得很溜。
所以這時根本不用再去找太多資料,很快就回憶起了DEBUG的用法。
Debug的使用相當麻煩,只支持一些簡單的指令:P、T、A、G、Q、W……
這些字母分別代表一種基本功能。
江寒緬懷了一下久遠的“過去”后,就使用“A”指令,進入了匯編模式,然后開始寫代碼。
他首先要寫的,是一個C編譯器。
這個工作全靠自己來弄,怕是一個星期都弄不完。
但沒關系,網上各種C編譯器的源代碼,可以說層出不窮,隨便找一個過來,改改就能用。
匯編語言寫代碼,效率當然高不到哪里去,尤其還是DEBUG這么原始的編輯方式。
但怎么說也能比ROMBASIC強一點。
就這樣,江寒花了足足三個小時,終于抄出了一個命令行版本的C編譯器。
接下來,他又花了五個多小時,用Debug寫了一個文本編輯小工具。
這樣一來,就可以愉快地編寫C代碼了。
江寒用C語言開發的第一個軟件,就是仿造TUBORC2.0的集成開發環境(IDE),開發一個屬于自己的C語言編輯器。
這也是非常有必要的。
做軟件開發的時候,如果沒有IDE,根本沒有任何效率可言。
開發用戶界面這種事,并不算特別困難,對技術的要求不算特別高,但工程量非常巨大,完全是個體力活兒。
江寒足足花費了十幾個小時,才初步搞定了這款C語言IDE。
這還得說他技術夠扎實、腦子夠厲害、手速也夠快。