Hermes 4 · Door Games

Door Games on Mac

Hermes 4 runs classic BBS door games through three distinct tracks: modern native doors via DOOR32.SYS, original Hermes 68K externals via Musashi emulation on Apple Silicon, and classic DOS doors via an in-process x86 emulator. No DOSBox. No separate processes. All configured from the sysop dashboard.

Track 1
Native Doors
DOOR32.SYS · pipe+PTY
Track 2
68K Externals
Musashi · Apple Silicon
Track 3
DOS Doors
Hermes86 · No DOSBox
Hermes Terminal · Door Games
╔══ Door Games ═════════════════════════╗
1. Legend of the Red Dragon     [DOS]
2. Pimp Wars                    [DOS]
3. Usurper Reborn               [Native]
4. HerTris                      [68K]
5. Hangman                      [68K]
6. 3 AM Blackjack               [68K]
╚══════════════════════════════════════╝
Select [1-6 or Q to quit]:

All three door types appear on the same menu — users don't see the difference.

01
Track 1 · Native macOS

Native Door Games

DOOR32.SYS · pipe+PTY · NativeExternalRunner

Any modern BBS door game built for macOS or Linux runs directly on Hermes 4 via the DOOR32.SYS standard — the same drop file protocol used across the modern BBS door ecosystem. Hermes's NativeExternalRunner bridges the door process to the user's BBS session over a pipe or PTY, with automatic CP437 encoding and line-ending translation.

Usurper Reborn is the flagship native door that works with Hermes 4 today. It's a .NET 8 reimagining of the classic 1990s medieval BBS RPG — one of the most popular door games of the BBS era. Install it, point Hermes at the executable, and it appears on your board's door menu. Hermes 4 runs Usurper Reborn via pipe mode using its NativeExternalRunner — confirmed working today.

The same path works for any other DOOR32.SYS-compatible program. Pipe mode handles most modern doors; PTY mode is available for games requiring a real terminal. Sysops configure each door from the native SwiftUI management interface — kind picker, executable path, arguments — with no command-line setup needed.

DOOR32.SYS Drop File

1: 2 comm type (DOOR32)
2: 4 comm handle
3: 38400 baud rate
4: Hermes 4 BBS name
5: 1 node number
6: 60 time left (min)
7: 1 ANSI support
8: Alice real name
9: AliceK handle

Written per-session to an isolated scratch directory. The door process reads this file to identify the user and session.

Usurper Reborn

The flagship native door for Hermes 4. A .NET 8 reimagining of the classic medieval BBS RPG, running natively on macOS via pipe. Hermes 4 works with Usurper Reborn via NativeExternalRunner — confirmed working today in pipe mode.

Classic Hermes Externals

HerTris ✓ Working
Hangman ✓ Working
3 AM Blackjack ✓ Working
ANSI Doodle ✓ Working
Aspirations ✓ Working
45+ externals tested successfully

Compatibility Range

Externals from Hermes v2.2 through v3.5.11. Any external that ran on original 68K Mac hardware runs unchanged on Hermes 4's Musashi core, on Apple Silicon.

02
Track 2 · 68K Emulation

Classic 68K Externals

Hermes68K · Musashi · Apple Silicon

Hermes 4 wraps the Musashi 68K CPU emulator into the Hermes68K Swift package, which runs original Hermes external programs — door games and utilities written in the late 1980s and 1990s — directly on modern Apple Silicon hardware. The 68K binary connects to the user's BBS session exactly as it did on original Macintosh hardware, with no modifications to the external programs themselves.

This is something no other modern BBS platform can offer. The entire catalog of classic Hermes externals — HerTris, Hangman, 3 AM Blackjack, ANSI Doodle, Aspirations, and dozens more — works on Hermes 4. These are the same programs that ran on Hermes BBSes in 1991, running unmodified in 2026. Over 45 classic externals have been tested successfully with the Musashi core.

The Hermes68K package sits alongside Hermes86 — the same in-process, sandboxed architecture, applied to two different eras of BBS history. The 68K emulation is the more mature of the two, with a broader compatibility record spanning every Hermes version from v2.2 through v3.5.11.

03
Track 3 · DOS · Hermes86

Classic DOS Doors

In-process 8086 emulation · No DOSBox

Hermes86 is an in-process 8086 CPU emulator built into Hermes 4 that runs classic MS-DOS door games directly — no DOSBox, no Homebrew prerequisites, no external processes. The emulator is based on Andrew Jenner's public-domain reenigne/86sim core, running inside the Swift server process alongside everything else. It implements the DOS API surface that door games actually use: INT 21h (DOS file I/O, ~30 functions), INT 14h (FOSSIL serial, bridged directly to the user session), INT 10h/16h (BIOS video and keyboard), and a CGA framebuffer snapshotter that diffs the video buffer and emits positioned ANSI sequences to the terminal.

The emulator extends beyond the base 8086 instruction set to include 80186/80286 instructions and select 386 idioms required by Borland Pascal 7's runtime library — the RTL that powers many classic door games. Pascal overlay files load on demand. Per-session drop files (DOOR.SYS and DORINFO1.DEF) are written to an isolated scratch directory, and the DOS file system maps to the host via case-insensitive path matching. Door processes are sandboxed with ulimits and SIGKILL escalation if they refuse to exit.

Two classic DOS doors are confirmed working in Hermes 4's production emulator today:

Legend of the Red Dragon (LORD)

Seth Robinson's 1989 fantasy RPG — the most beloved BBS door ever written. LORD plays end-to-end on Hermes86: the title screen and dragon ASCII art render correctly via the CGA framebuffer snapshotter, Pascal overlays load on demand, and the daily player file is shared across nodes via the host filesystem. The canonical LORD test case runs completely without a single byte of patch to the original executable.

Pimp Wars

Dank Software's 1995 strategy door, launched via PIMPWARS.EXE DORINFO1.DEF 1. Confirmed working in the in-process emulator. Note: Pimp Wars requires DORINFO1.DEF specifically — DOOR.SYS does not work with this title.

Hermes 4 is in early development (v0.1.0). The DOS door emulator architecture is proven — each new door primarily requires identifying the INT 21h sub-functions it uses and verifying them. The catalog will grow with each release.

How Hermes86 Works

# No DOSBox. No FOSSIL TSR. No PTY bridge.
Hermes86 (in-process)
├── 8086 CPU (reenigne core)
├── INT 21h → DOS API (~30 fns)
├── INT 14h → FOSSIL → session
├── INT 10h → CGA → ANSI
└── INT 16h → keyboard
X86ExternalRunner
└── Session actor

The door talks to “DOS”. Hermes IS DOS.

Sysop Door Kind Picker

Native (macOS binary) DOOR32.SYS
68K External Hermes68K
DOS (Hermes86 emulator) x86

All three tracks appear on the same door menu, indistinguishable to users. Configured from the native SwiftUI sysop dashboard.

Common Questions

Frequently asked

Can I play LORD (Legend of the Red Dragon) on a Mac?

Yes. Hermes 4 runs LORD via its in-process x86 (Hermes86) emulator on Apple Silicon and Intel Macs — no DOSBox needed. LORD plays completely end-to-end: Pascal overlays load, the CGA title screen and dragon ASCII art display correctly via the framebuffer snapshotter, game logic runs, and the daily player file syncs correctly across nodes. This is the canonical test case for Hermes86 and it is confirmed working in production today.

Do I need DOSBox to run DOS door games on Hermes 4?

No. Hermes 4 emulates the 8086 in-process — the CPU core, DOS API, FOSSIL serial bridge, and BIOS shims all run inside the Swift server process. There is no DOSBox-X to install, no FOSSIL TSR to load, no PTY bridge, no Homebrew dependencies. You install Hermes 4, open the sysop dashboard, configure the door (pick "DOS" in the kind picker, provide the .EXE path and arguments), and it runs. The Hermes86 emulator is fully self-contained inside the Hermes Server app.

What door formats does Hermes 4 support?

Three formats across three tracks. DOOR32.SYS (the modern standard) via the native runner for any macOS or Linux door program. Original Hermes 68K external format for the classic door games written for Hermes BBS in the 1980s and 1990s, via the Musashi 68K emulator. And MS-DOS executable format — with DOOR.SYS and DORINFO1.DEF drop files — for classic 16-bit DOS door games, via the in-process Hermes86 x86 emulator. All three appear on the same board menu. Users select a door by number; the underlying emulation track is invisible to them.

Get Started

Run your own board.
Serve the classics.

Hermes 4 is free, in active development, and available now as a beta. Run LORD on Apple Silicon with no external dependencies. Serve original 68K Hermes games from 1991 alongside modern native doors — all from a native SwiftUI sysop dashboard.

Version 0.1.0. Free beta for macOS. Requires Apple Silicon. iOS via TestFlight.

Actively developed · v0.1.0 · Free beta