在 Apple Silicon Mac 上运行 Windows GOG DOS 游戏
对于经典游戏爱好者来说,GOG (Good Old Games) 是一个宝贵的资源。然而,M 系列 Mac 用户经常会遇到一个令人沮丧的障碍:虽然许多 DOS 游戏都同时为 Windows 和 macOS 提供了安装包,但一些最受喜爱的作品——例如 Settlers II 或 Heroes 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 驱动的反编译和源代码重建,以期将这些经典作品从模拟器运行转向在现代架构上实现原生执行。