在 Linux 中怎麼執行 MS-DOS 遊戲和程式

2018-11-12 23:51:00

你是否想過嘗試一些經典的 MS-DOS 遊戲和像 Turbo C++ 這樣的廢棄的 C++ 編譯器?這篇教學將會介紹如何使用 DOSBox 在 Linux 環境下執行 MS-DOS 的遊戲和程式。DOSBox 是一個 x86 平台的 DOS 模擬器,可以用來執行經典的 DOS 遊戲和程式。 DOSBox 可以模擬帶有聲音、圖形、滑鼠、操縱桿和數據機等的因特爾 x86 電腦,它允許你執行許多舊的 MS-DOS 遊戲和程式,這些遊戲和程式根本無法在任何現代 PC 和作業系統上執行,例如 Microsoft Windows XP 及更高版本、Linux 和FreeBSD。 DOSBox 是免費的,使用 C++ 程式語言編寫並在 GPL 下分發。

在 Linux 上安裝 DOSBox

DOSBox 在大多數 Linux 發行版的預設倉庫中都能找的到。

在 Arch Linux 及其衍生版如 Antergos、Manjaro Linux 上:

$ sudo pacman -S dosbox

在 Debian、Ubuntu、Linux Mint 上:

$ sudo apt-get install dosbox

在 Fedora 上:

$ sudo dnf install dosbox

設定 DOSBox

DOSBox 是一個開箱即用的軟體,它不需要進行初始化設定。它的組態檔位於 ~/.dosbox 資料夾中,名為 dosbox-x.xx.conf。 在此組態檔中,你可以編輯/修改各種設定,例如以全螢幕模式啟動 DOSBox,全螢幕使用雙緩衝,設定首選解析度,滑鼠靈敏度,啟用或禁用聲音,揚聲器,操縱桿等等。如前所述,預設設定即可正常工作。你可以不用進行任何更改。

在 Linux 中執行 MS-DOS 上的遊戲和程式

在終端執行以下命令啟動 DOSBox:

$ dosbox

下圖就是 DOSBox 的介面

正如你所看到的,DOSBox 帶有自己的類似 DOS 的命令提示字元和一個虛擬的 Z:\ 的驅動器,如果你熟悉 MS-DOS 的話,你會發現在 DOSBox 環境下工作不會有任何問題。

這是 dir 命令(在 Linux 中等同於 ls 命令)的輸出:

如果你是第一次使用 DOSBox,你可以通過在 DOSBox 提示符中輸入以下命令來檢視關於 DOSBox 的簡介:

intro

在介紹部分按回車進入下一頁。

要檢視 DOS 中最常用命令的列表,請使用此命令:

help

要檢視 DOSBox 中所有支援的命令的列表,請鍵入:

help /all

記好了這些命令應該在 DOSBox 提示符中使用,而不是在 Linux 終端中使用。

DOSBox 還支援一些實用的鍵盤組合鍵。下圖是能有效使用 DOSBox 的預設鍵盤快捷鍵。

要退出 DOSBox,只需鍵入如下命令並按回車:

exit

預設情況下,DOSBox 開始執行時的正常螢幕視窗大小如上所示。

要直接在全螢幕啟動 DOSBox,請編輯 dosbox-x.xx.conf 檔案並將fullscreen 變數的值設定為 enable。 之後,DOSBox 將以全螢幕模式啟動。 如果要返回正常螢幕,請按 ALT+ENTER

希望你掌握了 DOSBox 的這些基本用法。

讓我們繼續安裝一些 DOS 程式和遊戲。

首先,我們需要在 Linux 系統中建立目錄來儲存程式和遊戲。我將建立兩個名為 ~/dosprograms~/dosgames 的目錄,第一個用於儲存程序,後者用於儲存遊戲。

$ mkdir ~/dosprograms ~/dosgames

出於本指南的目的,我將向你展示如何安裝 Turbo C++ 程式和 Mario 遊戲。我們首先將看到如何安裝 Turbo。

下載最後版本的 Turbo C++ 編譯器並將其解壓到 ~/dosprograms 目錄中。 我已經將 Turbo C++ 儲存在在我的 ~/dosprograms/TC/ 目錄中了。

$ ls dosprograms/tc/BGI BIN CLASSLIB DOC EXAMPLES FILELIST.DOC INCLUDE LIB README README.COM

執行 DOSBox:

$ dosbox

~/dosprograms 目錄掛載為 DOSBox 中的虛擬驅動器 C:\

Z:\>mount c ~/dosprograms

你會看到類似下面的輸出:

Drive C is mounted as local directory /home/sk/dosprograms.

現在,使用命令切換到 C 盤:

Z:\>c:

然後切換到 tc/bin 目錄:

Z:\>cd tc/bin

最後,執行 Turbo C++ 可執行檔案:

Z:\>tc.exe

備註:只需輸入前幾個字母,然後按確認鍵可以自動填充檔名。

你現在將進入 Turbo C++ 控制台。

建立新檔案(ATL + F)並開始程式設計:

你可以同樣安裝和執行其他經典 DOS 程式。

故障排除:

執行 Turbo C++ 或其他任何 DOS 程式時,你可能會遇到以下錯誤:

DOSBox switched to max cycles, because of the setting: cycles=auto. If the game runs too fast try a fixed cycles amount in DOSBox's options. Exit to error: DRC64:Unhandled memory reference

要解決此問題,編輯 ~/.dosbox/dosbox-x.xx.conf 檔案:

$ nano ~/.dosbox/dosbox-0.74.conf

找到以下變數:

core=auto

並更改其值為:

core=normal

現在,讓我們看看如何執行基於DOS的遊戲,例如 Mario Bros VGA

這裡 下載 Mario 遊戲,並將其解壓到 Linux 中的 ~/dosgames 目錄。

執行 DOSBox:

$ dosbox

我們剛才使用了虛擬驅動器 C: 來執行 DOS 程式。現在讓我們使用 D: 作為虛擬驅動器來執行遊戲。

在 DOSBox 提示符下,執行以下命令將 ~/dosgames 目錄掛載為虛擬驅動器 D

Z:\>mount d ~/dosgames

進入驅動器 D:

Z:\>d:

然後進入 mario 遊戲目錄並執行 mario.exe 檔案來啟動遊戲。

D:\>cd marioD:\>mario.exe

開始玩遊戲:

你可以同樣像上面所說的那樣執行任何基於 DOS 的遊戲。 點選這裡檢視可以使用 DOSBox 執行的遊戲的完整列表。

總結

儘管 DOSBox 並不能作為 MS-DOS 的完全替代品,並且還缺少 MS-DOS 中的許多功能,但它足以安裝和執行大多數的 DOS 遊戲和程式。

有關更多詳細資訊,請參閱官方 DOSBox手冊

這就是全部內容。希望這對你有用。更多優秀指南即將到來。 敬請關注!

乾杯!