你是否想過嘗試一些經典的 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 下分發。
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-x.xx.conf
。 在此組態檔中,你可以編輯/修改各種設定,例如以全螢幕模式啟動 DOSBox,全螢幕使用雙緩衝,設定首選解析度,滑鼠靈敏度,啟用或禁用聲音,揚聲器,操縱桿等等。如前所述,預設設定即可正常工作。你可以不用進行任何更改。
在終端執行以下命令啟動 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手冊。
這就是全部內容。希望這對你有用。更多優秀指南即將到來。 敬請關注!
乾杯!