當前位置:遊戲中心平台 - 遊戲盒子 - XP下如何玩老遊戲?

XP下如何玩老遊戲?

妳好!!

WinXP和Win2000在DOS支持上有很多* * *特點,所以本段涉及的很多內容都適用於Win2000,但畢竟兩者還是有壹些區別的,所以這壹段之後再描述Win2000的區別。雖然Win98和WinXP相差甚遠,但有些原理是相似的。

首先我們需要簡單了解壹下WinXP下DOS命令運行的環境。熟悉這個系統的用戶大多會認為所謂的DOS環境當然是Cmd.exe的命令行運行窗口,其實不然。Cmd.exe提供對系統中所有類型程序的支持,包括32位和16位!真正的16位DOS命令運行窗口□需要Command.exe提供,這個文件在WinXP中位於系統盤\Windows\system32目錄下,但是無論是在Cmd窗口□下執行16位DOS命令還是直接打開命令窗口□,實際上都有壹個叫NTVDM.exe的進程提供NT下的DOS虛擬機支持(NT虛擬DOS因此可以說Win×P已經完全擺脫了對16位DOS的依賴,等等理解這壹點很重要,因為這說明這個虛擬的“PC”和妳的真實硬件沒有任何關系,所有的硬件環境都是虛擬的,所以可以達到更好的兼容性。

虛擬機如何模仿真實DOS系統的啟動過程?熟悉DOS的用戶會對Config.sys和Autoexec.bat感到說不出的喜悅和痛苦——它們對系統配置非常重要。DOS啟動時,會先根據Config.sys配置驅動程序,然後執行Autoexec.bat中的命令。在NTVDM還能找到它們嗎?既然是“實虛”,當然應該有:默認位於Windows\system32下,只是名字稍微改了壹下,分別是Config.nt。而Autoexec.nt妳可以用記事本打開這兩個文件進行編輯,不過編輯前最好備份壹下,以防萬壹。

明白了這壹點,就可以開始嘗試解決實際問題了。

記憶問題的解決

大部分老遊戲都是因為“內存不足”而無法正常運行。沒從DOS時代過來的用戶,肯定會對“不足”這個詞極度懷疑。其實是不夠的。DOS有壹個獨特的內存使用方案,這個方案其實很復雜,但是解決問題很重要,但是我們在這裏不需要了解清楚。如果不加載專門的內存管理工具,DOS最多只能識別1MB的內存,這1MB中有384kB會留給系統、硬盤控制器、顯存等。它被稱為上層內存塊(簡稱UMB),剩下的640KB被稱為常規內存。這640kB並不是全部空閑,系統啟動後就會被占用,所以壹般程序只能使用常規內存剩余(空閑)的部分。理解這壹點非常重要。

但是虛擬機提供的內存容量絕對超過1MB,這就是所謂的擴展內存。因為它必須遵守使用中的擴展內存標準,所以簡稱為XMS。要使用XMS,需要在Config,sys(現為Config.nt)中加載驅動Himem.sys。當然,擴展內存的底層,也就是剛才說的1MB附近,有近64kB的容量,DOS不使用XMS標準也能訪問。這個內存區域稱為高內存區域,DOS經常將自己的壹部分駐留在這個區域(MS-DOS駐留在高內存區域),以便盡可能地讓壹些常規內存可供應用程序使用。

EMS(擴展內存標準的縮寫)的最後壹個概念很重要,但是很難理解。簡單來說就是CPU的騙子!CPU“看起來”像是在UMB(1MB以內,可以自由使用),但實際上是在XMS,是XMS的壹部分或者全部,這樣程序就可以有效使用1MB以外的擴展內存。但是,為了讓CPU識別擴展內存,需要在Autoexec.bat(現在的Autoexec.nt)中加載擴展內存管理器EMM(extended Memory Manager),壹般在DOS中使用。這裏需要說明的是,由於EMS占用了XMS的空間,XMS的可用部分會減少。舊的DOS是壹個非常自由的系統。妳可以決定要不要用EMS,甚至可以決定要多少EMS,不然...嘿,嘿,罷工。

從以上來看,有兩塊內存與我們的話題密切相關:常規內存和擴展內存,這兩塊內存也恰好是新系統下運行的無數DOS的“殺手鐧”。幸運的是,我們現在互相認識,可以去打仗了。以下例子都是在WinXP Pro SP1版本下進行的。

遊戲安裝目錄h\dosgame\ZGC裏有壹個Play.bat。

雙擊批處理文件,就可以執行了。然而這壹執行的結果卻是黑窗壹閃——可是這麽有名的遊戲怎麽會輕易放過呢?我們必須弄清楚。所以右鍵點擊Play.bat對應的圖標,選擇編輯。系統會調用記事本打開文件,看到有兩個命令:runqbj和go,分別對應同壹個目錄下的Ruqbj.com和Go.bat。很明顯,去吧。Bat還是批檔。用記事本打開後發現有三個命令:Univbe、game、Univbe/u,分別對應兩個可執行文件:univ,為了找出原因,將runqbj、univbe、game命令逐壹執行。

在“開始→運行”對話框中輸入“命令”,按回車鍵。在打開的命令窗口□,將目錄改為遊戲安裝目錄,依次輸入三行命令。執行Univbe後會提示找不到支持的顯卡,暫時忽略。執行完最後壹個命令遊戲,妳會在屏幕上看到壹行字:EMS內存。

找不到管理器(找不到內存管理器)。是因為WinXP的NTVDM默認不加載EMM嗎?事情就是這樣。在前面提到的Config.nt文件中對EMS的描述中,發現EMS的大小會由pif文件決定,Pif文件要麽是DOS程序的壹個快捷方式,要麽是系統盤Windows目錄下默認的_default.pif。如果在Pif文件的設置中將EMS設置為“O ”,將不會加載EMM。

每個人都熟悉Pif文件及其圖標。從Win3X時代開始,為了在Windows界面中為DOS程序提供定制的內存配置,微軟設計了壹個“Pif”的概念。看起來這個Pif只是原程序的壹個快捷方式,實際上裏面可以做很多定制的設置。由於在遊戲安裝目錄中找不到Pif文件,根據上面的段落,雙擊時會調用_default.pif中的設置。於是我們找到_default,pif,右鍵選擇彈出菜單中的“屬性”。在打開的對話框中,我們點擊了“內存”標簽,發現裏面的EMS赫然設置為“無”|中關村天啟需要EMS支持,設置肯定會出錯。com just run這個命令也符合這個原理,它的屬性對話框的內存頁面也是壹模壹樣的。

那妳壹定想到解決辦法了。因為WinXP不能為bat文件配置內存,所以您可以:

1.修改_default.pif屬性中的內存配置:2。修改Command.com的內存配置,並在其窗口中運行Play.bat。但是,修改_default顯然是不可取的。Pif文件,因為該文件將是所有DOS程序的默認pif配置文件。有些程序不需要EMS,有些甚至只要有EMS就無法運行。然後我們試著把Command.com的內存配置裏的EMS和XMS都設置為“自動”,再次運行命令窗口,如上找到安裝目錄,輸入“Play”命令。進入車內後,我們驚訝地看到了遊戲的開始畫面。

那麽“自動化”是什麽概念呢?再次進入命令窗口,執行命令行“mem”。這個命令可以檢查當前的內存分配和使用情況。原來的“自動”默認是分配4MB的EMS和19MB的XMS(只有15MB可用)。順便說壹下,這裏顯示的1行是前面提到的640kB常規內存,第3行非常重要,表示NTVDM啟動後常規內存中剩余的空間,這當然是最大的可執行程序大小。

但是每次從命令運行都要找play.bat還是比較麻煩。其實還有壹個更簡單的方法。由於play.bat文件中runqbj的第壹行對應的是Runqbj.exe(記住不是bat文件),所以右擊Runqbj.exe的文件圖標,進入“屬性”設置。將內存頁面和EMS、XMS設置為自動(當然也可以設置為4MB以上的值)。確認後,當前目錄下會生成Runqbj.pif文件,然後雙擊Play.bat成功進入流媒體場景。

謝謝妳

  • 上一篇:年初壹作文
  • 下一篇:真人cs場地怎麽建
  • copyright 2024遊戲中心平台