在Linux中怎么運行MS-DOS游戲和程序
你是否想過嘗試一些經(jīng)典的 MS-DOS 游戲和像 Turbo C++ 這樣的廢棄的 C++ 編譯器?這篇教程將會介紹如何使用 DOSBox 在 Linux 環(huán)境下運行 MS-DOS 的游戲和程序。DOSBox 是一個 x86 平臺的 DOS 模擬器,可以用來運行經(jīng)典的 DOS 游戲和程序。 DOSBox 可以模擬帶有聲音、圖形、鼠標(biāo)、操縱桿和調(diào)制解調(diào)器等的因特爾 x86 電腦,它允許你運行許多舊的 MS-DOS 游戲和程序,這些游戲和程序根本無法在任何現(xiàn)代 PC 和操作系統(tǒng)上運行,例如 Microsoft Windows XP 及更高版本、Linux 和FreeBSD。 DOSBox 是免費的,使用 C++ 編程語言編寫并在 GPL 下分發(fā)。
在 Linux 上安裝 DOSBox
DOSBox 在大多數(shù) Linux 發(fā)行版的默認(rèn)倉庫中都能找的到。
在 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 是一個開箱即用的軟件,它不需要進(jìn)行初始化配置。它的配置文件位于 ~/.dosbox
文件夾中,名為 dosbox-x.xx.conf
。 在此配置文件中,你可以編輯/修改各種設(shè)置,例如以全屏模式啟動 DOSBox,全屏使用雙緩沖,設(shè)置***分辨率,鼠標(biāo)靈敏度,啟用或禁用聲音,揚聲器,操縱桿等等。如前所述,默認(rèn)設(shè)置即可正常工作。你可以不用進(jìn)行任何更改。
在 Linux 中運行 MS-DOS 上的游戲和程序
在終端運行以下命令啟動 DOSBox:
$ dosbox
下圖就是 DOSBox 的界面
正如你所看到的,DOSBox 帶有自己的類似 DOS 的命令提示符和一個虛擬的 Z:\
的驅(qū)動器,如果你熟悉 MS-DOS 的話,你會發(fā)現(xiàn)在 DOSBox 環(huán)境下工作不會有任何問題。
這是 dir
命令(在 Linux 中等同于 ls
命令)的輸出:
如果你是***次使用 DOSBox,你可以通過在 DOSBox 提示符中輸入以下命令來查看關(guān)于 DOSBox 的簡介:
intro
在介紹部分按回車進(jìn)入下一頁。
要查看 DOS 中最常用命令的列表,請使用此命令:
help
要查看 DOSBox 中所有支持的命令的列表,請鍵入:
help /all
記好了這些命令應(yīng)該在 DOSBox 提示符中使用,而不是在 Linux 終端中使用。
DOSBox 還支持一些實用的鍵盤組合鍵。下圖是能有效使用 DOSBox 的默認(rèn)鍵盤快捷鍵。
要退出 DOSBox,只需鍵入如下命令并按回車:
exit
默認(rèn)情況下,DOSBox 開始運行時的正常屏幕窗口大小如上所示。
要直接在全屏啟動 DOSBox,請編輯 dosbox-x.xx.conf
文件并將fullscreen
變量的值設(shè)置為 enable
。 之后,DOSBox 將以全屏模式啟動。 如果要返回正常屏幕,請按 ALT+ENTER
。
希望你掌握了 DOSBox 的這些基本用法。
讓我們繼續(xù)安裝一些 DOS 程序和游戲。
首先,我們需要在 Linux 系統(tǒng)中創(chuàng)建目錄來保存程序和游戲。我將創(chuàng)建兩個名為 ~/dosprograms
和 ~/dosgames
的目錄,***個用于存儲程序,后者用于存儲游戲。
$ mkdir ~/dosprograms ~/dosgames
出于本指南的目的,我將向你展示如何安裝 Turbo C++ 程序和 Mario 游戲。我們首先將看到如何安裝 Turbo。
下載***版本的 Turbo C++ 編譯器并將其解壓到 ~/dosprograms
目錄中。 我已經(jīng)將 Turbo C++ 保存在在我的 ~/dosprograms/TC/
目錄中了。
$ ls dosprograms/tc/
BGI BIN CLASSLIB DOC EXAMPLES FILELIST.DOC INCLUDE LIB README README.COM
運行 DOSBox:
$ dosbox
將 ~/dosprograms
目錄掛載為 DOSBox 中的虛擬驅(qū)動器 C:\
Z:\>mount c ~/dosprograms
你會看到類似下面的輸出:
Drive C is mounted as local directory /home/sk/dosprograms.
現(xiàn)在,使用命令切換到 C 盤:
Z:\>c:
然后切換到 tc/bin
目錄:
Z:\>cd tc/bin
***,運行 Turbo C++ 可執(zhí)行文件:
Z:\>tc.exe
備注:只需輸入前幾個字母,然后按回車鍵可以自動填充文件名。
你現(xiàn)在將進(jìn)入 Turbo C++ 控制臺。
創(chuàng)建新文件(ATL + F
)并開始編程:
你可以同樣安裝和運行其他經(jīng)典 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
現(xiàn)在,讓我們看看如何運行基于DOS的游戲,例如 Mario Bros VGA。
從 這里 下載 Mario 游戲,并將其解壓到 Linux 中的 ~/dosgames
目錄。
運行 DOSBox:
$ dosbox
我們剛才使用了虛擬驅(qū)動器 C:
來運行 DOS 程序?,F(xiàn)在讓我們使用 D:
作為虛擬驅(qū)動器來運行游戲。
在 DOSBox 提示符下,運行以下命令將 ~/dosgames
目錄掛載為虛擬驅(qū)動器 D
:
Z:\>mount d ~/dosgames
進(jìn)入驅(qū)動器 D:
:
Z:\>d:
然后進(jìn)入 mario 游戲目錄并運行 mario.exe
文件來啟動游戲。
D:\>cd mario
D:\>mario.exe
開始玩游戲:
你可以同樣像上面所說的那樣運行任何基于 DOS 的游戲。 點擊這里查看可以使用 DOSBox 運行的游戲的完整列表。
總結(jié)
盡管 DOSBox 并不能作為 MS-DOS 的完全替代品,并且還缺少 MS-DOS 中的許多功能,但它足以安裝和運行大多數(shù)的 DOS 游戲和程序。
有關(guān)更多詳細(xì)信息,請參閱官方 DOSBox手冊。