GOLF SIM.
Golf SIM emulator for GSPro. On macOS. Click → play.
AerStrike Golf Sim runs the Windows-only golf simulator GSPro natively on Apple Silicon — Whisky/Wine under the hood, polished UX on top, and direct BLE to your launch monitor. No Parallels VM, no second machine.
GSPro has no Mac client. The options today are all bad.
GSPro is the gold standard for indoor golf simulation — and it ships Windows-only. Mac players who want it currently pick between a yearly VM subscription, a Wine fork license, or buying a second computer to keep next to their hitting net.
None of those is a one-click “GSPro for Mac” experience. AerStrike Golf Sim is the thin wrapper that closes the gap: bring your own GSPro license, we provide the macOS runtime and the prefix recipe.
Three independent paths from your launch monitor into the game.
Built three ways on purpose. Each can stand in for the others when firmware shifts, when GSPro updates its connector, or when a session needs a known-good fallback. The default flow is Path C; A and B are the safety net.
OCR via screen-mirror
Mirror the launch monitor's iPad UI to the Mac, scrape numbers off the screen with OCR, then inject them as if GSPro received them natively.
Reliable belt-and-suspenders option. Validated against a real shot capture: 77 mph ball / 69 mph club / 21.3° spin axis / -3.6° HLA.
- ·Works without device firmware cooperation
- ·Lives at tools/mlm2pro/mac/
GSPconnect.exe decompile
Reverse-engineer the official GSPro connector binary, pull out its protocol and keys, and re-implement the same handshake in Python.
Full ilspycmd extract. Protocol + keys re-implemented end-to-end so we know exactly which fields GSPro accepts and which never come over BLE.
- ·Camera-vision metrics confirmed not in BLE
- ·notes/gspc-protocol/gspc_protocol.py
Direct Mac → MLM2Pro BLE
The headline path: talk to the Rapsodo MLM2Pro directly from native macOS Bluetooth. No Wine-side BT stack, no second device in the loop.
Real shots flow MLM2Pro → probe3 → bridge → GSPro and arrive in-game with launch params matching the iPad UI exactly. Live-validated on hardware.
- ·tools/mlm2pro/mac-ble/probe3.py
- ·Auth refreshed via the iPad app's 3rd-party flow
The whole chain works. Polish next.
AerStrike Golf Sim is in active development. The plumbing — install, boot, render, shot ingest — is proven on real hardware. The remaining work splits into hardware-free polish and a couple of edge-case hardware tests.
- 01✓GSPro renders full game loop end-to-end on Whisky / D3DMetal
- 02✓Native macOS BLE pipeline to MLM2Pro (no Wine-side Bluetooth)
- 03✓GSPconnect protocol + keys reverse-engineered, re-implemented in Python
- 04✓OCR fallback path validated against real shot footage
- 05✓CI gate on every PR — ruff, AST, bridge module-load, 43 unit tests, < 15s
- 06✓Replay harness — replay captured shots into the bridge for hardware-free regression tests
- Operator runbook consolidationHardware-free — first-run UX polish
- Pitch A: iOS-bridge Swift port prepNative frontend over the Python bridge
- B2 multi-central BLE hypothesisHardware-gated — concurrent connections
- B3 carry-projection divergenceHardware-gated — > 110 mph club speeds
Private build. Builds drop by invite.
AerStrike Golf Sim is in private development. Drop your email to join the early-access list — first builds, first fixes, first feedback loop.
- ·Apple Silicon Mac
- ·macOS 13 Ventura or newer
- ·GSPro license (yours)
- ·Compatible launch monitor
Request a beta key.
Already have a Rapsodo MLM2Pro and a Mac? Request a beta license and I'll email you a time-boxed key to unlock the app.