Skip to content

HyperBridge engine 0227 (MacRunner 1.0.9)

Latest

Choose a tag to compare

@t0b1kent t0b1kent released this 07 Oct 02:28
· 43 commits to main since this release

HyperBridge is MacRunner's CPU engine for Windows x86-64 and x86 programs on Apple Silicon through ARM64 Wine. It is built on FEX-Emu (MIT), with MacRunner's downstream patch series in fex/.

This build: engine 0227, shipped in MacRunner 1.0.9 on October 7, 2026. The files are copied without alteration from the notarized application.

File in the archive Role SHA-256
engine/fex/aarch64-windows/xtajit64.dll ARM64EC, 64-bit x86 processes ed14b28a89675c4544e84da2a4c271b3cd7c6ac61becbe804aa68cb96553147d
engine/fex/aarch64-windows/xtajit.dll WOW64, 32-bit x86 processes (unchanged since engine 0161) aef436aacd966ce9e55ccc1e68706f4af2d2192da923cf0ae17b682580742025
engine/fex/aarch64-unix/libarm64ecfex.so Signed host library for xtajit64.dll (unchanged) ed19d22504721add4010d4cb00bfdb2b529bb04fe480a10db87cc6783ad43e93
engine/fex/aarch64-unix/libwow64fex.so Signed host library for xtajit.dll (unchanged) 7cc8079be2620ce32a80b9d06d9a713ebc78cd7d19af552f51c9654bbba7d1ce

What is new in the 64-bit translator (32 patches on top of engine 0161; apply the series in the order given by fex/PATCH-ORDER.txt):

  • integer div/idiv on a shorter path, with the divide-error cases kept exact;
  • exact unaligned lock operations (a two-thread stress test that failed in 5–8 runs out of 10 on engine 0161 now passes 10 out of 10);
  • flags of read-modify-write memory instructions computed after the store;
  • scalar SSE arithmetic that keeps the upper register bits in one host instruction in the processor's x86-compatible mode;
  • no redundant write of the floating-point control register on transitions to native code;
  • a faster x87 path, present in the source and disabled by default.

The archive's ENGINE.json lists the defaults this build ships with: MACRUNNER_FEX_DIV_FAST=1, MACRUNNER_FEX_SPLIT_ATOMIC_EXACT=1, MACRUNNER_FEX_RMW_FLAGS_AFTER_STORE=1, MACRUNNER_FEX_HW_SCALAR_MERGE=1.

Checks: 500,595 recorded processor states with no new differences against engine 0161; hardware-mode stands on the signed build — 812,402 flag states with no new differences and 919,405 SIMD states passing (18,968 already-known differences from the hardware reference remain listed).

Measured on this build (October 7; five alternating runs of engine 0161 and engine 0227 inside their MacRunner packages on an M1 Pro, fastest run of each, nanoseconds per iteration): xor edx,edx; div ecx 2.09 → 0.92, cqo; idiv rcx 1.96 → 0.81, addss chain 1.57 → 0.94. The other 18 loops of xbench are unchanged within 1 %. Micro-loops, not game frame rates; the Mac was in use during the session.

The 64-bit module was compiled on our own Mac. A rebuild from this repository on a clean cloud machine is in progress and is not finished, so byte-identical reproduction is not claimed for this build.

This is an engine payload, not a standalone Wine installation: use the matching MacRunner 1.0.9 runtime and ENGINE.json. Licenses and third-party notices are inside the archive. No game data is included.