joncampbell123/dosbox-x

GitHub: joncampbell123/dosbox-x

DOSBox-X 是一个功能丰富、注重精确模拟的跨平台 DOS/Windows 9x 模拟器,旨在完整复现 2000 年以前的 PC 软硬件环境以运行和保存经典软件与游戏。

Stars: 3651 | Forks: 539

**欢迎来到位于 GitHub 的 DOSBox-X 项目主页。** ## 相关链接 - [DOSBox-X 官网](https://dosbox-x.com) ([https://dosbox-x.com](https://dosbox-x.com) 或 [http://dosbox-x.software](http://dosbox-x.software)) - [DOSBox-X Wiki 页面](https://dosbox-x.com/wiki) - DOSBox-X 项目有一个 Discord 服务器。请在讨论选项卡中请求获取一次性邀请链接以加入。 - [发布版本](https://github.com/joncampbell123/dosbox-x/releases) - [开发版/每日构建版](https://dosbox-x.com/devel-build.html) - [安装说明](INSTALL.md) - [构建说明](BUILD.md) ## 目录 - [DOSBox-X 简介](#introduction-to-dosbox-x) - [DOSBox-X 的主要功能](#notable-features-in-dosbox-x) - [DOSBox-X 支持的平台和发布版本](#dosbox-x-supported-platforms-and-releases) - [与 DOS 程序和游戏的兼容性](#compatibility-with-dos-programs-and-games) - [为 DOSBox-X 贡献代码](#contributing-to-dosbox-x) - [DOSBox-X 的开发与发布模式](#dosbox-x-development-and-release-pattern) - [未来的开发实验](#future-development-experiments) - [软件安全说明](#software-security-comments) - [DOSBox-X 目前不太可能支持的功能](#features-that-dosbox-x-is-unlikely-to-support-at-this-time) - [DOSBox-X 项目的起源与历史](#origin-and-history-of-the-dosbox-x-project) - [已知的 DOSBox-X 分支](#known-dosbox-x-forks) - [对国际语言翻译和键盘布局的支持](#support-for-international-language-translations-and-keyboard-layouts) ## DOSBox-X 简介 DOSBox-X 是一个基于 DOSBox 项目 (www.dosbox.com) 的跨平台 DOS 模拟器。 与 DOSBox 一样,它模拟了一台运行许多 MS-DOS 游戏和应用程序所必需的 PC,这些程序或游戏通常无法在现代 PC 和操作系统上运行。然而,虽然 DOSBox 的主要焦点是运行 DOS 游戏,但 DOSBox-X 的功能远不止于此。它最初作为 DOSBox 项目的一个分支,保留了对 DOSBox 原先设计的广泛 DOS 游戏和 DOS 游戏基础的兼容性。但它也是一个运行 DOS 应用程序的平台,包括模拟运行 Windows 3.x、9x 和 ME 的环境,以及为这些 Windows 版本编写的软件。通过增加对 Windows 95、98、ME 模拟和加速的官方支持,我们希望那些旧的 Windows 游戏和应用程序能够再次被使用或体验。此外,DOSBox-X 还增加了对 DOS/V 和 NEC PC-98 模拟的支持,因此您可以用它来玩 DOS/V 和 PC-98 游戏。 与 DOSBox 相比,DOSBox-X 更注重通用模拟和准确性。为了帮助运行 DOS 游戏和应用程序、Windows 3.x/9x/ME,以及出于历史保存、测试和持续 DOS 开发的目的,我们渴望实现精确的模拟,这种精确度足以[使新的 DOS 开发成为可能](https://dosbox-x.com/newdosdevelopment.html),并让人确信该程序能在实际的 DOS 系统上正常运行。DOSBox-X 包含用于不同目的的各种功能(其中一些是从其他项目移植过来的),这些功能是自它从 DOSBox SVN Daum 分支出来后作为增量变化实现的。DOSBox-X 提供了许多方法来调整和配置 DOS 虚拟机,因为我们认为模拟 DOS 平台的更好方法是向用户提供所需的所有选项,以便模拟从最初的 IBM PC 系统一直到 1990 年代后期的所有配置,只要能让您的游戏或软件包运行起来即可。我们的目标是最终使 DOSBox-X 成为一个完整的模拟包,涵盖 2000 年之前所有基于 DOS 和 Windows 9x 的系统场景,包括当时为 PC 硬件制造的外围设备、主板、CPU 以及各种硬件。 请查看 [DOSBox-X 主页](https://dosbox-x.com)以获取受支持平台的最新版本的常用软件包,以及在 DOSBox-X 中运行的一些 DOS 程序和游戏的截图。另请参阅 [INSTALL](INSTALL.md) 页面以获取 DOSBox-X 的安装说明和其他软件包,以及 [Releases](https://github.com/joncampbell123/dosbox-x/releases) 页面以获取所有已发布 DOSBox-X 版本的归档。有关 DOSBox-X 的更多信息,例如设置和运行 DOSBox-X 的使用技巧,请阅读 [DOSBox-X Wiki](https://dosbox-x.com/wiki) 中的用户指南。构建源代码的步骤可以在 [BUILD](BUILD.md) 页面中找到。 DOSBox-X 是完全开源的,可以免费使用和分发。它基于 [GNU General Public License, version 2](COPYING) 发布。另请参阅 [关于 DOSBox-X](https://dosbox-x.com/about.html) 页面,以获取有关 DOSBox-X 的目标和非目标的更多信息,以及其他一些项目的链接。 该项目制定了[行为准则](CODE_OF_CONDUCT.md),请阅读它以了解有关为项目做贡献或从项目获取支持的一般信息。 由以下人员提供:joncampbell123 (Jonathan Campbell) ## 法律声明 如果您所在的司法管辖区强制要求在操作系统级别进行年龄验证,则您只能使用本项目的 main-osfree 分支(包括其构建版本),并且禁止使用本项目的 main(master)分支。 ## DOSBox-X 的主要功能 虽然基于 DOSBox 项目,但由于两者有各自独立的时间表和开发优先级,DOSBox-X 现在是一个独立的项目。例如,DOSBox 的主要焦点是运行 DOS 游戏,而 DOSBox-X 则远远超出了这一范围。目前,DOSBox-X 已经拥有许多 DOSBox 中不存在的功能。此类功能的示例包括: * GUI 下拉菜单和内置的图形配置工具 * 保存和加载状态支持(最多 100 个保存槽 + 保存文件) * NEC PC-98、AX、DOS/V 模拟以及中文/日文/韩文支持 * 完全可翻译的用户界面(提供语言文件) * 对 DOS 应用程序的更好支持和兼容性 * 支持更多的 DOS 命令和内置外部工具 * 支持以不同方式自定义内部 Z: 驱动器 * 支持 Pentium Pro、II、III 等 CPU 类型和 MMX 指令 * 支持 IDE 接口并改进了 Windows 3.x/9x 模拟 * 支持长文件名和 FAT32 磁盘镜像(DOS 7+ 功能) * 支持像素级完美缩放输出以提升图像质量 * 支持为文本模式的 DOS 程序输出 TrueType font (TTF) * 支持打印功能,可输出到真实打印机或虚拟打印机 * 支持启动程序在宿主系统上运行(-hostrun 选项) * 支持 3dfx Voodoo 芯片和 Glide 模拟(包括 Glide wrapper) * 支持包含 FLAC、MP3、WAV、OGG Vorbis 和 Opus CD-DA 音轨的 cue sheets * 支持 FluidSynth MIDI 合成器(附带 sound fonts)和 MT-32 模拟 * 支持用于网络功能的 NE2000 Ethernet 以及调制解调器电话簿映射 * 支持 V-Sync、overscan border 和立体声交换等功能 * 以及更多其他功能.. 虽然 DOSBox-X 中的绝大多数功能都是跨平台的,但 DOSBox-X 确实也有几个显著的依赖于平台的功能,例如 Windows 平台上的 Direct3D 输出和自动挂载驱动器的支持。这些功能无法轻易移植到其他平台。有关 DOSBox-X 功能的更多信息,可以在 [DOSBox-X Wiki](https://dosbox-x.com/wiki) 中的 [DOSBox-X 功能亮点](https://dosbox-x.com/wiki/DOSBox%E2%80%90X%E2%80%99s-Feature-Highlights) 页面中找到。 DOSBox-X 官方支持 SDL 1.2 和 SDL 2.0;同时也支持 32 位和 64 位构建版本。 ## DOSBox-X 支持的平台和发布版本 DOSBox-X 是一个跨平台的 DOS 模拟器,因此所有主要的宿主操作系统都得到官方支持,包括: 1. Windows(95/NT4 或更高版本),32 位和 64 位 2. Linux(带有 X11),32 位和 64 位 3. macOS (Mac OS X),基于 Intel 和 ARM 的 64 位 4. DOS(MS-DOS 5.0+ 或兼容版本) Windows 二进制文件(32 位和 64 位)、Linux Flatpak 或 RPM 包(64 位)、macOS 包(64 位)以及 DOS 版本会定期官方发布,通常在每月的最后一天或下个月的第一天。请查看 [DOSBox-X 主页](https://dosbox-x.com) 和 [INSTALL](INSTALL.md) 页面,以获取这些平台上最新的 DOSBox-X 软件包和进一步的安装说明。您也可以在 [Releases](https://github.com/joncampbell123/dosbox-x/releases) 页面中找到所有已发布版本及其更新日志的 ZIP 包或 Windows 安装程序。Windows 安装程序旨在简化安装过程,它们允许您在安装结束后立即启动 DOSBox-X。 要在真实的 DOS 系统(MS-DOS 或兼容系统)中运行 DOSBox-X,您可以找到利用免费提供的 [HX DOS Extender](https://github.com/Baron-von-Riedesel/HX) 的 HX-DOS 包。在 DOS 系统中键入 DOSBOX-X 即可运行它。此外还有一个 DOS LOADLIN 包,除了能在 DOS 系统上运行外,它还可以直接在 DOSBox-X 内部运行。但请注意,在其他平台上受支持的 DOSBox-X 的所有功能,并不一定都能在真实的 DOS 环境中获得支持。 针对测试用途的各种平台开发(预览)构建版也可以从 [DOSBox-X 开发构建版](https://dosbox-x.com/devel-build.html) 页面获取。 每次发布 DOSBox-X 版本时都会官方提供完整的源代码,这些代码可能会被编译以在上述及其他可能的操作系统上运行。您也可以直接从代码库获取最新的开发源代码。另请参阅 [BUILD](BUILD.md) 页面,以获取有关构建/编译 DOSBox-X 源代码的信息。 ## 与 DOS 程序和游戏的兼容性 由于我们的最终目标是成为一个涵盖 2000 年之前所有 DOS 和基于 Windows 3.x/9x 硬件场景的完整 DOS 模拟包,我们正在努力确保绝大多数的 DOS 游戏和应用程序都能在 DOSBox-X 中运行,这包括文本模式和图形模式的 DOS 程序。在很大程度上基于 DOS 的 Microsoft Windows 版本(例如 Windows 3.x 和 9x)也得到了 DOSBox-X 的官方支持。请注意,对于某些此类程序,为了使其顺利运行,可能需要更改某些默认的 config 设置。请查看 [DOSBox-X Wiki](https://dosbox-x.com/wiki) 了解更多信息。 我们还通过尝试精确模拟硬件来努力协助[持续的 DOS 开发](https://dosbox-x.com/newdosdevelopment.html),这就是为什么 DOSBox-X 过去曾专注于 demoscene 软件(特别是 1996 年以前的任何软件),因为那个时代的 MS-DOS 场景往往包含各种奇怪的硬件技巧、Bug 和对速度敏感的问题,这使得它们成为测试模拟准确性的完美素材,甚至比旧的 DOS 游戏还要合适。毫无疑问,我们也正在投入大量精力针对其他 DOS 游戏和应用程序以及 PC-98 程序(其中大部分是游戏)对 DOSBox-X 进行测试。 我们在每个新的 DOSBox-X 版本中都会添加新功能并做出其他改进,因此它与 DOS 程序和游戏的兼容性也会随着时间的推移而不断提高。如果您对某个特定的 DOS 程序或游戏有任何问题,请随时在 [issue tracker](https://github.com/joncampbell123/dosbox-x/issues) 中发帖。 ## DOSBox-X 的开发与发布模式 为了使 DOSBox-X 的开发过程更加顺畅,我们为 DOSBox-X 实施了一套通用的开发/发布模式。DOSBox-X 目前的发布模式如下: 新的 DOSBox-X 版本会在每个月初(通常是第一天)公开发布,包括源代码和二进制发布版。随后,DOSBox-X 的开发将重新开放,用于提交新功能、pull requests 等。在月底前 6 天内将不再添加任何新功能,只接受 bug 修复。每月的最后一天是 DOSBox-X 的构建日,用于编译下个月第一天发布的二进制版本,因此在这一天不会有包括 pull requests 或 bug 修复在内的任何源代码更改。 例如,假设当前是 8 月份 - 除非只包含 bug 修复,否则 8 月 25 日将是忽略 pull requests 的日期。8 月 31 日(8 月的最后一天)将是 DOSBox-X 的构建日。 这是 DOSBox-X 的官方发布模式,尽管它以后可能会发生改变。 ## 未来的开发实验 分散的实验和小型项目位于 [experiments/](https://github.com/joncampbell123/dosbox-x/tree/master/experiments) 目录下,作为未来 DOSBox-X 及其代码库修订的试验场。 这些实验未来可能会也可能不会加入到未来的修订版或下一个版本中。 我们欢迎对这些实验提出评论,以帮助整体改善代码。 [patch-integration/](https://github.com/joncampbell123/dosbox-x/tree/master/patch-integration) 目录中还有一些补丁,可能会在未来用于功能集成。过去我们已经将许多社区开发的补丁整合到了 DOSBox-X 中。 有关 DOSBox-X 未来开发的一些计划,另请参阅 [General TODO.txt](docs/PLANS/General%20TODO.txt)。 ## 软件安全说明 DOSBox-X 无法声称为一个“安全”的应用程序。它包含大量 旨在提高性能而非性的代码。模拟中可能存在漏洞、 Bug 和缺陷,这些可能会允许内部的恶意 DOS 可执行文件 引发问题,或利用模拟器中的 Bug 造成损害。 DOSBox-X 无法保证能对客户机 操作系统或应用程序进行完全的隔离控制。 如果安全性是您的首要考虑,那么: 请勿在安全系统上使用 DOSBox-X。 请勿以 root 或 Administrator 身份运行 DOSBox-X。 如果您需要使用 DOSBox-X,请在较低权限的用户下、 在 chroot jail 或 sandbox 中运行,或者通过其 命令行选项 ``-securemode`` 启用 DOSBox-X 的安全模式, 该模式会禁用可能允许访问宿主系统的命令。 如果您的 Linux 发行版启用了该功能,请考虑使用审核系统 来限制 DOSBox-X 可执行文件允许执行的操作。 ## DOSBox-X 目前不太可能支持的功能 DOSBox-X 的目标是成为一个功能齐全的 DOS 模拟包,但目前实现的设计有些地方仍无法满足。 * Pentium 4 或更高级别的 CPU 模拟。 DOSBox-X 仅包含模拟 8086 到 Pentium III 的代码。 真正的 DOS 系统(MS-DOS 及其兼容系统)也最适合在这些 CPU 上运行。 如果需要模拟 Pentium 4 或更高版本,请考虑使用如 Bochs 或 QEMU 的 PC 模拟器。 如果 DOSBox-X 社区普遍有需求,DOSBox-X 最终可能会开发 Pentium 4 模拟。 * 2001 年及以后的 PC 硬件模拟。 DOSBox-X 官方的截止时间是 2001 年,当时 Microsoft 更新的“PC 2001” 规范强制要求从主板中移除 ISA 插槽。目前的重点是实现 在此时间点之前制造的硬件的模拟。 贡献者可以自由选择专注于模拟 1980 年至 2000/2001 年 时间范围内的硬件。 * Windows Vista 或更高版本的 Windows 客户机模拟。 就 DOSBox-X 而言,运行 Windows 的模拟将主要集中在 Windows 1.0 到 Windows ME (Millennium Edition), 然后是 Windows NT 到 Windows XP。Windows Vista 及更高 版本目前不是优先考虑的事项,暂不考虑。 这些版本的 Windows 并非基于 DOS。 如果您需要运行 Windows XP 及更高版本,请考虑使用 QEMU、Bochs、VirtualBox 或 VMware。 * 除 IBM PC/XT/AT、AX、Tandy、PCjr 和 PC-98 以外的任何 MS-DOS 系统。 DOSBox-X 仅考虑开发上述列出的系统。此限制可防止将代码库 扩展到无法管理的程度,并有助于保持代码库井然有序。 如果开发人员能够专注于并行模拟他们感兴趣的 平台,而不是将所有内容都放入一个项目中 (这很可能在模拟所有平台方面做得更糟),那对我自己和开源社区来说都会更轻松。 然而,如果添加系统的模拟只需要进行极少的 微小改动,那么可能会考虑相关的这个新系统。 强烈建议您在此情况下 fork 本项目并 实现您自己的变体,以便为您需要为任何其他 系统或控制台开发 MS-DOS 模拟。这样做的话,您将获得完全的自由, 可以专注于实现您感兴趣的特定基于 MS-DOS 的系统, 并且如果需要的话,您还可以去除冲突的 IBM PC/XT/AT 模拟和 不必要的代码,以确保您分支的代码可管理和可维护。 如果您打算创建一个分支,欢迎告诉我您的 分支在哪里以及它正在模拟什么系统,以便我可以将其列在此 README 文件中,供其他寻求该系统模拟的人参考。为了 提供帮助,我将 machine 和 video mode 枚举添加为“stubs(存根)”, 为您分支的平台实现提供一个起点。目前实现的存根是 “FM Towns 模拟” (```machine=fm_towns```)。 * x86 指令和执行的周期精确计时。 在 DOSBox-X 中,除了 I/O 和内存访问外,指令通常每个周期运行一次。 如果需要精确模拟每条指令的周期数, 请考虑改用 PCem、86Box 或 VARCem。 * 全精度浮点模拟。 除非使用 dynamic core,否则 DOSBox 和 DOSBox-X 会使用“双精度”64 位浮点数据类型来模拟 FPU 寄存器。 Intel FPU 寄存器是 80 位“扩展精度”浮点值, 而不是 64 位双精度值,因此这实际上相当于丢失了 12 位的 精度和 5 位的范围(尾数位从 64 位变为 53 位,指数位 从 16 位变为 11 位)。考虑到 DOSBox 支持 DOS 游戏 的最初目标,这种轻微的精度损失是完全可以接受的,但在 其他需要全精度的情况下可能会引发问题。 目前已知,这种精度的缺乏足以 导致原本简单的与整数比较在最初使用 QBasic 或 Turbo Basic 编写的 DOS 应用程序中失败。有一些 DOS 游戏会使用 浮点比较来检查其文件大小,这将以此种方式失败。要运行这些 游戏,您将需要禁用 FPU 模拟(```fpu=false```)以强制 QBasic/TurboBasic 运行时改用软件模拟。 ## DOSBox-X 项目的起源与历史 DOSBox-X 最初是在 2011 年中期作为原始 DOSBox 项目的分支开始的。 它的起步是出于一种改进模拟器的愿望,而无需为了向上游提交补丁而挣扎或担忧。 正如其开发人员所明确指出的那样,DOSBox 的主要焦点在于 DOS 游戏。这一点从以下事实可以看出:许多代码 都是为了让 DOS 游戏运行而带有一些临时补丁的近乎准确的代码, 而不是专注于真实 DOS 系统的实际行为。 DOSBox-X 项目的维护者 Jonathan Campbell 希望对 源代码进行各种更改,但其中许多更改与非游戏 相关,因此不太可能被 DOSBox 开发人员接受。 从那时起,Jonathan Campbell 就一直在随着时间的推移修改源代码, 以改善模拟、修复 Bug,并解决与 Windows 95 到 ME 的不兼容问题。他添加了一些选项,使得 DOSBox-X 在默认情况下能够更准确地模拟更多种类的配置, 同时允许用户在需要时启用各种技术或 hacks 来运行他们最喜欢的 DOS 游戏或程序。他也 一直在清理和组织代码,尽可能提高稳定性和 可移植性。 最初的 DOSBox 项目不是由一名程序员编写的。它 自 2000 年末以来一直在开发中,收到了来自 Vogons 论坛 各地成员的补丁、修复和改进。尽管 自 10 多年前的 DOSBox 0.74 以来就没有进行过重大的官方发布, 但该项目至今仍以 DOSBox SVN 的形式 处于半活跃的开发状态。同时,其中一些更改本身也 合并了来自其他项目的代码。 DOSBox-X 中的一些功能和改进也来自另一个 被称为 [DOSBox SVN Daum](http://ykhwong.x-y.net) 的 DOSBox 分支, 该分支本身整合了来自原始 DOSBox 项目、DOSBox-X 以及许多实验性补丁的功能。尽管 Daum 分支似乎已经停止维护,但从它那里借鉴的 功能仍然存在于 DOSBox-X 中。后来, DOSBox-X 还整合了来自其他项目的若干 功能和改进,例如 [DOSBox ECE](https://dosboxece.yesterplay.net/)、 [DOSBox Staging](https://dosbox-staging.github.io/)、[DOSVAX](http://radioc.web.fc2.com/soflib/dosvax/dosvax.htm)/[DOSVAXJ3](https://www.nanshiki.co.jp/software/dosvaxj3.html) 和 [vDosPlus](http://www.vdosplus.org/)。 DOSBox-X 项目也得到了其他开发人员和贡献者(如 Wengier、aybe、Allofich 和 rderooy)的帮助, 他们为改进 DOSBox-X 项目做出了重大贡献,包括 添加新功能、修复 Bug、创建文档、 维护网站以及从其他项目移植代码。 有关源代码的鸣谢,另请参阅 [CREDITS](CREDITS.md) 页面。 ## 已知的 DOSBox-X 分支 * DOSBox-X Emscripten 移植版(可在 Web 浏览器中运行),作者 Yksoft1 为了在使用 LLVM/Emscripten 编译时能在 Web 浏览器内高效运行,进行了重大的更改。 这些重大更改需要放弃一些有用的功能(包括菜单),但这是出于性能的必要要求。 URL: https://github.com/yksoft1/dosbox-x-vanilla-sdl/tree/emscripten (寻找 clone URL 并使用 emscripten 分支) * DOSBox-X-App(适用于 Windows 和 macOS),作者 emendelson DOSBox-X-App 是一个经过稍微定制的 DOSBox-X 版本,结合了外部程序和命令,使其 能够轻松地从 DOS 应用程序打印和创建 PDF。它是为应用程序而非游戏定制的。 URL: http://www.columbia.edu/~em36/dosboxapp.html * DOSBoxWP(适用于 WordPerfect for DOS),作者 emendelson DOSBoxWP 是专门为 WordPerfect for DOS 用户定制的 DOSBox-X 版本。 URL (Windows): http://www.columbia.edu/~em36/wpdos/dosboxwp.html URL (macOS): http://www.columbia.edu/~em36/wpdos/wpdosboxmac.html * Win31DOSBox(适用于 64 位 Windows 的 Windows 3.1),作者 emendelson Win31DOSBox 旨在成为在 64 位 Windows 系统上运行 Windows 3.x 软件的简便方法。 该系统在运行 Windows 3.1x 时使用了自定义构建的 DOSBox-X 版本。 URL: http://www.columbia.edu/~em36/win31dosbox.html ## 对国际语言翻译和键盘布局的支持 ### 翻译 与 DOSBox 一样,DOSBox-X 默认显示英语,并默认使用美国代码页 (437)。 在默认设置下,DOSBox-X 显示的所有消息均为英文。DOSBox-X 确实支持通过 使用语言文件来更改显示消息的功能。这些语言文件控制着 内部命令和内部 DOS 的所有可见输出, 以及 DOSBox-X 下拉菜单中的文本。 语言文件可以在您安装 DOSBox-X 的 `languages` 目录或 https://github.com/joncampbell123/dosbox-x/blob/master/contrib/translations/ 中找到。 目前可用的语言文件有: [简体中文](https://github.com/joncampbell123/dosbox-x/blob/master/contrib/translations/zh/zh_CN.lng), [繁体中文](https://github.com/joncampbell123/dosbox-x/blob/master/contrib/translations/zh/zh_TW.lng), [荷兰语](https://github.com/joncampbell123/dosbox-x/blob/master/contrib/translations/nl/nl_NL.lng), [法语](https://github.com/joncampbell123/dosbox-x/blob/master/contrib/translations/fr/fr_FR.lng), [德语](https://github.com/joncampbell123/dosbox-x/blob/master/contrib/translations/de/de_DE.lng), [匈牙利语](https://github.com/joncampbell123/dosbox-x/blob/master/contrib/translations/hu/hu_HU.lng), [意大利语](https://github.com/joncampbell123/dosbox-x/blob/master/contrib/translations/it/it_IT.lng), [日语](https://github.com/joncampbell123/dosbox-x/blob/master/contrib/translations/ja/ja_JP.lng), [韩语](https://github.com/joncampbell123/dosbox-x/blob/master/contrib/translations/ko/ko_KR.lng), [葡萄牙语(巴西)](https://github.com/joncampbell123/dosbox-x/blob/master/contrib/translations/pt/pt_BR.lng), [俄语](https://github.com/joncampbell123/dosbox-x/blob/master/contrib/translations/ru/ru_RU.lng), [西班牙语](https://github.com/joncampbell123/dosbox-x/blob/master/contrib/translations/es/es_ES.lng), [土耳其语](https://github.com/joncampbell123/dosbox-x/blob/master/contrib/translations/tr/tr_TR.lng) 如果您所说的语言未包含在上述列表中,我们鼓励您通过使用 [英语(模板)](https://github.com/joncampbell123/dosbox-x/blob/master/contrib/translations/en/en_US.lng)翻译消息来创建额外的语言文件,或者通过 `CONFIG -wl filename` 命令生成一个。 ### 键盘布局 DOSBox-X 支持通过 .conf 文件中的 `keyboardlayout` 选项或 `KEYB` 命令来配置各种键盘布局。 在 Windows 上,当设置 `keyboardlayout=auto` 时,DOSBox-X 会尝试匹配您物理键盘的布局。 在其他平台上,如果未进行设置,键盘将作为美式键盘工作。 SDL1 版本在使用非美式键盘时,还需要通过启用 `usescancodes` 选项来使用 scancodes。 默认设置(`usescancodes=auto`)在大多数情况下应该都能起作用,而且 SDL2 版本不需要此设置并且会忽略它。 如果您发现 DOSBox-X 尚不支持某种键盘布局,为了添加额外的布局以供 DOSBox-X 使用,请以开发者身份查看文件 [README.keyboard-layout-handling](README.keyboard-layout-handling) 了解如何操作。 ### Codepage 设置 您需要切换到适当的 codepage 才能为您的语言显示各种字符。 您可以通过 `KEYB` 或 `CHCP` 命令设置 codepage。键入 `KEYB /?` 或 `CHCP /?` 获取详细信息。 有关 DOSBox-X 国际化支持和区域设置的更多信息,例如创建 DOSBox-X 语言文件或在 DOSBox-X 中使用外部键盘文件的步骤,以及对欧元符号和国家/地区特定 日期和时间格式的支持,请查看 [DOSBox-X Wiki](https://dosbox-x.com/wiki) 中的指南 [DOSBox-X 的区域设置](https://dosbox-x.com/wiki/Guide%3ARegional-settings-in-DOSBox%E2%80%90X)。有关东亚(中文/日文/韩文)语言支持的更多信息,请参阅 [东亚语言和系统支持](https://dosbox-x.com/wiki/Guide%3AEast-Asian-language-support-in-DOSBox%E2%80%90X) 指南页面。
标签:C++, DOS模拟器, UML, 复古游戏, 客户端加密, 数据擦除, 旧软件兼容, 系统模拟