标签 DoS 下的文章

了解如何在 Ubuntu 中安装 DOSBox,并配置它来玩旧式 DOS 游戏。

DOSBox 是一个自由开源的操作系统模拟器,可以在现代 Linux 系统中运行。它有几个组件可以模仿旧的硬件,以运行旧的程序和游戏。

这一切使得在现代 Linux 发行版中享受旧游戏和应用程序成为可能。

在本指南中,我将向你展示如何安装 DOSBox,配置它,并玩一个示例游戏。

在 Ubuntu 中安装 DOSBox

DOSBox 的主软件包在所有主要的 Linux 发行版中都可用。

在 Ubuntu、Debian、LinuxMint 和相关发行版中,使用以下命令安装它:

sudo apt install dosbox

在 Fedora、CentOS、RHEL 和相关发行版中,使用以下命令安装它:

sudo dnf install dosbox

在 Arch Linux 中,使用以下命令安装它:

pacman -S --needed dosbox

安装就结束了。现在是配置和运行的时候了。

运行 DOSBox

安装后,从终端键入以下内容:

dosbox

它将显示以下界面,这是 DOSBox 提示符。第一次运行非常重要,因为它会创建 DOSBox 配置文件。

键入 exit 暂时关闭 DOSBox。

DOSBox first time run

配置文件为你提供了几个调整设置的选项。在 Ubuntu 中,该文件创建在 ~/.dosbox/dosbox-[version].conf

在 Fedora 中,它从以下路径加载临时配置文件 ~/.config/dosbox/dosbox-staging.conf.

默认情况下,你可以使用默认配置。但是如果你愿意,你可以修改它。

例如,如果你想全屏启动 DOSBox,你可以启用或禁用相关设置。像这样:

fullscreen=false
fulldouble=false
fullresolution=original
windowresolution=original
output=surface
autolock=true
sensitivity=100
waitonerror=true

你可以在 官方文档 中找到所有的设置选项。

下载以及游玩老游戏

有许多网站提供旧的 DOS 游戏。我使用过下面的网站,它提供了一套可以在现代系统中玩的老游戏。

所以,访问下面的网站,下载你想要的任何游戏。

下载 DOS 游戏

在你的 /home 目录下创建一个文件夹,并将其命名为 dosbox

cd ~
mkdir dosbox

现在,解压你下载的游戏(应该是一个 .exe 文件),在 ~/dosbox 目录下创建一个单独的文件夹。

例如,我下载了游戏 “马里奥和路易吉(1994)”。我在 dosbox 文件夹中创建了一个名为 mario 的文件夹,并将游戏文件放进去。

Keep the game in a separate folder

现在从终端启动 dosbox:

dosbox

并键入以下内容,将游戏挂载到虚拟的 C: 盘中:

mount c ~/dosbox/mario

以上命令完成后,将驱动器更改为 C::

c:

现在,你可以输入游戏的文件名来运行游戏:

mario

Running the game

Mario running in DOSBox in Ubuntu

键盘或控制器映射

默认情况下,DOSBox 会自动检测键盘或你插入的控制器。但是,如果你想更改游戏按键绑定,可以从终端运行以下命令:

dosbox -startmapper

它将显示以下界面,每个键上都标记有事件。你可以点开任何一个键,根据自己的习惯进行更改。

DOSBox keyboard and controller mapping

结论

我希望你在 Ubuntu 和其他发行版中安装了 DOSBox 之后,能够运行你最喜欢的 DOS 游戏。DOSBox 是最酷的软件之一,你可以使用它来运行任何程序,例如 Turbo C 等。

如果你有任何麻烦或问题,请在评论区告诉我。

享受游戏吧!


via: https://www.debugpoint.com/install-dosbox-ubuntu/

作者:Arindam 选题:lkxed 译者:gpchn 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

为什么文本只能使用这些有限的颜色显示,为什么 FreeDOS 使用这些颜色和阴影,而不是其他颜色?答案就像技术中的许多事情一样,历史原因。

如果你仔细了解过 FreeDOS,你可能已经注意到文本使用有限的颜色范围 —— 16 种文本颜色和 8 种背景颜色。这类似于 Linux 显示文本颜色的方式 —— 你或许能够在 Linux 终端中更改 文本颜色,但你仍然只能使用 16 种文本颜色和 8 种背景颜色。

 title=

DOS 文本有 16 种颜色和 8 种背景颜色(吉姆·霍尔,CC-BY SA 4.0

为什么文本只能使用这些有限的颜色显示,为什么 FreeDOS 使用这些颜色和阴影,而不是其他颜色?

答案就像技术中的许多事情一样,历史原因。

PC 色彩的由来

为了解释为什么文本只有 16 种颜色,让我给你讲一个关于第一台 IBM 个人计算机的故事。这个故事的部分内容可能有些杜撰,但基本内容已经足够接近。

IBM 于 1981 年发布了 个人计算机 Personal Computer 5150(“IBM PC”)。该 PC 使用了一个简单的监视器屏幕,以绿色显示文本。由于此显示器仅适用于一种颜色,因此被称为 单色 monochrome (“IBM 5151 单色显示器”,搭载 IBM 单色显示适配器 Monochrome Display Adapter ,即 MDA)。

同年,IBM 发布了 PC 的更新版本,带来了惊人的技术成就 —— 颜色!新的 IBM 5153 彩色显示器依赖于新的 IBM 彩色图形适配器 Color Graphics Adapter (CGA)。正是由于这个原始的 CGA,所有的 DOS 文本都继承了它们的颜色。

但在我们讨论那一部分之前,我们首先需要了解一些关于颜色的东西。当我们谈论计算机屏幕上的颜色时,我们谈论的是混合 三原色(红色、绿色和蓝色)的不同值。你可以将不同级别(“亮度”)的红光、绿光和蓝光混合在一起,以创建几乎任何颜色。混合红色和蓝色光,你会得到洋红色。混合蓝色和绿色,你会得到青色或浅绿色。均匀地混合所有颜色,你会得到白色。没有任何浅色,你会看到黑色(没有颜色)。

 title=

混合红色、绿色和蓝色光以获得不同的颜色(吉姆·霍尔,CC-BY SA 4.0

IBM 5153 彩色显示器通过在 阴极射线管 cathode ray tube (CRT)上点亮微小的红色、绿色和蓝色光点来向用户呈现颜色。这些小点排列得非常紧密,并以红色、绿色和蓝色的三色点组成一个“像素”的模式排列。通过控制同时点亮哪些荧光点,IBM 5153 彩色显示器可以显示不同颜色的像素。

 title=

每个红色、绿色和蓝色三元组都是一个像素(吉姆·霍尔,CC-BY SA 4.0

顺便说一句,即使是现代显示器也使用这种红色、绿色和蓝色点的组合来表示颜色。现代计算机的不同之处在于,每个像素都使用红色、绿色和蓝色 LED 灯(通常并排排列),而不是微小的荧光点。计算机可以打开或关闭每个 LED 灯,以混合每个像素中的红色、绿色和蓝色。

 title=

每个红色、绿色和蓝色三元组都是一个像素(吉姆·霍尔,CC-BY SA 4.0

定义 CGA 颜色

IBM 工程师意识到他们可以通过混合红色、绿色和蓝色像素来显示多种颜色。在最简单的情况下,你可以假设单个像素中的每个红色、绿色和蓝色点要么“开”,要么“关”。正如任何计算机程序员都会告诉你的那样,你可以将“开”和“关”表示为二进制 —— 1(1 = 开)和 0(0 = 关)。

用 1 或 0 表示红色、绿色和蓝色意味着你可以组合多达八种颜色,从 000(红色、绿色和蓝色都关闭)到 111(红色、绿色和蓝色都打开)。请注意,位模式类似于“RGB”,因此 RGB=001 是蓝色的(只有蓝色是打开的),RGB=011 是青色的(绿色和蓝色都打开了):

颜色代码名称
 000
 001
 010绿
 011
 100
 101洋红
 110
 111

但这只是最简单的情况。一位特别聪明的 IBM 工程师意识到,只需再添加一点,你就可以将颜色数量从 8 种颜色增加到 16 种。因此,我们可以使用像 iRGB 这样的位模式,而不是像 RGB 这样的位模式。我们将把这个额外的“i”位称为“强度”位,因为如果我们将“强度”位设置为 1(开),那么我们将在全亮度下点亮红色、绿色和蓝色;如果“强度”位为 0(关闭),我们可以使用一些中级亮度。

有了这个简单的修复程序,现在 CGA 可以显示 16 种颜色!为了简单起见,IBM 工程师将高强度颜色称为常规颜色名称的“明亮”版本。因此,“红色”与“亮红色”配对,“洋红色”与“亮洋红色”配对。

颜色代码名称颜色代码名称
 0000 1000亮黑
 0001 1001亮蓝
 0010绿 1010亮绿
 0011 1011亮青
 0100 1100亮红
 0101洋红 1101亮洋红
 0110 1110亮黄
 0111 1111亮白

哦不,等等!这实际上不是十六种颜色。如果你注意到 iRGB=0000(黑色)和 iRGB=1000(亮黑色),它们都是相同的 黑色。没有颜色可以“亮”,所以它们都是普通的黑色。这意味着我们只有 15 种颜色,而不是我们希望的 16 种颜色。

但 IBM 有聪明的工程师为他们工作,他们意识到如何解决这个问题以获得 16 种颜色。IBM 实际上没有实现直接的 RGB 到 iRGB,而是实现了 iRGB 方案。随着这一变化,IBM 为每个光点设置了四个亮度级别:完全关闭、三分之一亮度、三分之二亮度和全亮度。如果“亮度”位被关闭,那么每个红色、绿色和蓝色光点将以三分之二的亮度点亮。如果你打开“亮度”位,RGB 颜色中的所有 0 都将以三分之一的亮度点亮,而所有 1 都将以全亮度点亮。

让我用另一种方式向你描述这一点,使用 Web 颜色代码表示。如果你熟悉 HTML 颜色,你可能知道你可以使用 #RGB 表示颜色,其中 RGB 表示红色、绿色和蓝色值的组合,每个值都在十六进制值 0 到 F 之间。因此,使用 IBM 修改后的 iRGB 定义,iRGB=0001 是 #00a(蓝色),iRGB=1001 是 #55f(亮蓝色),因为对于高亮度颜色,RGB=001 中的所有零点都以三分之一的亮度点亮(0 到 F 刻度上的“5”左右),RGB=001 中的所有零点都以三分之二的亮度点亮(0 到 F刻度上的“A”)。

颜色代码名称颜色代码名称
 0000 1000亮黑
 0001 1001亮蓝
 0010绿 1010亮绿
 0011 1011亮青
 0100 1100亮红
 0101洋红 1101亮洋红
 0110 1110亮黄
 0111 1111亮白

有了这些颜色,我们终于完成了!我们拥有从 iRGB=0000(黑色)到 iRGB=1111(亮白色)以及介于两者之间的所有颜色的全光谱。就像彩虹般的颜色,这很漂亮。

除了……不,等等,这里有问题!我们实际上还不能复制彩虹的所有颜色。我们在小学学到的方便的助记符是 ROYGBIV,它可以帮助我们记住彩虹的颜色有红色、橙色、黄色、绿色、蓝色、靛蓝和紫色。我们修改后的 iRGB 配色方案包括红色、黄色、绿色和蓝色——我们可以将其“伪造”为靛蓝和紫色,但是我们缺少橙色。遭了!

 title=

一条美丽的彩虹——不幸的是它含有橙色。(Paweł Fijałkowski,公共)

为了解决这个问题,聪明的 IBM 工程师对 RGB=110 做了最后的修复。高强度颜色(iRGB=1110)以全亮度点亮红色和绿色荧光粉点以产生黄色,但是在低亮度颜色(iRGB=0110)下,他们以三分之二的亮度点亮红色,以三分之一的亮度点亮绿色。这将 iRGB=0110 变成了橙色——尽管它后来被称为“棕色”,因为 IBM 不得不在某处弄乱标准名称。

颜色代码名称颜色代码名称
 0000 1000亮黑
 0001 1001亮蓝
 0010绿 1010亮绿
 0011 1011亮青
 0100 1100亮红
 0101洋红 1101亮洋红
 0110 1110
 0111 1111亮白

这就是 CGA 以及扩展的 DOS 获得十六种颜色的方式!如果你好奇,这也是为什么会有“亮黑色”的原因,即使它只是一种灰色阴影。

表示颜色(位和字节)

但是你可能想知道:为什么 DOS 可以显示 16 种文本颜色,却只能显示 8 种背景颜色?为此,我们需要快速了解计算机如何将颜色信息传递给 CGA 卡。

简而言之,CGA 卡希望将每个字符的文本颜色和背景颜色编码在一个字节数据包中,一共八位。那么八位是从哪里来的呢?

我们刚刚了解了 iRGB(四位)如何生成十六种颜色。文本颜色使用 iRGB ,四位,背景颜色仅限于八种低强度颜色(RGB,三位),加起来只有七位。丢失的第八位在哪里?

最后一个位可能是为 DOS 时代最重要的用户界面元素保留的 —— 闪烁文本。虽然闪烁的文本在如今可能很烦人,但在整个 1980 年代初期,闪烁的文本是表示错误消息等关键信息的友好方式。

将这个“闪烁”位添加到三个背景颜色位(RGB)和四个文本颜色位(iRGB)中会产生八个位或一个字节!计算机喜欢以完整字节为单位进行计数,这使其成为将颜色(和闪烁)信息传输到计算机的便捷方式。

因此,表示颜色(和闪烁)的完整字节是 Bbbbffff,其中 ffff 是文本颜色的 iRGB 位模式(从 0 到 15),bbb 是低强度的 RGB 位模式背景颜色(从 0 到 7),而 B 是“闪烁”位。

十六种文本颜色和八种背景颜色的限制一直持续到今天。当然,DOS 坚持使用这种颜色组合,但即使是像 GNOME 终端这样的 Linux 终端仿真器也仍然受限于 16 种文本颜色和 8 种背景颜色。当然,Linux 终端可能允许你更改使用的特定颜色,但你仍然限于十六种文本颜色和八种背景颜色。为此,你要感谢 DOS 和最初的 IBM PC。别客气!


via: https://opensource.com/article/21/6/freedos-sixteen-colors

作者:Jim Hall 选题:lujun9972 译者:gpchn 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

它看起来像复古计算,但它是一个现代的操作系统,你可以用它来完成任务。

 title=

在整个 1980 年代和 1990 年代,我主要是一个 DOS 用户。我喜欢 DOS 提供的命令行环境,它随着每一个连续的版本变得更加强大。我甚至学会了如何用 C 语言编写自己的 DOS 程序,这样我就可以扩展 DOS 命令行,并为标准的 DOS 命令编写更强大的替代程序。我曾经试验过微软的 Windows,但如果你记得当时的 Windows 3,你就会知道它很慢,而且容易崩溃。但无论如何我更喜欢命令行,所以我坚持使用 DOS。

这一切在 1994 年发生了变化。流行的技术杂志谈到了即将到来的 Windows 版本,它将完全废除 DOS。我不想被迫使用 Windows。在我访问的 Usenet 讨论区中,其他人也有同样的感觉。所以在 1994 年 6 月 29 日,我认为如果我们想保留 DOS,我们需要自己编写。所以在 6 月 29 日,我宣布了一个小项目,这个项目后来成为 FreeDOS 项目

从那时起,我们已经发布了几个完整的 FreeDOS 发行版。我们从 1994 年到 1997 年的 alpha 系列开始,再到 1998 年到 2005 年的 beta 系列,最后在 2006 年发布了 FreeDOS 1.0 版本。从那时起,进展是缓慢但稳定的。在 1.0 之后,我们并没有真正急于发布每个新版本,因为 DOS 在 1995 年不再是一个变动的目标。

从 1.0 开始的每一个 FreeDOS 发行版都是对现代 DOS 的不断重新想象。我们已经包括了很多编译器和汇编器,供开发人员编写软件。我们还提供了许多“强大工具”,以便你可以做真正的工作。我们还提供了各种编辑器,因为每个人都有自己的最爱。

我们最近发布了 FreeDOS 1.3 RC4 发行版。从技术上讲,这是我们即将推出的 FreeDOS 1.3 发行版的候选版本,但它是一个全功能的发行版。我对 FreeDOS 1.3 RC4 的所有功能感到非常兴奋。

无需安装 FreeDOS 即可运行 FreeDOS

在我们以前所有的 FreeDOS 发行版中,我们把重点放在 安装 FreeDOS 到电脑上。但我们认识到,大多数用户实际上已经不在实际硬件上运行 FreeDOS 了。他们在 像 QEMU 或 VirtualBox 这样的虚拟机 中运行 FreeDOS。所以在 FreeDOS 1.3 RC4 中,我们改进了 “LiveCD” 环境。

通过 FreeDOS 1.3 RC4,你可以在你喜欢的虚拟机中启动 LiveCD 镜像,并立即开始使用 FreeDOS。这就是我现在运行 FreeDOS 的方式。我有一个小的虚拟硬盘镜像,我把所有的文件都放在那里,但我从 LiveCD 启动并运行 FreeDOS。

 title=

启动 FreeDOS 1.3 RC4 LiveCD (Jim Hall, CC-BY SA 4.0

安装真的很简单

如果你不想从 LiveCD 上运行 FreeDOS,你也可以在你的硬盘上安装它。我们更新了 FreeDOS 的安装程序,所以它本身并不是一个真正的“程序”,而是一个非常聪明的 DOS “批处理”文件,它可以检测到各种情况并采取适当的行动,例如在没有 FreeDOS 分区的情况下为其创建一个新的磁盘分区。

旧的 FreeDOS 发行版会提示你各种问题,甚至选择个别程序来安装。新的安装程序非常精简。它只问你几个问题就开始了,然后就自己做其他事情。在一个空的虚拟机上安装 FreeDOS 只需要几分钟时间。

 title=

安装FreeDOS 1.3 RC4 (Jim Hall, CC-BY SA 4.0

你可以从软盘安装它

不是每个人都喜欢在虚拟机中运行 FreeDOS。现在有一个复古计算社区,他们收集并精心修复经典的 PC 硬件,如 Pentium 或 486 系统。你甚至可以在那里找到一些 XT(8088)或 AT(80286)系统,它由一个专门的用户社区运营。

虽然我们认为 FreeDOS 是一个现代的 DOS,但如果我们不在旧的 PC 硬件上运行,我们就不是 “DOS” 了。因此,在 FreeDOS 1.3 中,我们包含了一个纯软盘版!这个版本可以运行在任何硬件上。这个版本应该可以在任何可以运行 FreeDOS 的硬件上运行,并且有 EGA 或更好的图形。

你在运行 286 或其他没有 CD-ROM 驱动器的经典系统吗?从这些软盘安装 FreeDOS。你是否只有一个硬盘而没有 CD 或软盘驱动器?只要把软盘的内容复制到一个临时目录,然后从那里运行安装程序。想执行“无交互外设方式”安装到不同的 DOS 目录吗?用命令行选项就可以了。

纯软盘版使用一个完全不同的安装程序,并包含一套有限的 FreeDOS 程序,它们在经典的 PC 硬件上更有用。

 title=

安装FreeDOS纯软盘版 (Jim Hall, CC-BY SA 4.0

充满了开源应用和游戏

如果 FreeDOS 是一个闭源的 DOS,它就不是一个 自由 的 DOS。我们希望每个人都能使用和研究 FreeDOS,包括其源代码。当我们计划 FreeDOS 1.3 发行版时,我们仔细检查了每个软件包中的每一个许可证,并专注于只包括 开源 程序。(在以前的 FreeDOS 发行版中,有几个程序并不完全“开源”,还有一两个程序没有包括源码,但是可以“自由使用和发布”。在这个版本中,所有的东西都是开源的,以“开源定义”作为我们的模型。)

而且,这是一个多么棒的开源应用和游戏的集合。游戏是 FreeDOS 1.3 RC4 中我最喜欢的内容。许多人使用 FreeDOS 来玩经典的 DOS 游戏,但我们想提供我们自己的开源游戏给人们玩。

你可以发现 LiveCD 中已经安装了两个游戏:Simple Senet(可以追溯到古埃及的棋盘游戏)和 Floppy Bird(Flappy Bird 游戏的一个版本)。如果你安装了 FreeDOS,你还会发现很多其他游戏可以尝试,包括 Sudoku86(一个数独游戏)、Wing(一个太空射击游戏)和 Bolitaire(单人纸牌游戏)。

 title=

玩 Floppy Bird 游戏 (Jim Hall, CC-BY SA 4.0

 title=

古老的 Senet 游戏 (Jim Hall, CC-BY SA 4.0

现在就试试 FreeDOS 1.3 RC4

你可以在 FreeDOS 的 下载 页面上找到新的 FreeDOS 1.3 RC4。要安装 FreeDOS,你需要至少 20MB 的可用磁盘空间:20MB 用来安装一个普通的 FreeDOS 系统,或者 250MB 用来安装所有,包括应用和游戏。要安装源码,你将需要高达 450MB 的可用空间。


via: https://opensource.com/article/21/6/get-started-freedos

作者:Jim Hall 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

一个无聊的开发者创造了“DOS 的 Linux 子系统”

墨尔本的一位软件工程师正在通过创建一个 DOS 用户迄今为止所缺乏的工具来消磨城市的封锁时间:一个类似于 Windows 10 用户所享受的集成 Linux 环境。Linux 不但能够从 DOS 命令行启动,而且还可以在 Linux 运行后继续执行 DOS。Linux 会在自己的启动过程中完整地留下第一兆字节的内存(DOS 所在的地方),所以只需跳回正确的地方继续执行 DOS 即可。

来源:itnews

拍一拍:确实“无聊”,不过这种无聊的探索精神值得鼓励。

福布斯:微软更新 Edge 新功能挑战 Chrome

现在将可以直接在 Edge 浏览器内部直接从地址栏搜索工作文件了。另一个与工作相关的微软 Edge 更新也即将推出,让 IT 管理员管理用户设备上特定的与工作相关的应用,以及管理用户在 Edge 中的工作配置环境中进行的浏览。以及,对微软端点 DLP 原生策略的支持、即将推出的 Sleeping Tabs 可将内存使用率提高 26%,CPU 使用率减少 29% 等。

来源:forbes

拍一拍:微软希望吸引更多的企业用户使用更新后的 Edge 浏览器。

JetBrains:世界上最大的 Java 程序员集中地在亚洲和德国

Java 开发者最集中的地方是亚洲,有 250 万开发者使用它作为主要语言。JetBrains 认为,这可能是由于在中国和印度等国家雇佣离岸开发人员来构建 Android 应用是很常见的。使用 Java 作为主要语言的开发者比例最高的六个国家是:中国、韩国、印度、德国、西班牙和巴西。

来源:jetbrains

拍一拍:不管你喜欢不喜欢,Java 依然那么流行。

你是否想过尝试一些经典的 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 mario
D:\>mario.exe

开始玩游戏:

你可以同样像上面所说的那样运行任何基于 DOS 的游戏。 点击这里查看可以使用 DOSBox 运行的游戏的完整列表。

总结

尽管 DOSBox 并不能作为 MS-DOS 的完全替代品,并且还缺少 MS-DOS 中的许多功能,但它足以安装和运行大多数的 DOS 游戏和程序。

有关更多详细信息,请参阅官方 DOSBox手册

这就是全部内容。希望这对你有用。更多优秀指南即将到来。 敬请关注!

干杯!


via: https://www.ostechnix.com/how-to-run-ms-dos-games-and-programs-in-linux/

作者:SK 选题:lujun9972 译者:way-ww 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

学习如何穿行于 C:\ 提示符下,就像上世纪 90 年代的 DOS 高手一样。

FreeDOS 是一个古老的操作系统,但是对于多数人而言它又是陌生的。在 1994 年,我和几个开发者一起 开发了 FreeDOS —— 这是一个完整、自由、兼容 DOS 的操作系统,你可以用它来玩经典的 DOS 游戏、运行过时的商业软件或者开发嵌入式系统。任何在 MS-DOS 下工作的程序在 FreeDOS 下也可以运行。

在 1994 年,任何一个曾经使用过微软的商业版 MS-DOS 的人都会迅速地熟悉 FreeDOS。这是设计而为之的;FreeDOS 尽可能地去模仿 MS-DOS。结果,1990 年代的 DOS 用户能够直接转换到 FreeDOS。但是,时代变了。今天,开源的开发者们对于 Linux 命令行更熟悉,或者他们可能倾向于像 GNOME 一样的图形桌面环境,这导致 FreeDOS 命令行界面最初看起来像个异类。

新的用户通常会问,“我已经安装了 FreeDOS,但是如何使用呢?”。如果你之前并没有使用过 DOS,那么闪烁的 C:\> DOS 提示符看起来会有点不太友好,而且可能有点吓人。这份 FreeDOS 的简单介绍将带你起步。它只提供了基础:如何浏览以及如何查看文件。如果你想了解比这里提及的更多的知识,访问 FreeDOS 维基

DOS 提示符

首先,让我们看一下空的提示符以及它的含义。

DOS 是在个人电脑从软盘运行时期创建的一个“ 磁盘操作系统 disk operating system ”。甚至当电脑支持硬盘了,在 1980 年代和 1990 年代,频繁地在不同的驱动器之间切换也是很普遍的。举例来说,你可能想将最重要的文件都备份一份拷贝到软盘中。

DOS 使用一个字母来指代每个驱动器。早期的电脑仅拥有两个软盘驱动器,他们被分配了 A:B: 盘符。硬盘上的第一个分区盘符是 C: ,然后其它的盘符依次这样分配下去。提示符中的 C: 表示你正在使用第一个硬盘的第一个分区。

从 1983 年的 PC-DOS 2.0 开始,DOS 也支持目录和子目录,非常类似 Linux 文件系统中的目录和子目录。但是跟 Linux 不一样的是,DOS 目录名由 \ 分隔而不是 /。将这个与驱动器字母合起来看,提示符中的 C:\ 表示你正在 C: 盘的顶端或者“根”目录。

> 符号是提示你输入 DOS 命令的地方,就像众多 Linux shell 的 $> 前面的部分告诉你当前的工作目录,然后你在 > 提示符这输入命令。

在 DOS 中找到你的使用方式

在 DOS 中浏览目录的基本方式和你在 Linux 命令行下的步骤非常相似。你仅需要记住少数的命令。

显示一个目录

当你想要查看当前目录的内容时,使用 DIR 命令。因为 DOS 命令是大小写不敏感的,你也可以输入 dir。默认地,DOS 会显示每个文件和子目录的细节,包括了名字、扩展类型、大小以及最后一次更改的日期和时间。

如果你不想显示单个文件大小的额外细节,你可以在 DIR 命令中使用 /w 选项来显示一个“宽”的目录列表。注意,Linux 用户使用连字号(-)或者双连字号(--)来开始命令行选项,而 DOS 使用斜线字符(/)。

你可以将特定子目录的路径名作为参数传递给 DIR 命令来查看它。此外,另一个与 Linux 系统的区别是 Linux 文件和目录是大小写敏感的,而 DOS 下的名称是大小写不敏感的。DOS 通常将文件和目录使用全部大写的方式显示,不过你可以等同地用小写格式来使用它们。

切换当前工作目录

一旦你能够查看一个目录的内容,你就能够“移动到”任何其它的目录。在 DOS 上,使用 CHDIR 命令来切换工作目录,也可以简写为 CD。你可以使用类似 CD CHOICE 的命令进入到一个子目录或者使用 CD \FDOS\DOC\CHOICE 进入到一个新的路径。

就像在 Linux 命令行,DOS 使用 . 来表示当前目录,而 .. 表示父目录(当前目录的上一级)。你可以将这些组合起来使用。比如,CD .. 进入到父目录,然后 CD ..\.. 由当前目录做两个“向上”目录级别的操作。

FreeDOS 也从 Linux 那借鉴了一些特性:你可以使用 CD - 跳转回之前的工作目录。在你进入一个新的路径做完一件事之后,想要回退到之前工作状态的情况下,这会很方便。

切换当前工作盘符

在 Linux 下,“磁盘”的概念是隐藏的。在 Linux 和其它 Unix 系统中,你“挂载”磁盘到一个目录,例如 /backup,或者系统自动帮你完成,比如 /var/run/media/user/flashdrive。但是 DOS 是一个相对简单的系统。使用 DOS,你必须自行更改工作磁盘。

记住 DOS 分配第一块硬盘的第一个分区为 C: 盘,然后这样依次分配其它盘符。在现代系统中,人们很少将硬盘分割成多个 DOS 分区;他们简单地使用整个磁盘或者尽可能多地分配给 DOS。如今 C: 通常是第一块硬盘,而 D: 通常是另一块硬盘或者 CD-ROM 驱动器。其它的网络磁盘驱动器也可以被映射到别的盘符,比如 E: 或者 Z: 或者任何你想要的组织方式。

在 DOS 下切换磁盘很容易。只要在命令行输入盘符后附加一个冒号(:),然后 DOS 就会切换到该工作磁盘。举例来说,在我的 QEMU 系统上,我将 D: 设置到我的 Linux 主目录下的一个共享目录,那里存放了各种我想测试的 DOS 应用程序和游戏的安装文件。

小心不要尝试切换到一个不存在的磁盘。DOS 可能会将它设置为工作磁盘,但是如果你尝试在那做任何事,你将会遇到略微臭名昭著的“ 退出、重试、失败 Abort, Retry, Fail ” DOS 错误信息。

其它可以尝试的事情

使用 CDDIR 命令,你就拥有了基础的浏览 DOS 能力。这些命令允许你查找 DOS 目录并查看其他子目录和文件的存在。一旦你熟悉基础浏览操作,你还可以尝试其它的这些基础 DOS 命令:

  • MKDIRMD 创建新的目录
  • RMDIRRD 删除目录
  • TREE 以树状格式显示目录和子目录列表
  • TYPEMORE 显示文件内容
  • RENAMEREN 重命名文件
  • DELERASE 删除文件
  • EDIT 编辑文件
  • CLS 清除屏幕

如果这些还不够,你可以在 FreeDOS 维基上面找到所有 DOS 命令的清单。

在 FreeDOS 下,针对每个命令你都能够使用 /? 参数来获取简要的说明。举例来说,EDIT /? 会告诉你编辑器的用法和选项。或者你可以输入 HELP 来使用交互式帮助系统。

像任何一个 DOS 一样,FreeDOS 被认为是一个简单的操作系统。仅使用一些基本命令就可以轻松浏览 DOS 文件系统。那么,启动一个 QEMU 会话,安装 FreeDOS,然后尝试一下 DOS 命令行界面吧。也许它现在看起来就没那么吓人了。


via: https://opensource.com/article/18/4/gentle-introduction-freedos

作者:Jim Hall 选题:lujun9972 译者:icecoobe 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出