如何在 Linux 中运行 MS-DOS 游戏和程序

你想尝试一些老式的 MS-DOS 游戏和失效的 C++ 编译器吗? 像 Linux 中的 Turbo C++? 好的! 本教程将教你如何在 Linux 中运行 MS-DOS 游戏和程序 DOS盒子.

Dosbox 是一个 x86 PC DOS 模拟器,可用于运行经典的 DOS 游戏或程序。 DOSBox 模拟 Intel x86 PC,具有声音、图形、鼠标、操纵杆和调制解调器等功能,可让您运行许多无法在现代操作系统(如 Windows XP 及更高版本、Linux)上运行的旧 MS-DOS 游戏和程序和 FreeBSD。

Dosbox 是免费的,使用 C++ 编程语言编写并在 GPL 下分发。

内容

  1. 在 Linux 中安装 DOSBox
  2. 配置 DOSBox
  3. DOSBox基本用法
  4. 使用 DOSBox 在 Linux 中运行 MS-DOS 游戏和程序
    1. 结论

在 Linux 中安装 DOSBox

DOSBox 在大多数 Linux 发行版的默认存储库中都可用。

在 Alpine Linux 中安装 Dosbox:

$ sudo apk add dosbox

在 Arch Linux 及其变体如 Manjaro Linux 上,运行:

$ sudo pacman -S dosbox

在 Debian、Ubuntu、Linux Mint 上:

$ sudo apt-get install dosbox

在 Fedora:

$ sudo dnf install dosbox

在 openSUSE 上:

$ sudo zypper install dosbox

配置 DOSBox

使用 DOSBox 不需要初始配置,它开箱即用。 默认配置文件名为 dosbox-x.xx.conf 存在于你的 ~/.dosbox 文件夹。

在此配置文件中,您可以编辑/修改各种设置,例如以全屏模式启动 DOSBox、在全屏模式下使用双缓冲、设置首选分辨率以用于全屏、鼠标灵敏度、启用或禁用声音、扬声器、操纵杆等等.

正如我之前提到的,默认设置可以正常工作。 您无需进行任何更改。

DOSBox基本用法

要启动 DOSBox,请从终端运行以下命令:

$ dosbox

这就是 DOSBox 界面的样子。

Dosbox 界面

如您所见,DOSBox 带有自己的类似 DOS 的命令提示符,带有虚拟 Z: 驾驶。 所以如果你熟悉 MS-DOS,在 DOSBox 环境下工作不会有任何困难。

这是输出 dir 命令(相当于 ls Linux 中的命令)输出:

dir 命令输出

如果您是新用户,并且是第一次使用 DOSBox,您可以在 DOSBox 提示符下输入以下命令查看关于 DOSBox 的简短介绍:

intro

按 ENTER 进入介绍部分的下一页。

要查看 DOS 中最常用的命令列表,请使用以下命令:

help

要查看 DOSBox 中所有支持的命令列表,请键入:

help /all

请记住,这些命令应该在 DOSBox 提示符下使用,而不是在您的 Linux 终端中使用。

DOSBox 还支持一组很好的键盘绑定。 这是有效使用 DOSBox 的默认键盘快捷键。

Dosbox 键盘快捷键Dosbox 键盘快捷键

要退出 DOSBox,只需键入并按 ENTER:

exit

默认情况下,DOSBox 以上面的普通窗口大小的屏幕启动。 要直接在全屏窗口中启动 dosbox,请编辑您的 dosbox-x.xx.conf 文件并设置值 fullscreen 变量为 enable. 现在,DosBox 将以全屏模式启动。 要返回正常屏幕,请按 ALT+ENTER.

希望你学会了 DOSBox 的基本用法。

让我们继续安装一些 DOS 程序和游戏。

使用 DOSBox 在 Linux 中运行 MS-DOS 游戏和程序

首先,我们需要创建目录来保存我们 Linux 系统中的程序和游戏。

我将创建两个名为 ~/dosprograms~/dosgames. 第一个目录用于存储程序,后者用于存储游戏。

$ mkdir ~/dosprograms ~/dosgames

出于本指南的目的,让我向您展示如何安装 涡轮 C++ 程序和 马里奥游戏.

首先,我们将了解如何安装 Turbo C++ 编译器。

下载最新的 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 目录作为虚拟驱动器 C: 在 DOSBox 中。

Z:>mount c ~/dosprograms

您将看到如下所示的输出。

Drive C is mounted as local directory /home/sk/dosprograms.
在 DOSBox 中挂载 C 盘在 DOSBox 中挂载 C 盘

现在,更改为 C 使用命令驱动:

Z:>c:

然后,切换到 tc/bin 目录:

Z:>cd tc/bin

最后,运行 turbo c++ 可执行文件:

Z:>tc.exe

笔记: 只需键入前几个字母并按 ENTER 即可自动完成文件名。

在 dosbox 中运行 Turbo C++在 dosbox 中运行 Turbo C++

您现在将在 Turbo C++ 控制台中。

Dosbox 中的 Turbo C++ 控制台Dosbox 中的 Turbo C++ 控制台

创建新文件(ATL+F) 并开始编码:

Turbo C++ 控制台Turbo C++ 控制台

同样,您可以安装和运行其他经典的 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

Save 和 close 文件。 现在您可以毫无问题地运行dos程序了。

现在,让我们看看如何运行基于 DOS 的游戏,例如 马里奥兄弟 VGA.

下载马里奥游戏从 这里 并提取内容 ~/dosgames Linux 机器中的目录。

启动 DOSBox:

$ dosbox

我们使用了虚拟驱动器 C: 对于dos程序。 对于游戏,让我们使用 d: 作为虚拟驱动器。

在 DOSBox 提示符下,运行以下命令进行挂载 ~/dosgames 目录作为虚拟驱动器 d.

Z:>mount d ~/dosgames

切换到 D: 驾驶:

Z:>d:

然后转到 mario 游戏目录并运行 mario.exe 文件以启动游戏。

Z:>cd mario
Z:>mario.exe
在dosbox中运行马里奥游戏在dosbox中运行马里奥游戏

开始玩游戏:

dosbox中的马里奥游戏在dosbox中运行的马里奥游戏

同样,您可以运行上述任何基于 DOS 的游戏。 您可以查看可以使用 DOSBox 运行的受支持游戏的完整列表 这里.

结论

DOSBOX 不是 MS-DOS 的完全替代品,它缺少 MS-DOS 中的许多功能。 但是,它足以安装和运行大多数 DOS 游戏和程序。

更多详情请参考官方 DOSBox 手册.

建议阅读:

  • 如何在 Linux 上运行 Windows 应用程序和游戏

CDisk 操作系统DOSDos 游戏Dos 程序DosboxEmulatorIntel x86LinuxMario gameMicrosoftMS-DOSMS-Dos 游戏MS-Dos 程序Turbo C++