在 Apple Silicon Mac 上运行 Windows GOG DOS 游戏

对于经典游戏爱好者来说,GOG (Good Old Games) 是一个宝贵的资源。然而,M 系列 Mac 用户经常会遇到一个令人沮丧的障碍:虽然许多 DOS 游戏都同时为 Windows 和 macOS 提供了安装包,但一些最受喜爱的作品——例如 Settlers IIHeroes of Might & Magic II——仅提供 Windows 安装程序。

在较旧的基于 Intel 的 Mac 上,这是一个可以通过 BootCamp 或 VirtualBox 轻松解决的小问题。在 Apple Silicon 上,虚拟化 x64 Windows 的速度极其缓慢,虽然 ARM64 Windows 11 是一个选择,但它通常需要授权许可和复杂的设置。最有效的途径是将游戏文件与 Windows 安装程序解耦,并通过 macOS 上的原生 DOSBox 实现来直接运行它们。

实现过程

要在 M 系列 Mac 上运行仅限 Windows 的 GOG DOS 游戏,你本质上需要使用 Windows 环境作为一个临时中转站来提取游戏文件。

第 1 步:准备工作

首先,在你的 Apple Silicon 设备上安装 DOSBox for Mac

第 2 步:文件提取

由于 GOG 安装程序是一个 .exe 文件,你需要一台 Windows 机器(或运行 Windows 的旧 Intel Mac)来执行安装。从 GOG 下载游戏安装程序并将其安装到该 Windows 机器上的本地目录。

第 3 步:迁移

将安装好的游戏文件夹从 Windows 机器复制到你的 Mac。一个推荐的组织路径为 /Users/<USER>/GOG/<GameName>(例如 /Users/username/GOG/HoMM2)。

第 4 步:DOSBox 配置

为了实现启动过程的自动化,请在你的 GOG 文件夹中创建一个配置文件(例如 macoshomm2.conf)。该文件会告诉 DOSBox 如何挂载目录以及运行哪个可执行文件。

Heroes of Might & Magic II 的配置示例:

[autoexec]
@echo off
mount C "/Users/<USER>/GOG/HoMM2"
imgmount D "/Users/<USER>/GOG/HoMM2/homm2_macos.cue" -t iso -fs iso
C:
cls
heroes2.exe
exit

第 5 步:创建启动脚本

为了避免手动打开 DOSBox 并输入命令,请在你的 GOG 目录中创建一个 macOS 命令文件(例如 RunHoMM2.command):

#!/bin/zsh
set -euo pipefail

ROOT="/Users/<USER>/GOG"
DOSBOX="/Applications/DOSBox.app/Contents/MacOS/DOSBox"

cd "$ROOT/HoMM2"
exec "$DOSBOX" -conf "$ROOT/HoMM2/dosboxhomm2.conf" -conf "$ROOT/macoshomm2.conf"

通过双击这个 .command 文件,Mac 将会启动 DOSBox 并加载该作品所需的特定配置和游戏文件。

优化体验

DOSBox 可以通过 .conf 文件进行显著的视觉和性能调优。为了脱离全屏模式或改善旧版低分辨率图形的缩放,你可以在 [sdl][render] 部分添加以下内容:

[sdl]
fullscreen=false
fulldouble=false
fullresolution=desktop
windowresolution=desktop
output=openglnb
autolock=true
waitonerror=true

[render]
aspect=true
scaler=normal2x forced

其他工具与现代方法

虽然手动 DOSBox 方法很可靠,但社区也提出了几种替代方案,可能提供更好的性能或更简单的设置:

高级 DOSBox 分支版本

原生 DOSBox 是基准,但有几个分支版本提供了增强功能、 better 兼容性,以及在现代硬件上改进的性能:

  • DOSBox-X: 因其专注于准确性并扩展了功能而备受推崇。
  • DOSBox Staging: 一个现代分支,专注于与当前操作系统和硬件的更好的集成。
  • DOSBox Pure: 针对不同的优先级进行了优化,常用于掌上设备或特定构建版本。

专业启动器与模拟器

  • Heroic Games Launcher: 一个功能强大的替代方案,可以简化非 DOS Windows 游戏的安装与管理,以及旧版作品。
  • ScummVM: 对于冒险游戏(如 Monkey Island 系列),ScummVM 通常是 DOSBox 的更优选择,因为它重新实现了游戏引擎而非模拟硬件。
  • Boxer / Boxer-Plus: 虽然原始的 Boxer 已于 2016 年停止维护,但社区驱动的 Boxer-Plus 旨在提供 Apple Silicon 支持,为每个游戏创建自包含的“应用化”磁盘。

基于 Web 的模拟

对于较简单的作品,js-dos 允许创建在浏览器中直接运行 DOS 游戏的网页,从而完全无需本地安装。

最终考量

随着 macOS 的演进,对 Rosetta 2 和旧版 x86 二进制文件的依赖正成为一种风险。虽然当前的方法行之有效,但社区正日益转向 AI 驱动的反编译和源代码重建,以期将这些经典作品从模拟器运行转向在现代架构上实现原生执行。

Sources