Running Windows GOG DOS Games on Apple Silicon Macs

For enthusiasts of classic gaming, GOG (Good Old Games) is an invaluable resource. However, users of M-series MacBooks often encounter a frustrating hurdle: while some DOS games are packaged with macOS installers, many others—such as Settlers II or Heroes of Might & Magic II—are provided only as Windows .exe installers.

On older Intel-based Macs, these could be handled via BootCamp or VirtualBox. On Apple Silicon, virtualizing x64 Windows is often prohibitively slow. To bridge this gap, the most effective method is to decouple the game files from the Windows installer and run them through a native macOS DOSBox implementation.

The Technical Workflow

To run a Windows-only GOG DOS game on an M-series Mac, you must first extract the game files from the installer and then configure a local DOSBox instance to execute them.

1. Extracting Game Files

Because the installers are Windows-based, you will need access to a Windows environment (such as an old Intel Mac running Windows or a PC) for the initial setup:

  1. Download the game installer .exe from GOG.
  2. Install the game on the Windows machine.
  3. Copy the resulting installed game folder to your M-series Mac. A recommended path would be /Users/<USER>/GOG/<GameName>.

2. Configuring DOSBox

Once the files are on your Mac, you need to tell DOSBox how to handle them. This involves creating a configuration file (e.g., macoshomm2.conf) to automate the mounting process.

Example configuration for 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

This script mounts the game folder as the C: drive and the gameplay CD image as the D: drive, then executes the game binary.

3. Creating a Launch Command

To avoid manually launching DOSBox and typing commands, you can create a .command file (a zsh script) to act as a shortcut:

#!/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"

Making this file executable allows you to launch your classic games with a simple double-click.

Optimizing the Experience

Standard DOSBox settings may not be ideal for modern Retina displays. You can adjust the [sdl] and [render] sections of your .conf file to improve visual fidelity and window management:

  • Windowed Mode: Set fullscreen=false and windowresolution=desktop to avoid resolution conflicts.
  • Scaling: Using scaler=normal2x can help the low-resolution DOS graphics look cleaner on high-density screens.
  • Output: Setting output=openglnb often provides better compatibility with macOS graphics drivers.

Alternative Approaches and Community Insights

While the vanilla DOSBox method works, the community suggests several alternatives depending on the user's needs:

Advanced Emulators

Many users point out that the original DOSBox is the least feature-rich option. More modern forks offer better stability and performance:

  • DOSBox-X: Highly recommended for those seeking a more comprehensive feature set.
  • DOSBox Staging: Focused on modernizing the DOSBox experience with better hardware support.
  • DOSBox Pure: A streamlined version often used in handhelds and specialized setups.

Simplified Launchers

For those who find manual configuration tedious, other tools can simplify the process:

  • Heroic Games Launcher: A powerful alternative that can handle not only DOS games but also newer Windows titles on macOS.
  • ScummVM: For adventure games (like Monkey Island or King's Quest), ScummVM is often a superior choice as it provides native support for many titles without requiring a full DOS environment.
  • Boxer/Boxer-Plus: While the original Boxer app was discontinued in 2016, community-led versions like Boxer-Plus aim to bring Apple Silicon support to this "app-like" wrapper for DOS games.

The Future of Legacy Gaming

Some community members have suggested that the future of these games may lie in browser-based emulation via js-dos, or even AI-driven recompilation. As one user noted, AI could potentially "reconstruct source code in a higher-level language that can then be built into something that can run natively on other platforms," though this would introduce significant legal complexities regarding reverse engineering and distribution.

Sources